2nd Order Digital Butterworth filter

15 Ansichten (letzte 30 Tage)
Aman
Aman am 26 Mär. 2012
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 Kommentare
Jan
Jan am 26 Mär. 2012
I'm sure "9 columns and 30'000 rows" mean "columns of length 9 and rows of length 30'000".
Aman
Aman am 26 Mär. 2012
yes I meant 9X30000 matrix

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jan
Jan am 26 Mär. 2012
[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 Kommentare
Honglei Chen
Honglei Chen am 26 Mär. 2012
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 am 26 Mär. 2012
ah ok that makes much more sense, thank you

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by