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.

fircls1

Diseño de filtro de paso bajo y paso alto de FIR de fase lineal de mínimos cuadrados restringidos

Sintaxis

b = fircls1(n,wo,dp,ds)
b = fircls1(n,wo,dp,ds,'high')
b = fircls1(n,wo,dp,ds,wt)
b = fircls1(n,wo,dp,ds,wt,'high')
b = fircls1(n,wo,dp,ds,wp,ws,k)
b = fircls1(n,wo,dp,ds,wp,ws,k,'high')
b = fircls1(n,wo,dp,ds,...,'design_flag')

Descripción

b = fircls1(n,wo,dp,ds) genera un filtro FIR de paso bajo, donde es la longitud del filtro, es la frecuencia de corte normalizada en el rango entre 0 y 1 (donde 1 corresponde a la frecuencia Nyquist), es la desviación máxima de la banda de paso de 1 (ondulación de banda de paso), y es el Devia de banda de parada máxima ción de 0 (ondulación de banda de stopband).bn+1wodpds

b = fircls1(n,wo,dp,ds,'high') genera un filtro FIR de paso alto. siempre utiliza un orden de filtro incluso para la configuración de paso alto.bfircls1 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.nfircls1

b = fircls1(n,wo,dp,ds,wt) Y

b = fircls1(n,wo,dp,ds,wt,'high') especifica una frecuencia por encima de la cual (para >) o por debajo de la cual (para <) el filtro está garantizado para cumplir con el criterio de banda dado.wtwtwowtwo Esto le ayudará a diseñar un filtro que cumpla con un requisito de borde de banda de paso o de banda de stopband. Hay cuatro casos:

  • Pasabajos:

    • < < <: la amplitud del filtro está dentro de 1 sobre el rango de frecuencias < ω <.0wtwo1dp0wt

    • < < <: la amplitud del filtro está dentro de 0 sobre el rango de frecuencias < ω <.0wowt1dswt1

  • Pasa-altos:

    • < < <: la amplitud del filtro está dentro de 0 sobre el rango de frecuencias < ω <.0wtwo1ds0wt

    • < < <: la amplitud del filtro está dentro de 1 sobre el rango de frecuencias < ω <.0wowt1dpwt1

b = fircls1(n,wo,dp,ds,wp,ws,k) genera un filtro FIR de paso bajo con una función ponderada, donde es la longitud del filtro, es la frecuencia de corte normalizada, es la desviación máxima de la banda de paso de 1 (ondulación de banda de paso), y es la desviación máxima de la banda de parada de 0 (ondulación de banda). es el borde de la banda de paso de la función de peso L2 y es el borde de la banda de parada de la función de peso L2, donde < <. es la relación (error L2 de la banda de paso)/(error de banda de stopband L2)bn+1wodpdswpwswpwowsk

k=0wp|A(ω)D(ω)|2dωwzπ|A(ω)D(ω)|2dω

b = fircls1(n,wo,dp,ds,wp,ws,k,'high') genera un filtro FIR de paso alto con una función ponderada, donde < <.bwswowp

b = fircls1(n,wo,dp,ds,...,'design_flag') le permite monitorear el diseño del filtro, donde'design_flagpuede ser'

  • , para una visualización textual de la tabla de diseño utilizada en el diseño'trace'

  • , para los trazados de la magnitud del filtro, el retardo de grupo y los ceros y polos.'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

En el diseño de filtros de banda muy estrecha con pequeños y, puede que no exista un filtro de la longitud dada que cumple con las especificaciones.dpds

Ejemplos

contraer todo

Diseñe un filtro de paso bajo de orden 55 con frecuencia de corte normalizada 0,3. Especifique una ondulación de banda de paso de 0,02 y una ondulación de banda de parada de 0,008. Mostrar parcelas de las bandas.

n = 55; wo = 0.3; dp = 0.02; ds = 0.008; b = fircls1(n,wo,dp,ds,'both');
    Bound Violation = 0.0870385343920   
    Bound Violation = 0.0149343456540   
    Bound Violation = 0.0056513587932   
    Bound Violation = 0.0001056264205   
    Bound Violation = 0.0000967624352   
    Bound Violation = 0.0000000226538   

    Bound Violation = 0.0000000000038   

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