DSP System Toolbox
Diseñe y simule sistemas de procesamiento de señales en streaming
¿Tiene preguntas? Comuníquese con ventas.
¿Tiene preguntas? Comuníquese con ventas.
DSP System Toolbox proporciona algoritmos, apps y visores para diseñar, simular y analizar sistemas de procesamiento de señales en MATLAB y Simulink. Es posible modelar sistemas DSP en tiempo real para comunicaciones, radar, audio, dispositivos médicos, IoT y otras aplicaciones.
Con DSP System Toolbox, es posible diseñar y analizar filtros FIR, IIR, multitasa, multietapa y adaptativos. Puede transmitir señales desde variables, archivos de datos y dispositivos de red para desarrollar y verificar sistemas. Las herramientas Time Scope, Spectrum Analyzer y Logic Analyzer permiten visualizar y medir señales de streaming de forma dinámica. Para el prototipado y el despliegue de escritorio en procesadores embebidos, incluidas las arquitecturas ARM® Cortex®, esta toolbox soporta la generación de código C/C++. También admite modelado en punto fijo con precisión de bits y generación de código HDL desde filtros y otros algoritmos.
Los algoritmos están disponibles como funciones de MATLAB, System objects™ y bloques de Simulink.
En Simulink, DSP System Toolbox ofrece una librería de bloques de algoritmos de procesamiento de señales para filtros, transformadas y álgebra lineal. Estos bloques procesan las señales de entrada de streaming como muestras individuales o como conjuntos de muestras llamados tramas. El procesamiento basado en muestras permite procesos y aplicaciones de baja latencia que requieren un procesamiento escalar. El procesamiento basado en tramas permite un mayor rendimiento a cambio de latencia. Esta toolbox soporta ambos modos de procesamiento, el basado en muestras y el basado en tramas.
Los programas de MATLAB que utilizan System objects pueden incorporarse en modelos de Simulink a través del bloque MATLAB Function o del bloque MATLAB System. La mayoría de los System objects tienen sus correspondientes bloques de Simulink con las mismas funcionalidades.
Los bloques de Simulink para el procesamiento de señales soportan tipos de datos en punto flotante de precisión doble y de precisión simple, así como tipos de datos enteros. También soportan tipos de datos en punto fijo cuando se utilizan con Fixed-Point Designer.
Los bloques de procesamiento de señales de DSP System Toolbox incluyen:
En MATLAB, DSP System Toolbox admite el procesamiento multitasa para la conversión de la tasa de muestreo y el modelado de sistemas en los que se debe establecer una interfaz para diferentes velocidades de reloj o muestreo. La funcionalidad multitasa incluye filtros multietapa y multitasa tales como FIR e IIR de media banda, filtros polifase, filtros CIC y filtros Farrow. También incluye operaciones de señales, tales como interpolación, diezmado y conversión arbitraria de tasa de muestreo.
DSP System Toolbox proporciona un marco para el procesamiento de señales de streaming en MATLAB. La toolbox incluye una librería de algoritmos de procesamiento de señales optimizados para procesar señales de streaming, tales como filtros monotasa y multitasa, filtrado adaptativo y FFT. Esta toolbox resulta ideal para diseñar, simular y desplegar soluciones de procesamiento de señales para aplicaciones biomédicas, sísmicas, de audio, de voz, de comunicaciones, de control y de sensores, entre otras.
Las técnicas de procesamiento de señales de streaming permiten el procesamiento de flujos de datos continuos, lo que a menudo puede acelerar las simulaciones dividiendo los datos de entrada en tramas y procesando cada trama a medida que se adquiere. Por ejemplo, el procesamiento de señales de streaming en MATLAB permite el procesamiento de audio multicanal en tiempo real.
El procesamiento de señales de streaming es posible mediante una librería de componentes algorítmicos de DSP llamados System objects™ para representar algoritmos basados en datos, fuentes y sumideros. System objects permiten crear aplicaciones de streaming mediante la automatización de tareas, tales como la indexación de datos, el almacenamiento en memoria externa y la gestión de estados de algoritmos. Puede combinar System objects de MATLAB con funciones y operadores estándar de MATLAB.
Es posible utilizar Time Scope y Spectrum Analyzer para visualizar y medir las señales de streaming.
Puede aplicar filtros adaptativos, monotasa y multitasa a los datos de streaming mediante algoritmos optimizados para los datos y las señales de streaming.
DSP System Toolbox proporciona más de 350 algoritmos optimizados para diseñar, implementar y validar sistemas de streaming, ya sea implementados como funciones de MATLAB o como System objects de MATLAB. Los algoritmos admiten tipos de datos en punto flotante de precisión doble y de precisión simple. La mayoría de los algoritmos admite también tipos de datos enteros, además de tipos de datos en punto fijo, que requieren Fixed-Point Designer.
En MATLAB, las categorías de algoritmos de esta toolbox incluyen:
En MATLAB, DSP System Toolbox admite el procesamiento multitasa para la conversión de la tasa de muestreo y el modelado de sistemas en los que se debe establecer una interfaz para diferentes velocidades de reloj o muestreo. La funcionalidad multitasa incluye filtros multietapa y multitasa tales como FIR e IIR de media banda, filtros polifase, filtros CIC y filtros Farrow. También incluye operaciones de señales, tales como interpolación, diezmado y conversión arbitraria de tasa de muestreo.
DSP System Toolbox proporciona completos algoritmos de diseño e implementación de filtros para FIR, IIR, multietapa, multitasa y filtros adaptativos. Puede diseñar filtros con paso bajo, paso alto, paso banda, banda eliminada y otros tipos de respuesta. Para crearlos, se pueden usar estructuras de filtro tales como FIR de forma directa, FIR de superposición-adición, IIR con secciones de segundo orden (bicuadráticas), paso todo en cascada y estructuras reticuladas.
Puede diseñar filtros mediante la app Filterbuilder, código de MATLAB o bloques de Simulink. Además, puede analizar los efectos de la cuantización para filtros FIR e IIR y determinar la longitud de palabras óptima para los coeficientes de filtro.
También puede diseñar filtros ajustables en los que se pueden ajustar parámetros clave de filtrado en tiempo de ejecución, tales como el ancho de banda y la ganancia.
Los filtros digitales diseñados con DSP System Toolbox en MATLAB pueden utilizarse también en modelos en el nivel de sistema en Simulink. Existe una librería de bloques de filtros lista para usar en la toolbox, para diseñar, simular e implementar filtros de paso bajo, paso alto y otros filtros directamente en Simulink.
Además de los algoritmos de diseño de filtros FIR e IIR convencionales, DSP System Toolbox admite métodos de diseño y filtros especializados, tales como:
DSP System Toolbox proporciona varias técnicas para el filtrado adaptativo en MATLAB y Simulink. Estas técnicas se utilizan ampliamente para aplicaciones tales como identificación de sistemas, estimación espectral, ecualización y supresión de ruido. Entre los filtros adaptativos se incluyen: basados en LMS, basados en RLS, proyección afín, transversal rápido, dominio de frecuencia, basados en estructuras reticuladas y de Kalman. Esta toolbox incluye algoritmos para el análisis de estos filtros adaptativos, incluidos el seguimiento de coeficientes, las curvas de aprendizaje y la convergencia.
DSP System Toolbox proporciona diseño e implementación de filtros multitasa, incluidos interpoladores polifase, diezmadores, conversores de tasa de muestreo, FIR de media banda e IIR de media banda, filtros Farrow y compensadores y filtros CIC, además de soporte para métodos de diseño multietapa. La toolbox también ofrece funciones de análisis especializadas para estimar la complejidad computacional de los filtros multitasa y multietapa.
DSP System Toolbox proporciona visores y registro de datos para la visualización del dominio de tiempo o el dominio de frecuencia, mediciones y análisis de señales de streaming en MATLAB y Simulink. Los visores incluyen mediciones y estadísticas que resultan familiares a los usuarios de osciloscopios y analizadores de espectro estándar de la industria.
La toolbox proporciona también la herramienta Logic Analyzer para visualizar las transiciones en señales del dominio de tiempo, lo que resulta útil para depurar modelos destinados a la implementación de HDL.
También puede crear una gráfica arbitraria para visualizar vectores de datos, tales como la evolución de los coeficientes de filtro a lo largo del tiempo.
Time Scope muestra las señales en el dominio de tiempo y soporta distintas señales (continuas, discretas, de tamaño fijo, de tamaño variable, de datos en punto flotante, de datos en punto fijo y señales n-dimensionales para sistemas de E/S multicanal). Time Scope permite mostrar varias señales, bien en el mismo eje donde cada señal de entrada tiene distintas dimensiones, tasas de muestreo y tipos de datos, bien en varios canales de datos en distintas visualizaciones en la ventana del visualizador. Time Scope realiza análisis, mediciones y estadísticas que incluyen la media cuadrática (RMS), pico a pico, media y mediana.
Spectrum Analyzer calcula el espectro de frecuencia de distintas señales de entrada y muestra su espectro de frecuencias en una escala lineal o logarítmica. Spectrum Analyzer realiza mediciones y análisis tales como mediciones de distorsión armónica (THD, SNR, SINAD, SFDR), mediciones de distorsión de intermodulación de tercer orden (TOI), mediciones de relación de potencia de canal adyacente (ACPR), función de distribución acumulativa complementaria (CCDF) y relación de potencia de pico a promedio (PAPR). La vista del modo de espectrograma de Spectrum Analyzer muestra cómo ver espectros variables en el tiempo y permite la detección de picos automática.
DSP System Toolbox proporciona una familia adicional de herramientas de visualización que se puede utilizar para mostrar y medir distintas señales o datos, incluidos datos de valor real o complejo, vectores, arrays y tramas de cualquier tipo de datos, incluidos datos en punto fijo, de doble precisión o secuencias de entradas de datos definidas por el usuario. Algunas de las herramientas de visualización permiten mostrar una vista 3D de los datos o las señales de streaming para poder analizarlos a lo largo del tiempo hasta que la simulación se detenga.
Puede utilizar DSP System Toolbox con Fixed-Point Designer para modelar algoritmos de procesamiento de señales en punto fijo, así como para analizar los efectos de la cuantización en el comportamiento y el rendimiento del sistema. También puede generar código C en punto fijo a partir del código de MATLAB o del modelo de Simulink.
Puede configurar System objects de MATLAB y bloques de Simulink en la toolbox para modos de funcionamiento en punto fijo, lo que permite realizar análisis de tradeoff y optimización de diseños mediante la ejecución de simulaciones con diferentes longitudes de palabra, escalas, gestión de desbordamientos y opciones de métodos de redondeo antes de aplicarlos en el hardware.
Existe soporte de modos en punto fijo para muchos algoritmos DSP, incluidos FFT, filtros, estadísticas y álgebra lineal. DSP System Toolbox automatiza la configuración de bloques y System objects para el funcionamiento en punto fijo.
En DSP System Toolbox, las funciones de diseño de filtros y la app Filterbuilder permiten diseñar filtros en punto flotante que se pueden convertir en tipos de datos en punto fijo con Fixed-Point Designer. Este flujo de diseño simplifica el diseño y la optimización de filtros en punto fijo y permite analizar los efectos de la cuantización.
Utilizando DSP System Toolbox con MATLAB Coder y Simulink Coder, puede generar código fuente C y C++ o una función MEX ajustada para el rendimiento de los algoritmos de procesamiento de señales y los modelos de sistema en MATLAB y Simulink, respectivamente.
El código generado se puede utilizar para la aceleración, el prototipado rápido, la implementación y el despliegue, o bien para la integración del sistema durante el proceso de desarrollo de productos.
Puede generar código ejecutable compacto y eficiente, una función MEX, ajustado para el rendimiento para acelerar algoritmos de cálculo intensivo en su simulación. Puede acelerar sus algoritmos en punto fijo y en punto flotante, incluidos filtros, FFT, estadísticas y álgebra lineal en MATLAB y Simulink.
Para acelerar simulaciones de streaming basadas en tramas, dspunfold utiliza el desdoble de DSP para distribuir la carga computacional en la función MEX generada entre diversos subprocesos.
Con DSP System Toolbox, puede utilizar también el código C generado a partir de su código de MATLAB o modelo de Simulink para el despliegue y el prototipado de escritorio generando un ejecutable independiente de su algoritmo. Este ejecutable independiente se puede seguir ajustando directamente desde MATLAB o Simulink en tiempo real utilizando los componentes UDP. Dado que este ejecutable independiente se ejecuta en un subproceso distinto que el código de MATLAB o el modelo de Simulink, mejora el rendimiento en tiempo real de su algoritmo.
El código C generado de sus algoritmos de procesamiento de señales se puede integrar como un componente de librería compilada en otro software, como un simulador personalizado, o bien en software de modelado estándar, como SystemC.
Utilizando DSP System Toolbox con el complemento de soporte de hardware para ARM Cortex-A o ARM Cortex-M y Embedded Coder, puede generar código C optimizado desde System objects de MATLAB o bloques de Simulink para los algoritmos DSP clave, como FFT, FIR y filtros bicuadráticos. El código generado proporciona llamadas a rutinas optimizadas para la librería ARM Cortex-A Ne10 o la librería ARM Cortex-M CMSIS. Una ventaja clave es un aumento inmediato en el rendimiento en comparación con el código C estándar. También puede llevar a cabo la verificación de código y crear perfiles mediante pruebas PIL (processor-in-the-loop).
Utilizando DSP System Toolbox con Filter Design HDL Coder en MATLAB, puede diseñar filtros digitales y generar código VHDL® y Verilog® eficiente, sintetizable y portátil para la implementación en FPGA o ASIC. También puede crear de forma automática bancos de pruebas de VHDL y Verilog para simular, probar y verificar el código generado.
El uso de DSP System Toolbox con HDL Coder proporciona generación de código VHDL y Verilog sintetizable y legible para el diseño de su sistema. Para optimizar el uso y el rendimiento de recursos de FPGA/ASIC, considere utilizar bloques de DSP HDL Toolbox.