Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Raised Cosine Receive Filter

レイズド コサイン FIR フィルターを使用した整合フィルターの適用

  • Raised Cosine Receive Filter block

ライブラリ:
Communications Toolbox / Comm Filters
Communications Toolbox HDL Support / Comm Filters

説明

Raised Cosine Receive Filter ブロックは、レイズド コサイン有限インパルス応答 (FIR) フィルターを使用して入力信号をフィルター処理します。また、必要に応じてフィルター処理後の信号を間引きます。この FIR フィルターは、([Filter span in symbols]×[Input samples per symbol] + 1) 個のタップ係数をもちます。ブロックのアイコンはフィルターのインパルス応答を示します。詳細については、アルゴリズムを参照してください。

すべて展開する

Raised Cosine Transmit Filter ブロックと Raised Cosine Receive Filter ブロックは、レイズド コサイン (RC) フィルター処理のために設計されています。各ブロックは、ルート レイズド コサイン (RRC) フィルターまたはレイズド コサイン フィルターを信号に適用できます。フィルターのロールオフ係数とスパンは可変です。

Raised Cosine Transmit Filter ブロックと Raised Cosine Receive Filter ブロックは、それぞれ送信側および受信側で使用するためにカスタマイズされています。送信フィルターは出力信号をアップサンプリング (内挿) します。受信フィルターは、入力信号がアップサンプリングされていることを想定し、構成済みのブロックの設定に基づいて、出力信号をダウンサンプリング (間引き) します。

群遅延で説明されているように、Raised Cosine Transmit Filter ブロックと Raised Cosine Receiver Filter ブロックの各々で伝播遅延が発生します。

doc_rrcfiltercompare.slx モデルは、一対のルート レイズド コサイン フィルターを使用して、送信側と受信側の間でフィルター処理を均等に分ける方法を示しています。互いに対応するルート レイズド コサイン フィルターのペアを使用することは、単一の通常のレイズド コサイン フィルターを使用することと等価です。フィルターは同じ区間を共有し、シンボルごとに同じ数のサンプルを使用しますが、上のパスの 2 つのフィルター ブロックでは平方根の形状になり、下のパスの単一のフィルター ブロックでは標準的な形状になります。

モデルを実行し、アイ ダイアグラムおよびコンスタレーション ダイアグラムを観察します。2 つの方式の性能はほぼ同じです。実際のルート レイズド コサイン フィルターはインパルス応答が制限されているため、2 つのカスケードに結合されているルート レイズド コサイン フィルターの応答と 1 つのレイズド コサイン フィルターの応答の間には、わずかな違いがあります。

送信/受信ルート レイズド コサイン (RRC) フィルター処理を入力信号に適用することにより、レイズド コサイン整合フィルター処理を変調後の信号に適用します。入力信号電力を調整して正しい SNR を計算する方法、および遅延を調整して正しい誤り率を計算する方法を示します。

cm_tx_rx_rrc_filter モデルは、Random Integer Generatorブロックを使用して、ランダムな整数から成るフレームを出力します。このデータ フレームは、QPSK Modulator Basebandブロック、Raised Cosine Transmit FilterAWGN Channelブロック、Raised Cosine Receive Filter、およびQPSK Demodulator Basebandブロックに渡されます。QPSK 復調の実行後、各Error Rate Calculationブロックは、送受信フィルター処理による受信信号の遅延を考慮した場合とそうでない場合について、ビット エラー レートを計算します。

このモデルは、コールバック関数 PreLoadFcn を使用して、ブロック パラメーターを構成する変数を初期化します。詳細については、モデル コールバック (Simulink)を参照してください。このモデルでは、フィルターのオーバーサンプリングに基づいて AWGN の入力信号電力レベルを設定するパラメーター、およびフィルターの遅延に基づいて誤り率計算パスの遅延を設定するパラメーターの構成を示します。

QPSK 変調信号の電力は 1 ですが、送信 RRC フィルター処理による信号のオーバーサンプリングによって、オーバーサンプリング レートの分だけ信号レベルが低下します。正しいノイズ レベルを適用するには、フィルターによるオーバーサンプリングによって低下した信号レベルを考慮して、AWGN ブロックで入力信号電力を調整しなければなりません。Varianceブロックによって計算される分散は、オーバーサンプリング レートが 1/8 のときに約 1 となります。

 Computed variance = 0.1250

Time Scopeは、"受信" 信号、"遅延がある" 信号、"遅延がない" 信号をプロットします。"遅延がある" 信号は "受信" 信号と位置が揃っていますが、"遅延がない" 信号は 10 サンプルだけシフトされています。誤り率の計算は、フィルターによる遅延を考慮した場合に正しい BER を示しています。

 Delay not accounted for: BER = 0.75
 Delay accounted for:     BER = 0.00466

