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

comm.RaisedCosineTransmitFilter

レイズド コサイン フィルターを使用した信号内挿によるパルス整形の適用

説明

Raised Cosine Transmit Filter System object™ は、レイズド コサイン FIR フィルターを使用して入力信号を内挿してパルス整形を適用します。

入力信号を内挿するには、以下の手順に従います。

  1. レイズド コサイン送信フィルター オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.RaisedCosineTransmitFilter のプロパティに従い、入力信号を内挿します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

R2016b 以降では、step メソッドを使用して、System object によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

構築

H = comm.RaisedCosineTransmitFilter は、レイズド コサイン FIR フィルターを使用して入力信号を内挿する、レイズド コサイン送信フィルター System object、H を返します。このフィルターは、効率的なポリフェーズ FIR 内挿構造体を使用し、ユニット エネルギーをもちます。

H = comm.RaisedCosineTransmitFilter(PropertyName,PropertyValue, ...) は、指定の各プロパティが指定の値に設定された、レイズド コサイン送信フィルター オブジェクト H を返します。

プロパティ

Shape

フィルターの形状

フィルター形状として Normal または Square root のいずれかを指定します。既定の設定は Square root です。

RolloffFactor

ロールオフ係数

ロールオフ係数を 01 のスカラー値として指定します。既定の設定は 0.2 です。

FilterSpanInSymbols

シンボル内のフィルター スパン

フィルター スパンの数を正の整数スカラー値で指定します。既定の設定は 10 です。理想的なレイズド コサイン フィルターは無限のインパルス応答をもつため、オブジェクトは、このプロパティに指定される値までインパルス応答を切り詰めます。

OutputSamplesPerSymbol

シンボルあたりの出力サンプル数

各入力シンボルの出力サンプル数を指定します。既定の設定は 8 です。このプロパティは、正の整数値のスカラー値を受け入れます。レイズド コサイン フィルターは、(FilterSpanInSymbols x OutputSamplesPerSymbol + 1) タップをもちます。

Gain

線形フィルター ゲイン

フィルターの線形ゲインを正の数値スカラーとして指定します。既定の設定は 1 です。オブジェクトは、ユニット エネルギーをもつレイズド コサイン フィルターを設計し、線形ゲインを適用して最終タップ値を取得します。

メソッド

coeffsフィルターの係数を返す
resetSystem object の内部状態のリセット
step入力信号の内挿値の出力
すべての System object に共通
release

System object のプロパティ値の変更の許可

すべて展開する

次の例では、comm.RaisedCosineTransmitFilter System object を使用して信号を内挿し、スペクトルを表示する方法を示します。

ルート レイズド コサイン送信フィルター オブジェクトを作成します。既定の設定は、フィルターが平方根の形状を取り、シンボルあたり 8 サンプルであることがわかります。

txfilter = comm.RaisedCosineTransmitFilter
txfilter = 

  comm.RaisedCosineTransmitFilter with properties:

                     Shape: 'Square root'
             RolloffFactor: 0.2000
       FilterSpanInSymbols: 10
    OutputSamplesPerSymbol: 8
                      Gain: 1

ランダムなバイポーラ データを生成します。

data = 2*randi([0 1],10000,1) - 1;

RRC フィルターを使ってデータをフィルター処理します。

filteredData = txfilter(data);

フィルター処理された信号のスペクトルを表示するために、サンプルレートが 1000 Hz のスペクトル アナライザー オブジェクトを作成します。

spectrumAnalyzer = dsp.SpectrumAnalyzer('SampleRate',1000);

スペクトル アナライザーを使用して、フィルター処理された信号のスペクトルを表示します。

spectrumAnalyzer(filteredData)

この例では、6 つのシンボル区間に切り詰められるルート レイズド コサイン フィルターを使用して内挿信号を作成する方法を示します。

レイズド コサイン フィルターを作成して、FilterSpanInSymbols を 6 に設定します。オブジェクトは、インパルス応答を 6 つのシンボルに切り詰めます。

txfilter = comm.RaisedCosineTransmitFilter('FilterSpanInSymbols',6);

フィルターの可視化ツールを起動し、インパルス応答を示します。

fvtool(txfilter)

ランダムなバイポーラ データを生成し、フィルターを介して渡します。

x = 2*randi([0 1],96,1) - 1;
y = txfilter(x);

内挿信号をプロットします。

plot(y)
grid on

この例では、1 の通過帯域ゲインをもつレイズド コサイン送信フィルターの作成方法を示します。

ユニット エネルギーをもつフィルターを生成します。関数 coeffs を使用してフィルター係数を取得できます。

txfilter = comm.RaisedCosineTransmitFilter;
b = coeffs(txfilter);

フィルター応答をプロットします。ゲインが 1 より大きい (0 dB より大きい) ことがわかります。

fvtool(txfilter)

1 の通過帯域ゲインをもつフィルターは、合計が 1 になるようなフィルター係数をもちます。Gain プロパティは b.Numerator の合計の逆数に設定します。

txfilter.Gain = 1/sum(b.Numerator);

結果のフィルター係数の合計が 1 になることを確認します。

bNorm = coeffs(txfilter);
sum(bNorm.Numerator)
ans = 1.0000

フィルターの周波数応答をプロットします。通過帯域ゲインは 0 dB です。

fvtool(txfilter)

拡張機能

R2013b で導入