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.

phasez

Respuesta de fase del filtro digital

Sintaxis

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

Descripción

[phi,w] = phasez(b,a,n) devuelve el vector de respuesta de fase desencapsulado -point, , en radianes y el vector de frecuencia, , en radianes/muestra para los coeficientes de filtro especificados en y .nphiwba Los valores del vector de frecuencia, , oscilan entre 0 y .wπ Si se omite, la longitud del vector de respuesta de fase es 512.n Para obtener mejores resultados, establezca un valor mayor que el orden del filtro.n

[phi,w] = phasez(sos,n) devuelve la respuesta de fase desencapsulada para 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, .phasezb 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)]

[phi,w] = phasez(d,n) devuelve la respuesta de fase sin envolver para el filtro digital, .d Se utiliza para generar en función de las especificaciones de respuesta de frecuencia.designfiltd

[phi,w] = phasez(...,n,'whole') devuelve la frecuencia y los vectores de respuesta de fase sin envolver evaluados en puntos igualmente espaciados alrededor del círculo de la unidad de 0 a 2 radianes/muestra.nπ

phi = phasez(...,w) devuelve la respuesta de fase sin envolver en radianes a las frecuencias especificadas en (radianes/muestra).w Las frecuencias están normalmente entre 0 y .π El vector debe tener al menos dos elementos.w

[phi,f] = phasez(...,n,fs) devolver el vector de fase sin envolver en radianes y el vector de frecuencia en hercios.phi El vector de frecuencia oscila entre 0 y la frecuencia Nyquist, .fs/2 Si se utiliza la opción, el vector de frecuencia oscila entre 0 y la frecuencia de muestreo.'whole'

phi = phasez(...f,fs) devolver la respuesta de fase en radianes a las frecuencias especificadas en el vector (en hercios) utilizando la frecuencia de muestreo (en hercios).ffs El vector debe tener al menos dos elementos.f

[phi,w,s] = phasez(...) devolver información de trazado, donde hay una matriz de estructura con campos que puede cambiar para mostrar diferentes gráficas de respuesta de frecuencia.s

phasez(...) sin argumentos de salida traza la respuesta de fase del filtro. Si introduce los coeficientes de filtro o la matriz de secciones de segundo orden, se utiliza la ventana de figura actual. Si introduce un , la respuesta de paso se muestra en .digitalFilterFVTool

Nota

Si la entrada es de precisión única, la respuesta de fase se calcula utilizando aritmética de precisión única.phasez La salida, , es de precisión única.phi

Ejemplos

contraer todo

Se utiliza para diseñar un filtro FIR de orden 54, frecuencia de corte normalizadadesignfilt

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>3</mn>
<mi>π</mi>
</mrow>
</math>
rad/s, onda de banda de paso 0,7 dB y atenuación de banda de parada 42 dB. Utilice el método de mínimos cuadrados restringidos. Mostrar la respuesta de fase del filtro.

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

Diseñe el mismo filtro con .fircls1 Tenga en cuenta que utiliza unidades lineales para medir la ondulación y la atenuación.fircls1

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

Diseñe un filtro equiripple de paso bajo con frecuencia de banda de paso normalizada

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>4</mn>
<mn>5</mn>
<mi>π</mi>
</mrow>
</math>
rad/s, frecuencia de banda de parada normalizada
<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>5</mn>
<mn>5</mn>
<mi>π</mi>
</mrow>
</math>
rad/s, onda de banda de paso 1 dB, y atenuación de banda de parada 60 dB. Mostrar la respuesta de fase del filtro.

d = designfilt('lowpassfir', ...                'PassbandFrequency',0.45,'StopbandFrequency',0.55, ...                'PassbandRipple',1,'StopbandAttenuation',60, ...                'DesignMethod','equiripple'); phasez(d)

Diseñe un filtro IIR elíptico de paso bajo con frecuencia de banda de paso normalizada

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>4</mn>
<mi>π</mi>
</mrow>
</math>
rad/s, frecuencia de banda de parada normalizada
<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>5</mn>
<mi>π</mi>
</mrow>
</math>
rad/s, onda de banda de paso 1 dB, y atenuación de banda de parada 60 dB. Mostrar la respuesta de fase del filtro.

d = designfilt('lowpassiir', ...                'PassbandFrequency',0.4,'StopbandFrequency',0.5, ...                'PassbandRipple',1,'StopbandAttenuation',60, ...                'DesignMethod','ellip'); phasez(d)

Introducido antes de R2006a