Confuction with cutoff frequency
显示 更早的评论
Hello, I have this code that is from a chebyshev filter and I need to know if what is marked in red on the graph corresponds to the cutoff frequencies
Fs = 4400;
Fn = Fs/2;
n = 3; Rp = 0.5;
Wn = [250 2000]/Fn;
[b a]=cheby1(n,Rp,Wn,'bandpass')
[h,w]=freqz(b,a)
plot(w,abs(h))

采纳的回答
The first red line (at 0.357) corresponds to the low cutoff frequency. The upper cutoff frequency should be at 2.856, so the second red line (at 2.000) does not correspond to it (or to anything else of significance).
.
10 个评论
My pleasure.
You will find that my Answer is correct:
Fs = 4400;
Fn = Fs/2;
Wn = [250 2000]/Fn * pi
Wn = 1×2
0.3570 2.8560
The frequency axis in that plot is normalised on the interval
radians/time unit, and is not in units of Hz. The freqz call:
radians/time unit, and is not in units of Hz. The freqz call: [h,w]=freqz(b,a)
forces that, although if you wanted the frequency axis to be in Hz, it would only be necessary to provide the sampling frequency as the last argument to force that.
EDIT — (5 Aug 2021 at 19:42)
I still have no idea what the second (higher-frequency) red line corresponds to.
The centre frequency of the passband is:
Fc = mean([250 2000]/Fn * pi) % Radians/Time
Fc = 1.6065
or:
Fc = mean([250 2000]) % Hz
Fc = 1125
Is the second red line supposed to actually mean something? If so, what?
.
Well, now I am checking your graph in full size, I can say that the answer above is correct. I was assuming that the x-axis represents the frequency in Hz, but it does not seem so. Thus, the values of the red lines do not really represent anything of interest.
@Star Strider The second red line corresponds (according to me) to the cutoff frequency of 2000 Hz. But this statement may be wrong, that's why the question in the forum
The problem is the way you called freqz, since the default frequency axis (as I mentioned earlier) is
.
. If you want to plot in Hz:
Fs = 4400;
Fn = Fs/2;
n = 3; Rp = 0.5;
Wn = [250 2000]/Fn;
[b a]=cheby1(n,Rp,Wn,'bandpass');
[h,w]=freqz(b,a,2^16,Fs);
plot(w,abs(h))
hold on
plot(([1;1]*Wn*Fn), ([1;1]*ylim).', '-r')
hold off
legend('Passband','Cutof Frequencies', 'Location','S')

Note — The frequency axis is different from the frequency axis in the posted plot image.
.
This is the final graph I got

If the sampling frequency is not specified in the freqz call,
Fs = 4400;
Fn = Fs/2;
n = 3; Rp = 0.5;
Wn = [250 2000]/Fn;
[b a]=cheby1(n,Rp,Wn,'bandpass');
[h,w]=freqz(b,a,2^16);
plot(w,abs(h))
hold on
plot(([1;1]*Wn*pi), ([1;1]*ylim).', '-r')
hold off
legend('Passband','Cutof Frequencies', 'Location','S')

The frequency axis is different. The plot is otherwise the same.
.
Thanks very much!!!
Juan Chehin
2021-8-6
编辑:Juan Chehin
2021-8-6
One last question, the red line of the cutoff frequency that you put, I see that on the y axis cuts at 0.9. Shouldn't it cut at 0.707? Where the filter gain falls. Green lines

‘The common practice of defining the cutoff frequency at −3 dB is usually not applied to Chebyshev filters; instead the cutoff is taken as the point at which the gain falls to the value of the ripple for the final time.’
So with a passband ripple defined as 0.5 dB, the cutoff frequencies correspond to that amplitude (dotted black line).
Fs = 4400;
Fn = Fs/2;
n = 3; Rp = 0.5;
Wn = [250 2000]/Fn;
[b a]=cheby1(n,Rp,Wn,'bandpass');
[h,w]=freqz(b,a,2^16);
plot(w,mag2db(abs(h)))
hold on
plot(([1;1]*Wn*pi), ([1;1]*ylim).', '-r')
plot(xlim, -0.5*[1 1], ":k")
hold off
grid
ylim([-10, 0])
legend('Passband','Cutof Frequencies', 'Location','S')

.
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Spectral Analysis 的更多信息
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
