Main Content

buttord

Orden y frecuencia de corte del filtro Butterworth

Descripción

ejemplo

[n,Wn] = buttord(Wp,Ws,Rp,Rs) devuelve el menor orden, n, del filtro digital Butterworth con no más de Rp dB de ondulación de banda de paso y al menos Rs dB de atenuación en la banda de parada. Wp y Ws son, respectivamente, las frecuencias de borde de banda de paso y de banda de parada del filtro, normalizadas desde 0 hasta 1, donde 1 corresponde a π rad/muestra. 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 n y Wn como entradas para butter.

[n,Wn] = buttord(Wp,Ws,Rp,Rs,'s') encuentra el orden mínimo n y las frecuencias de corte Wn para un filtro analógico Butterworth. Especifique las frecuencias Wp y Ws en radianes por segundo. 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 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. Encuentre el orden y la frecuencia de corte del filtro.

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 represente la respuesta en frecuencia.

[z,p,k] = butter(n,Wn);
sos = zp2sos(z,p,k);

freqz(sos,512,1000)
title(sprintf('n = %d Butterworth Lowpass Filter',n))

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 with title n = 5 Butterworth Lowpass Filter contains an object of type line.

Diseñe un filtro paso banda con una banda de paso de 100 a 200 Hz con al menos 3 dB de ondulación de banda de paso y al menos 40 dB de atenuación en las bandas de parada. Especifique una tasa 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 y las frecuencias de corte del filtro.

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 represente la respuesta en frecuencia.

[z,p,k] = butter(n,Wn);
sos = zp2sos(z,p,k);

freqz(sos,128,1000)
title(sprintf('n = %d Butterworth Bandpass Filter',n))

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 with title n = 8 Butterworth Bandpass Filter contains an object of type line.

Argumentos de entrada

contraer todo

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

  • Si Wp y Ws son ambos escalares y Wp < Ws, buttord devuelve el orden y la frecuencia de corte de un filtro paso bajo. La banda de parada del filtro va desde Ws hasta 1 y la banda de paso va desde 0 hasta Wp.

  • Si Wp y Ws son ambos escalares y Wp > Ws, buttord devuelve el orden y la frecuencia de corte de un filtro paso alto. La banda de parada del filtro va desde 0 hasta Ws y la banda de paso va desde Wp hasta 1.

  • Si Wp y Ws son ambos vectores y el intervalo especificado por Ws contiene el especificado por Wp (Ws(1) < Wp(1) < Wp(2) < Ws(2)), buttord devuelve el orden y las frecuencias de corte de un filtro paso banda. La banda de parada del filtro va desde 0 hasta Ws(1) y desde Ws(2) hasta 1. La banda de paso va desde Wp(1) hasta Wp(2).

  • Si Wp y Ws son ambos vectores y el intervalo especificado por Wp contiene el especificado por Ws (Wp(1) < Ws(1) < Ws(2) < Wp(2)), buttord devuelve el orden y las frecuencias de corte de un filtro eliminador de banda. La banda de parada del filtro va desde Ws(1) hasta Ws(2). La banda de paso va desde 0 hasta Wp(1) y desde Wp(2) hasta 1.

Tipos de datos: single | double

Nota

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

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

Tipos de datos: single | double

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

Tipos de datos: single | double

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

Tipos de datos: single | double

Argumentos de salida

contraer todo

Menor orden del filtro, devuelto como un escalar entero.

Frecuencias de corte, devueltas como un escalar o un vector.

Algoritmos

La fórmula de predicción de orden de buttord funciona en el dominio analógico tanto en casos analógicos como digitales. Para el caso digital, convierte los parámetros de frecuencia al dominio s antes de calcular el orden y la frecuencia natural. Después, la función realiza la reconversión al dominio z.

buttord desarrolla inicialmente un prototipo de filtro paso bajo transformando las frecuencias paso banda del filtro deseado a 1 rad/segundo (para filtros paso bajo y paso alto) y a –1 y 1 rad/segundo (para filtros paso banda y eliminador de banda). Luego calcula el orden mínimo requerido para que un filtro paso bajo cumpla 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

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | |