Help with butterwort filter
조회 수: 1 (최근 30일)
이전 댓글 표시
It's hard for me to understand all the mathematics behind the filters, but I found two possible ways to design a Butterwort filter. They give both the same values for Fs,Fc,Fz and Fn. But still there are differences in the output 'a' and 'A'and in 'b' and 'B'. I need to design a filter with cutoff-frequency of 6Hz and it has to be of the 4the-orde low-pass.
The first way:
cutoff=6;
order=4;
fs_v= data_stair_rise(1, 1).VideoFrameRate ;
[b,a] = butter(order,cutoff/(0.5*fs_v),'low'); %I don't know why to divide the cutoff by (0.5*fs_v)...
The second way:
Fs1 = data_stair_rise(1, 1).VideoFrameRate; % Sampling Frequency is 100 for my data
Fn1 = Fs1/2;
Fc1 = 6/Fn1;
Fz1 = 7/Fn1;
[n,Wn] = buttord(Fc1, Fz1, 1, 10); % I don't know what the 1 and 10 stands for...
[B,A] = butter(n,Wn);
댓글 수: 0
답변 (1개)
Star Strider
2015년 1월 3일
편집: Star Strider
2015년 1월 3일
You divide the design passband and stopband frequencies by 0.5*fs_v to normalise them by the Nyquist frequency (the highest resolvable frequency in a sampled signal).
[n,Wn] = buttord(Fc1, Fz1, 1, 10); % I don't know what the 1 and 10 stands for...
They are the passband ripple magnitude (in dB), and stopband attenuation (in dB), respectively.
The two filters are different. The top filter you chose to be 4th-order, while the buttord function chooses 12th-order.
Understanding the mathematics behind filter design simply takes time. When you have the opportunity, take a course in digital signal processing.
댓글 수: 2
Star Strider
2015년 1월 3일
편집: Star Strider
2015년 1월 3일
My pleasure!
The buttord function will calculate the optimal parameters for your filter. If you want to use those results, do everything in the code you quoted in ‘the second way’. That will likely be a better and more stable filter.
If you want a 4th-order filter with a cutoff frequency of 6 Hz, and a sampling frequency of 100 Hz (Nyquist frequency of 50 Hz), define it as:
[b,a] = butter(4, 6/50);
I would look at all the filters with the freqz function to see how they differ.
참고 항목
카테고리
Help Center 및 File Exchange에서 Digital Filter Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!