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.

zerophase

Respuesta de fase cero del filtro digital

Sintaxis

[Hr,w] = zerophase(b,a)
[Hr,w] = zerophase(sos)
[Hr,w] = zerophase(d)
[Hr,w] = zerophase(...,nfft)
[Hr,w] = zerophase(...,nfft,'whole')
[Hr,w] = zerophase(...,w)
[Hr,f] = zerophase(...,f,fs)
[Hr,w,phi] = zerophase(...)
zerophase(...)

Descripción

[Hr,w] = zerophase(b,a) Devuelve la respuesta de fase cero y el vector de frecuencia (en radianes/muestra) en el que se calcula, dado un filtro definido por el numerador y el denominador.HrwHrba Para los filtros FIR donde, puede omitir el valor del comando.a=1a La respuesta de fase cero se evalúa en puntos igualmente espaciados en la mitad superior del círculo de la unidad.512

La respuesta de fase cero, Hr(ω), se relaciona con la respuesta de frecuencia, H(e)Por

H(ejω)=Hr(ω)ejφ(ω),

Dónde φ(ω) es la fase continua.

Nota

La respuesta de fase cero siempre es real, pero no es el equivalente de la respuesta de magnitud. El primero puede ser negativo, mientras que el segundo no puede ser negativo.

[Hr,w] = zerophase(sos) Devuelve la respuesta de fase cero para la matriz de secciones de segundo orden,. es unasossos K-por-6 matriz, donde el número de secciones, K, debe ser mayor o igual que 2. Si el número de secciones es menor que 2, considera que la entrada es el vector de numerador,.zerophaseb Cada fila de corresponde a los coeficientes de un filtro de segundo orden (Biquad).sos el iésima fila de la matriz corresponde a.sos[bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)]

[Hr,w] = zerophase(d) Devuelve la respuesta de fase cero para el filtro digital,.d Se utiliza para generar según las especificaciones de frecuencia-respuesta.designfiltd

[Hr,w] = zerophase(...,nfft) Devuelve la respuesta de fase cero y el vector de frecuencia (radianes/muestra), utilizando puntos de frecuencia en la mitad superior del círculo de la unidad.Hrwnfft Para obtener los mejores resultados, establezca un valor mayor que el orden de filtro.nfft

[Hr,w] = zerophase(...,nfft,'whole') Devuelve la respuesta de fase cero y el vector de frecuencia (radianes/muestra), utilizando puntos de frecuencia alrededor de todo el círculo de la unidad.Hrwnfft

[Hr,w] = zerophase(...,w) Devuelve la respuesta de fase cero y el vector de frecuencia (radianes/muestra) a frecuencias en Vector.Hrww El vector debe tener al menos dos elementos.w

[Hr,f] = zerophase(...,f,fs) Devuelve la respuesta de fase cero y el vector de frecuencia (Hz), utilizando la frecuencia de muestreo (en Hz), para determinar el vector de frecuencia (en Hz) en el que se calcula.HrffsfHr El vector debe tener al menos dos elementos.f

[Hr,w,phi] = zerophase(...) Devuelve la respuesta de fase cero, el vector de frecuencia (RAD/Sample) y el componente de fase continua,.Hrwphi (Tenga en cuenta que esta cantidad no equivale a la respuesta de fase del filtro cuando la respuesta de fase cero es negativa.)

zerophase(...) traza la respuesta de fase cero versus la frecuencia. Si introduce los coeficientes de filtro o la matriz de secciones de segundo orden, se utiliza la ventana de la figura actual. Si introduce a, la respuesta del paso se muestra en.digitalFilterfvtool

Nota

Si la entrada es de precisión única, la respuesta de fase cero se calcula mediante la aritmética de precisión simple.zerophase La salida, es de precisión única.Hr

Ejemplos

contraer todo

Se utiliza para diseñar un filtro FIR de 54th orden con una frecuencia de corte normalizada de 0,3 π Rad/Sample, una ondulación de banda de paso de 0,7 dB, y una atenuación de banda de parada de 42 dB.designfilt Utilice el método de los mínimos cuadrados restringidos. Visualice la respuesta de fase cero.

Nf = 54; Fc = 0.3; Ap = 0.7; As = 42;  d = designfilt('lowpassfir','FilterOrder',Nf,'CutoffFrequency',Fc, ...     'PassbandRipple',Ap,'StopbandAttenuation',As,'DesignMethod','cls'); zerophase(d)

Diseñe el mismo filtro utilizando, que utiliza unidades lineales para medir la ondulación y atenuación.fircls1 Visualice la respuesta de fase cero.

pAp = 10^(Ap/40);  Apl = (pAp-1)/(pAp+1); pAs = 10^(As/20); Asl = 1/pAs;  b = fircls1(Nf,Fc,Apl,Asl); zerophase(b)

Diseñe un filtro IIR de paso bajo elíptico de orden 10º con una frecuencia de banda de paso normalizada de 0,4 π Rad/Sample, 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 fase cero del filtro en 512 puntos de frecuencia alrededor de todo el círculo de la unidad.

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

Cree el mismo filtro usando.ellip Trace su respuesta de fase cero.

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

Introducido antes de R2006a