signal tool boxのlowpassについて
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
mushi77
am 8 Apr. 2022
Bearbeitet: Hernia Baby
am 13 Apr. 2022
ツールボックスに含まれるlowpassフィルタ機能を使って空間的な粗さ情報から細かな粗さを除去してうねり曲線を抽出しようとしています。
とりあえずサンプリング周期を0.1umとして100um幅で周期5umの正弦波を生成し、ローパスフィルタ関数で除去できるか試してみたのですが、どうにもフィルタリングがうまく行きません。
lowpass関数がどういったフィルタリング特性かわからっておらず、どうしたら狙いのフィルタ設定ができるようになるか教えてください。
%unit : um
samp=0.1; %サンプリング周期 0.1[um]
sampk=1/samp;
x=0:samp:100;
T=5; %正弦波周期5[um]
y=sin(2*pi*x/T); %正弦波生成
LPF=50; %LPFカットオフ周期?? 50[um]
yf=lowpass(y,1/LPF,sampk);
hold on
plot(x,y);
plot(x,yf);
hold off
0 Kommentare
Akzeptierte Antwort
Hernia Baby
am 11 Apr. 2022
Bearbeitet: Hernia Baby
am 13 Apr. 2022
サンプリング周波数が原因と思いましたがどうも違うようです。
周期だとわかりにくかったので周波数で考えてみます。
samp=0.1;
sampk=1/samp;
fprintf('サンプリング周波数:%i MHz\nナイキスト周波数 :%i MHz',sampk,sampk/2);
x=0:samp:100;
T=10;
fprintf('対象周波数 :%.1f MHz\nナイキスト周波数:%i MHz',1/T,sampk/2);
y=sin(2*pi*x/T);
ここまで問題ないことがわかりました。
LPFの設計に何かしら問題があるのかなと考えられます。
LPF=50;
fprintf('通過周波数:%.2f MHz\n対象周波数:%.1f MHz',1/LPF,1/T);
ここでも対象周波数よりも低い周波数でLPFを取っています。
ヘルプの図を見ると遷移領域があやしいと思われます。
ここで遷移領域を狭くするためSteepnessをいじってみましょう。
lowpass(y,1/LPF,sampk,'ImpulseResponse','iir','Steepness',0.9)
LPFがある程度うまくいっていることがわかりました。
本来であればもっと高周波で行うので、単位を略さずに計算すればあまり関係ないかもしれません。
うまくいかない場合は上記の図を参考にしながらLPF設計を行ってみてください。
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 平滑化とノイズ除去 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!