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))

 採用された回答

Star Strider
Star Strider 2021 年 8 月 5 日

0 投票

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 件のコメント

Juan Chehin
Juan Chehin 2021 年 8 月 5 日
Hi, Thanks for the answer, but it contradicts the answer from @Yazan :/
Star Strider
Star Strider 2021 年 8 月 5 日
編集済み: Star Strider 2021 年 8 月 5 日
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:
[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?
.
Yazan
Yazan 2021 年 8 月 5 日
編集済み: Yazan 2021 年 8 月 6 日
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.
Juan Chehin
Juan Chehin 2021 年 8 月 5 日
@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
Star Strider
Star Strider 2021 年 8 月 5 日
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.
.
Juan Chehin
Juan Chehin 2021 年 8 月 6 日
This is the final graph I got
Star Strider
Star Strider 2021 年 8 月 6 日
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.
.
Juan Chehin
Juan Chehin 2021 年 8 月 6 日
Thanks very much!!!
Juan Chehin
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
Star Strider
Star Strider 2021 年 8 月 6 日
I had to refresh my memory with respect to Chebyshev Type 1 filters.
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 件)

カテゴリ

製品

リリース

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by