変化するタイミング誤差によって劣化した QPSK システムからフレーム同期を復旧します。この例では、フレーム同期を支援するためのシンボル同期を実行する利点を示します。

cm_ex_symbol_frame_sync モデルは、変化するタイミング誤差によって生じたフレーム同期を復旧させます。Variable Fractional Delay ブロックは、ルート レイズド コサイン (RRC) フィルター処理された QPSK 信号に対して、変化するタイミング誤差を発生させます。AWGN ブロックの後に、受信パスが複製され、パスに Symbol Synchronizer ブロックがある場合とない場合のパフォーマンスが比較されます。Symbol Synchronizer ブロックは、送信機と受信機間のクロック スキューを補正し、出力信号を有効なクロック リファレンスに一致させます。この例でのタイミング誤差の条件では、シンボル同期装置は、200 個のサンプルを含む入力ベクトルに対して、99、100 または 101 個のシンボルを含むベクトルを返します。

Frame Synchronizer ブロックは、信号内に存在するフレーム ヘッダーを使用して、シンボル ストリームを正しいフレーム境界に沿って配置します。また、ビット エラー レート (BER) を計算する BER Data Decoding サブシステムに、有効なフレーム インジケーター信号も提供します。無効なフレームに基づいて BER が計算されるのを防ぐため、BER Data Decoding サブシステムは、Bit Generation ブロック出力を使用する代わりに入力データ ビットを再生成します。

S/N 比が 20 dB、タイミング誤差の変動範囲が [0, 0.9] サンプルの場合、シンボル同期を行う受信機パスで信号再生が成功します。Constellation Diagram ブロックの "Before Sym Sync" 信号に見られるように、タイミング誤差が時間の経過とともに変化することにより、コンスタレーションが破損した状態とクリーンな状態の間で変動します。コンスタレーション ダイアグラムの "After Sym Sync" 信号は、変化するタイミング誤差信号による劣化がシンボル同期装置により除去されることを示しています。

シンボル同期がある場合とない場合の BER は、Symbol Synchronizer ブロックによってパフォーマンスが向上することを示しています。

Error rate with symbol synchronization: 0.000
Error rate without symbol synchronization: 0.010

端子

入力

すべて展開する

入力信号。列ベクトルまたは Ki 行 N 列の行列として指定します。Ki は信号チャネルあたりの入力サンプル数、N は信号チャネルの数です。

Ki 行 N 列の行列入力の場合、オブジェクトは、入力行列の列を N 個の独立したチャネルとして扱います。

データ型: single | double | fixed point

出力

すべて展開する

出力信号。列ベクトルまたは Ko 行 N 列の行列として返されます。Ko は Ki/[間引き係数] と等しくなります。Ki は信号チャネルあたりの入力サンプル数、N は信号チャネルの数です。

このブロックは、時間の経過により各チャネルをフィルター処理し、Ko 行 N 列の出力行列を生成します。出力信号のデータ型は、入力信号のデータ型と同じです。

データ型: single | double | fixed point

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

メイン

フィルターの形状。[平方根] または [標準] として指定します。詳細については、フィルター特性を参照してください。

フィルターのロールオフ係数。範囲が [0, 1] のスカラーとして指定します。

シンボル内のフィルター スパン。正の偶数として指定します。このブロックは、理想的なレイズド コサイン フィルターの無限インパルス応答の長さを、このパラメーターの値と等しい長さをもつ FIR に合わせて切り捨てます。

シンボルあたりの入力サンプル数。1 より大きい整数値として指定します。このパラメーターは、入力信号の 1 つのシンボルを表す入力サンプルの数を定義します。

ブロックにより入力信号に適用される間引き係数。正の整数として指定します。シンボルあたりの出力サンプル数は、シンボルあたりの入力サンプル数を間引き係数で除算した値と同じでなければなりません。間引き係数が 1 の場合、ブロックはフィルター処理のみを適用し、間引きは行いません。

