Main Content

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.

tf2sos

Convertir datos de función de transferencia de filtro digital en secciones de segundo orden

Sintaxis

[sos,g] = tf2sos(b,a)
[sos,g] = tf2sos(b,a,'order')
[sos,g] = tf2sos(b,a,'order','scale')
sos = tf2sos(...)

Descripción

convierte una representación de función de transferencia de un filtro digital determinado en una representación de sección de segundo orden equivalente.tf2sos

[sos,g] = tf2sos(b,a) encuentra una matriz en forma de sección de segundo orden con ganancia que es equivalente al filtro digital representado por vectores de coeficiente de función de transferencia y .sosgab

H(z)=B(z)A(z)=b1+b2z1++bn+1zna1+a2z1++am+1zm.

es una matriz -by-6sosL

sos=[b01b11b211a11a21b02b12b221a12a22b0Lb1Lb2L1a1La2L]

cuyas filas contienen los coeficientes numerador y denominador Bik Y Unik de las secciones de segundo orden de ( ):Hz

H(z)=gk=1LHk(z)=gk=1Lb0k+b1kz1+b2kz21+a1kz1+a2kz2.

[sos,g] = tf2sos(b,a,'order') especifica el orden de las filas en , dondesos 'order' Es

  • , para ordenar las secciones de modo que la primera fila de contenga los polos más cercanos al círculo de la unidad'down'sos

  • , para ordenar las secciones de modo que la primera fila de contenga los polos más alejados del círculo de la unidad (predeterminado)'up'sos

[sos,g] = tf2sos(b,a,'order','scale') especifica la escala deseada de los coeficientes de ganancia y numerador de todas las secciones de segundo orden, donde 'scale' Es:

  • , para no aplicar ninguna escala (predeterminado)'none'

  • , para aplicar el escalado de normas infinitas'inf'

  • , para aplicar el escalado de 2 normas'two'

El uso del escalado de normas infinitas junto con el orden minimiza la probabilidad de desbordamiento en la realización.up El uso de escalado de 2 normas junto con el pedido minimiza el ruido de redondeo máximo.down

Nota

El escalado de normas infinitas y 2 normas solo es adecuado para implementaciones de forma directa II.

sos = tf2sos(...) incrusta la ganancia general del sistema, , en la primera sección,g H1( ), de modo quez

H(z)=k=1LHk(z).

Nota

No se recomienda incrustar la ganancia en la primera sección al escalar una estructura de forma directa II y puede dar lugar a una escala errática. Para evitar incrustar la ganancia, utilice con dos salidas.ss2sos

Ejemplos

contraer todo

Diseñe un filtro de paso bajo de 4o orden Butterworth utilizando la función .butter Especifique la frecuencia de corte como la mitad de la frecuencia Nyquist. Implemente el filtro como secciones de segundo orden. Compruebe que las dos representaciones son idénticas comparando sus numeradores y denominadores.

[nm,dn] = butter(4,0.5); [ss,gn] = tf2sos(nm,dn); numers = [conv(ss(1,1:3),ss(2,1:3))*gn;nm]
numers = 2×5

    0.0940    0.3759    0.5639    0.3759    0.0940
    0.0940    0.3759    0.5639    0.3759    0.0940

denoms = [conv(ss(1,4:6),ss(2,4:6))   ;dn]
denoms = 2×5

    1.0000    0.0000    0.4860    0.0000    0.0177
    1.0000    0.0000    0.4860    0.0000    0.0177

Algoritmos

utiliza un algoritmo de cuatro pasos para determinar la representación de sección de segundo orden para un sistema de función de transferencia de entrada:tf2sos

  1. Encuentra los polos y ceros del sistema dado por y .ba

  2. Utiliza la función , que primero agrupa los ceros y los polos en pares conjugados complejos utilizando la función. a continuación, forma las secciones de segundo orden haciendo coincidir los pares de polos y cero de acuerdo con las siguientes reglas:zp2soscplxpairzp2sos

    1. Coincide con los polos más cercanos al círculo de la unidad con los ceros más cercanos a esos polos.

    2. Coincide con los polos más cercanos al círculo de la unidad con los ceros más cercanos a esos polos.

    3. Continúe hasta que todos los polos y ceros coincidan.

    agrupa los polos reales en secciones con los polos reales más cercanos a ellos en valor absoluto.tf2sos La misma regla se mantiene para ceros reales.

  3. Ordena las secciones de acuerdo con la proximidad de los pares de polos al círculo de la unidad. normalmente ordena las secciones con polos más cercanos al círculo de la unidad último en la cascada.tf2sos Puede indicar que se ordenen las secciones en el orden inverso especificando la marca.tf2sos'down'

  4. escala las secciones según la norma especificada en eltf2sos 'scale' Argumento. En el caso de los valores arbitrarios (H

    Hp=[12π02π|H(ω)|pdω]1/p

    donde puede ser ya sea o 2.p Consulte las referencias para obtener más información sobre la escala. Esta escala es un intento de minimizar el desbordamiento o el ruido de redondeo máximo en implementaciones de filtro de punto fijo.

Referencias

[1] Jackson, L. B. Digital Filters and Signal Processing. 3rd ed. Boston: Kluwer Academic Publishers, 1996, chap. 11.

[2] Mitra, S. K. Digital Signal Processing: A Computer-Based Approach. New York: McGraw-Hill, 1998, chap. 9.

[3] Vaidyanathan, P. P. “Robust Digital Filter Structures.” Handbook for Digital Signal Processing (S. K. Mitra and J. F. Kaiser, eds.). New York: John Wiley & Sons, 1993, chap. 7.

Consulte también

| | | | | |

Introducido antes de R2006a