Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

cheby2

Chebyshev tipo II filtro de diseño

Descripción

ejemplo

[b,a] = cheby2(n,Rs,Ws) Devuelve los coeficientes de la función de transferencia de un filtro digital Chebyshev tipo II de orden bajo con frecuencia de arista de banda de stopband normalizada y decibelios de atenuación de banda de parada desde el valor de banda de paso de cresta.nWsRs

ejemplo

[b,a] = cheby2(n,Rs,Ws,ftype) diseña un filtro Chebyshev tipo II de paso bajo, paso alto, paso de banda o supresión, dependiendo del valor y el número de elementos de.ftypeWs El paso de banda y los diseños de supresión resultantes son de orden 2.n

Consulte para obtener información sobre los problemas numéricos que afectan a la formación de la función de transferencia.Note:Limitaciones

ejemplo

[z,p,k] = cheby2(___) diseña un filtro Chebyshev tipo II de paso bajo, paso alto, paso de banda o supresión digital y devuelve sus ceros, polos y ganancia. Esta sintaxis puede incluir cualquiera de los argumentos de entrada en sintaxis anteriores.

ejemplo

[A,B,C,D] = cheby2(___) diseña un filtro Chebyshev tipo II de paso bajo, paso alto, paso de banda o supresión digital y devuelve las matrices que especifican su representación de espacio de estado.

ejemplo

[___] = cheby2(___,'s') diseña un filtro Chebyshev tipo II analógico de paso bajo, paso alto, paso de banda o supresión con frecuencia angular de borde de banda de stopband y decibelios de atenuación de banda de suspensión.WsRs

Ejemplos

contraer todo

Diseñe un filtro de paso bajo Chebyshev tipo II de 6º orden con 40 dB de atenuación de banda de suspensión y una frecuencia de borde de banda stopband de 300 Hz, que, para los datos muestreados a 1000 Hz, corresponde a

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>6</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample. Graficar sus respuestas de magnitud y fase. Utilílelo para filtrar una señal aleatoria de 1000 muestras.

[b,a] = cheby2(6,40,0.6); freqz(b,a)

dataIn = randn(1000,1); dataOut = filter(b,a,dataIn);

Diseñe un filtro de banda de 6 órdenes Chebyshev tipo II con frecuencias de borde normalizadas de

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>2</mn>
<mi>π</mi>
</mrow>
</math>
Y
<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>6</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample y 50 dB de atenuación de la banda de suspensión. Graficar sus respuestas de magnitud y fase. Se usa para filtrar datos aleatorios.

[b,a] = cheby2(3,50,[0.2 0.6],'stop'); freqz(b,a)

dataIn = randn(1000,1); dataOut = filter(b,a,dataIn);

Diseñe un filtro Chebyshev tipo II de 9º orden con 20 dB de atenuación de la banda de suspensión y una frecuencia de borde de banda de stopband de 300 Hz, que, para los datos muestreados a 1000 Hz, corresponde a

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>6</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample. Graficar las respuestas de magnitud y fase. Convierta los ceros, polos y ganancia en secciones de segundo orden para usarlas.fvtool

[z,p,k] = cheby2(9,20,300/500,'high'); sos = zp2sos(z,p,k); fvtool(sos,'Analysis','freq')

Diseñe un filtro de paso de banda Chebyshev tipo II de 20 órdenes con una frecuencia de banda de suspensión inferior de 500 Hz y una frecuencia de banda de detención más alta de 560 Hz. Especifique una atenuación de banda de parada de 40 dB y una frecuencia de muestreo de 1500 Hz. Utilice la representación de espacio de estado. Diseña un filtro idéntico usando.designfilt

[A,B,C,D] = cheby2(10,40,[500 560]/750); d = designfilt('bandpassiir','FilterOrder',20, ...     'StopbandFrequency1',500,'StopbandFrequency2',560, ...     'StopbandAttenuation',40,'SampleRate',1500);

Convierta la representación de espacio de estado en secciones de segundo orden. Visualice las respuestas de frecuencia utilizando.fvtool

sos = ss2sos(A,B,C,D); fvt = fvtool(sos,d,'Fs',1500); legend(fvt,'cheby2','designfilt')

Diseñe un filtro de paso bajo de Butterworth analógico de 5º orden con una frecuencia de corte de 2 GHz. Multiplicar por

