filtfiltの動作する方向について
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sho
el 15 de Ag. de 2023
Editada: Hernia Baby
el 20 de Ag. de 2023
filtfiltの動作する方向について質問です.
data.matのように各列ごと,時系列データが保存されています.
このデータを各列ごとにフィルタ処理したいと考えております.質問は下記2点です.
・filtfiltでのフィルター処理は行方向,列方向,どちらの方向に動作してますでしょうか?
・もし行方向に動作しているとしたら,列方向に動作させる方法はございますでしょうか?
ご回答どうぞよろしくお願いいたします.
load data.mat
sampling_rate = 200;
cutoff_frequency = 12;
filter_order = 4;
[b, a] = butter(filter_order, cutoff_frequency / (0.5.*sampling_rate), 'low');
filt_data = [data(:,1:2) filtfilt(b, a, data(:,3:end))]
0 comentarios
Respuesta aceptada
Hernia Baby
el 20 de Ag. de 2023
海外でも同じような質問来てましたね
動作する方向について
ドキュメントにもあるように
関数は、x が行ベクトルでなければ、x の最初の配列次元に沿って動作します。x が行ベクトルである場合は、2 番目の次元に沿って動作します。
つまり、行方向にフィルタがかかっています。
列方向に動作させる方法
これは転置を使えば解決します。
transpose, .' をご参考ください。
a = [1,2;3,4]
b = a'
2 comentarios
Hernia Baby
el 20 de Ag. de 2023
Editada: Hernia Baby
el 20 de Ag. de 2023
よく見たらご本人様でしたね。
ご理解の通り、基本は各列ベクトルにかかってるみたいです。
行ベクトルのときのみ、列方向にフィルタがかかります。
他の関数であればオプションに方向を決めるものがあるのですが、この関数にはありません。ですので転置などで入力値を変換する必要があります。
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!