マルチチャネル・データ・サポートによる CIC 補間フィルター

おすすめの用途:

  • デバイス: 不明

  • Quartus®: バージョン 7.2

author-image

投稿者:

マルチチャネル・データ・サポートによる CIC 補間フィルターのデザイン例では、CIC MegaCore の機能を使用して、複数の独立したデータソースのデジタル・サンプル・レート・アップ・コンバージョンを実装する方法を示しています。

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

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

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

機能

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

  • CIC フィルターは、パラレル入力データチャネルをサポートするため、2 つの独立したインターフェイスを持つように構成されています。これにより、CIC フィルターは、すべての入力チャンネルの低データ櫛形フィルター・セクションをタイムシェアできます。
  • インテルの有限インパルス・レスポンス (FIR) コンパイラーは、CIC フィルターのドループを補正するために、インバース sinc フリークエンシー・レスポンスを持つように構成されています。
  • FIR コンパイラーで使用するマルチサイクル変数 (MCV) アーキテクチャーでは、マルチプライヤーを再利用してさらなるリソース節約を提供しています。MCV アーキテクチャーの詳細については、FIR コンパイラー・ユーザー・ガイド (PDF) を参照してください。
  • CIC 補償フィルターをデザインする MATLAB スクリプトを、リファレンスとしてご紹介します。このスクリプトでは、フリークエンシー・サンプリング法を用いて、インバース sinc フリークエンシー・レスポンスを持つ FIR フィルターを設計します。システム全体のレスポンスがプロットされ、パスバンドのリップルやストップバンドの減衰量など、システムの主な仕様を確認できます。
  • Avalon® ストリーミング・インターフェイスは、MegaCore 機能間の複数データソースからパケットデータをトランスファーするのに使われます。Avalon® ストリーミング・インターフェイスの詳細については、Avalon® ストリーミング・インターフェイスの仕様を参照してください。
  • 複数のデータチャネルを正常にインタリーブ / デインタリーブするため、Avalon® ストリーミング・パケット・フォーマット・コンバーターが含められています。

モデル

デザイン例への入力は、2 つの個別のデータソースです。ソース信号の 1 つは正弦波、もう 1 つは余弦波です。いずれもキャリア・フリークエンシーは 2.5MHz です。入力信号の一部は、高フリークエンシー追加ノイズにより壊れています。データソースはコンティニュアス・データを生成します。このため、Avalon® ストリーミング・インターフェイスの startofpacket 信号および endofpacket 信号は、ストリーミング・データを示すように構成されています。

入力データソースは、8 クロックサイクルごとに 1 つの有効なサンプルを生成します。これは、10MHz のデータレートおよびバス使用率 12.5% に相当します。パケット・フォーマット・コンバーターはデータソースをインターリーブして、バス使用率が 2倍 になります。FIR フィルターは、CIC フィルターを排除することで、CIC フィルターのフリークエンシー・ドループに対する事前調整を提供するほか、さらに 2 倍のアップ・サンプリングを行います。バス使用率は 50% になります。CIC フィルターは、レート変更のバルクを実装しており、このケースのアップ・サンプリングは 4 倍です。これは SIMO 構造を持つ構成になっており、インターリーブされた入力信号が、CIC フィルターに入る際に櫛形フィルターのセクションをタイムシェアします。2 つの独立した出力インターフェースが生成され、インターリーブされたマルチチャンネルの入力データを分割します。CIC フィルターの出力サンプリング・レートは 80MHz で、両出力チャネルのバス使用率は 100%で す。なお、このアップ・コンバージョン・チェーンにおける Avalon® ストリーミング・インターフェイスのバックプレッシャーは、非アクティブ化されており、実際には最適化できることに注意してください。バックプレッシャーがなければ、同じ機能のデザインでも、ソース信号の制御が若干複雑になるものの、より少ないリソースでより高速に動作できることを示せます。

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

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

パラメーター

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

関連リンク

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