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!