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 los 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 creciente.

  • es un vector que describe la amplitud deseada constante a destatal 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 uniforme para configuraciones con una banda de paso en la frecuencia Nyquist (es decir, filtros highpass y bandstop).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 muestren la respuesta de magnitud de banda completa del filtro y una vista ampliada de la respuesta de magnitud en cada subbanda.'plots' Todos los trazados se actualizan en cada paso de iteración. Las O en la gráfica son los extremos estimados de la nueva iteración y las X son los extremos estimados de la iteración anterior, donde los extremos son los picos (máximo y mínimo) de las ondas del filtro. Solo las ondas que tienen una O y X correspondientes se hacen iguales.

  • , tanto para la visualización textual como para las gráficas.'both'

Nota

Normalmente, el valor inferior en la banda de detención se especificará como negativo. Al establecer igual a en las bandas de parada, se puede obtener una amplitud de respuesta de frecuencia no negativa.lo0 Estos filtros se pueden factorizar espectralmente para obtener filtros de fase mínimos.

Ejemplos

contraer todo

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

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>4</mn>
<mi>π</mi>
</mrow>
</math>
rad/muestra. Especifique un error absoluto máximo de 0.02 en la banda de paso y 0.01 en la banda de parada. Mostrar trazados 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 equisiosiosica.fircls El algoritmo es un algoritmo de intercambio múltiple que utiliza multiplicadores 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