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.

besself

El diseño de filtro analógico de Bessel

Descripción

ejemplo

[b,a] = besself(n,Wo) Devuelve los coeficientes de la función de transferencia de un filtro de Bessel analógico de paso bajo de orden bajo, donde es la frecuencia angular hasta la cual el retardo de grupo del filtro es aproximadamente constante.nWo Los valores más grandes de producir un retardo de grupo que mejor se aproxima a una constante hasta.nWo La función no admite el diseño de filtros digitales de Bessel.besself

ejemplo

[b,a] = besself(n,Wo,ftype) diseña un filtro de Bessel analógico de paso bajo, paso alto, paso de banda o supresión, dependiendo del valor y el número de elementos de.ftypeWo El paso de banda y los diseños de supresión resultantes son de orden 2.n

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

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

Ejemplos

contraer todo

Diseñe un filtro de Bessel de paso bajo analógico de 5 órdenes con un retardo de grupo aproximadamente constante de hasta

<math display="block">
<mrow>
<mn>1</mn>
<msup>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mn>4</mn>
</mrow>
</msup>
</mrow>
</math>
rad/s. Graficar las respuestas de magnitud y fase del filtro usando.freqs

[b,a] = besself(5,10000); freqs(b,a)

Calcule la respuesta de retardo de grupo del filtro como la derivada de la respuesta de fase sin envolver. Trace el retardo de grupo para verificar que es aproximadamente constante hasta la frecuencia de corte.

[h,w] = freqs(b,a,1000); grpdel = diff(unwrap(angle(h)))./diff(w);  clf semilogx(w(2:end),grpdel) xlabel('Frequency (rad/s)') ylabel('Group delay (s)')

Diseñe un filtro de paso de banda de Bessel de 12 órdenes con la banda de paso que oscila entre 300 Rad/s y 500 Rad/s. Calcule la respuesta de frecuencia del filtro.

[b,a] = besself(6,[300 500],'bandpass');  [h,w] = freqs(b,a);

Graficar las respuestas de magnitud y fase del filtro. Desenvuelva la respuesta de fase para evitar

<math display="inline">
<mrow>
<msup>
<mrow>
<mn>180</mn>
</mrow>
<mrow>
<mo></mo>
</mrow>
</msup>
</mrow>
</math>
Y
<math display="inline">
<mrow>
<msup>
<mrow>
<mn>360</mn>
</mrow>
<mrow>
<mo></mo>
</mrow>
</msup>
</mrow>
</math>
Salta y convertirlo de radianes a grados. Como era de esperar, la respuesta de fase está cerca de lineal sobre la banda de paso.

subplot(2,1,1) plot(w,20*log10(abs(h))) ylabel('Magnitude') subplot(2,1,2) plot(w,180*unwrap(angle(h))/pi) ylabel('Phase (degrees)') xlabel('Frequency (rad/s)')

Argumentos de entrada

contraer todo

Orden de filtro, especificado como un escalar entero.

Tipos de datos: double

Frecuencia de corte, especificada como un vector escalar o de dos elementos. Una frecuencia de corte es un límite superior o inferior del rango de frecuencias en el que el retardo de grupo del filtro es aproximadamente constante. Las frecuencias de corte deben expresarse en radianes por segundo y pueden tomar cualquier valor positivo.

  • Si es escalar, a continuación, diseña un filtro de paso bajo o paso alto con frecuencia de corte.WobesselfWo

  • Si es un vector de dos elementos, donde <, entonces diseña un paso de banda o un filtro de banda con una frecuencia de corte más baja y una frecuencia de corte más alta.Wo[w1 w2]w1w2besselfw1w2

Tipos de datos: double

Tipo de filtro, especificado como:

  • — un filtro de paso bajo con frecuencia de corte. es el valor predeterminado para escalar.'low'Wo'low'Wo

  • — un filtro de paso alto con frecuencia de corte.'high'Wo

  • — un filtro de paso de banda de la orden 2 si es un vector de dos elementos. es el valor predeterminado cuando tiene dos elementos.'bandpass'nWo'bandpass'Wo

  • — un filtro de supresión de la orden 2 si es un vector de dos elementos.'stop'nWo

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 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 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

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

Algoritmos

diseña filtros analógicos de Bessel, que se caracterizan por un retardo de grupo casi constante a través de toda la banda de paso, preservando así la forma de onda de las señales filtradas en la banda de paso.besself

Los filtros de Bessel paso bajo tienen una respuesta de magnitud monótona y decreciente, al igual que los filtros Butterworth de paso bajo. Comparado con los filtros Butterworth, Chebyshev y elíptico, el filtro de Bessel tiene la rotación más lenta y requiere el orden más alto para cumplir con una especificación de atenuación.

Para los filtros de orden alto, la forma de espacio de estado es la más precisa numéricamente, seguida del formulario de ganancia de polo cero. La forma del coeficiente de función de transferencia es la menos precisa; pueden surgir problemas numéricos para las órdenes de filtro tan bajas como 15.

utiliza un algoritmo de cuatro pasos:besself

  1. Encuentre postes de prototipo analógico paso bajo, ceros y ganancia usando la función.besselap

  2. Convierta los polos, ceros y gane en forma de espacio de estado.

  3. Si es necesario, utilice 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. Convierta el filtro del espacio de estado de nuevo a la función de transferencia o al formulario de ganancia de polo cero, según sea necesario.

Referencias

[1] Parks, Thomas W., and C. Sidney Burrus. Digital Filter Design. New York: John Wiley & Sons, 1987.

Consulte también

| | | |

Introducido antes de R2006a