2nd Order Digital Butterworth filter

31 ビュー (過去 30 日間)
Aman
Aman 2012 年 3 月 26 日
Hi Guys,
I need help designing a 2nd order low pass Butterworth filter with a frequency cut off of 12 Hz that is to be bi-directionally filtering the data.
How do I go about designing a filter like this in Matlab?
I realize there is a function 'butter' to design a lowpass filter, but was kind of confused on applying it to my matrix that has about 9 columns and 30,000 rows, and I need to apply the filter for every row.
Thanks for your help in advance!
  4 件のコメント
Jan
Jan 2012 年 3 月 26 日
I'm sure "9 columns and 30'000 rows" mean "columns of length 9 and rows of length 30'000".
Aman
Aman 2012 年 3 月 26 日
yes I meant 9X30000 matrix

サインインしてコメントする。

回答 (1 件)

Jan
Jan 2012 年 3 月 26 日
[B, A] = butter(2, 12 / (Freq * 0.5), 'high');
filtered = transpose(filtfilt(B, A, transpose(Signal)));
Freq is the frequency of your signal. If you need a low-pass filter change the 'high'. See help butter on demand.
  3 件のコメント
Honglei Chen
Honglei Chen 2012 年 3 月 26 日
Designing the filter is independent to your signal. Once the filter is designed, you can filter your signal using filter function, such as filter(B,A,Signal)
Aman
Aman 2012 年 3 月 26 日
ah ok that makes much more sense, thank you

サインインしてコメントする。

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by