FDAtool - Scale Passband (Chebyshev)
이전 댓글 표시
hello,
In Matlab when I use fdatool i see the option "Scale Passband" now this option changes the coefficients drastically, after some reading I found out the use for it but not the mathematical way to calculate it yourself.
I used for example, fs = 48000hz, fc1 = 4000, fc2 = 6000, order = 4, sidelobe attenuation = 60, scale passband is not checked. That are my FDAtool settings, now I calculated h(0) = 0.917, multiplying h(0) with the window variable (witch comes from chebwin function) gives me 0.917. this value matches FDAtool coefficients, so I can conclude that the coefficients are calculated correctly.
Now when I check the option "Scale Passband" my coefficients change, how they get the new coefficients is for me a complete riddle. Also the chebwin function doesn't calculate the new "scale bandpass" coefficients
Thank you!
답변 (1개)
Honglei Chen
2011년 3월 24일
0 개 추천
Hi Jan,
I can't really follow your example but the purpose of scale is to make sure that the center of the first passband has a magnitude response of 1.
HTH.
댓글 수: 4
Jan
2011년 3월 24일
Honglei Chen
2011년 3월 24일
Here are the general steps:
1. Design the filter using the Chebyshev window.
2. Identify the center of your pass band.
3. Calculate the magnitude response at this particular frequency using filter coefficients derived from step 1.
4. Scale the coefficients with the magnitude response so that the magnitude response is 1 at the center of pass band.
HTH
Jan
2011년 3월 26일
Honglei Chen
2011년 3월 28일
Suppose that using the regular Chebyshev window, you get your coefficients in variable b, and your pass band is centered at f0. Denote B(f0) as the magnitude frequency response of b evaluated at f0, then the scaled coefficients will be
b_scaled = b/B(f0)
Note that B_scaled(f0) = B(f0)/B(f0) = 1.
카테고리
도움말 센터 및 File Exchange에서 Chebyshev에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!