「マルチチャネル・データ・サポートを使用した CIC デシメーション・フィルター」のデザイン例は、カスケード積分櫛形 (CIC) フィルター MegaCore 機能を使って、複数の独立したデータソースに対するデジタル・サンプルレート・ダウン・コンバージョンを実装する方法を示しています。
デジタル信号プロセシング (DSP) システムでは、複数のパラレルチャネルの処理がしばしば必要になります。デジタルデータレートのダウンコンバージョンまたはアップコンバージョン用途 (さまざまなチャネルのレート変更要件が同一の場合) では、各入力チャネルに同じハードウェアを複製する代わりに、低レートのハードウェア・セクションのタイムシェアリングを利用することで、リソースを大幅に再利用できます。これが、CIC フィルター MegaCore 機能のマルチチャンネル化のコンセプトです。
この例では、CIC コンパイラーが複数のインターフェイスをサポートするように構成することで、デシメーションのマルチ入力マルチ出力 (MISO) モードでリソースを節約しています。システムの全体図を図 1 に示します。CIC のマルチチャンネル対応については、CIC コンパイラー・ユーザー・ガイド (PDF) を参照してください。
機能
このデモには以下の特徴があります。
- CIC フィルターは、パラレル入力データチャネルをサポートするため、2 つの独立したインターフェイスを持つように構成されています。これにより、CIC フィルターは、すべての入力チャンネルの低データ・コム・フィルター・セクションをタイムシェアできます。
- インテルの有限インパルス・レスポンス (FIR) コンパイラーは、CIC フィルターのドループを補正するために、インバース sinc フリークエンシー・レスポンスを持つように構成されています。
- FIR コンパイラーはマルチサイクル変数 (MCV) アーキテクチャーを採用し、マルチプライヤーを再利用することでさらなるリソース節約を実現しています。MCV アーキテクチャーの詳細については、FIR コンパイラー・ユーザー・ガイド (PDF) を参照してください。
- CIC 補償フィルターをデザインする MATLAB スクリプトを、リファレンスとしてご紹介します。このスクリプトでは、フリークエンシー・サンプリング法を用いて、インバース sinc フリークエンシー・レスポンスを持つ FIR フィルターを設計します。システム全体のレスポンスがプロットされ、パスバンドのリップルやストップバンドの減衰量など、システムの主な仕様を確認できます。
- Avalon® ストリーミング・インターフェイスは、MegaCore 機能間の複数データソースからパケットデータをトランスファーするのに使われます。Avalon® ストリーム・インターフェイスの詳細については、Avalon® ストリーミング・インターフェイスの仕様を参照してください。
- 複数のデータチャネルを正常にインタリーブ / デインタリーブするため、Avalon® ストリーミング・パケット・フォーマット・コンバーターが含められています。
モデル
図 1 は、ダウン変換例向け DSP ビルダーデザインのフローを示しています。デザイン例への入力は、2 つの個別のデータソースです。ソース信号の 1 つは正弦波、もう 1 つは余弦波です。いずれもフリークエンシーは 2.5MHz です。入力信号の一部は、高フリークエンシー追加ノイズにより壊れています。データソースは、コンティニュアス・データを生成するため、Avalon® Streaming インターフェイスの startofpacket 信号および endofpacket 信号は、ストリーミングデータを示すように構成されています。
この例では、2 つの並列入力データソースが、80MHz、バス使用率 100% でサンプリングされたストリーミング・データを生成します。CIC フィルターは、レート変化のバルクを実装しており、ここでは 4 分の 1 のダウンサンプリングです。これは MISO 構造を持つように構成されており、並列入力チャネルが、CIC フィルターを抜ける際にコム・フィルター・セクションをタイムシェアします。CIC フィルターは、インターリーブされたマルチチャネル・データを出力し、startofpacket 信号および endofpacket 信号が、対応するチャネルの境界を示します。このため、CIC 出力バス使用率は 50% です。CIC フィルターの次に、FIR フィルターが、CIC フィルターのフリークエンシー・ドループに対する補正、および 2 分の 1 の追加デシメーションを提供します。出力バス使用率は 25% になります。パケット・フォーマット・コンバーターは、低レートデータをデインタリーブし、データ・ディスプレイ用に 2 つのソースポートを生成します。各データ・チャネルは、8 クロックサイクルごとに 1 つの有効なサンプルを出力します。
狭帯域のソース信号が持つ帯域幅が、カスケード接続されたレート変更フィルターのカットオフ・フリークエンシーよりも小さい場合、よく定義されたデシメーション・システムは、入力信号の帯域幅を維持するはずです。この例におけるソース信号は、デザイン上のカットオフ・フリークエンシー 4MHz よりも小さい 2.5MHz のキャリア・フリークエンシーを持つ正弦波信号です。予想通り、出力信号スペクトラムは 2.5MHz のスパイクを持ち、高周波ノイズは除去されます。
この例で使用しているファイルをダウンロード:
- cic-miso.zip をダウンロード (バージョン 7.2)
- Readme ファイルをダウンロード (バージョン 7.2)
このデザインの使用には、インテル® デザイン例ライセンス契約の条件が適用されます。
パラメーター
表 1 および 2 は、補間例で使用されているパラメーター設定の一覧です。