Main Content

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

polyphase

マルチレート フィルターのポリフェーズ分解

説明

p = polyphase(sysobj) は、マルチレート フィルター System object™ sysobj のポリフェーズ行列 p を返します。行列の各行が 1 つのポリフェーズ分岐に対応します。p の列数はポリフェーズ分岐ごとのフィルター タップ数に対応します。

p = polyphase(sysobj,'Arithmetic',arithType) は、arithType で設定された精度でポリフェーズ行列 p を返します。

polyphase(sysobj) は、フィルターの可視化ツール (fvtool) を起動します。すべてのポリフェーズ サブフィルターが含まれ、各成分のサブフィルターを個別に解析できます。

すべて折りたたむ

ポリフェーズ分解を使用するマルチレート フィルターを作成すると、成分を行列の行として返して成分のフィルターを個別に解析できます。最初に、係数 3 の内挿フィルターを作成します。

hs = dsp.FIRInterpolator
hs = 
  dsp.FIRInterpolator with properties:

    InterpolationFactor: 3
        NumeratorSource: 'Property'
              Numerator: [0 -1.2906e-04 -2.2804e-04 0 5.5461e-04 8.0261e-04 0 -0.0015 -0.0020 0 0.0034 0.0043 0 -0.0067 -0.0083 0 0.0121 0.0145 0 -0.0205 -0.0241 0 0.0332 0.0388 0 -0.0530 -0.0620 0 0.0861 0.1027 0 -0.1540 -0.1976 0 ... ] (1x72 double)

  Use get to show all properties

この構文では、行列 phm のすべてのサブフィルターが含まれ、行列の各行にフィルターが 1 つずつ格納されます。

p = polyphase(hs)
p = 3×24

         0         0         0         0         0         0         0         0         0         0         0         0    1.0000         0         0         0         0         0         0         0         0         0         0         0
   -0.0001    0.0006   -0.0015    0.0034   -0.0067    0.0121   -0.0205    0.0332   -0.0530    0.0861   -0.1540    0.4088    0.8247   -0.1976    0.1027   -0.0620    0.0388   -0.0241    0.0145   -0.0083    0.0043   -0.0020    0.0008   -0.0002
   -0.0002    0.0008   -0.0020    0.0043   -0.0083    0.0145   -0.0241    0.0388   -0.0620    0.1027   -0.1976    0.8247    0.4088   -0.1540    0.0861   -0.0530    0.0332   -0.0205    0.0121   -0.0067    0.0034   -0.0015    0.0006   -0.0001

最後に、出力引数を指定せずに polyphase を使用するとフィルターの可視化ツールが開き、ツールの解析機能を使用して内挿 hm の調査をすぐに開始できます。

polyphase(hs)

Figure Figure 1: Filter Coefficients contains an object of type uilistbox.

fvtool には、サブフィルターの係数が表示されます。サブフィルターの振幅応答を表示するには、fvtool のツールストリップで [Magnitude Response] ボタンをクリックします。

入力引数

すべて折りたたむ

ポリフェーズ行列の計算に使用する演算を指定します。'double' または 'single' を指定した場合、関数は倍精度または単精度の解析を実行します。'fixed' を指定した場合は、CoefficientDataType プロパティの設定および System object がロックされているかロック解除されているかに応じて演算が変わります。

固定小数点演算の詳細

System object の状態係数のデータ型ルール
ロック解除'Same as input'関数は、係数のデータ型が符号付き、16 ビット、自動スケーリングであると仮定します。関数は、この仮定に基づいて固定小数点解析を実行します。
ロック解除'Custom'関数は、CustomCoefficientsDataType プロパティの設定に基づいて固定小数点解析を実行します。
ロック'Same as input'入力のデータ型が 'double' または 'fixed' である場合、関数は係数のデータ型が符号付き、16 ビット、自動スケーリングであると仮定します。関数は、この仮定に基づいて固定小数点解析を実行します。
ロック'Custom'関数は、CustomCoefficientsDataType プロパティの設定に基づいて固定小数点解析を実行します。

CIC 以外の構造で演算を指定しない場合、System object がロック解除された状態であれば、関数は倍精度演算を使用します。System object がロックされていれば、関数はロックされた入力のデータ型に基づいて解析を実行します。CIC 構造では固定小数点演算のみがサポートされます。

出力引数

すべて折りたたむ

マルチレート フィルターのポリフェーズ行列 p。行列の各行が 1 つのポリフェーズ分岐に対応します。行列 p の 1 行目が 1 つ目のポリフェーズ分岐を表し、2 行目が 2 つ目のポリフェーズ分岐を表し、その後も最後のポリフェーズ分岐まで同様になります。p の列数はポリフェーズ分岐ごとのフィルター タップ数に対応します。

バージョン履歴

R2011a で導入