目次 信号処理工学 Ⅰ 第 回 : ディジタルフィルタ 電気通信大学電子工学専攻電子知能システム学講座 問題は何か? フィルタとは? 離散時間システムとディジタルフィルタ ディジタルフィルタの種類 FIRフィルタの設計 長井隆行 問題は何か? 初心に戻る o.4 のスライド 重要なことは? 所望の信号を得るためにどのようなシステムにすれば良いか? 安定性を保つ必要もある ノイズ除去の例 周波数領域で見る 振幅 どの周波数がどれくらいあるかを示している 計算はなるべく簡単な方がよい システムは全てディジタルフィルタ 所望の特性をもつディジタルフィルタを設計する 周波数 今までは システムや信号の 特性 をどのように どのような道具を使って 表現すればよいのかを考えてきた それらの道具を駆使してシステムを設計する パラメータを決定する ことがここからの目的 この成分があやしい! フィルタで除去すると 4 どのようなディジタルフィルタ システム を使えば良いのか?
フィルタとは何か? 離散時間システムとディジタルフィルタ フィルタ と言われて思い浮かぶイメージは コーヒーフィルタ たばこのフィルタ ウェブサイト スパムメールなどのフィルタ 情報フィルタ フィルタ回路 光学フィルタ カメラで使用 水道のフィルタ などなど ディジタルフィルタ 離散時間システム 今までの離散時間システムの解析手法 道具 が全てそのまま使える 離散時間入力信号 ディジタルフィルタ 離散時間出力信号 5 与えられたもののある特定の成分を取り除いたり抽出したりする働きをしている ディジタルフィルタは離散時間信号に対してある特定の成分を取り除いたり抽出したりする働きをする離散時間システムである ある特定の成分とはある特定の周波数成分 6 x y X Y X Y ここでは線形時不変 TI のディジタルフィルタのみを考えるがそうでないディジタルフィルタもある 非線形フィルタ 時変フィルタなど インパルス応答 伝達関数 周波数特性 ディジタルフィルタの一般形 ディジタルフィルタの種類 7 離散時間システムの一般形と同じ 乗算器 加算器 遅延器の組み合わせ フィルタ係数 x T yt a x T kt a a y T a x T a x T T a b y T T b y T T b k k k k a b a b b y T kt x T T y T T 差分方程式 b k ak k k bk k 伝達関数 8 FIR フィルタ フィードバックがない インパルス応答が有限 伝達関数が分子だけ IIR フィルタ フィードバックがある インパルス応答が無限 伝達関数に分母がある k ak : 分子の次数 k : 分子のフィルタ長 : 分母の次数 k bk : 分母のフィルタ長 k : フィルタ係数 : 次数 の数 : フィルタ長 の数 x T yt FIR フィルタ x T yt IIR フィルタ
ディジタルフィルタのによる分類 FIR フィルタの性質 通過域 ass-bad a 低域通過フィルタ ow Pass Filtr :PF b 高域通過フィルタ ig Pass Filtr :PF c 帯域通過フィルタ Bad Pass Filtr :BPF d 帯域阻止フィルタ Bad Sto Filtr :BSF 遷移域 trasitio-bad 阻止域 sto-bad フィードバックがない 伝達関数が分母のみ インパルス応答が有限 常に安定 設計時に考慮する必要がない 完全な線形位相特性が実現できる フィルタ係数の対称性で実現可能 設計や実装が容易 急峻 良好 な周波数を得るには多くの遅延器が必要となる フィルタ長が長くなる 9 フィルタの周波数特性 フィルタの周波数特性続き フィルタのと位相特性 離散時間システムと同じ R ta τ / [sc] I I [ rad] R / τ 位相特性 遅延時間 周波数によらず一定の場合 線形位相特性を持つという a a フィルタの周波数特性 振幅と位相 は出力にどのような影響を与える? X a ˆ フィルタ システム 周波数が の波 / フィルタを通過すると Y a 振幅が変化する [ s] a a がによらず一定線形位相特性 { ˆ } 位相が遅れる
問題 伝達関数が線形位相特性を持つことを示しましょう 5 4 線形位相特性とその必要性 次の つの例を考えてみよう入力信号線形位相特性あり線形位相特性なし周波数によるずれが一定なので全体的にずれるだけずれが周波数によってことなるため波形が歪んでしまう 5 線形位相 FIR フィルタの種類 6 cos / / タイプ 線形位相 FIR フィルタ / cos cos cos の項が打ち消される / / si 位相特性 対称の中心 < for
タイプ 線形位相 FIR フィルタの例 タイプ 線形位相 FIR フィルタの例続き 7 周波数特性の計算例 4 { cos 4cos } 4cos cos 4 位相特性 5 4 x T yt 8 ATAB を使って確かめる clar all % タイプ 線形位相 FIR フィルタの周波数特性計算の例 %frq による結果と手計算の結果を比較する [ ]'; % フィルタ係数 インパルス応答 %frq による周波数特性の計算 [ W]frq5'wol'; % 振幅と位相のプロット frq 使用 figur lotwabs figur lotwuwraagl % 手計算による周波数特性 omga:*i/5:*i-*i/5; % 離散周波数点ベクトルの設定 *cos*omga4*cosomga; % 手計算の結果に周波数点を代入 tta-*omga; % 位相特性 % 振幅と位相のプロット 手計算の結果 figur lotomga figur lotomgatta s_.m 位相特性 タイプ 線形位相 FIR フィルタの例 タイプ 線形位相 FIR フィルタの例 続き 9 周波数特性の計算例 4 { cos 4cos } 4 4cos cos for < 5 4 位相特性 ATAB を使った結果 clar all % タイプ 線形位相 FIR フィルタの周波数特性計算の例 %frq による結果と手計算の結果を比較する [- -]'; % フィルタ係数 インパルス応答 %frq による周波数特性の計算 [ W]frq5'wol'; % 手計算による周波数特性 omga:*i/5:*i-*i/5; % 離散周波数点ベクトルの設定 -*cos*omga4*cosomga; % 手計算の結果に周波数点を代入 tta-*omga; % 位相特性 % 振幅のプロット figur lotw abs old o lotomga 'r--' old off % 位相のプロット figur lotw uwraagl old o lotomga tta 'r--' old off s_.m
タイプ 線形位相 FIR フィルタ 対称軸がサンプル間にある cos / / 位相特性 / / cos cos cos cos / 対称の中心 < for 問題 下図のシステムの周波数特性を計算してナイキスト周波数 までを図に描いてみましょう T x yt s_.m タイプ 線形位相 FIR フィルタ 考え方はタイプ と全く同じ 対称点 si / / 位相特性 / si si si si 奇対称のための項が打ち消される / / cos < for 4 タイプ 4 線形位相 FIR フィルタ 考え方はタイプ と全く同じ 対称点 si / / 位相特性 / si si si si / / < for
FIR フィルタの設計法 所望の周波数特性を満たすように係数を決定する 係数の対称性を考慮すれば線形位相特性は保証されるためのみを考慮すればよい 所望の周波数 振幅 特性 実際の周波数 振幅 特性 窓関数法 窓関数法 もっとも直感的な方法 理想的な周波数特性を逆フーリエ変換すればフィルタ係数が得られる! そのままではインパルス応答が無限になってしまうので所望の長さに打ち切る??? 所望の特性 逆離散時間フーリエ変換 ギブス現象 インパルス応答打ち切り 5 誤差がなるべく小さくなるようにフィルタ係数を決定する最適化問題 6 離散時間フーリエ変換 フィルタ係数 窓関数法続き 窓関数法続き 7 窓関数法の実際 所望位相特性 は所望のフィルタ長で決まる d > { } si d シンク sic 関数 矩形波のフーリエ変換はシンク関数となる si x si x sic x x の時は lim を利用する x x x 8 インパルス応答を打ち切るとギブス現象が生じる 少ない周波数成分でフーリエ級数展開した場合に起きた現象と同じ s4_.m を参照 窓関数を掛けて全体的に滑らかにすることでギブス現象を抑えることができる 所望の特性 逆離散時間フーリエ変換 離散時間フーリエ変換 窓関数 長さ 窓関数をかけることで切り取る フィルタ係数
窓関数の種類 ATAB を使った窓関数法 9 矩形窓 打ち切りと同じ ハミング窓 w.54.46cos ハニング窓 w.5.5cos clar all 関数 fir を使う 矩形窓使用 % firw は 次のローパスディジタル FIR フィルタを設計し フィルタ係数を % 長さ の行ベクトル B に出力します カットオフ周波数 W は と % の間の数でなければなりません ここで はサンプリング周波数の % / ナイキスト周波数 です 係数 B は実数で 線形位相 FIR フィルタです % フィルタの W での正規化されたゲインは -6 db です %6の線形位相 FIRフィルタを設計する % カットオフ周波数は/4 実際にはi/ 6; %firではの長さのフィルタが設計される W/4; firwboxcar; % 矩形窓を使用 boxcar % 周波数特性の計算 [W]frq5; % フィルタ係数 位相特性のプロット figur stm figur lotwabs figur lotwuwraagl s_4.m ATAB を使った窓関数法続き 等リプル近似 clar all 関数 fir を使う ハミング窓使用 % firw は 次のローパスディジタル FIR フィルタを設計し フィルタ係数を % 長さ の行ベクトル B に出力します カットオフ周波数 W は と % の間の数でなければなりません ここで はサンプリング周波数の % / ナイキスト周波数 です 係数 B は実数で 線形位相 FIR フィルタです % フィルタの W での正規化されたゲインは -6 db です %6 の線形位相 FIR フィルタを設計する % カットオフ周波数は /4 実際には i/ 6; %fir では の長さのフィルタが設計される W/4; firwammig; % 周波数特性の計算 [W]frq5; % フィルタ係数 位相特性のプロット figur stm figur lotwabs figur lotwuwraagl s_5.m 等リプル近似 チェビシェフ近似 誤差の最大値を最小化 ミニマックス規範 等リプルな特性 Rmの交換アルゴリズムを用いて解くことができる arks&ccllla 法 Rm 法 所望の周波数特性とフィルタ長を指定する 遷移域 s ナイキスト周波数 周波数点所望特性 s
ATAB を使った Rm アルゴリズム clar all % firmfa は ミニマックス規範を使って ベクトル F と A で表される周 % 波数とゲインの関係を最適近似する長さ の線形位相 FIR フィルタ 係数は実 % 数で対称 を設計します F は から までの範囲で設定される周波数点のベクトル % で はサンプリング周波数の / すなわち yquist 周波数です また 周波数は % 昇順でなければなりません A は 結果のフィルタ B の希望する周波数応答の振幅を % 表わす実数ベクトルで F と同じサイズでなければなりません % もし firm がない ATAB のバージョンが古い 場合は 関数 rm を使う % 使い方は同じ %6 の線形位相 FIR フィルタを設計する 6; F[ /4-/ /4/ ]; %// を遷移域として設定している A[ ]; firmfa; % 周波数特性の計算 [W]frq5; % フィルタ係数 位相特性のプロット figur stm figur lotw*logabs % デシベル表示にする figur lotwuwraagl s_6.m