Main Content

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 una única entrada y una única salida (SISO) y sistemas de una ú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 canónica de espacio de estados 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 cuando eligen el tamaño de paso para determinar si el error en los cálculos de estado es aceptable.

Para heredar la tolerancia absoluta del parámetro de configuración Absolute tolerance, especifique el valor de este parámetro como auto o -1.

Para especificar una tolerancia absoluta para este bloque que anule el valor especificado para el parámetro de configuración Absolute tolerance:

  • Introduzca un valor escalar real y positivo para calcular todos los estados del bloque.

  • Introduzca un vector real con las dimensiones que coincidan con las dimensiones de los estados continuos del bloque.

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 number | vector of positive real scalar numbers
Tipos de datos: char | string

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

Utilice este parámetro para asignar de forma opcional nombres a los estados de este bloque. Los nombres asignados solo se aplican a los estados de este bloque.

  • Para utilizar los nombres de estado predeterminados, deje este campo vacío ('').

  • Para asignar un solo nombre a un solo estado, encierre el nombre entre comillas. Por ejemplo, para llamar a un solo estado position, introduzca 'position'.

  • Para asignar nombres a varios estados, especifique este valor de parámetro como un arreglo de celdas de vectores de caracteres. Cada nombre del arreglo de celdas debe ser único. Por ejemplo, para asignar los nombres a, b y c, introduzca {'a','b','c'}.

  • Para especificar los nombres usando una variable de MATLAB, introduzca el nombre de la variable sin comillas. Por ejemplo, para usar la variable names para especificar los nombres de estado, introduzca names.

Puede especificar un número de nombres que sea inferior al número de estados del bloque. En este caso, los nombres de estado se usan para varios estados y el número de estados debe dividirse de manera uniforme entre el número de nombres de estado. Por ejemplo, cuando especifica dos nombres para un bloque que tiene cuatro estados, el primer nombre se utiliza para los dos primeros estados y el segundo para los dos últimos estados.

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) | valid MATLAB variable name
Tipos de datos: char | string | 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

Historial de versiones

Introducido antes de R2006a

Consulte también

|

Temas