2nd Order Digital Butterworth filter
32 次查看(过去 30 天)
显示 更早的评论
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
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
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
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)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!