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.

impz

Respuesta de impulso del filtro digital

Descripción

ejemplo

[h,t] = impz(b,a) Devuelve la respuesta de impulso del filtro digital con coeficientes de numerador y coeficientes de denominador.ba La función elige el número de muestras y devuelve los coeficientes de respuesta y los tiempos de muestreo.ht

[h,t] = impz(sos) Devuelve la respuesta de impulso del filtro especificado por la matriz de secciones de segundo orden.sos

ejemplo

[h,t] = impz(d) Devuelve la respuesta de impulso del filtro digital.d Se utiliza para generar según las especificaciones de frecuencia-respuesta.designfiltd

ejemplo

[h,t] = impz(___,n) Especifica qué muestras de respuesta de impulsos se calculan. Puede especificar el filtro utilizando cualquiera de las sintaxis anteriores.

ejemplo

[h,t] = impz(___,n,fs) Devuelve un vector con muestras consecutivas espaciadast 1/fs unidades separadas.

ejemplo

impz(___) sin argumentos de salida traza la respuesta de impulso del filtro.

Ejemplos

contraer todo

Diseñe un filtro elíptico de paso bajo de cuarto orden con frecuencia de banda de paso normalizada 0,4 Rad/sample. Especifique una ondulación de banda de paso de 0,5 dB y una atenuación de banda de parada de 20 dB. Trace las primeras 50 muestras de la respuesta al impulso.

[b,a] = ellip(4,0.5,20,0.4); impz(b,a,50)

Diseñe el mismo filtro utilizando.designfilt Trazar las primeras 50 muestras de su respuesta al impulso.

d = designfilt('lowpassiir','DesignMethod','ellip','FilterOrder',4, ...                'PassbandFrequency',0.4, ...                'PassbandRipple',0.5,'StopbandAttenuation',20); impz(d,50)

Diseña un filtro de paso alto FIR de la orden 18 usando una ventana de Kaiser con

<math display="block">
<mrow>
<mi>β</mi>
<mo>=</mo>
<mn>4</mn>
</mrow>
</math>
. Especifique una velocidad de muestreo de 100 Hz y una frecuencia de corte de 30 Hz. Visualice la respuesta de impulso del filtro.

b = fir1(18,30/(100/2),'high',kaiser(19,4)); impz(b,1,[],100)

Diseñe el mismo filtro utilizando y trace su respuesta de impulso.designfilt

d = designfilt('highpassfir','FilterOrder',18,'SampleRate',100, ...                'CutoffFrequency',30,'Window',{'kaiser',4}); impz(d,[],100)

Argumentos de entrada

contraer todo

Coeficientes de función de transferencia, especificados como vectores. Exprese la función de transferencia en términos de y comoba

H(ejω)=B(ejω)A(ejω)=b(1)+b(2)ejω+b(3)ej2ω++b(M)ej(M1)ωa(1)+a(2)ejω+a(3)ej2ω++a(N)ej(N1)ω.

Ejemplo: y especifique un filtro Butterworth de tercer orden con frecuencia normalizada de 3 dB 0,5 π Rad/sample.b = [1 3 3 1]/6a = [3 0 1 0]/3

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

Coeficientes de sección de segundo orden, especificados como una matriz. es una matriz de-por-6, donde el número de secciones,, debe ser mayor o igual que 2.sosKK Si el número de secciones es menor que 2, la función trata la entrada como un vector de numerador. Cada fila de corresponde a los coeficientes de un filtro de segundo orden (Biquad).sos La fila TH corresponde a.isos[bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)]

Ejemplo: especifica un filtro Butterworth de tercer orden con frecuencia normalizada de 3 dB 0,5 π Rad/sample.s = [2 4 2 6 0 2;3 3 0 6 0 0]

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

Filtro digital, especificado como 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 frecuencia normalizada de 3 dB 0,5 π Rad/sample.d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5)

Números de muestra, especificados como un entero positivo, un vector de enteros no negativos o un vector vacío.

  • Si es un entero positivo, calcula las primeras muestras de la respuesta de impulso y devuelve como.nimpznt(0:n-1)'

  • Si es un vector de enteros no negativos, calcula la respuesta de impulso en las ubicaciones especificadas en el vector.nimpz

  • Si es un vector vacío, calcula el número de muestras automáticamente.nimpz Consulte para obtener más información.Algoritmos

Ejemplo: calcula las primeras cinco muestras de la respuesta de impulso de un filtro Butterworth.impz([2 4 2 6 0 2;3 3 0 6 0 0],5)

Ejemplo: calcula las primeras seis muestras de la respuesta de impulso de un filtro Butterworth.impz([2 4 2 6 0 2;3 3 0 6 0 0],[0 3 2 1 4 5])

Ejemplo: calcula la respuesta de impulso de un filtro Butterworth diseñado para filtrar señales muestreadas a 5 kHz.impz([2 4 2 6 0 2;3 3 0 6 0 0],[],5e3)

Frecuencia de muestreo, especificada como un escalar positivo. Cuando la unidad de tiempo es de segundos, se expresa en hercios.fs

Tipos de datos: double

Argumentos de salida

contraer todo

Coeficientes de respuesta de impulsos, devueltos como vector de columna.

Tiempos de muestreo, devueltos como un vector de columna.

Algoritmos

filtra una secuencia de impulsos de longitud medianteimpzn

filter(b,a,[1 zeros(1,n-1)]) 

y traza el resultado utilizando.stem

Nota

Si la entrada es de precisión única, la función calcula la respuesta de impulso utilizando aritmética de precisión simple y devuelve una salida de precisión única.impz

Cuando se calcula automáticamente, el algoritmo depende de las propiedades del filtro:impzn

  • Filtros FIR — es la longitud de.nb

  • Filtros IIR: primero encuentra los polos de la función de transferencia utilizando.impzroots

    • Si el filtro es inestable, se elige para ser el punto en el que el término del polo más grande alcanzan 106 veces su valor original.

    • Si el filtro es estable, se elige como el punto en el que el término del poste de mayor amplitud esn 5 × 10–5 veces su amplitud original.

    • Si el filtro es oscilatorio con polos sólo en el círculo de la unidad, calcula cinco períodos de la oscilación más lenta.impz

    • Si el filtro tiene términos oscilatorios y amortiguados, es el mayor de cinco períodos de la oscilación más lenta, o el punto en el que el término debido al polo más grande esn 5 × 10–5 veces su amplitud original.

también permite retrasos en el polinomio numerador.impz El número de retrasos se incorpora al cómputo del número de muestras.

Introducido antes de R2006a