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

Diseño de filtro analógico Bessel

Descripción

ejemplo

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

ejemplo

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

[z,p,k] = besself(___) diseña un filtro Bessel analógico de paso bajo, paso alto, paso de banda o bandstop 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 Bessel analógico de paso bajo, paso alto, paso de banda o banda stop y devuelve las matrices que especifican su representación de espacio de estado.

Ejemplos

contraer todo

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

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

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

Calcular la respuesta de retardo de grupo del filtro como la derivada de la respuesta de fase desencapsulada. Trazar 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 Bessel de paso de banda de 12o orden con la banda de paso que va desde 300 rad/s a 500 rad/s. Calcular la respuesta de frecuencia del filtro.

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

Trazar 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 es cercana a 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 frecuencia en el que el retardo de grupo del filtro es aproximadamente constante. Las frecuencias de corte deben expresarse en radianes por segundo y pueden asumir cualquier valor positivo.

  • Si es escalar, 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 filtro de paso de banda o bandstop con menor frecuencia de corte y mayor frecuencia de corte.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 banda 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 filtros de paso bajo y paso alto y 2 + 1 para filtros de paso de banda y paso de banda.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 diseños de paso de banda y bandstop) 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 sin paso y paso alto y 2 para los filtros de paso de banda y de paso de banda, entonces es , 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és dexuy

x˙=Ax+Buy=Cx+Du.

Tipos de datos: double

Algoritmos

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

Los filtros Bessel lowpass tienen una respuesta de magnitud decreciente monotoníamente, al igual que los filtros Butterworth de paso bajo. En comparación con los filtros Butterworth, Chebyshev y elípticos, el filtro Bessel tiene el rolloff más lento y requiere el orden más alto para cumplir con una especificación de atenuación.

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

utiliza un algoritmo de cuatro pasos:besself

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

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

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

  4. Convierta el filtro de espacio de estado de nuevo en función de transferencia o forma 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