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.

phasedelay

El retardo de fase del filtro digital

Sintaxis

[phi,w] = phasedelay(b,a,n)
[phi,w] = phasedelay(sos,n)
[phi,w] = phasedelay(d,n)
[phi,w] = phasedelay(...,n,'whole')
phi = phasedelay(...,w)
[phi,f] = phasedelay(...,n,fs)
[phi,f] = phasedelay(...,n,'whole',fs)
phi = phasedelay(...,f,fs)
[phi,w,s] = phasedelay(...)
[phi,f,s] = phasedelay(...)
phasedelay(...)

Descripción

[phi,w] = phasedelay(b,a,n) Devuelve el vector de respuesta de retardo de fase de punto y el vector de frecuencia de punto en radianes/muestra, del filtro definido por coeficientes de numerador y coeficientes de denominador,.nphinwba La respuesta de retardo de fase se evalúa en puntos igualmente espaciados alrededor de la mitad superior del círculo de la unidad.n Si se omite, el valor predeterminado es 512.n Para obtener los mejores resultados, establezca un valor mayor que el orden de filtro.n

[phi,w] = phasedelay(sos,n) Devuelve la respuesta de retardo de fase de punto para la matriz de secciones de segundo orden,. es una matriz de-por-6, donde el número de secciones,, debe ser mayor o igual que 2.nsossosKK Si el número de secciones es menor que 2, considera que la entrada es un vector de numerador,.phasedelayb Cada fila de corresponde a los coeficientes de un filtro de segundo orden (Biquad).sos La fila TH de la matriz corresponde a.isos[bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)]

[phi,w] = phasedelay(d,n) Devuelve la respuesta de retardo de fase de punto del filtro digital,.nd Se utiliza para generar según las especificaciones de frecuencia-respuesta.designfiltd

[phi,w] = phasedelay(...,n,'whole') utiliza puntos igualmente espaciados alrededor de todo el círculo de la unidad.n

phi = phasedelay(...,w) Devuelve la respuesta de retardo de fase en las frecuencias especificadas, en radianes/muestra, en Vector.w Las frecuencias son normalmente entre 0 y. debe contener al menos dos elementos.πw

[phi,f] = phasedelay(...,n,fs) Y [phi,f] = phasedelay(...,n,'whole',fs) devuelven el vector de retardo de fase (en Hz), utilizando la frecuencia de muestreo (en Hz). debe contener al menos dos elementos.ffsf

phi = phasedelay(...,f,fs) Devuelve la respuesta de retardo de fase en las frecuencias especificadas en Vector (en Hz), utilizando la frecuencia de muestreo (en Hz).ffs

[phi,w,s] = phasedelay(...) Y [phi,f,s] = phasedelay(...) devolver la información de trazado, donde es una estructura con campos que puede cambiar para mostrar diferentes trazados de respuesta de frecuencia.s

phasedelay(...) sin argumentos de salida traza la respuesta de retardo de fase frente a la frecuencia.

Nota

Si la entrada es de precisión única, la respuesta de retardo de fase se calcula mediante la aritmética de precisión simple.phasedelay La salida, es de precisión única.phi

Ejemplos

contraer todo

Utilice los mínimos cuadrados restringidos para diseñar un filtro FIR de paso bajo de la orden 54 y la frecuencia de corte normalizada 0,3. Especifique la ondulación de la banda de paso y la atenuación de la banda de suspensión como 0,02 y 0,08, respectivamente, expresadas en unidades lineales. Calcule y trace la respuesta de retardo de fase del filtro.

Ap = 0.02; As = 0.008;  b = fircls1(54,0.3,Ap,As); phasedelay(b)

Repita el ejemplo usando.designfilt Tenga en cuenta que esta función expresa las ondas en los decibelios.

Apd = 40*log10((1+Ap)/(1-Ap)); Asd = -20*log10(As);  d = designfilt('lowpassfir','FilterOrder',54,'CutoffFrequency',0.3, ...                'PassbandRipple',Apd,'StopbandAttenuation',Asd); phasedelay(d)

Diseñe un filtro elíptico de la orden 10 y la frecuencia de banda de paso normalizada 0,4. Especifique una ondulación de banda de paso de 0,5 dB y una atenuación de banda de parada de 20 dB. Visualice la respuesta de retardo de fase del filtro sobre el círculo unitario completo.

[b,a] = ellip(10,0.5,20,0.4);  phasedelay(b,a,512,'whole')

Repita el ejemplo usando.designfilt

d = designfilt('lowpassiir','DesignMethod','ellip','FilterOrder',10, ...                'PassbandFrequency',0.4, ...                'PassbandRipple',0.5,'StopbandAttenuation',20); phasedelay(d,512,'whole')

Consulte también

| | | | |

Introducido antes de R2006a