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.

isminphase

Determine si el filtro es la fase mínima

Sintaxis

flag = isminphase(b,a)
flag = isminphase(sos)
flag = isminphase(d)
flag = isminphase(...,tol)
flag = isminphase(h)

Descripción

Un filtro es cuando todos los ceros de su función de transferencia están en o dentro del círculo de la unidad, o el numerador es un escalar.minimum phase Una definición equivalente para un filtro de fase mínima es un sistema causal y estable con una inversa causal y estable.

flag = isminphase(b,a) Devuelve una salida lógica, igual que si el filtro especificado por los coeficientes del numerador y los coeficientes del denominador, es un filtro de fase mínimo.flagtrueba

flag = isminphase(sos) Devuelve si el filtro especificado por la matriz de secciones de segundo orden, es la fase mínima. es una matriz de-por-6, donde el número de secciones,, debe ser mayor o igual que 2.truesossosKK 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)]

flag = isminphase(d) Devuelve si el filtro digital,, tiene una fase mínima.trued Se utiliza para generar según las especificaciones de frecuencia-respuesta.designfiltd

flag = isminphase(...,tol) utiliza la tolerancia, para determinar cuándo dos números están lo suficientemente cerca para ser considerados iguales.tol Si no se especifica, el valor predeterminado es.toleps^(2/3)

 Detalles de aritmética de punto fijo

flag = isminphase(h) determina si el objeto de filtro es la fase mínima.dfilth

Ejemplos

contraer todo

Diseñe un filtro IIR de paso bajo de sexto orden con secciones de segundo orden. Especifique una frecuencia normalizada de 3 dB de 0,15. Compruebe si el filtro tiene una fase mínima.

[z,p,k] = butter(6,0.15); SOS = zp2sos(z,p,k);             min_flag = isminphase(SOS)
min_flag = logical
   1

Rediseño del filtro usando.designfilt Compruebe que los ceros y los polos de la función de transferencia estén en el círculo de la unidad o dentro del mismo.

d = designfilt('lowpassiir','DesignMethod','butter','FilterOrder',6, ...                'HalfPowerFrequency',0.25); d_flag = isminphase(d)
d_flag = logical
   1

zplane(d)

Dado un filtro definido con un conjunto de coeficientes de numerador y denominador de precisión simple, compruebe si tiene una fase mínima para diferentes valores de tolerancia.

b = single([1 1.00001]);   a = single([1 0.45]);                min_flag1 = isminphase(b,a)        
min_flag1 = logical
   0

min_flag2 = isminphase(b,a,1e-3)
min_flag2 = logical
   1

Introducido en R2013a