Main Content

Operaciones básicas con señales de tamaño variable limitado

En este ejemplo se muestra cómo generar señales de tamaño variable limitado y se ilustran algunas de las operaciones mediante dichas señales. En este ejemplo, generará señales de tamaño variable mediante los bloques Selector y Switch. Las señales se usan en operaciones matemáticas, creación de bus, concatenación de matrices de selección de bus e implementación de una ecuación de filtro discreta.

Generación de señales de tamaño variable limitado

Las señales de tamaño variable limitado se generan en los siguientes componentes.

El componente Bounded Variable-Size Signal Generation Using Switch Block utiliza un bloque Switch con una señal escalar y una señal no escalar de 3 por 2 en sus puertos de entrada. La salida de este bloque es una señal de tamaño variable limitado con un límite superior de 3 por 2. La salida se decide en función de la condición que se haya establecido en el parámetro Criteria for passing first input (Criterios para pasar la primera entrada). Para permitir la propagación de señales de distinto tamaño, en el cuadro de diálogo Block Parameters, seleccione Signal Attributes > Allow different data input sizes. La señal de salida se utiliza también en los componentes Bus Creation, Bus Selection y Matrix Concatenation.

El componente Bounded Variable-Size Signal Generation Using Selector Block utiliza un bloque Selector que emplea una señal no escalar de 3 por 4 y 1 por 2. La salida de este bloque es una señal de tamaño variable limitado con un límite superior de 3 por 4. Para permitir que el índice de selección de tamaño cambie con el tiempo, en el cuadro de diálogo Block Parameters, en Index Option, seleccione el parámetro Starting and ending indices (port). Además, en este modelo, el parámetro Number of input dimensions está establecido en 2.

Operaciones básicas con señales de tamaño variable limitados

Las operaciones que utilizan señales de tamaño variable limitados se representan en los siguientes componentes.

El componente Bus Creation, Bus Selection and Matrix Concatenation utiliza las señales generadas mediante el bloque Switch y contiene los siguientes bloques de creación de bus, selección de bus y concatenación de matrices.

  • Bloque Matrix Concatenate $-$. Este bloque concatena dos señales de tamaño variable limitado con un límite superior de 3 por 2 y 1 dimensión (filas). Genera como salida una matriz de 6 por 2.

  • Bloque Bus Creator $-$. Este bloque combina dos señales de tamaño variable limitado de 3 por 2 a y b, y genera como salida un bus no virtual Data Signal. Este bus no virtual se almacena en un bloque Goto.

  • Bloque Bus Selector $-$. Este bloque utiliza el bus no virtual Data Signal y selecciona dos señales de tamaño variable limitado de 3 por 2 mediante un bloque Bus Selector.

El componente Stateflow Chart and Function-Call Subsystem to Implement a Discrete-time FIR Filter Equation implementa una ecuación de filtro de respuesta finita al impulso (FIR) en tiempo discreto causal de tercer orden dentro de un subsistema de llamada a función denominado Third order Discrete FIR Filter mediante bloques Unit Delay y Gain. La ecuación de filtro representa una suma ponderada que utiliza los valores de entrada más recientes. Este subsistema utiliza una señal de tamaño variable limitado de 3 por 2 como entrada y se activa cuando recibe una señal de llamada a función en el puerto function. El evento de salida E del gráfico de Stateflow Mode Control Logic indica los cambios en el tamaño de la señal, lo que activa (permite) la ejecución de este subsistema.

Para propagar el tamaño actual de la señal y restablecer el estado del bloque Unit Delay para aceptar el tamaño de la señal actual, en el cuadro de diálogo Trigger Block Parameters situado dentro del subsistema de llamada a función, establezca el parámetro Propagate sizes of variable-size signals en Only when enabling.

La salida Processed Signal se representa mediante un bloque Scope.

En diferentes unidades de tiempo de simulación, la anchura de la señal se registra en el área de trabajo base mediante las variables simout2 y simout4.

El componente Mathematical Operations muestra operaciones matemáticas en las señales de tamaño variable limitado que genere mediante el bloque Selector. Este componente utiliza los siguientes bloques para operaciones matemáticas:

  • Bloque Complex to Real-Imag: Este bloque separa las partes reales e imaginarias de señales de entrada complejas.

  • Bloque Math Function: Este bloque utiliza la función square para calcular el cuadrado de la parte real de la señal y la función log10 para calcular el valor del logaritmo común (base 10) de la parte imaginaria de la señal.

  • Bloque Width: Este bloque calcula la anchura de la señal de entrada de tamaño variable limitado introducida en distintas unidades de tiempo de simulación. Este valor se registra en la variable selectorVarSigWidth del área de trabajo base.

Consulte también

| | | | (Stateflow) | | | | |

Temas relacionados