Contenido principal

Transfer Fcn

Modelar un sistema lineal como una función de transferencia

  • Transfer Fcn block

Bibliotecas:
Simulink / Continuous

Descripción

El bloque Transfer Fcn modela un sistema lineal mediante una función de transferencia de la variable s en el dominio de Laplace. El bloque puede modelar sistemas de única entrada y única salida (SISO) y sistemas de única entrada y múltiples salidas (SIMO).

Condiciones para usar este bloque

El bloque Transfer Fcn asume las siguientes condiciones:

  • La función de transferencia tiene la forma

    H(s)=y(s)u(s)=num(s)den(s)=num(1)snn1+num(2)snn2++num(nn)den(1)snd1+den(2)snd2++den(nd),

    donde u e y son la entrada y las salidas del sistema, respectivamente, nn y nd son el número de los coeficientes del numerador y del denominador, respectivamente. num(s) y den(s) contienen los coeficientes del numerador y denominador en potencias decrecientes de s.

  • El orden del denominador debe ser mayor que o igual al orden del numerador.

  • Para un sistema de múltiples salidas, todas las funciones de transferencia tienen el mismo denominador y todos los numeradores tienen el mismo orden.

Modelar un sistema de una única salida

Para un sistema de una única salida, la entrada y la salida del bloque son señales escalares en el dominio del tiempo. Para modelar este sistema:

  1. Introduzca un vector para los coeficientes del numerador de la función de transferencia en el campo Numerator coefficients.

  2. Introduzca un vector para los coeficientes del denominador de la función de transferencia en el campo Denominator coefficients.

Modelar un sistema de múltiples salidas

Para un sistema de múltiples salidas, la entrada del bloque es un escalar y la salida es un vector, donde cada elemento es una salida del sistema. Para modelar este sistema:

  1. Introduzca una matriz en el campo Numerator coefficients.

    Cada fila de esta matriz contiene los coeficientes del numerador de una función de transferencia que determina una de las salidas del bloque.

  2. Introduzca un vector de los coeficientes del denominador común a todas las funciones de transferencia del sistema en el campo Denominator coefficients.

Especificar las condiciones iniciales

Una función de transferencia describe la relación entre la entrada y la salida en el dominio de Laplace (frecuencia). Específicamente, se define como la transformada de Laplace de la respuesta (salida) de un sistema con condiciones iniciales iguales a cero a la entrada de un impulso.

Las operaciones como la multiplicación y la división de las funciones de transferencia se basan en un estado inicial igual a cero. Por ejemplo, puede descomponer una sola función de transferencia complicada en una serie de funciones de transferencia más sencillas. Aplíquelas secuencialmente para obtener una respuesta equivalente a la de la función de transferencia original. No será correcto si una de las funciones de transferencia asume un estado inicial distinto de cero. Además, una función de transferencia tiene infinitas realizaciones en el dominio del tiempo y la mayoría de sus estados no tienen un significado físico.

Por eso, Simulink® establece previamente las condiciones iniciales del bloque Transfer Fcn en cero. Para especificar las condiciones iniciales de una función de transferencia dada, convierta la función de transferencia a su realización en espacio de estados canónica controlable usando tf2ss. Luego, use el bloque State-Space. La utilidad tf2ss proporciona las matrices A, B, C y D del sistema.

Para obtener más información, escriba help tf2ss o consulte la documentación de Control System Toolbox™.

Visualización de la función de transferencia en el bloque

El bloque Transfer Fcn muestra la función de transferencia en función de cómo se especifiquen los parámetros numerador y denominador.

  • Si especifica cada parámetro como una expresión o un vector, el bloque muestra la función de transferencia usando los coeficientes especificados para las potencias de s. Si especifica una variable entre paréntesis, el bloque evalúa la variable.

    Por ejemplo, si especifica el valor del parámetro Numerator coefficients como [3 2 1] y el valor del parámetro Denominator coefficients como (den), donde den es la variable de un área de trabajo con un valor de [7 5 3 1], el bloque muestra la ecuación usando los valores especificados.

    Transfer Fcn block that displays the numerator and denominator of the transfer function both as a polynomial function of s.

    Sugerencia

    Cuando el tamaño del bloque es demasiado pequeño para incluir el numerador o el denominador completos, el icono de bloque muestra el numerador como num(s) y el denominador como den(s).

    A Transfer Fcn block that is not wide enough to display the equation.

    Si desea que el bloque muestre la ecuación para la función de transferencia que implementa, cambie el tamaño del bloque arrastrando una esquina.

    A pointer is positioned to drag the lower-right corner of the Transfer Fcn block, resizing the block so it is wide enough to display the equation that represents the transfer function.

  • Si especifica cada parámetro como una variable, el bloque muestra el nombre de la variable seguido de (s).

    Por ejemplo, si especifica el parámetro Numerator coefficients como num y el parámetro Denominator coefficients como den, el icono de bloque muestra el numerador de la función de transferencia como num(s) y el denominador como den(s).

    Transfer Fcn block with the Numerator coefficients parameter specified as num and the Denominator coefficients parameter specified as den.

