デジタルフィルタ設計

Wolfram言語はデジタルフィルタを設計するための包括的なメソッドを提供する.
デジタルフィルタ設計のメソッド
LeastSquaresFilterKernel
最小二乗法を使ってFIRフィルタを作成する
FrequencySamplingFilterKernel
周波数サンプリング法を使ってFIRフィルタを作成する
EquirippleFilterKernel
等リプル法を使ってFIRフィルタを作成する
ToDiscreteTimeModel
アナログプロトタイプからIIRデジタルフィルタを作成する
デジタルフィルタ設計のメソッド

最小二乗法

このメソッドは,逆離散時間フーリエ変換によって周波数領域の中で与えられたプロトタイプフィルタ指定からFIR(有限インパルス応答)を得る.
遮断周波数が1.2ラジアン/サンプルである,零位相の理想的なローパスフィルタを定義する.
H( j ω){
1,|ω| ωc
0,otherwise
インパルス応答は,フィルタ指定の逆離散時間フーリエ変換を取ることで得られる:
から の整数値 に対するこの式を評価すると,長さのフィルタが返る.
遮断周波数が1.2ラジアン/サンプルである,長さ15のローパスFIRフィルタを作成する:
このメソッドは理想指定と結果のFIRフィルタの間の平均二乗誤差を最小限にする:
最小二乗法は窓ベースの方法としても知られている.平均二乗誤差は,LeastSquaresFilterKernelによって返されたFIRに平滑化窓を適用することで減少させることができる.
長さ15のハン窓を作成する:
この窓をローパスFIRフィルタ h に適用する:
窓により返される減衰も異なる.所望の減衰の度合いで窓のタイプを選ぶ.
選ばれた4つの窓の減衰レベルを比較する:

周波数サンプリング法

周波数サンプリング法を使うと,一様間隔の周波数点の有限個の位置において,区間0 ω π 上のフィルタの振幅スペクトルを指定することによって,FIRフィルタが作成できる.
が0から5のときの における理想的なローパスフィルタのサンプル:
奇数の長さで偶数対称のローパスフィルタを作成する:
理想的なローパスフィルタ,振幅サンプル,結果のフィルタを表示する:

等リプル法

ParksMcClellanRabiner (1979)のアルゴリズムは, 直線位相FIRフィルタの設計で最も人気の高い方法の一つである.これは所望の理想的な周波数応答からの最大の逸脱を最小化し,フィルタのそれぞれのバンドに同等のリプルを備えたフィルタを作成する.
長さ55のマルチバンドフィルタを作成する:
等リプルマルチバンドフィルタの大きさの応答をプロットする:

アナログプロトタイプからデジタルフィルタを作成する

デジタルフィルタを作成する最も一般的な方法は,双一次変換を使ってアナログプロトタイプをそのデジタル版に変換することである.この結果できるものは,TransferFunctionModelとして表されるIIR(無限インパルス応答)である.
ToDiscreteTimeModel
アナログフィルタの離散時間近似
アナログプロトタイプからIIRフィルタを作成する
遮断周波数が毎秒 であるチェビシェフ型のアナログローパスフィルタを作成する:
双一次変換を使って,アナログフィルタをデジタルフィルタに変換する:
結果のIIRフィルタの周波数応答を表示する:
デジタルフィルタの極と零点
TransferFunctionPoles
アナログフィルタの極を抽出する
TransferFunctionZeros
アナログフィルタの零点を抽出する
アナログフィルタの極と零点
ローパスフィルタの零点を計算し,表示する:
出力応答信号のデジタルフィルタリング

FIRフィルタ

ListConvolve
FIRフィルタをデータでたたみ込む
ImageConvolve
FIRフィルタを画像でたたみ込む
DiscreteConvolve
2つの信号の記号的たたみ込み
FIRフィルタを信号に適用する
ローパス等リプルフィルタを作成する:
オーディオ信号をインポートし,フィルタを適用する:
画像の赤チャンネルのスキャンラインのローパスフィルタリング:
画像のローパスフィルタリング:

IIRフィルタ

RecurrenceFilter
IIRフィルタを信号に適用する
RecurrenceTable
再帰方程式を反復的に解く
OutputResponse
フィルタの出力応答
信号にIIRフィルタを適用する
デジタルバターワースフィルタの伝達関数を定義する:
IIRフィルタのインパルス応答を計算する:
伝達関数モデルの係数を使って,インパルス応答を計算する:
OutputResponseを使ってインパルス応答を計算する:
RecurrenceTableを使って,対応するフィルタの再帰方程式モデルを解くことによって,インパルス応答を計算する:
画像の赤チャンネルのスキャンラインのローパスフィルタリング:
画像のローパスフィルタリング: