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.

impzlength

Longitud de respuesta del impulso

Descripción

ejemplo

len = impzlength(b,a) devuelve la longitud de respuesta de impulso para el filtro de tiempo discreto causal con la función racional del sistema especificada por el numerador, , y denominador, , polinomios enba z–1. Para filtros IIR estables, es la longitud efectiva de la secuencia de respuesta de impulso.len Los términos en la respuesta de impulso del filtro IIR después del término -th son esencialmente cero.len

ejemplo

len = impzlength(sos) devuelve la longitud de respuesta de impulso efectiva para el filtro IIR especificado por la matriz de secciones de segundo orden, . es una matriz -by-6, donde el número de secciones, , debe ser mayor o igual que 2.sossosKK Si el número de secciones es menor que 2, considera que la entrada es el vector del numerador, .impzlengthb Cada fila de corresponde a los coeficientes de un filtro de segundo orden (biquad).sos La ta fila de la matriz corresponde a .isos[bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)]

ejemplo

len = impzlength(d) devuelve la longitud de respuesta de impulso para el filtro digital, .d Se utiliza para generar en función de las especificaciones de respuesta de frecuencia.designfiltd

len = impzlength(hd) devuelve la longitud de respuesta de impulso para el objeto de filtro, .dfilthd También puede introducir una matriz de objetos de filtro. Si es una matriz de objetos de filtro, cada columna de es la longitud de respuesta de impulso del objeto de filtro correspondiente.hdlen

len = impzlength(___,tol) especifica una tolerancia para estimar la longitud efectiva de la respuesta de impulso de un filtro IIR. De forma predeterminada, es .tol5e-5 Aumentar el valor de las estimaciones de una longitud efectiva más corta para la respuesta de impulso de un filtro IIR.tol La disminución del valor de produce una longitud efectiva más larga para la respuesta de impulso de un filtro IIR.tol

Ejemplos

contraer todo

Cree un filtro IIR allpole de paso bajo con un poste en 0,9. Calcule la longitud de respuesta de impulso efectiva. Obtenga la respuesta de impulso. Trazar el resultado.

b = 1; a = [1 -0.9]; len = impzlength(b,a)
len = 93 
[h,t] = impz(b,a); stem(t,h)

h(len)
ans = 6.1704e-05 

Diseñe un filtro elíptico de paso bajo de 4o orden con una frecuencia de corte de 0,4o rad/muestra. Especifique 1 dB de ondulación de banda de paso y 60 dB de atenuación de la banda de parada. Diseñe el filtro en forma de polo-cero-ganancia y obtenga la matriz de sección de segundo orden utilizando .zp2sos Determine la longitud efectiva de la secuencia de respuesta de impulso a partir de la matriz de sección de segundo orden.

[z,p,k] = ellip(4,1,60,.4); [sos,g] = zp2sos(z,p,k); len = impzlength(sos)
len = 80 

Se utiliza para diseñar un filtro elíptico de paso bajo de 4o orden con frecuencia de banda de paso normalizada de 0,4o rad/muestra.designfilt Especifique 1 dB de ondulación de banda de paso y 60 dB de atenuación de la banda de parada. Determine la longitud efectiva de la secuencia de respuesta de impulso y visualícela.

d = designfilt('lowpassiir','FilterOrder',4,'PassbandFrequency',0.4, ...                'PassbandRipple',1,'StopbandAttenuation',60, ...                'DesignMethod','ellip'); len = impzlength(d)
len = 80 
impz(d)

Argumentos de entrada

contraer todo

Coeficientes de numerador, especificados como un escalar (filtro allpole) o un vector.

Ejemplo: b = fir1(20,0.25)

Tipos de datos: single | double
Soporte de números complejos:

Coeficientes de denominador, especificados como escalares (filtro FIR) o vectores.

Tipos de datos: single | double
Soporte de números complejos:

Matriz de secciones de segundo orden, especificada como una matriz -by-6.K La función del sistema del filtro biquad -th tiene la transformación Z racionalK

Hk(z)=Bk(1)+Bk(2)z1+Bk(3)z2Ak(1)+Ak(2)z1+Ak(3)z2.

Los coeficientes en la siguiente fila de la matriz, , se ordenan de la siguiente manera.Ksos

[Bk(1)Bk(2)Bk(3)Ak(1)Ak(2)Ak(3)]

La respuesta de frecuencia del filtro es la función del sistema evaluada en el círculo de la unidad con

z=ej2πf.

Filtro digital, especificado como un objeto.digitalFilter Se utiliza para generar un filtro digital basado en las especificaciones de respuesta de frecuencia.designfilt

Ejemplo: especifica un filtro Butterworth de tercer orden con una frecuencia normalizada de 3 dB de 0,5o rad/muestra.d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5)

Objeto de filtro, especificado como un objeto.dfilt

Tolerancia para la longitud de respuesta de impulso efectiva del filtro IIR, especificada como un número positivo. La tolerancia determina el término en la secuencia absolutamente sumable después de lo cual los términos posteriores se consideran 0. La tolerancia predeterminada es .5e-5 El aumento de la tolerancia devuelve una longitud de secuencia de respuesta de impulso efectiva más corta. La reducción de la tolerancia devuelve una longitud de secuencia de respuesta de impulso efectiva más larga.

Argumentos de salida

contraer todo

Longitud de la respuesta de impulso, especificada como un entero positivo. Para filtros IIR estables con respuestas de impulso absolutamente sumables, devuelve una longitud efectiva para la respuesta de impulso más allá de la cual los coeficientes son esencialmente cero.impzlength Puede controlar este punto de corte especificando el argumento de entrada opcional.tol

Algoritmos

Para calcular la respuesta de impulso para un filtro FIR, utilice la longitud de .impzlengthb Para los filtros IIR, la función busca primero los polos de la función de transferencia utilizando .roots

Si el filtro es inestable, la longitud se extiende hasta el punto en el que alcanza el término desde el polo más grande 106 por su valor original.

Si el filtro es estable, la longitud se extiende hasta el punto en el que el término del polo de mayor amplitud es multiplicado por su amplitud original.tol

Si el filtro es oscilatoliente, con polos en el círculo de la unidad solamente, entonces calcula cinco períodos de la oscilación más lenta.impzlength

Si el filtro tiene términos oscilatorios y amortiguados, la longitud se extiende al mayor de estos valores:

  • Cinco períodos de la oscilación más lenta.

  • El punto en el que el término debido al polo más grande es multiplicado por su amplitud original.tol

Consulte también

| | |

Introducido en R2013a