Ejemplos

Puertos

Entrada

expandir todo

Señal de entrada, especificada como un escalar con tipo de datos double.

Este puerto tiene alimentación directa solo cuando el numerador de la función de transferencia es 0.

Tipos de datos: double

Salida

expandir todo

Señal de salida, proporcionada como un escalar o un vector con tipo de datos double.

  • Para un sistema de una única salida, la entrada y la salida del bloque son señales escalares en el dominio del tiempo.

  • Para un sistema de múltiples salidas, la entrada es un escalar y la salida es un vector, donde cada elemento es una salida del sistema.

Tipos de datos: double

Parámetros

expandir todo

Defina los coeficientes del numerador de la función de transferencia.

  • Para un sistema de una única salida, introduzca un vector para los coeficientes del numerador de la función de transferencia.

  • Para un sistema de múltiples salidas, introduzca una matriz. Cada fila de esta matriz contiene los coeficientes del numerador de una función de transferencia que determina una de las salidas del bloque.

Uso programático

Parámetro de bloque: Numerator
Tipo: vector de caracteres, cadena
Valores: vector | matriz
Predeterminado: '[1]'

Defina el vector fila de los coeficientes del denominador.

  • Para un sistema de una única salida, introduzca un vector para los coeficientes del denominador de la función de transferencia.

  • Para un sistema de múltiples salidas, introduzca un vector que contenga los coeficientes del denominador comunes a todas las funciones de transferencia del sistema.

Uso programático

Parámetro de bloque: Denominator
Tipo: vector de caracteres | cadena
Valores: vector
Predeterminado: '[1 1]'

Nivel de capacidad de ajuste de los coeficientes del numerador y denominador para los modos de simulación Accelerated y simulaciones desplegadas utilizando Simulink Compiler™. Establezca este parámetro en Auto para permitir a Simulink elegir el nivel adecuado de capacidad de ajuste del parámetro.

Establezca este parámetro en Optimized para generar una representación de los coeficientes del numerador y denominador en el código generado para las simulaciones aceleradas y desplegadas que está optimizada para un mejor rendimiento de la simulación.

Establezca este parámetro en Unconstrained para generar una representación totalmente ajustable (entre simulaciones) de los coeficientes del numerador y denominador en el código generado para simulaciones aceleradas y desplegadas. Para permitir que Simulink determine el nivel de capacidad de ajuste adecuado, seleccione Auto.

Uso programático

Parámetro de bloque: ParameterTunability
Tipo: vector de caracteres, cadena
Valores: 'Auto' | 'Optimized' | 'Unconstrained'
Predeterminado: 'Auto'

Los solvers de paso variable utilizan tolerancias absolutas y relativas para determinar si el error en los cálculos de estado es aceptable cuando eligen el tamaño de paso. Este parámetro especifica la tolerancia absoluta que debe usarse para estados del sistema implementados por este bloque.

  • auto: usa la tolerancia absoluta especificada por el parámetro de configuración Absolute tolerance.

  • Escalar real positivo: usa el valor especificado como tolerancia absoluta para todos los estados.

  • Vector real positivo: especifica una tolerancia absoluta para cada estado. El número de elementos del vector debe ser igual al número de estados del sistema.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Para obtener el valor del parámetro de bloque de forma programática, use la función get_param.

Parámetro: AbsoluteTolerance
Valores: 'auto' (predeterminado) | "-1" | positive real scalar | positive real vector
Tipos de datos: string | char

Ejemplo: set_param("MyModel/Descriptor State-Space",AbsoluteTolerance="-1")

Si no especifica un nombre personalizado para cada estado del sistema:

  • Cada nombre especificado se usa para más de un estado.

  • El número de estados debe ser divisible uniformemente por el número de nombres especificados.

Por ejemplo, si el sistema tiene cuatro estados, debe especificar uno, dos o cuatro nombres. Si especifica dos nombres, los primeros dos estados utilizan el primer nombre y los dos últimos estados utilizan el segundo nombre.

Para especificar un único nombre de estado personalizado con Property Inspector o el cuadro de diálogo Block Parameters, encierre el nombre entre comillas simples (''). Por ejemplo, para especificar el nombre position, introduzca 'position'. Si omite las comillas simples, el software interpreta el valor como el nombre de una variable de MATLAB®.

Para utilizar los nombres de estado predeterminados, especifique este parámetro como un vector de caracteres vacío ('').

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Para obtener el valor del parámetro de bloque de forma programática, use la función get_param.

Parámetro: ContinuousStateAttributes
Valores: '' (predeterminado)
Tipos de datos: char | cell

Ejemplo: set_param("MyModel/Descriptor State-Space",ContinuousStateAttributes={'position','velocity'})

Características del bloque

Tipos de datos

double

Paso directo

noa

Señales multidimensionales

no

Señales de tamaño variable

no

Detección de cruce por cero

no

a Las características de alimentación directa para este bloque dependen de los valores de parámetro de bloques.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

Consulte también

|

Temas