<math display="block">
<mrow>
<mn>2</mn>
<mi>π</mi>
</mrow>
</math>
para convertir la frecuencia a radianes por segundo. Calcule la respuesta de frecuencia del filtro en 4096 puntos.

n = 5; f = 2e9;  [zb,pb,kb] = butter(n,2*pi*f,'s'); [bb,ab] = zp2tf(zb,pb,kb); [hb,wb] = freqs(bb,ab,4096);

Diseñe un filtro Chebyshev tipo I de 5º orden con la misma frecuencia de borde y 3 dB de ondulación de banda de paso. Calcule su respuesta de frecuencia.

[z1,p1,k1] = cheby1(n,3,2*pi*f,'s'); [b1,a1] = zp2tf(z1,p1,k1); [h1,w1] = freqs(b1,a1,4096);

Diseñe un filtro Chebyshev tipo II de 5º orden con la misma frecuencia de borde y 30 dB de atenuación de la banda de suspensión. Calcule su respuesta de frecuencia.

[z2,p2,k2] = cheby2(n,30,2*pi*f,'s'); [b2,a2] = zp2tf(z2,p2,k2); [h2,w2] = freqs(b2,a2,4096);

Diseñe un filtro elíptico de 5º orden con la misma frecuencia de borde, 3 dB de ondulación de banda de paso y 30 dB de atenuación de banda de suspensión. Calcule su respuesta de frecuencia.

[ze,pe,ke] = ellip(n,3,30,2*pi*f,'s'); [be,ae] = zp2tf(ze,pe,ke); [he,we] = freqs(be,ae,4096);

Trace la atenuación en decibelios. Exprese la frecuencia en gigahertz. Compare los filtros.

plot(wb/(2e9*pi),mag2db(abs(hb))) hold on plot(w1/(2e9*pi),mag2db(abs(h1))) plot(w2/(2e9*pi),mag2db(abs(h2))) plot(we/(2e9*pi),mag2db(abs(he))) axis([0 4 -40 5]) grid xlabel('Frequency (GHz)') ylabel('Attenuation (dB)') legend('butter','cheby1','cheby2','ellip')

Los filtros Butterworth y Chebyshev tipo II tienen bandas de paso planas y bandas de transición anchas. Los filtros tipo I y elíptico Chebyshev se enrollan más rápido pero tienen ondulación de banda de paso. La entrada de frecuencia a la función de diseño Chebyshev tipo II establece el principio de la banda de parada en lugar del final de la banda de paso.

Argumentos de entrada

contraer todo

Orden de filtro, especificado como un escalar entero.

Tipos de datos: double

Atenuación de la banda de detención hacia abajo desde el valor de la banda de paso pico, especificado como un escalar positivo expresado en decibelios.

Si su especificación, l, está en unidades lineales, puede convertirla a decibelios usando = – 20 logRs10L.

Tipos de datos: double

Frecuencia de borde de stopband, especificada como un vector escalar o de dos elementos. La frecuencia de borde de la banda stopband es la frecuencia con la que la respuesta de magnitud del filtro es-decibelios.Rs Los valores más grandes de atenuación de la banda de suspensión, resultan en bandas de transición más anchas.Rs

  • Si es un escalar, diseña un filtro de paso bajo o paso alto con frecuencia de borde.Wscheby2Ws

    Si es el vector de dos elementos, donde <, a continuación, diseña un paso de banda o un filtro de banda con frecuencia de borde inferior y mayor frecuencia de borde.Ws[w1 w2]w1w2cheby2w1w2

  • Para los filtros digitales, las frecuencias de borde de banda de suspensión deben estar entre 0 y 1, donde 1 corresponde a la tasa de Nyquist — la mitad de la frecuencia de muestreo o Rad/sample.π

    Para los filtros analógicos, las frecuencias de borde de la banda de stopband deben expresarse en radianes por segundo y pueden tomar cualquier valor positivo.

Tipos de datos: double

Tipo de filtro, especificado como uno de los siguientes:

  • especifica un filtro de paso bajo con frecuencia de arista de banda de stopband. es el valor predeterminado para escalar.'low'Ws'low'Ws

  • especifica un filtro de paso alto con frecuencia de arista de banda de stopband.'high'Ws

  • especifica un filtro de paso de banda de orden 2 si es un vector de dos elementos. es el valor predeterminado cuando tiene dos elementos.'bandpass'nWs'bandpass'Ws

  • especifica un filtro de parada de banda de orden 2 si es un vector de dos elementos.'stop'nWs

