필터 지우기
필터 지우기

Making a butterworth filter

조회 수: 3 (최근 30일)
Mark
Mark 2011년 9월 23일
Hi,
Any suggestions on how to make a filter in Matlab using the following settings:
Butterworth Zero Phase Filters: Low Cutoff: 1.0000 Hz, Time constant 0.1592s, 24 dB/oct High Cutoff: 30.0000 Hz, 24 dB/oct
Thanks, Mark

채택된 답변

Wayne King
Wayne King 2011년 9월 23일
Hi, You won't be able to make a zero-phase Butterworth filter, but you can implement zerophase filtering with filtfilt. You can use fdesign.lowpass and use the design method 'butter' to design your filter and then use filtfilt().
  댓글 수: 3
Wayne King
Wayne King 2011년 9월 23일
Jan, Just out of curiousity have you looked at the performance of filtfilt since it was overhauled in R2011a? The major change was that it now accepts IIR filter objects in biquad form, but there should be some performance enhancements as well.
Jan
Jan 2011년 9월 23일
@Wayne: Unfortuanely I do not have a modern version and therefore I've not tested it, but I'd be very glad if somebody could run the included test and send me a copy of the output...
FILTER is parallelized now, but my Mex is not currently. The old FILTFILT suffers from creating 5 temporary copies of the input signal, while the replacement needs just 2 copies. I'm still surprised, that this is 5 to 20 times faster - compared to 2009a.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Michael Leung
Michael Leung 2011년 9월 23일
I believe that the butter function is able to do 0th order filters. http://www.mathworks.com/help/toolbox/signal/ref/butter.html
  댓글 수: 1
Wayne King
Wayne King 2011년 9월 23일
Hi Michael, That is not correct. The order must be positive. A 0th order IIR filter would mean that the output is equal to the input.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by