Difference in Chebyshev filter
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Chin Wei Chang
el 9 de En. de 2017
Editada: Chin Wei Chang
el 10 de Abr. de 2017
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 comentarios
Respuesta aceptada
Star Strider
el 9 de En. de 2017
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.
0 comentarios
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!