ガレスタさんのDIY日記

電子回路、Python、組み込みシステム開発、自作エフェクターを語るblog

MCUXpressoIDE MCUのパッケージ変更を簡単に行う方法

プロジェクトのProjecting setting/MCUを右クリしてEdit packageでいける

MIMXRT1052CVL5Bを使う際のTips

MIMXRT1052の場合 コンシューマ向けのは600MHz、工業用途の場合528MHz駆動となっている。 MCUXPressoIDEで新規プロジェクトを作った際にはMIMXRT1052DVL6B向けの設定で吐きだされる。 今回はMIMXRT1052CVL5B向けのプロジェクトの設定や変更しないといけな部…

MCUXpresso SDK Shellの使い方

MCUXpresso SDK Shellはなんぞ? 組み込み用Shellのことです。Shellの動作例SDKに最初から組み込まれているので選択するだけで楽に使えますしprintfとのリンクもIDEがやってくれるので便利です。使い道としては 信号処理のパラメータの変更 内部データのダン…

CMSIS DSP メモ1

(adsbygoogle = window.adsbygoogle || []).push({}); 色々試してたらGCCの場合最適化しないとFPU命令呼んでくれないっぽい optimize入れるとちゃんと呼ばれてる i.MX RT1020(CortrexM7 DP FPU)のSQRTしか試してないのであれですが入れとくに越したことはな…

Eclipse expression機能のメモ

(adsbygoogle = window.adsbygoogle || []).push({}); mallocとかで確保した変数のスコープをする方法 //変数名がsdram_bufferとすると (*sdram_buffer@200) @の後の数字で何個表示するか設定できる。

i.MX RT1020でwavファイルを組み込む方法

