最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

IFFT HDL Optimized

逆フーリエ高速変換の計算と最適化された HDL コードの生成

  • ライブラリ:
  • DSP System Toolbox HDL Support / Transforms

説明

IFFT HDL Optimized ブロックは、スループットまたは領域のいずれかを最適化するために 2 種類のアーキテクチャを提供します。

  • Streaming Radix 2^2 — このアーキテクチャは高スループット アプリケーションに使用します。このアーキテクチャでは、スカラーまたはベクトルの入力データをサポートします。ベクトル入力を使用して毎秒ギガサンプル (GSPS) のスループットを実現できます。

  • Burst Radix 2 — このアーキテクチャは最小リソースの実装に使用し、特にサイズの大きい高速フーリエ変換 (FFT) で使用します。システムは集中データおよび高レイテンシを許容できなければなりません。このアーキテクチャでは、スカラーの入力データのみをサポートします。

IFFT HDL Optimized ブロックは実数または複素数を受け入れ、ハードウェア親和型の制御信号を提供します。オプションで出力フレームの制御信号も備えています。

端子

入力

すべて展開する

入力データ。実数値または複素数値のスカラーまたは列ベクトルとして指定します。ベクトル入力は [Streaming Radix 2^2] アーキテクチャでのみサポートされます。ベクトルのサイズは 1 から 64 までの範囲の 2 のべき乗で [FFT length] の値以下でなければなりません。

double および single の入力データはシミュレーションには使用できますが、HDL コード生成には使用できません。

データ型: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point | single | double
複素数のサポート: あり

この端子は入力データが有効であるかどうかを示します。入力の validtrue (1) の場合、ブロックは入力の data 端子で値を取得します。入力の validfalse (0) の場合、ブロックは入力の data のサンプルを無視します。

データ型: Boolean

resettrue (1) の場合、ブロックは現在の計算を中止し、内部状態をすべてクリアします。resetfalse (0) で入力の validtrue (1) の場合、ブロックは新しいフレームを開始します。

依存関係

この端子を有効にするには、[Enable reset input port] パラメーターを選択します。

データ型: Boolean

出力

すべて展開する

入力が固定小数点データ型でスケーリングが有効な場合、出力データ型は入力データ型と同じになります。入力が整数型でスケーリングが有効な場合、出力は入力整数と同じ語長の固定小数点型になります。出力順序は、既定の設定ではビット反転です。スケーリングが無効な場合、出力語長はオーバーフローを回避するように増加します。ベクトル入力およびベクトル出力は [Streaming Radix 2^2] アーキテクチャでのみサポートされます。詳細については、[Divide butterfly outputs by two] パラメーターを参照してください。

データ型: fixed point | double | single
複素数のサポート: あり

この端子は出力の data が有効であることを示します。validtrue (1) の場合、ブロックは出力の data 端子で有効なデータを返します。validfalse (0) の場合、出力の data 端子の値は有効でありません。

データ型: Boolean

この端子はブロックで新しい入力サンプルのための準備ができていることを示します。readytrue (1) の場合、ブロックは次のタイム ステップの入力データを受け入れます。readyfalse (0) の場合、ブロックは次のタイム ステップの入力データを無視します。

依存関係

この端子は [Architecture] パラメーターを [Burst Radix 2] に設定するとブロックに表示されます。

データ型: Boolean

この端子を有効にすると、ブロックは出力データのフレームの最初の有効なサイクルで start の出力を true (1) に設定します。

依存関係

この端子を有効にするには、[Enable start output port] パラメーターを選択します。

データ型: Boolean

この端子を有効にすると、ブロックは出力データのフレームの最後の有効なサイクルで end の出力を true (1) に設定します。

依存関係

この端子を有効にするには、[Enable end output port] パラメーターを選択します。

データ型: Boolean

パラメーター

すべて展開する

メイン

このパラメーターは 1 回の逆フーリエ高速変換 (IFFT) の計算に使用するデータ点の数を指定します。HDL コード生成に使用する場合、FFT 長は 23 ~ 216 の範囲の 2 のべき乗でなければなりません。

このパラメーターはアーキテクチャのタイプを指定します。

  • Streaming Radix 2^2 — この値は低レイテンシ アーキテクチャを指定する場合に選択します。このアーキテクチャ タイプでは、ベクトル入力を使用する場合に GSPS のスループットがサポートされます。

  • Burst Radix 2 — この値は最小リソース アーキテクチャを指定する場合に選択します。このアーキテクチャ タイプでは、ベクトル入力はサポートされません。

HDL コード生成に使用する場合、FFT 長は 23 ~ 216 の範囲の 2 のべき乗でなければなりません。

これらのアーキテクチャの詳細については、Algorithmsを参照してください。

このパラメーターは HDL 実装の複素数乗算器のタイプを指定します。各乗算が [Use 4 multipliers and 2 adders][Use 3 multipliers and 5 adders] のいずれかで実装されます。実装速度は使用する合成ツールやターゲット デバイスによって異なります。

このパラメーターは出力要素をビット反転した順序で返します。

このパラメーターを選択すると、出力要素がビット反転されます。出力要素を線形順に返すには、このパラメーターをオフにします。

IFFT アルゴリズムでは、入力とは逆の順序で出力を計算します。入力と同じ順序で出力を指定すると、アルゴリズムでは追加で反転演算を実行します。詳細は、Linear and Bit-Reversed Output Orderを参照してください。

このパラメーターを選択すると、ブロックは入力データの順序がビット反転されていると想定します。既定では、このチェック ボックスはオフになっており、入力は線形順であると想定されます。

IFFT アルゴリズムでは、入力とは逆の順序で出力を計算します。入力と同じ順序で出力を指定すると、アルゴリズムでは追加で反転演算を実行します。詳細は、Linear and Bit-Reversed Output Orderを参照してください。

このパラメーターを選択すると、ブロックは各バタフライ乗算の出力を 2 で除算することによって全体の 1/N のスケール係数を実装します。この調整により、IFFT の出力の振幅範囲が入力と同じに維持されます。スケーリングを無効にすると、ブロックはオーバーフローを回避するために語長を各バタフライ乗算後に 1 ビットずつ増やします。ビット増加は、両方のアーキテクチャで同じです。

Data Types

このパラメーターで内部固定小数点計算の丸めモードのタイプを選択できます。丸めモードの詳細については、丸め方法を参照してください。IFFT アルゴリズムが内部計算に固定小数点演算を使用するのは、入力のデータ型が整数または固定小数点のいずれかの型である場合です。このオプションは、入力の型が single または double の場合は適用されません。丸めは回転因子の乗算およびスケーリング演算に適用されます。

Control Ports

このパラメーターはリセット入力端子を有効にします。このパラメーターを選択すると、入力の reset 端子がブロック アイコンに表示されます。

このパラメーターは出力データの先頭を示す端子を有効にします。このパラメーターを選択すると、出力の start 端子がブロック アイコンに表示されます。

このパラメーターは出力データの末尾を示す端子を有効にします。このパラメーターを選択すると、出力の end 端子がブロック アイコンに表示されます。

アルゴリズム

すべて展開する

拡張機能

参考

ブロック

オブジェクト

R2014a で導入