They don’t look different to me. The difference is that the cheby1 code implements a discrete filter using the bilinear transformation. Your code designs a continuous filter.
Difference in Chebyshev filter
1 次查看(过去 30 天)
显示 更早的评论
I want to realize Chebyshev filter by two ways ,MATLAB function and formula
Type = 6, ripple = 10db , cutoff frequency=300Hz
This is using MATLAB function "cheby1" to simulate
[b,a] = cheby1(6,10,0.6); % 0.6=300/(1000/2)
figure();
freqz(b,a,[],1000);
This is output
And the following code is totally the same as Chebyshev filter' formula
N = 6;
ripple = 10;
wc = 300;
w1 = 0 :wc;
w2 = wc :500;
V1 = cos(N*acos(w1/wc));
V2 = cosh(N*acosh(w2/wc));
epsilon = sqrt( ( 10^(0.1*ripple) ) -1);
H1 = 1 ./ sqrt( 1 + (epsilon * V1).^2 );
H2 = 1 ./ sqrt( 1 + (epsilon * V2).^2 );
plot(w1 , 20*log10(H1));
hold on,
plot(w2 , 20*log10(H2));
This is output
I don't know why these two figures are different,
how can I fix this?
0 个评论
采纳的回答
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!