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 numeradores y coeficientes denominadores.ba La función elige el número de muestras y devuelve los coeficientes de respuesta y los tiempos de muestra en .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 en función de las especificaciones de respuesta de frecuencia.designfiltd

ejemplo

[h,t] = impz(___,n) especifica qué muestras de impulso-respuesta calcular. Puede especificar el filtro mediante cualquiera de las sintaxis anteriores.

ejemplo

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

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. Trazar las primeras 50 muestras de la respuesta de impulso.

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

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

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

Diseñe un filtro FIR highpass del pedido 18 utilizando una ventana Kaiser con

<math display="block">
<mrow>
<mi>β</mi>
<mo>=</mo>
<mn>4</mn>
</mrow>
</math>
. Especifique una frecuencia 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. Expresar la función de transferencia en términos 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 una frecuencia normalizada de 3 dB de 0,5o rad/muestra.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 -by-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 ta fila de corresponde a .isos[bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)]

Ejemplo: especifica un filtro Butterworth de tercer orden con una frecuencia normalizada de 3 dB de 0,5o rad/muestra.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 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)

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 las 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 escalar positiva. Cuando la unidad de tiempo es segundos, se expresa en hercios.fs

Tipos de datos: double

Argumentos de salida

contraer todo

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

Tiempos de muestreo, devueltos como vector de columna.

Algoritmos

filtra una secuencia de impulsos de longitud utilizandoimpzn

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

y traza el resultado usando .stem

Nota

Si la entrada es de precisión única, la función calcula la respuesta de impulso mediante aritmética de precisión única 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 llega el término del polo más granden 106 por su valor original.

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

    • Si el filtro es oscilatoliente con polos en el círculo de la unidad solamente, 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 en el cálculo del número de muestras.

Introducido antes de R2006a