- ベストアンサー
FFTによるフィルタの可能性とは?
- 信号処理初心者がソフト処理でディジタルフィルタを作成したいと考えています。FFTによるフィルタリングの可能性について知りたいです。
- エクセルを用いてFFT演算した結果、高い周波数部分を0にすることで高調波の除去ができました。この方法でのフィルタリングは実現可能なのでしょうか?
- FFTフィルタリングとIIRフィルタリングの使い分けや、リアルタイム処理における設計の肝についても教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>FFT結果の各ポイントの振幅は変えずに、位相だけを変更することも、やはり不連続が生じたりして無理があるのでしょうか? >(例えばFFT後のデータで、1kHzの周波数成分の位相を45度進めて、3kHzの成分の位相は15度遅らせて、逆FFTして出力するといった処理) >(フェイズシフターというのでしょうか) 一般的な信号入力を考えると、不連続点が生じると思われます。
その他の回答 (2)
- 178-tall
- ベストアンサー率43% (762/1732)
まずは、参照 URL でも眺めてみてください。 ↓
お礼
ご回答ありがとうございます。 お返事が遅れまして申し訳ありません。 ご提示いただいたページで勉強します。 ありがとうございました。
- colocolo62
- ベストアンサー率32% (1162/3624)
FFTで周波数領域で処理した後、逆FFTで時間領域に戻したというわけですよね。 FFTはそのFFTポイント数分だけの波形が無限に繰り返されることを前提として計算するのでポイント数の分だけ信号を見ているときれいにフィルタがかかっているように見えます。 しかし、FFTポイントごとの演算結果を時間領域でつないでも不連続点ができてしまいます。 (不連続点があるということはその部分に高調波があるということ) yamatoさんが書かれているFIRフィルタでもFFTを用いた設計をする場合があります。 フィルタの周波数特性を逆FFTして、インパルスレスポンスを求めて、それを入力信号に畳み込み演算することで、フィルタを構成します。 このようなフィルタで急峻なフィルタ特性を実現しようとすると、インパルスレスポンスがなかなか落ち着かず、FIRフィルタのタップ(演算量)が非常に多くなってしまいます。 タップ数に制限があって、インパルスレスポンスが十分落ち着いていない状態で打ち切ったFIRでは、求めるフィルタ特性とならない場合があります。 そこで、IIRフィルタを用いて、タップ数(演算量)を抑制することを検討したりします。 ただし、IIRでは位相回転など起こすので注意が必要な場合があります。(通常のFIRでは考慮する必要がない)
お礼
ご回答ありがとうございます。お礼が遅れまして申し訳ありませんでした。 FFTの結果で不要な周波数帯を抑制するなどすれば、簡単にイコライザーが作れるのでは、、と安易に考えたのですが、やはりうまくは行かないのですね。。 (FFT処理自体が簡単じゃないかも知れませんし) もっと勉強が必要なようですが、下記ご教示いただけると幸いです。 FFT結果の各ポイントの振幅は変えずに、位相だけを変更することも、やはり不連続が生じたりして無理があるのでしょうか? (例えばFFT後のデータで、1kHzの周波数成分の位相を45度進めて、3kHzの成分の位相は15度遅らせて、逆FFTして出力するといった処理) (フェイズシフターというのでしょうか)
お礼
サイトを見られない日が続いてしまい、お礼が遅れてしまいました。 申し訳ありませんでした。 コメントありがとうございます。 ご教示いただいた内容を念頭に、勉強してみたいと思います。