備忘録です。
Matlabでローパスフィルタを簡易的に作成してみました。
- 処理手順(おそらく)
- LPFの変数指定
- FIRフィルタの係数計算
- フィルタ係数と入力信号から、通過信号算出
fdesign関数のパラメータをいじれば、いろいろなフィルタが簡易的にすぐに設計できそうです。
帯域を狭帯域にしすぎたり、阻止帯域での減衰が大きすぎると係数が増加し、処理時間も増加します。
function y = lpf_filtered_signal(x,Fs) % LPF 処理信号算出関数 % % 変数 % Fs : サンプリング周波数 % Fp : 通過帯域周波数 % Fst : 阻止帯域周波数 % Ap : 通過帯域のリップル [dB] % Ast : 阻止帯域の減衰量 [dB] % 変数の設定 Fp = 10*1e6; Fst = 20*1e6; Ap = 1; Ast = 50; h = fdesign.lowpass('Fp,Fst,Ap,Ast',Fp,Fst,Ap,Ast,Fs); % フィルタの設計 H = design(h); % フィルタ通過信号 y = filter(H.Numerator,1,x); end
- 参考にしたサイト