upfirdn
アップサンプリング、FIR フィルターの適用、ダウンサンプリング
説明
例
入力引数
出力引数
ヒント
xとhが共にベクトル入力はフィルターと信号が 1 つずつのため、関数で
xとhの畳み込みが行われます。出力信号yは、xが行ベクトルの場合は行ベクトル、その他の場合yは列ベクトルとなります。xが行列、hがベクトル入力は 1 つのフィルターと複数の信号のため、関数では
hとxの各列との畳み込みが行われます。結果として得られるyは、xと同数の列をもつ行列となります。xがベクトルで、hが行列入力は複数のフィルターと 1 つの信号のため、関数では
hの各列とxの畳み込みが行われます。結果として得られるyは、hと同数の列をもつ行列となります。xとhが、同じ列数をもつ行列入力はフィルターと信号が共に複数のため、関数では
xとhの対応する列の畳み込みが行われます。結果として得られるyは、xおよびhと同数の列をもつ行列となります。
アルゴリズム
upfirdn では、ポリフェーズ内挿構造が使用されます。ポリフェーズ構造での乗算-加算演算の回数は、約 (LhLx – pLx)/q となります。ここで、Lh と Lx は、それぞれ h(n) と x(n) の長さです。長い信号に対しては、この公式がだいたいの場合正確となります。
upfirdn では、以下の 3 つの操作が連続して実行されます。
通常、FIR フィルターはローパス フィルターであり、これは firpm や fir1 などの別の関数を使用して設計しなければなりません。
参照
[1] Crochiere, R. E. "A General Program to Perform Sampling Rate Conversion of Data by Rational Ratios." Programs for Digital Signal Processing (Digital Signal Processing Committee of the IEEE Acoustics, Speech, and Signal Processing Society, eds.). New York: IEEE Press, 1979, Programs 8.2-1–8.2-7.
[2] Crochiere, R. E., and Lawrence R. Rabiner. Multirate Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1983.



