マルチチャンネル対応 CIC デシメーション・フィルター

おすすめの用途:

  • デバイス: 不明

  • Quartus®: バージョン 7.2

author-image

投稿者:

「マルチチャネル・データ・サポートを使用した CIC デシメーション・フィルター」のデザイン例は、カスケード積分櫛形 (CIC) フィルター MegaCore 機能を使って、複数の独立したデータソースに対するデジタル・サンプルレート・ダウン・コンバージョンを実装する方法を示しています。

デジタル信号プロセシング (DSP) システムでは、複数のパラレルチャネルの処理がしばしば必要になります。デジタルデータレートのダウンコンバージョンまたはアップコンバージョン用途 (さまざまなチャネルのレート変更要件が同一の場合) では、各入力チャネルに同じハードウェアを複製する代わりに、低レートのハードウェア・セクションのタイムシェアリングを利用することで、リソースを大幅に再利用できます。これが、CIC フィルター MegaCore 機能のマルチチャンネル化のコンセプトです。

この例では、CIC コンパイラーが複数のインターフェイスをサポートするように構成することで、デシメーションのマルチ入力マルチ出力 (MISO) モードでリソースを節約しています。システムの全体図を図 1 に示します。CIC のマルチチャンネル対応については、CIC コンパイラー・ユーザー・ガイド (PDF) を参照してください。

図 1.MISO モードの CIC フィルタを使用したデジタル・ダウン・コンバージョン例のブロック図。

機能

このデモには以下の特徴があります。

  • 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 のスパイクを持ち、高周波ノイズは除去されます。

この例で使用しているファイルをダウンロード:

このデザインの使用には、インテル® デザイン例ライセンス契約の条件が適用されます。

パラメーター

表 1 および 2 は、補間例で使用されているパラメーター設定の一覧です。

関連リンク

このデザイン例で使用されている機能に関する詳細情報は、こちらをご覧ください。