2nd Order Digital Butterworth filter

32 次查看(过去 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".

请先登录,再进行评论。

回答(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