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.

fircls

Diseño de filtro multibanda FIR de mínimos cuadrados restringidos

Sintaxis

b = fircls(n,f,amp,up,lo)
fircls(n,f,amp,up,lo,'design_flag')

Descripción

b = fircls(n,f,amp,up,lo) genera un filtro FIR de fase lineal de longitud.n+1b Las características de magnitud de frecuencia de este filtro coinciden con las dadas por vectores y:famp

  • es un vector de frecuencias de transición en el rango de 0 a 1, donde 1 corresponde a la frecuencia Nyquist.f El primer punto de debe ser y el último punto.f01 Los puntos de frecuencia deben estar en orden ascendente.

  • es un vector que describe la amplitud deseada por tramos-constante de la respuesta de frecuencia.amp La longitud de es igual al número de bandas en la respuesta y debe ser igual a.amp length(f)-1

  • y son vectores con la misma longitud que.uploamp Definen los límites superior e inferior para la respuesta de frecuencia en cada banda.

siempre utiliza un orden de filtro incluso para configuraciones con una banda de paso en la frecuencia Nyquist (es decir, filtros de paso alto y supresión).fircls Esto se debe a que para las órdenes impares, la respuesta de frecuencia en la frecuencia Nyquist es necesariamente 0. Si especifica un valor impar, lo incrementa en 1.nfircls

fircls(n,f,amp,up,lo,'design_flag') le permite monitorear el diseño del filtro, donde'design_flagpuede ser'

  • , para una visualización textual del error de diseño en cada paso de iteración.'trace'

  • , para una colección de trazados que muestran la respuesta de magnitud de banda completa del filtro y una vista ampliada de la respuesta de magnitud en cada sub-banda.'plots' Todos los trazados se actualizan en cada paso de iteración. Los O en la trama son los extremales estimados de la nueva iteración y los X son los extremales estimados de la iteración anterior, donde los extreals son los picos (máximo y mínimo) de las ondulaciones del filtro. Sólo las ondas que tienen una O y X correspondiente se hacen iguales.

  • , tanto para la visualización textual como para las parcelas.'both'

Nota

Normalmente, el valor inferior en la banda de suspensión se especificará como negativo. Si se establece igual en las bandas de detención, se puede obtener una amplitud de respuesta de frecuencia no negativa.lo0 Estos filtros se pueden Factoriza para obtener filtros de fase mínimos.

Ejemplos

contraer todo

Diseñe un filtro de paso bajo de orden 150th con una frecuencia de corte normalizada de

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>4</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample. Especifique un error absoluto máximo de 0,02 en la banda de paso y 0,01 en la banda de detención. Mostrar parcelas de las bandas.

n = 150; f = [0 0.4 1]; a = [1 0]; up = [1.02 0.01]; lo = [0.98 -0.01]; b = fircls(n,f,a,up,lo,'both');
  Bound Violation = 0.0788344298966   
  Bound Violation = 0.0096137744998   
  Bound Violation = 0.0005681345753   
  Bound Violation = 0.0000051519942   
  Bound Violation = 0.0000000348656   

  Bound Violation = 0.0000000006231   

Las infracciones enlazadas denotan las iteraciones del procedimiento a medida que converge el diseño. Muestra la respuesta de magnitud del filtro.

fvtool(b)

Algoritmos

utiliza un algoritmo iterativo de mínimos cuadrados para obtener una respuesta de equiripple.fircls El algoritmo es un algoritmo de intercambio múltiple que utiliza multiplicadores de Lagrange y condiciones Kuhn-Tucker en cada iteración.

Referencias

[1] Selesnick, I. W., M. Lang, and C. S. Burrus. “Constrained Least Square Design of FIR Filters without Specified Transition Bands.” Proceedings of the 1995 International Conference on Acoustics, Speech, and Signal Processing. Vol. 2, 1995, pp. 1260–1263.

[2] Selesnick, I. W., M. Lang, and C. S. Burrus. “Constrained Least Square Design of FIR Filters without Specified Transition Bands.” IEEE® Transactions on Signal Processing. Vol. 44, Number 8, 1996, pp. 1879–1892.

Capacidades ampliadas

Consulte también

| |

Introducido antes de R2006a