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

Determinar si el filtro es una 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.fase mínima Una definición equivalente para un filtro de fase mínimo es un sistema causal y estable con una inversa causal y estable.

flag = isminphase(b,a) devuelve una salida lógica, , igual a si el filtro especificado por los coeficientes del numerador, , y los coeficientes 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 -by-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 ta fila 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 fase mínima.trued Se utiliza para generar en función de las especificaciones de respuesta de frecuencia.designfiltd

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

 Detalles de la 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 Butterworth IIR de paso bajo de sexto orden utilizando 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ñar el filtro con .designfilt Compruebe que los ceros y los polos de la función de transferencia estén activados o dentro del círculo de la unidad.

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 única, 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