Estoy intentando diseñar un filtro de paso bajo de retroalimentación múltiple de segundo orden con frecuencia de corte a 1500 Hz y aproximación de Chebyshev.
Lafuncióndetransferenciaparaesteesquemasedefinecomo:
Donde:
Ycondiciónparavaloresrealesderesistencias:
Sinembargo,alutilizarMatlabylafuncióncheby1obtengovaloresdecoeficientesextremadamentealtosy,comoresultado,valoresaltosderesistenciasycondensadores.
hertz=1500;%passbandinhertzrad_s=hertz*2*pi;%converttorad/sorder=2;ripple=3;%dB[b,a]=cheby1(order,ripple,rad_s,'s');%Extractcoefficientsforcomputingshemevaluesa1=a(2);b1=a(3);H0=-b(3);fprintf('Coefficients:\n\ta1=%d\n\tb1=%d\n\tH0=%d\r\n',a1,b1,H0);%ConditionforcapacitorsKCmin=(4*b1*(1-H0))/(a1^2);fprintf('Capacitorscondition:\n\tC2/C1>=%d\r\n',KCmin);%ChoosesatisfyingcapasitorsC2=10^(-3);%FC1=10^(-12);%Ffprintf('Chosencapacitors:\n\tC1=%d\n\tC2=%d\n\tCk=%d\r\n',C1,C2,C2/C1);R2=(a1*C2-sqrt((a1^2)*(C2^2)-4*C1*C2*b1*(1-H0)))/(2*hertz*C1*C2);R1=-R2/H0;R3=b1/((hertz^2)*C1*C2*R2);fprintf('Resistors:\n\t%d\n\t%d\n\t%d\n',R1,R2,R3);
Ylasalidaes:
Coefficients:a1=6.078036e+03b1=6.288448e+07H0=-4.451880e+07Capacitorscondition:C2/C1>=3.031241e+08Chosencapacitors:C1=1.000000e-12C2=1.000000e-03Ck=1000000000Resistors:7.518520e+033.347155e+118.349974e+04
Tambiénnotéquecualquieraquefueralaondulación,elegílacondiciónC2/C1siemprefuede10^8orden.
¿Quéestoyhaciendomal?
ACTUALIZAR
Creoquesécuáleselproblema:lasecuacionesdadasestánenformanormalizadaytambiénnecesitocoeficientesparalaformanormalizada.Sinembargo,MATLABproporcionacoeficientesqueestántotalmentelistosparaserutilizados.Porlotanto,segúntengoentendido,tengoqueeliminarw
delasecuaciones,peronomehaayudadoenalgunarazón.
Tambiénencontrécoeficientesnormalizadosenmilibrodetexto:
La última columna es coeficientes normalizados para el filtro Chebyshev 3dB de orden 2d. Pero no puedo entender de dónde tengo que tomar H0
.