signal tool boxのlowpassについて
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
mushi77
el 8 de Abr. de 2022
Editada: Hernia Baby
el 13 de Abr. de 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 comentarios
Respuesta aceptada
Hernia Baby
el 11 de Abr. de 2022
Editada: Hernia Baby
el 13 de Abr. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre 平滑化とノイズ除去 en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!