The annual release of MATLAB and Simulink from MathWorks always brings new features to the fore. That remains the case with MATLAB 2019a, which packs quite a few enhancements and additions to an already formidable development package. It has new blocksets that include support for AUTOSAR, SoCs, and mixed signals. There are two new toolboxes—one is for SerDes development and the other for reinforcement learning. Integration with Polyspace includes access to its bug finder and prover, including server support for these features. Simulink’s System Composer design and analysis tools target system and software architectures.
Machine learning (ML) isn’t hype, but it’s not a trivial task to develop, train, and deploy ML models. The Reinforcement Learning Toolbox, which helps streamline the process (Fig. 1), is just one of many enhancements in this area. The toolbox provides MATLAB functions and SIMULINK blocks for training policies using reinforcement learning algorithms such as Deep Q-Network (DQN), Advantage Actor Critic (A2C), and Deep Deterministic Policy Gradients (DDPG). The policies can be used to implement control and decision-making algorithms for applications such as robotics.
1. The Reinforcement Learning Toolbox streamlines the process to train machine-learning models.
The ML support can take advantage of MATLAB’s distributed computing and multicore acceleration, as well as GPU acceleration services. Developers can use the Parallel Computing Toolbox and MATLAB Parallel Server. GPU support utilizes the Parallel Computing Toolbox as well as most CUDA-enabled NVIDIA GPUs with compute capability 3.0 or higher. These tools are able to use data captured by the Image Acquisition Toolbox that now support Velodyne LiDAR point clouds.
The Deep Learning Toolbox has been enhanced. It can now handle 3D volume data for ML networks and there is ONNX interchange support as well. This can be used with LSTM networks and the Computer Vision System Toolbox models. The Deep Network Designer can be used to create networks for computer vision, signal, and text applications. It can also generate MATLAB code. Recurrent networks for video classification and gesture recognition are supported.
MATLAB and Simulink Project support enhances team productivity. It uses a team-based collaboration system leveraging model-based design. The Dependency Analysis view (Fig. 2) can analyze projects and check for required files. The system is integrated with source control management tools like Git and Subversion.
2. The Dependency Analysis view analyzes projects and checks for required files, and makes sure derived files aren’t out of date.
The new Simulink blocksets and toolboxes address signal processing and chip designs. The Mixed-Signal Blockset supports rapid model construction as well as simulation and analysis of mixed-signal system models. It includes dedicated analysis and visualization tools. The SerDes Toolbox targets the design and testing of SerDes used in high-speed serial communication, while the SoC Blockset enables simulation and development of FPGA, ASIC, and SoC architectures providing co-simulation support.
Polyspace, acquired by MathWorks some time ago, has been taking advantage of its analysis tools since then. Polyspace code prover and bug finder are designed to help developers meet and document safety standards such as MISRA, ISO 26262, IEC 61508, and DO-178, as well as FDA regulations. They’re also used to check software for security vulnerabilities to address standards such as CWE, CERT-C, and ISO/IEC 17961. Polyspace for Ada can be used to prove the absence of run-time errors in Ada source code.