sin波のバイナリデータを直接生成してNumPyのFFTで表示してみた。 とんでもなく短いコードで書けてしまうことに驚いた。 ただ気になるのは実行速度。 ネット上のPythonに関する記事を読んでい ...
FFTの縦軸は、今まで適当に表示していたけど、ちょっと調べてみた。 入力する信号は、NAudioでキャプチャすることを想定しているので16bitの整数とする。 なので、最大値は32767。 MathN ...
FFTの処理数は、2のべき乗にする必要がある。 一方、NAudioでデータをキャプチャする場合、キャプチャ時間はms単位でしか設定できない。 というわけで、サンプル数をFFTの処理数に合わせることがで ...
まだ途中だけど、MathNetのFFTを使ってみた。 使い方は非常に簡単で、NuGetからMathNet.Numericsをインストールして、 引数で渡すComplex[]にFFTの結果が格納される。 ...
また暑くなってきたのでプログラミングする気になれない。 うだうだしていて、NuGetから入手できるMathNetというライブラリを見つけた。 FFTやフィルタのライブラリが提供されているみたい。 FF ...
作成中のFFTのソフトは、縦軸がいいかげんというかFFT処理した値そのまま表示していた。それを修正してLog目盛りにした。 修正点のみ表示 振幅の違う正弦波を入力して確認してみた。 G=0.5の正弦波 ...
昨日の続き。 「C#によるデジタル信号処理プログラミング」という著書にあるFFTで実行した結果。 NAudio.DSPにあるFFTよりノイズが少ないみたい。 こっちを使うことにする。 ちなみに肝心のF ...
FFTをする際にフレームデータの半分をづらしながら重複して行う処理を実装した。 結果は、信号が太くなって、高域のノイズが大きくなったようで、これで改善されているのかどうかわからない。 当初、処理時間が ...
教科書では、”通常一つの区間のデータに窓関数ををかけてからFFTを行う。 窓関数をかけると区間の両端の値が小さくなるので一部分を重複させながらずらしていく”とある。 その処理をやってみたいと思う。 図 ...
FFTの処理をする時、データ数が2のべき乗に制限される。 一方、WaveInで入力信号をキャプチャする場合はキャプチャ時間をms単位で指定する。 キャプチャされた信号は、必ずしも2のべき乗にならないの ...
最近のコメント