Main Content

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.

buttord

Orden del filtro Butterworth y frecuencia de corte

Descripción

ejemplo

[n,Wn] = buttord(Wp,Ws,Rp,Rs) devuelve el orden más bajo, , del filtro digital Butterworth con no más de dB de ondulación de banda de paso y al menos dB de atenuación en la banda de parada. y son respectivamente las frecuencias de borde de banda de paso y banda de parada del filtro, normalizadas de 0 a 1, donde 1 corresponde a rad/muestra.nRpRsWpWsπ También se devuelve el escalar (o vector) de las frecuencias de corte correspondientes.Wn Para diseñar un filtro Butterworth, utilice los argumentos de salida y como entradas para .nWnbutter

[n,Wn] = buttord(Wp,Ws,Rp,Rs,'s') encuentra el orden mínimo y las frecuencias de corte para un filtro analógico De Butterworth.nWn Especifique las frecuencias y en radianes por segundo.WpWs La banda de paso o la banda de parada pueden ser infinitas.

Ejemplos

contraer todo

Para los datos muestreados a 1000 Hz, diseñe un filtro de paso bajo con no más de 3 dB de ondulación en una banda de paso de 0 a 40 Hz, y al menos 60 dB de atenuación en la banda de parada. Busque el orden del filtro y la frecuencia de corte.

Wp = 40/500; Ws = 150/500;  [n,Wn] = buttord(Wp,Ws,3,60)
n = 5 
Wn = 0.0810 

Especifique el filtro en términos de secciones de segundo orden y trace la respuesta de frecuencia.

[z,p,k] = butter(n,Wn); sos = zp2sos(z,p,k);  freqz(sos,512,1000) title(sprintf('n = %d Butterworth Lowpass Filter',n))

Diseñe un filtro de paso de banda con una banda de paso de 100 a 200 Hz con como máximo 3 dB de ondulación de banda de paso y al menos 40 dB de atenuación en las bandas de parada. Especifique una frecuencia de muestreo de 1 kHz. Ajuste el ancho de la banda de parada a 50 Hz en ambos lados de la banda de paso. Encuentre el orden del filtro y las frecuencias de corte.

Wp = [100 200]/500; Ws = [50 250]/500; Rp = 3; Rs = 40; [n,Wn] = buttord(Wp,Ws,Rp,Rs)
n = 8 
Wn = 1×2

    0.1951    0.4080

Especifique el filtro en términos de secciones de segundo orden y trace la respuesta de frecuencia.

[z,p,k] = butter(n,Wn); sos = zp2sos(z,p,k);  freqz(sos,128,1000) title(sprintf('n = %d Butterworth Bandpass Filter',n))

Argumentos de entrada

contraer todo

Frecuencia de esquina de banda de paso (corte), especificada como un vector escalar o de dos elementos con valores entre 0 y 1, con 1 correspondiente a la frecuencia Nyquist normalizada, rad/sample.π

  • Si y son escalares y < , a continuación, devuelve el orden y la frecuencia de corte de un filtro de paso bajo.WpWsWpWsbuttord La banda de parada del filtro oscila entre 1 y la banda de paso oscila entre 0 y .WsWp

  • Si y son escalares y > , devuelve el orden y la frecuencia de corte de un filtro de paso alto.WpWsWpWsbuttord La banda de parada del filtro oscila entre 0 y la banda de paso oscila entre 1.WsWp

  • Si y son vectores y el intervalo especificado por contiene el especificado por ( < < ), a continuación, devuelve el orden y las frecuencias de corte de un filtro de paso de banda.WpWsWsWpWs(1)Wp(1)Wp(2)Ws(2)buttord La banda de parada del filtro oscila entre 0 y de 1.Ws(1)Ws(2) La banda de paso oscila entre hasta .Wp(1)Wp(2)

  • Si y son vectores y el intervalo especificado por contiene el especificado por ( < < ), a continuación, devuelve la orden y las frecuencias de corte de un filtro de banda.WpWsWpWsWp(1)Ws(1)Ws(2)Wp(2)buttord La banda de detención del filtro oscila entre hasta .Ws(1)Ws(2) La banda de paso oscila entre 0 y 1.Wp(1)Wp(2)

Tipos de datos: single | double

Nota

Si sus especificaciones de filtro requieren un filtro de paso de banda o bandstop con ondulación desigual en cada una de las bandas de paso o bandas de parada, diseñe filtros de paso bajo y paso alto separados y conecten en cascada los dos filtros juntos.

Frecuencia de esquina de banda de parada, especificada como un vector escalar o de dos elementos con valores entre 0 y 1, con 1 correspondiente a la frecuencia Nyquist normalizada, rad/sample.π

Tipos de datos: single | double

Ondulación de banda de paso, especificada como escalar expresada en dB.

Tipos de datos: single | double

Atenuación de banda de parada, especificada como un escalar expresado en dB.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Orden de filtro más bajo, devuelto como un escalar entero.

Frecuencias de corte, devueltas como escalares o vectoriales.

Algoritmos

La fórmula de predicción de óseos funciona en el dominio analógico para casos analógicos y digitales.buttord Para el caso digital, convierte los parámetros de frecuencia al dominio antes de estimar el orden y la frecuencia natural.s A continuación, la función vuelve a convertir se convierte en el dominio - .z

inicialmente desarrolla un prototipo de filtro de paso bajo transformando las frecuencias de banda de paso del filtro deseado en 1 rad/segundo (para filtros lowpass y highpass) y a –1 y 1 rad/segundo (para filtros bandpass y bandstop).buttord A continuación, calcula el orden mínimo necesario para que un filtro de paso bajo cumpla con la especificación de banda de parada.

Referencias

[1] Rabiner, Lawrence R., and Bernard Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975.

Capacidades ampliadas

Consulte también

| | | |

Introducido antes de R2006a