ノヴォシビルスク州立工科大学
オートメーションおよびコンピュータ工学部
データ収集および処理システム部門
専門分野「理論と信号処理」
研究室の作業番号10
デジタルフィルター
有限インパルス特性付き
グループ: AT-33
オプション: 1 教師:
学生:シャドリーナ A.V. 准教授 シチェティニン Yu.I.
仕事の目的: 平滑化窓関数を使用した有限インパルス応答フィルターの解析および合成方法の研究。
仕事を終わらせる:
1. フィルター長 と の値に対する長方形のウィンドウ カットオフ周波数を持つローパス FIR フィルターのインパルス応答プロット。
理想的な離散 FIR フィルターのインパルス応答は無限の長さを持ち、次の負の値では非ゼロになります。
.
物理的に実現可能なフィルターを取得するには、インパルス応答を有限数に制限し、切り捨てられた応答をある量だけ右にシフトする必要があります。
値はフィルターの長さ (サイズ) であり、 – フィルタの順序。
Matlab スクリプト (labrab101.m)
N = input("フィルターの長さを入力してください N = ");
h = sin(wc.*(n-(N-1)/2))./(pi.*(n-(N-1)/2);
xlabel("参照番号, n")
>> サブプロット(2,1,1)
>> labrab101
フィルタの長さを入力してください N = 15
>> title("N=15 の FIR フィルターのインパルス応答")
>> サブプロット(2,1,2)
>> labrab101
フィルタの長さを入力してください N = 50
>> title("N=50 の FIR フィルターのインパルス応答")
図1。 フィルター長とフィルター長の値に対する長方形のウィンドウ カットオフ周波数を持つローパス FIR フィルターのインパルス応答プロット
コメント:デジタル フィルターの周波数応答をフーリエ級数として考えると、次のようになります。 の場合、この系列の係数はフィルターのインパルス応答の値を表します。 で この場合フーリエ級数は、最初のケースでは に、2 番目のケースでは に切り捨てられ、その後、切り捨てられた特性が参照軸に沿って右にシフトされて、因果フィルターが得られます。 メインローブの幅が 2 の場合と - 1 の場合、つまり フィルターの長さが増加すると、インパルス応答のメインローブが狭くなります。 サイドローブのレベルを ( を使用して) 考慮すると、増加に伴い、絶対値は から まで増加します。 したがって、長方形のウィンドウを備えたフィルターの理想的な周波数応答の近似を使用する場合、メインローブを狭くすること (それによって遷移領域を減らすこと) とサイドローブのレベルを下げること (これを減らすこと) を同時に行うことは不可能であると結論付けることができます。フィルタの通過帯域と阻止帯域のリップル)。 長方形ウィンドウの唯一の制御可能なパラメータはそのサイズであり、これによってメイン ローブの幅に影響を与えることができますが、サイド ローブにはあまり影響しません。
2. 関数を使用してステップ 1 のインパルス特性の DVFT を計算します。 線形スケールおよびデシベル単位での周波数応答のグラフ 512 周波数サンプル。 フィルターの通過帯域、遷移帯域、阻止帯域。 遷移帯域の幅と通過帯域および阻止帯域の周波数応答リップルのレベルに対するフィルター次数の影響。
MATLAB 関数 (DTFT.m)
関数 = DTFT(x,M)
N = 最大(M, 長さ(x));
% FFT をサイズ 2^m に縮小
N = 2^(ceil(log(N)/log(2)));
% fft を計算する
% 周波数ベクトル
w = 2*pi*((0:(N-1))/N);
w = w - 2*pi*(w>=pi);
% FFT を -pi から +pi の範囲にシフトします
X = fftshift(X);
w = fftshift(w);
Matlab スクリプト (labrab102.m)
h1 = sin(wc.*(n1-(N1-1)/2))./(pi.*(n1-(N1-1)/2);
h2 = sin(wc.*(n2-(N2-1)/2))./(pi.*(n2-(N2-1)/2);
DTFT(h1,512);
DTFT(h2,512);
プロット(w./(2*pi),abs(H1)./max(abs(H1)),,"r")
xlabel("f, Hz")、ylabel("|H1|/max(|H1|)")、グリッド
プロット(w./(2*pi),abs(H2)./max(abs(H2)),"b")
xlabel("f, Hz")、ylabel("|H2|/max(|H2|)")、グリッド
プロット(w./(2*pi),20*log10(abs(H1)),,"r")
title("N = 15 の長方形ウィンドウを持つローパス FIR フィルターの周波数応答")
xlabel("f, Hz")、ylabel("20lg(|H1|), dB")、グリッド
プロット(w./(2*pi),20*log10(abs(H2)),"b")
title("N = 50 の長方形ウィンドウを持つローパス FIR フィルターの周波数応答")
xlabel("f, Hz")、ylabel("20lg(|H2|), dB")、グリッド
図2. フィルター長値に対する長方形のウィンドウカットオフ周波数を備えたローパスFIRフィルターの周波数応答プロットと線形スケール
図3. フィルター長の値に対する長方形のウィンドウカットオフ周波数を備えたローパスFIRフィルターの周波数応答プロットと対数スケール
コメント:
表1. フィルタ長の通過帯域、遷移領域、阻止帯域の範囲と
フィルター長 |
帯域幅、Hz |
遷移領域、Hz |
阻止帯域、Hz |
|||
物理的に実現可能なデジタル フィルターはリアルタイムで動作し、次のデータを使用して i 番目の離散的な瞬間に出力信号を生成できます。 1. 現時点での出力信号の値; また、入力信号の特定の数の過去のサンプル: x(i-1)、x(i-2)、x(i-m)。 2. 出力信号の一定数の前のサンプル: y(i-1)、y(i-2)、y(i-n)。 整数 m と n はデジタル フィルターの次数を決定します。 フィルターは、システムの過去の状態に関する情報がどのように使用されるかに応じて分類されます。 FIR フィルターまたは非再帰フィルターは、次のアルゴリズムに従って動作します。 M – フィルターの次数。 非再帰フィルターは、入力信号の前のサンプルの重み付けと合計を実行します。 過去の出力サンプルは使用されません。 H(z) – システム関数。 システム関数には、z=0 で m 個の零点と 1 つの極があります。 デジタルFIRフィルタの動作アルゴリズムを図45に示します。 フィルターの主な要素は、1 サンプリング間隔による値サンプルの遅延のブロックです。 重み係数によるデジタル乗算を実行するスケール ブロック。 スケール ブロックの出力から信号は加算器に入り、そこで出力信号が計算されます。 このブロック図は電気的なものではありませんが、 グラフィック画像コンピューター上の信号処理アルゴリズム。 このようなアルゴリズムの出力データと入力データは数値の配列です。 申請先 システム機能逆 Z – 変換してインパルス応答を求めます。 (フィルターインパルス応答)。 FIR フィルターのインパルス応答には有限数の要素が含まれており、フィルターは常に安定しています。 代入して周波数応答を求めてみましょう T=1/fs – サンプリング間隔。 48 デジタルフィルター有限インパルス応答を使用します。 KIH フィルターの計算。有限インパルス応答フィルター (非再帰フィルタ, FIRフィルター) または FIR フィルター (FIR は有限インパルス応答 - 有限インパルス応答の略です) - 線形デジタル フィルターの種類の 1 つで、その特徴はインパルス応答の時間制限です (ある時点から、インパルス応答は次の値と正確に等しくなります)。ゼロ)。 このようなフィルターは、フィードバックがないため、非再帰的とも呼ばれます。 このようなフィルターの伝達関数の分母は特定の定数です。 フィルターの入力信号と出力信号の間の関係を表す差分方程式: ここで、 P- フィルタの順序、 ×(n) - 入力信号、 y(n) は出力信号であり、 b 私- フィルター係数。 言い換えれば、出力信号サンプルの値は、スケーリングされた値の合計によって決まります。 P以前の読書。 別の言い方もできます。フィルター出力の値はいつでも、入力の瞬時値に対する応答の値と、徐々に減衰するすべての応答の合計です。 Pまだ出力に影響を与えている前の信号サンプル(後) P-counts では、すでに述べたように、パルス遷移関数はゼロに等しくなります。したがって、その後のすべての項は P-th もゼロになります)。 前の式をより容量の大きい形式で書いてみましょう。 配置したフィルターカーネルを見つけるには ×(n) = δ( n) ここで、δ( n) - デルタ関数。 この場合、FIR フィルターのインパルス応答は次のように記述できます。 インパルス応答の Z 変換により、FIR フィルターの伝達関数が得られます。 ]プロパティ FIR フィルターには、IIR フィルターよりも使用する方が望ましい場合がある多くの便利な特性があります。 その一部を次に示します。 FIR フィルターは堅牢です。 FIR フィルターは実装時にフィードバックを必要としません。 FIRフィルターの位相を線形にすることができます FIRフィルターの直接形式 FIR フィルターは、乗算器、加算器、遅延ブロックの 3 つの要素を使用して実装できます。 図に示されているオプションは、タイプ 1 FIR フィルターの直接実装です。 FIR フィルターの直接形式の実装 サンプルプログラム 以下は、C で書かれた FIR フィルター プログラムの例です。 /* 128 タップの FIR フィルター */ float fir_filter(float 入力) 静的フロートサンプル。 acc = 0.0f; /* バッテリー */ /* 乗算と累積 */ for (i = 0; i< 128; i++) { acc += (h[i] * サンプル[i]); /* 出口 */ /* 遅延信号をシフトします */ for (i = 127; i > 0; i--) サンプル[i] = サンプル; 49 データの平滑化。 移動平均。50 データの平滑化。 放物線状の平滑化。51 データの平滑化。 スペンサーのスムージング。52 データの平滑化。 メディアンフィルタリング。移動平均、放物線平滑法、スペンサー平滑法、メディアンフィルタリング 時間の経過とともにゆっくりと変化する物理プロセスのパラメータを決定する方法を開発する場合、重要な課題は、一次コンバータの出力で受信した処理信号に重畳されるノイズ効果やランダムな干渉の影響を排除することです。 この影響を排除するには、データ スムージングを適用します。 このような平滑化の最も簡単な方法の 1 つは、算術平均です。 これを使用すると、離散関数 (処理されたデータ配列) の各値が次の式に従って計算されます。 ここで、 は算術平均のポイント数です (奇数の整数)。 処理前の関数の値。 他にも非常に効果的な平滑化方法があります。たとえば、次の式に従って 5、7、9、11 点の 2 次放物線を使用します。 または、7、9、11、13 点の 4 次の放物線: 実際のアプリケーションでは、15 ポイント スペンサー スムージングなどの他の効果的な方法でも良好な結果が得られます。 これらの式に複素指数関数を代入することで、対応する変換の伝達関数を決定できます。 算術平均の場合 括弧内の式は分母を伴う等比数列を表すため、この式は次のように表すことができます。 . この式はローパス フィルターの伝達特性を表しており、平均化に関与する項が多いほど、信号内の高周波ノイズ成分の抑制が大きくなることを示しています (図 6.1 を参照)。 ただし、時間トレンドを処理する場合の周波数の意味概念は、信号を処理する場合の同様の概念とは異なります。 これは、時間の傾向を研究するときに、関心があるのは周波数の構成ではなく、変化の種類 (増加、減少、恒常性、周期性など) であるという事実によって説明されます。 いわゆるヒューリスティック アルゴリズムの使用も、データを平滑化するのに非常に効果的です。 その 1 つはメディアン フィルタリングです。 整数が奇数である次元のスライディング タイム ウィンドウでの実装中に、中央の要素は、平滑化されたデータ配列の要素を値の昇順に並べたシーケンスの中央の要素に置き換えられます。信号が時間枠内に収まります。 メディアン フィルタリングの利点は、滑らかに変化する信号の歪みを実質的に発生させずに、持続時間が超えないインパルス ノイズを除去できることです。 このノイズ抑制方法には厳密な数学的根拠はありませんが、計算の単純さと得られた結果の有効性により、広く使用されています。 図 6.1 - 伝達特性グラフ m=5、7、9、11 の算術平均演算 もう 1 つの興味深い平滑化アルゴリズムは中央値平均です。 その本質は次のとおりです。 サイズ (-奇数整数) のスライディング タイム ウィンドウでは、データ配列の要素が昇順に並べられ、最初と最後の要素が順序付けられたシーケンスから削除されます (<). Центральный элемент временного окна из последовательности сглаживаемых данных заменяется значением, вычисляемым как この方法により、パルスと無線周波数の干渉を抑制し、良好な信号平滑化を実現できます。
有限インパルス応答フィルター (非再帰フィルタ, FIRフィルター) または FIR フィルター (FIR は有限インパルス応答 - 有限インパルス応答の略です) - 線形デジタル フィルターの種類の 1 つで、その特徴的な機能はインパルス応答の時間制限です (ある時点から完全に等しくなる)ゼロにします)。 このようなフィルターは、フィードバックがないため、非再帰的とも呼ばれます。 このようなフィルターの伝達関数の分母は特定の定数です。 動特性ここで、 はデルタ関数です。 この場合、FIR フィルターのインパルス応答は次のように記述できます。 #define N 100 // 次数をフィルタリングします float h[N] = ( #include “f1.h” ); //既知のフィルター係数を持つファイルを挿入します float x[N] ;< N; k++ ) { result = result + x[ k] * h[ k] ; } y[ 0 ] = result; return ((short ) result) ; } float y[ N] ;short my_FIR(short sample_data) ( float result = 0 ; for ( int i = N - 2 ; i >= 0 ; i-- ) ( x[ i + 1 ] = x[ i] ; y[ i + 1 ] = y[ i] ; ) x[ 0 ] = (float ) サンプルデータ; for (int k = 0 ; k
リンク
他の辞書で「有限インパルス応答を持つフィルター」が何であるかを確認してください。フィルター - Akademika で有効な BeTechno プロモーション コードを取得するか、BeTechno のセールで有益なフィルターを割引価格で購入します 有限インパルス応答フィルター- - 電気通信のトピック、基本概念 EN 有限インパルス応答 (フィルター)FIR ... 技術翻訳者向けガイド 無限インパルス応答フィルター- (再帰フィルター、IIR フィルター) または IIR フィルター (無限インパルス応答無限インパルス応答の略称 IIR) 1 つ以上の出力を入力として使用する線形電子フィルター、つまり ... ... Wikipedia FIRフィルター 非再帰フィルタ- 有限インパルス応答を持つフィルター (非再帰フィルター、FIR フィルター、FIR フィルター) は線形電子フィルターの種類の 1 つであり、その特徴的な機能はインパルス応答の時間制限です (出典... Wikipedia 再帰的フィルター- 無限インパルス応答フィルター (再帰フィルター、IIR フィルター) は、1 つ以上の出力を入力として使用する、つまりフィードバックを形成する線形電子フィルターです。 このようなフィルターの主な特性は... ウィキペディア デジタルフィルター- 電子機器におけるデジタル フィルターは、デジタル信号を処理して、この信号の特定の周波数を分離および/または抑制するフィルターです。 デジタル フィルターとは異なり、アナログ フィルターはアナログ信号とその特性を処理します。 ... ... Wikipedia ディスクリートフィルター- 電子機器におけるデジタル フィルターは、デジタル信号を処理して、この信号の特定の周波数を分離および/または抑制するフィルターです。 デジタル アナログ フィルターとは異なり、アナログ信号を処理します。その特性は非離散的です。 ラインフィルター- 線形フィルターは、特定の線形演算子を入力信号に適用して、特定の信号周波数を強調または抑制する動的システムであり、入力信号を処理するためのその他の機能も備えています。 線形フィルターは... ... ウィキペディアで広く使用されています。 移動平均(フィルター)- この用語には他の意味もあります。「移動平均 (意味)」を参照してください。 移動平均を実装する単純な 2 次 FIR フィルターのブロック図 移動平均、移動平均はデジタル フィルターの一種です。 ... ... Wikipedia 移動平均(値)- 移動平均、移動平均: 移動平均は、定義の各点の値が前の期間の元の関数の平均値に等しい関数のファミリーです。 移動平均....Wikipedia |