エンジニアリング時間の最適化を行っており、大きなFFTを十分にサポートしている(つまり固定小数点ではない)プラットフォームを使用している場合は、hotpaw2のアドバイスを受けて高速畳み込みを使用してください。単純なFIR実装よりもはるかに優れたパフォーマンスを発揮し、実装も比較的簡単です。
一方、最適な実装を実現するためにこれに費やす時間がある場合、または固定小数点プラットフォーム上にいる場合は、マルチレートダウンフィルター-アップ-減算構造を使用する必要があります。しかし、すべてを正しくするのは少し難しいです。
高速畳み込みツールとマルチレートフィルタリングツールの両方の信頼できる高度に最適化された実装にアクセスできます。高速畳み込みは、マルチレート構造と比較して同等の信号性能を得るために約3倍長くかかります。さらに、それは浮動小数点プラットフォームでも可能です。ギャップは、固定小数点dspで大幅に広がります。
一般的に:
ダウンコンバージョン:
8段のハーフバンド、2進フィルタを使用して、48kHz信号を187.5 Hz信号に変換します。このダウンサンプリングの最初の段階は、非常に広い遷移帯域を持つことができ、60 Hz未満の範囲に戻ってエイリアシングしない限り、エネルギーをエイリアシングできます。ステージが進むにつれて、タップの数を増やす必要がありますが、それらは徐々に低いサンプリングレートで適用されるため、各ステージの全体的なコストは小さいままです。
フィルタリング:
最終的に減算するエネルギーを維持するために、60 Hz帯域幅でタイトなフィルタリングを実行します。低レートで厳密なフィルタリングを行うことには、二重の利点があります。
- 1Hzの遷移帯域幅は、低レートでのデジタル周波数と元のレートで256倍です。したがって、フィルターのすべてのタップは256倍強力です。
- 信号自体のレートは低いため、フィルターは1/256のデータのみを処理する必要があります。
アップコンバージョン:
本質的に、これは間引き段階の逆です。8つの補間ステージのそれぞれは、連続する入力サンプル間を移動するサンプルを推定することにより、レートを2倍にします。サンプルレートが高くなると、遷移帯域が広くなります。
減算:
元の信号からフルレートローパスフィルター処理された信号を減算します。すべての群遅延を適切に調整すると、全体の構造は遷移帯域幅が狭いハイパスフィルターになります。