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.

¿Qué son los objetos del sistema?

A es un objeto especializado.System object™MATLAB® Muchas cajas de herramientas incluyen objetos del sistema. Los objetos del sistema están diseñados específicamente para implementar y simular sistemas dinámicos con entradas que cambian con el tiempo. Muchos sistemas de procesamiento de señales, comunicaciones y controles son dinámicos. En un sistema dinámico, los valores de las señales de salida dependen tanto de los valores instantáneos de las señales de entrada como del comportamiento anterior del sistema. Los objetos del sistema utilizan Estados internos para almacenar ese comportamiento pasado, que se utiliza en el siguiente paso computacional. Como resultado, los objetos del sistema se optimizan para los cálculos iterativos que procesan grandes flujos de datos en segmentos, como los sistemas de procesamiento de vídeo y audio. Esta capacidad para procesar datos de streaming proporciona la ventaja de no tener que mantener grandes cantidades de datos en la memoria. El uso de datos de streaming también le permite utilizar programas simplificados que utilizan bucles de manera eficiente.

Por ejemplo, podría utilizar objetos de sistema en un sistema que lee datos de un archivo, filtra esos datos y, a continuación, escribe la salida filtrada en otro archivo. Normalmente, una cantidad especificada de datos se pasa al filtro en cada iteración de bucle. El objeto de lector de archivos utiliza un estado para realizar un seguimiento de dónde en el archivo para comenzar la siguiente lectura de datos. Del mismo modo, el objeto de escritor de archivos rastrea dónde escribió los datos por última vez en el archivo de salida para que no se sobrescriban los datos. El objeto de filtro mantiene sus propios Estados internos para asegurarse de que el filtrado se realiza correctamente. Este diagrama representa un solo loop del sistema.

Estas ventajas hacen que los objetos del sistema sean muy adecuados para procesar datos de streaming.

Muchos objetos del sistema admiten:

  • Aritmética de punto fijo (requiere licencia)Fixed-Point Designer™

  • Generación de código C (requiere un MATLABCoder™ O Simulink®Coder licencia

  • Generación de código HDL (requiere una licencia)HDL Coder™

  • Archivos ejecutables o generación de bibliotecas compartidas (requiere un MATLABCompiler™ licencia

Nota

Compruebe la documentación del producto para confirmar el punto fijo, la generación de código y MATLABCompiler soporte para los objetos específicos del sistema que desea utilizar.

Los objetos del sistema utilizan un mínimo de dos mandatos para procesar los datos:

  • Creación del objeto (por ejemplo,)fft256 = dsp.FFT

  • Ejecución de datos a través del objeto (por ejemplo,)fft256(x)

Esta separación de la creación de la ejecución permite crear varios objetos persistentes y reutilizables, cada uno con una configuración diferente. El uso de este enfoque evita la validación de entrada repetida y la verificación, permite un uso sencillo dentro de un bucle de programación y mejora el rendimiento general. Por el contrario, las funciones deben validar los parámetros cada vez que se llama a la función.MATLAB

Además de los objetos System provistos con las cajas de herramientas del sistema, puede crear sus propios objetos de sistema. Ver.Crear System objects

Ejecutar un objeto de sistema

Para ejecutar una y realizar la operación definida por su algoritmo, se llama al objeto como si fuera una función.System object Por ejemplo, para crear un objeto FFT que utiliza el, especifica una longitud de 1024 y lo nombra, utilice: para ejecutar este objeto con la entrada, utilice: Si ejecuta un sin argumentos de entrada, debe incluir paréntesis vacíos.dsp.FFTSystem objectdft

dft = dsp.FFT('FFTLengthSource','Property','FFTLength',1024); 
x
dft(x);
System object Por ejemplo,.asysobj()

Cuando se ejecuta a, también realiza otras tareas importantes relacionadas con el procesamiento de datos, como la inicialización y el control de Estados de objetos.System object

Nota

Una forma alternativa de ejecutar un es utilizar la función.System objectstep Por ejemplo, para un objeto creado con, puede ejecutarlo utilizando.dft = dsp.FFTstep(dft,x)

Funciones de objeto de sistema

Después de crear un, se utilizan varias funciones de objeto para procesar datos u obtener información del objeto o sobre él.System object La sintaxis para el uso de funciones es, además de posibles argumentos de entrada adicionales.<object function name>(<system object name>) Por ejemplo, para, donde es un nombre que asigne, llame a la función utilizando.txfourier = dsp.FFTtxfourierresetreset(txfourier)

Funciones de objeto comunes

Todos los objetos del sistema admiten las siguientes funciones de objeto. En los casos en que una función no es aplicable a un objeto determinado, la llamada a esa función no tiene ningún efecto en el objeto.

FunciónDescripción
Ejecute la función de objeto o
step

Ejecuta el objeto para procesar datos utilizando el algoritmo definido por ese objeto.

:Example Para el objeto, ejecute el objeto a través de:dft = dsp.FFT;

  • y = dft(x)

  • y = step(dft,x)

Como parte de este procesamiento, el objeto inicializa los recursos, devuelve las salidas y actualiza los Estados del objeto según sea necesario. Durante la ejecución, solo puede cambiar las propiedades ajustables. Ambas formas de ejecutar variables regulares de retorno.System objectMATLAB

release

Libere recursos y permita cambios en los valores de propiedad del objeto System y características adicionales limitadas mientras el objeto System está en uso.

resetRestablece los valores iniciales de ese objeto.System object
narginDevuelve el número de entradas aceptadas por la definición del algoritmo de objeto System. Si la definición del algoritmo incluye, la salida es negativa.vararginnargin
nargoutDevuelve el número de salidas aceptadas por la definición del algoritmo de objeto System. Si la definición del algoritmo incluye, la salida es negativa.varargoutnargout
getDiscreteStateDevuelve una estructura de los Estados discretos de objeto. Si el objeto no tiene Estados discretos, devuelve una estructura vacía.getDiscreteState
cloneCrea otro objeto del mismo tipo con los mismos valores de propiedad
isLockedDevuelve un valor lógico que indica si se ha llamado al objeto y aún no se ha llamado al objeto.release
isDoneSolo se aplica a los objetos de origen que heredan de.matlab.system.mixin.FiniteSource Devuelve un valor lógico que indica si se ha alcanzado el final del archivo de datos. Si un objeto determinado no tiene capacidad de fin de datos, este valor de función siempre devuelve.false
infoDevuelve una estructura que contiene información de característica sobre el objeto. Los campos de esta estructura varían en función del objeto. Si un objeto determinado no tiene información de característica, la estructura está vacía.

Consulte también

Temas relacionados