回答:
それは入力にとらわれず、他の実際の重要なプロトタイプフィルターと同じように動作します。私はこれをレーダーシステムに実際にポリフェーズフィルターバンクを実装しました。ここでは、パルス圧縮と非圧縮の両方の複雑なデータを操作しています。このようなフィルターバンクには、固有の設計と理論上の速度により、アプリケーションの負荷が高くなります。
通常、ポリフェーズフィルターバンクは、元のバージョンの位相シフトされた「コピー」を作成して、より良い再構成を実現します。コードをスキャンするだけでは、これは彼がX1およびX2ベクトルで行っていることのようです。コードをステップ実行してスペクトルを確認すると、サブバンドに通過帯域のオーバーラップがないことがわかります。フィルター周波数応答のシフトバージョンを見ると、さらに明白です。元の信号の「コピー」は位相シフトされたため、それ自体にも重複しないセグメントがありますが、正規化された周波数スケールで-piからpicまでを完全にカバーするために、元の信号とコピーの組み合わせはより厳しくなります。
通常、処理チェーンは次のとおりです。入力を取得し、コピーを作成し、コピーをフェーズシフトします(これ以降はすべて、元のコピーとフェーズシフトのコピーの2つが実行されます。これらを上限(オリジナル)と下限(コピー))、プロトタイプのポリフェーズフィルターを上部および下部の信号に適用し、DFTを適用してポリフェーズマジックを実行すると、すべてチャネル化されます。合成は、これとほぼ逆です。
人々が苦労するのは、通常、ポリフェーズフィルターと、上部信号と下部信号の使用です。これは、この質問に当てはまるようです。フィルターバンク自体は複雑ではありませんが、マルチレート信号処理のバックグラウンドがない場合、ポリフェーズの背後にある計算が可能です。プロトタイプフィルターは、通常32サブバンドを作成するように設計されていますが、それぞれ32サブバンドを持つ上下の信号があるため、実際には64あります。多相フィルターが機能する理由については、数学の後に残しておきます。それはあなたの質問にはなかったからです。