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.

tf2ss

Convertir parámetros de filtro de función de transferencia en forma de espacio de estado

Descripción

ejemplo

[A,B,C,D] = tf2ss(b,a) convierte una función de transferencia de entrada única de tiempo continuo o de tiempo discreto en una representación de espacio de estado equivalente.

Ejemplos

contraer todo

Considere el sistema descrito por la función de transferencia

<math display="block">
<mrow>
<mi>H</mi>
<mo stretchy="false">(</mo>
<mi>s</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mfrac>
<mrow>
<mrow>
<mo>[</mo>
<mtable columnalign="center">
<mtr>
<mtd>
<mrow>
<mn>2</mn>
<mi>s</mi>
<mo>+</mo>
<mn>3</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<mrow>
<mi>s</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>2</mn>
<mi>s</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mrow>
<msup>
<mrow>
<mi>s</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>0</mn>
<mo>.</mo>
<mn>4</mn>
<mi>s</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</mfrac>
<mo>.</mo>
</mrow>
</math>

Conviértalo en forma de espacio de estado mediante .tf2ss

b = [0 2 3; 1 2 1]; a = [1 0.4 1]; [A,B,C,D] = tf2ss(b,a)
A = 2×2

   -0.4000   -1.0000
    1.0000         0

B = 2×1

     1
     0

C = 2×2

    2.0000    3.0000
    1.6000         0

D = 2×1

     0
     1

Un sistema oscilante unidimensional de tiempo discreto consiste en una masa unitaria,

<math display="inline">
<mrow>
<mi mathvariant="italic">m</mi>
</mrow>
</math>
, unido a una pared mediante un muelle de constante elástica de unidad. Un sensor toma muestras de la aceleración,
<math display="inline">
<mrow>
<mi mathvariant="italic">a</mi>
</mrow>
</math>
, de la masa en
<math display="inline">
<mrow>
<msub>
<mrow>
<mi mathvariant="italic">F</mi>
</mrow>
<mrow>
<mi mathvariant="normal">s</mi>
</mrow>
</msub>
<mo>=</mo>
<mn>5</mn>
</mrow>
</math>
Hz.

Generar 50 muestras de tiempo. Definir el intervalo de muestreo

<math display="inline">
<mrow>
<mi>Δ</mi>
<mi mathvariant="italic">t</mi>
<mo>=</mo>
<mrow>
<mrow>
<mn>1</mn>
</mrow>
<mo>/</mo>
<mrow>
<msub>
<mrow>
<mi mathvariant="italic">F</mi>
</mrow>
<mrow>
<mi mathvariant="normal">s</mi>
</mrow>
</msub>
</mrow>
</mrow>
</mrow>
</math>
.

Fs = 5; dt = 1/Fs; N = 50; t = dt*(0:N-1); u = [1 zeros(1,N-1)];

La función de transferencia del sistema tiene una expresión analítica:

<math display="inline">
<mrow>
<mi mathvariant="italic">H</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi mathvariant="italic">z</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>-</mo>
<msup>
<mrow>
<mi mathvariant="italic">z</mi>
</mrow>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mi mathvariant="normal">cos</mi>
<mi>Δ</mi>
<mi mathvariant="italic">t</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msup>
<mrow>
<mi mathvariant="italic">z</mi>
</mrow>
<mrow>
<mo>-</mo>
<mn>2</mn>
</mrow>
</msup>
<mi mathvariant="normal">cos</mi>
<mi>Δ</mi>
<mi mathvariant="italic">t</mi>
</mrow>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mn>2</mn>
<msup>
<mrow>
<mi mathvariant="italic">z</mi>
</mrow>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
<mi mathvariant="normal">cos</mi>
<mi>Δ</mi>
<mi mathvariant="italic">t</mi>
<mo>+</mo>
<msup>
<mrow>
<mi mathvariant="italic">z</mi>
</mrow>
<mrow>
<mo>-</mo>
<mn>2</mn>
</mrow>
</msup>
</mrow>
</mfrac>
</mrow>
</math>
.

El sistema se excita con un impulso unitario en la dirección positiva. Calcular la evolución temporal del sistema utilizando la función de transferencia. Trazar la respuesta.

bf = [1 -(1+cos(dt)) cos(dt)]; af = [1 -2*cos(dt) 1]; yf = filter(bf,af,u);  stem(t,yf,'o') xlabel('t')

Busque la representación de espacio de estado del sistema. Calcular la evolución del tiempo a partir de un estado inicial de cero. Compárelo con la predicción de la función de transferencia.

[A,B,C,D] = tf2ss(bf,af);  x = [0;0]; for k = 1:N     y(k) = C*x + D*u(k);     x = A*x + B*u(k); end  hold on stem(t,y,'*') hold off legend('tf','ss')

Argumentos de entrada

contraer todo

Coeficientes del numerador de la función de transferencia, especificados como vector o matriz. Si es una matriz, cada fila de corresponde a una salida del sistema.bb

  • Para sistemas de tiempo discreto, contiene los coeficientes en potencias descendentes de .bz

  • Para sistemas de tiempo continuo, contiene los coeficientes en potencias descendentes de .bs

Para sistemas de tiempo discreto, debe tener un número de columnas igual a la longitud de .ba Si los números difieren, haz que sean iguales por ceros de relleno. Puede utilizar la función para lograr esto.eqtflength

Coeficientes de denominador de función de transferencia, especificados como vector.

  • Para sistemas de tiempo discreto, contiene los coeficientes en potencias descendentes de .az

  • Para sistemas de tiempo continuo, contiene los coeficientes en potencias descendentes de .as

Argumentos de salida

contraer todo

Matriz de estado, devuelta como matriz. Si el sistema se describe mediante variables de estado, entonces es -by- .nAnn

Tipos de datos: single | double

Matriz de entrada a estado, devuelta como matriz. Si el sistema se describe mediante variables de estado, entonces es -by-1.nBn

Tipos de datos: single | double

Matriz de estado a salida, devuelta como matriz. Si el sistema tiene salidas y se describe mediante variables de estado, entonces es -by- .qnCqn

Tipos de datos: single | double

Matriz de alimentación, devuelta como matriz. Si el sistema tiene salidas, entonces es -by-1.qDq

Tipos de datos: single | double

Más acerca de

contraer todo

Función de transferencia

convierte los parámetros de una representación de función de transferencia de un sistema determinado en los de una representación de espacio de estado equivalente.tf2ss

  • Para sistemas de tiempo discreto, las matrices de espacio de estado relacionan el vector de estado, la entrada y la salida:xuy

    x(k+1)=Ax(k)+Bu(k),y(k)=Cx(k)+Du(k).

    La función de transferencia es la transformación Z de la respuesta de impulso del sistema. Se puede expresar en términos de las matrices de espacio estatal como

    H(z)=C(zIA)1B+D.

  • Para los sistemas de tiempo continuo, las matrices de espacio de estado relacionan el vector de estado, la entrada y la salida:xuy

    x˙=Ax+Bu,y=Cx+Du.

    La función de transferencia es la transformación Laplace de la respuesta de impulso del sistema. Se puede expresar en términos de las matrices de espacio estatal como

    H(s)=B(s)A(s)=b1sn1++bn1s+bna1sm1++am1s+am=C(sIA)1B+D.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Consulte también

| | | | |

Introducido antes de R2006a