Argumentos de salida

contraer todo

Transfiera los coeficientes de función del filtro, devueltos como vectores de fila de longitud + 1 para los filtros de paso bajo y paso alto y 2 + 1 para los filtros de paso de banda y supresión.nn

  • Para los filtros digitales, la función de transferencia se expresa en términos de y comoba

    H(z)=B(z)A(z)=b(1)+b(2)z1++b(n+1)zna(1)+a(2)z1++a(n+1)zn.

  • Para los filtros analógicos, la función de transferencia se expresa en términos de y comoba

    H(s)=B(s)A(s)=b(1)sn+b(2)sn1++b(n+1)a(1)sn+a(2)sn1++a(n+1).

Tipos de datos: double

Ceros, polos y ganancia del filtro, devueltos como dos vectores de columna de longitud (2 para el paso de banda y diseños de supresión) y un escalar.nn

  • Para los filtros digitales, la función de transferencia se expresa en términos de, y comozpk

    H(z)=k(1z(1)z1)(1z(2)z1)(1z(n)z1)(1p(1)z1)(1p(2)z1)(1p(n)z1).

  • Para los filtros analógicos, la función de transferencia se expresa en términos de, y comozpk

    H(s)=k(sz(1))(sz(2))(sz(n))(sp(1))(sp(2))(sp(n)).

Tipos de datos: double

Representación de espacio de estado del filtro, devuelta como matrices. Si = para los diseños de paso bajo y paso alto y = 2 para los filtros de paso de banda y de supresión, entonces es ×, es × 1, es 1 ×, y es 1 × 1.mnmnAmmBmCmD

  • Para los filtros digitales, las matrices de espacio de estado relacionan el vector de estado, la entrada y la salida a travésxuy

    x(k+1)=Ax(k)+Bu(k)y(k)=Cx(k)+Du(k).

  • Para los filtros analógicos, las matrices de espacio de estado relacionan el vector de estado, la entrada y la salida a travésxuy

    x˙=Ax+Buy=Cx+Du.

Tipos de datos: double

Más acerca de

contraer todo

Limitaciones

Numerical Instability of Transfer Function Syntax

En general, utilice la sintaxis para diseñar filtros IIR.[z,p,k] Para analizar o implementar el filtro, puede usar la salida con.[z,p,k]zp2sos Si diseña el filtro con la sintaxis, puede encontrar problemas numéricos.[b,a] Estos problemas se deben a errores de redondeo y pueden producirse por un mínimo de 4.n En el ejemplo siguiente se ilustra esta limitación.

n = 6;  Rs = 80;  Wn = [2.5e6 29e6]/500e6; ftype = 'bandpass';  % Transfer function design [b,a] = cheby2(n,Rs,Wn,ftype);      % This filter is unstable  % Zero-pole-gain design [z,p,k] = cheby2(n,Rs,Wn,ftype); sos = zp2sos(z,p,k);  % Plot and compare the results hfvt = fvtool(b,a,sos,'FrequencyScale','log'); legend(hfvt,'TF Design','ZPK Design')

Algoritmos

Los filtros Chebyshev tipo II son monotónicos en la banda de paso y equiripple en la banda de suspensión. Los filtros tipo II no se enrollan tan rápido como los filtros tipo I, pero están libres de ondulación de banda de paso.

utiliza un algoritmo de cinco pasos:cheby2

  1. Encuentra los postes de prototipo analógico de paso bajo, ceros y ganancia utilizando la función.cheb2ap

  2. Convierte polos, ceros y gana en forma de espacio del estado.

  3. Si es necesario, utiliza una transformación de espacio de estado para convertir el filtro de paso bajo en un paso de banda, paso alto o filtro de banda con las restricciones de frecuencia deseadas.

  4. Para el diseño de filtros digitales, utiliza para convertir el filtro analógico en un filtro digital a través de una transformación bilineal con prewarping de frecuencia.bilinear Ajuste de frecuencia cuidadoso los filtros analógicos y los filtros digitales para tener la misma magnitud de respuesta de frecuencia en o y.Wsw1w2

  5. Convierte el filtro del espacio de estado de nuevo a la función de transferencia o forma de cero polos-ganancia, según sea necesario.

Capacidades ampliadas

Introducido antes de R2006a