サンプル単位の間引きオフセット。範囲 [0, ([間引き係数]1) の整数として指定します。

線形フィルター ゲイン。正のスカラーとして指定します。このブロックは、指定した線形フィルター ゲインの値により、正規化されたフィルター係数をスケーリングします。

入力処理の制御。以下のいずれかのオプションを指定します。

  • チャネルとしての列 (フレーム ベース) — ブロックは入力の各列を別々のチャネルとして扱います。

  • チャネルとしての要素 (サンプル ベース) — ブロックは入力の各要素を別々のチャネルとして扱います。

入力信号のダウンサンプリングとフィルター処理を行うためのブロック処理レート。以下のいずれかのオプションとして指定します。

  • Enforce single-rate processing — このオプションを選択すると、K のファクターで出力フレーム サイズを減らすことで、ブロックは入力サンプル レートを維持し、信号を処理します。

  • Allow multirate processing — このオプションを選択すると、ブロックは、出力サンプル レートが入力サンプル レートよりも K 倍低速な信号を処理します。

依存関係

[シングルレート処理を適用] を使用するには、[入力処理][チャネルとしての列 (フレーム ベース)] に設定しなければなりません。

[Coefficient variable name] パラメーターで指定した MATLAB® ワークスペース変数としてフィルター係数を保存するには、このパラメーターを選択します。

MATLAB ワークスペースで作成する係数変数の名前。

依存関係

このパラメーターは、[Export filter coefficients to workspace] を選択すると表示されます。

レイズド コサイン フィルター応答を解析するには、[フィルター応答の表示] ボタンをクリックします。MATLAB でフィルターの可視化ツール FVTool が開きます。ブロック マスク パラメーターの設定を変更する場合は、このボタンを再度クリックして FVTool の新しいインスタンスを開き、新しいフィルター特性を表示します。FVTool の前のインスタンスは開いたままになり、前のマスク設定が表示されます。モデルを閉じても FVTool のインスタンスは開いたままになります。

データ型

固定小数点演算の丸めモードを選択します。固定小数点演算の結果を、データ型で表現できる値に正確にマッピングできない場合、このブロックは丸めモードを使用します。フィルターの係数は、このパラメーターには従いません。これらは常に [Nearest] に丸められます。詳細については、丸めモードまたは丸めモード: 最も簡潔 (Fixed-Point Designer)を参照してください。

固定小数点演算のオーバーフロー モードを選択します。フィルターの係数は、このパラメーターには従いません。これらは常に飽和します。

フィルター係数 (分子と分母) の語長と小数部の長さを指定します。

このブロックは FIR Decimation ブロックを含むサブシステムです。このブロックの係数のデータ型を使用する方法を示す図については、Discrete FIR Filter (Simulink) ブロックのフィルター構造図を参照してください。

[継承: 入力と同じ語長] を選択すると、フィルターの係数の語長はブロックへの入力の語長と一致します。このモードでは、係数の小数部の長さは 2 進小数点のみのスケーリングに自動的に設定されます。このスケーリングは、与えられた係数の値と語長で最高の精度になります。

フィルター係数は [丸めモード] パラメーターおよび [整数オーバーフローで飽和] パラメーターには従わず、常に飽和して [最も近い正の整数方向] に丸められます。

データ型の指定に関する詳細については、データ型アシスタントを参照してください。

乗算出力の語長と小数部の長さを指定します。このブロックの乗算出力のデータ型を使用する方法を示す図については、Discrete FIR Filter (Simulink) ブロックおよび乗算のデータ型のフィルター構造図を参照してください。

[継承: 入力と同じ] を選択すると、これらの特性はブロックへの入力の特性と一致します。

データ型の指定に関する詳細については、データ型アシスタントを参照してください。

アキュムレータの語長と小数部の長さを指定します。このブロックのアキュムレータのデータ型を使用する方法を示す図については、Discrete FIR Filter (Simulink) ブロックおよび乗算のデータ型のフィルター構造図を参照してください。

  • [継承: 入力と同じ] を選択すると、これらの特性はブロックへの入力の特性と一致します。

  • [継承: 乗算出力と同じ] を選択すると、これらの特性は乗算出力の特性と一致します。

データ型の指定に関する詳細については、データ型アシスタントを参照してください。

出力の語長と小数部の長さを指定します。

  • [継承: 入力と同じ] を選択すると、これらの特性はブロックへの入力の特性と一致します。

  • [継承: アキュムレータと同じ] を選択すると、これらの特性はアキュムレータの特性と一致します。

データ型の指定に関する詳細については、データ型アシスタントを参照してください。

ブロック ダイアログ ボックスで指定するデータ型が固定小数点ツールによってオーバーライドされないようにするには、このパラメーターを選択します。詳細については、固定小数点ツール (Fixed-Point Designer)を参照してください。

ブロックの特性

データ型

double | fixed pointa | single

多次元信号

いいえ

可変サイズの信号

はい

a 固定小数点出力は符号付きでなければなりません。

詳細

すべて展開する

ヒント

MATLAB ワークスペースへのフィルター係数のエクスポート

  • このブロックで設計するフィルターの係数を確認または操作するには、[Export filter coefficients to workspace] を選択します。[Coefficient variable name] パラメーターを、ブロックが MATLAB ワークスペースに作成する変数の名前に設定します。シミュレーションを実行すると、ブロックが変数を作成し、その変数が既にある場合は、以前の内容を上書きします。

アルゴリズム

すべて展開する

レイズド コサイン受信フィルターの特性は、Raised Cosine Transmit Filter ブロックのものと同じですが、受信フィルターの場合、フィルターの入力応答の長さが [Input samples per symbol] パラメーターの値によって決まる点が異なります。

拡張機能

バージョン履歴

R2006a より前に導入