(adsbygoogle = window.adsbygoogle || []).push({}); 今回は組み込みでbinファイルだったり、wavファイルを組み込む方法を紹介しようと思います。 RT1020と書いていますがSTM32とかでも同様なことができます。環境は以下の通り MCUXpresso IDE v10.3.0 [Bui…

MCUXpresso IDEのペリフェラルコンフィグツールを使ってみる

(adsbygoogle = window.adsbygoogle || []).push({}); MCUXPresso IDEがアップデートされてペリフェラルコンフィグツールが実装されたのでそれを使っていろいろやってみたいと思います。 STM32でいうCubeMXみたいなもんですね。今回のシステム要件は以下の通…

はてなで数式やコードを扱う時のTips

自分なりに気を付けてることのメモ 編集モードははてな記法 (adsbygoogle = window.adsbygoogle || []).push({}); 数式について 数式を記述する際は [tex: ]を使うわけだが 以下のように一回書いておけばmath機能が有効になるみたい <p style="display: none;">[tex: ]</p> すると \begin{e…

Python:scipy.signal.spectrogramを使ってスペクトログラムを描画する

(adsbygoogle = window.adsbygoogle || []).push({}); 今回は信号の時系列変化を可視化できるスペクトログラムを描画してみたいと思う 使うメソッドはPython:scipy.signal.spectrogramである。オプションパラメータがたくさんあるが f,t,Sxx = signal.spectr…

Python: Swept-sine信号を作成する

今回はシステム同定入力(主にインパルス応答の測定)として使われる掃引正弦波を生成していきたいと思う。 昔はTSP信号なんて言われていたが場合によってはそぐわない可能性もあるので最近ではSwept-sineに統一されつつあるみたい Swept-sine signalは信号の…

scipy.signal.iirfilterを使ってIIRフィルタを設計する

前回はiirdesignメソッドで設計したがもう一つのほうのメソッドも紹介しておく。 前回の記事はこちら (adsbygoogle = window.adsbygoogle || []).push({}); gsmcustomeffects.hatenablog.com scipy.signal.iirfilter メソッドの引数はこのような感じ scipy.s…

Python:scipy.signal.iirdesignを使ってIIRフィルタを設計する

(adsbygoogle = window.adsbygoogle || []).push({}); 今回はscipy.signal.iirdesignメソッドを使ってIIRフィルタを設計してみる。 ScipyのVerは1.2を使用している前提で進めるgoogle colabの場合は !pip install --upgrade scipy をしてからランタイムのリ…

Python:scipy.signal.bodeでボード線図を引く

(adsbygoogle = window.adsbygoogle || []).push({}); 今回はScipyのsignal.bodeを使って周波数応答を描画してみる。 使うメソッドは scipy.signal.lti scipy.signal.bode である。 scipy.signal.lti 線形時不変システムを作成できるメソッド。引数の渡し方…

Python:scipy.signal.freqzのテスト

PythonでMATLABみたいなfreqzが使えるみたいなのでためしてみたRBJ cookbookの公式を用いてPEAKフィルタを構成した。fc1:150Hz カット fc2:400Hz ブーストみたいな感じにした。 カットオフ帯域ゲインとbwあるけどパラメータはご自由に wがそのままだと正規…

Python:pysoundfileを使って読み込んだwavデータをFFTをする

自分用メモです。これ一つで取りあえずはwav読み込みとFFTのサンプルかねてるので参考になれば import soundfile as sf import numpy as np import matplotlib.pyplot as plt from scipy import fftpack fname = 'whitenoise.wav' # mono data, samplerate =…

モデルに関するメモ

非線形オーディオエフェクト実装においてよく使われるモデルの一口メモ Wienerモデル、Hammersteinモデル Wiener model, Hammerstein model(Schmitz Thomas[2016]) Hammerstein:NLシステム->LTIシステム Wienner:LTIシステム->NLシステム LTI->NL->LTIのこと…

Python:lmfitを使ったカーブフィッティングその2

はじめに 今回は前回の続きでlmfitを使ったフィッティングを試して行きたいと思う。 ほとんどここのパクリだがバグの修正含め解説も入れているので勘弁してほしいPeak fitting XRD data with Python - Chris Ostrouchovさっそくやって行こうと思うが 実用的…

Python:lmfitを使ったカーブフィッティングその1

実験データのフィッティングについて頻繁に使う機会があったので自分メモとしてまとめておきます。 まずPythonを使う前提としてNumpy , Scipyには便利なライブラリがあります。 Numpy :polyfit Scipy:optimize.leastsq Scipy:optimize.curve_fit 以上3つが結…

MCUXpresso SDKが新しくなった

いつもの間にか新しくなってた。 というかIDEもMCUXpresso Config Toolsも新しくなってたねとりあえずRT1020のMCUBOOT入ったのでうれしいって感じかね

日記

最近STM32ネタかけてなくてすいません。 やって行きたいものに関しては決まっていて Memory to memory DMA VFPU命令の確認(SP、DP) SIMDに関して SDカード関連 こんなかんじです。一方でi.MX RT1020でやりたいことも結構あって DMA Manager USB CDC I2C UA…

フラックスとフラックスクリーナーのあれこれ

趣味の範囲で表面実装部品あつかうと手付けが多いんですがその際フラックスを結構使うことが多いです。 フラックスは一般に金属表面の活性剤として機能する薬品です。 調べれば出てきますけど有機酸などの添加物が金属表面のO結合を取り除くことで金属表面酸…

進捗的なやつ

最近外出先でOnshape使って家ではFusion360つかうみたいな流れで設計している。Onshapeマジで楽だよなココまで5分位でできる pic.twitter.com/ncMvi2lEyC— おながわ (@GarageStyleMsc) 2018年11月13日 こんな感じで外出先でポチポチ作ってDXF or STEPで吐き…

読みたい本、おすすめの本など

ここには僕が読んだ本とか読みたい本とかを載せてく予定 画像クリックでリンクに飛びます最新の本でなければ図書館で借りれるのでその辺も利用していきたい 読みたいやつ Designing Audio Effect Plug-Ins in C++ 目次見た感じ信号処理一通り説明してくれて…

STM32のMCO2からPLLI2Sクロックを出力してみる

今回はSTM32のMCO(Master Clock Output)の機能を使ってPLLI2Sのクロックを出力してみる。 品質はどうなのかわからんけど主に外部オーディオコーディック用のMLCKとかに使えそうな予感通常のMCO1に関しては以前やっている(STM32F3での実施)ので基礎に関し…

STM32CubeProgでUARTを使ったフラッシュ書き換えを試す

STM32に関しては久しぶりですが 今回はSTからリリースされたSTM32CubeProgというソフトについてみていこうと思います。 STM32CubeProg www.st.com簡単に説明するとSTlink utility とかflash loaderとかdfuツールとかそういうのが一緒になってWindows,Mac ,Li…

i.MX-RT600なるものが出たらしいよ

ARMの最新コアCortexM33とケイデンスのDSPテンシリカHifi4のニコイチSoCみたいですね。 CortexM33 300Mhz Cadence® Tensilica® Hi-Fi 4 600MHz という構成になってるみたいですね。SRAMが4.5MBとかついてますね これはデジタルエフェクトにかなりよさそう。…

STM32F767 SAIについてメモ1

今回はSerial Audio Interfaceの話です タイトルはF7となっているがSTがラインナップごとにCubeHALの仕様変えなければ同じように考えることができると思います。まずSAIについて基礎的なことはこの辺を読んでくださればわかると思います。 http://www.st.com…

i.MX RT1050 SAIメモ3

今回からやっとSDKのほうに入っていく。割り込みのサンプルコードベースでみていく まずは構造体のインスタンス生成を行っている sai_config_t config; sai_transfer_format_t format; configは主にプロトコルとクロック供給の設定項目をもつ構造体 typedef …

MCUXpresso SDK:コーディック周りのHALについて

オーディオフレームを書くにあたっていろいろ調べていたのでそれのメモがてら書いています。 IMXRT1020のコーディック周りは fsl_codec_common.h fsl_codec_common.c fsl_wm8960.c fsl_wm8960.h の4つからできています。WM8960_WriteRegの中でCODEC_I2C_Wri…

Python:ディレイを実装してみる:1

今回はディレイを実装していきます。 いわゆる遅延系エフェクトでやまびこ効果とか言われるやつです。 ディレイの実装には参考文献に示すようにフィードバックの仕方によっていろいろな種類がありますが一般的なフィードバックありミックスありの通常のタイ…