Modelling is a process in which you describe a dynamic system with mathematical equations and then create a simplified representation of the system with a model. The equations define the science of the system and the model uses the equations to define the time-varying behavior. A Model-Based Design is a paradigm that allows verification and validation through testing in the simulation environment. It consists of designing models using elementary blocks and using these models as a basis for further development. At the heart of the development process in a model-based design is the system model. It incorporates everything from requirements development through design, implementation, and testing. The model is an executable specification that users continually refine and simulate throughout the development process till they achieve the desired results.
Introduction to Simulink
Many of today's systems are interconnected. The performance of the entire system can change depending upon parameter variation of a single component. To arrive at the correct model, it is therefore necessary to design these interconnected components together. Simulink is a graphical modelling language from MATLAB. It is a Model-based design software tool that simulates and analyzes multi-domain dynamical systems. There are two major classes of elements in Simulink: blocks and lines. Blocks are used to generate, modify, combine, output, and display signals. Lines are used to transfer signals from one block to another. A Simulink model is a block diagram. Once you launch the Simulink software, model elements can be added by selecting or dragging and dropping the appropriate elements from the Library Browser and dragging them into the Model window. Simulink is widely used in control theory and digital signal processing for simulation and design. As the models built with Simulink are hierarchical, it is possible to build models using either the top-down or the bottom-up approach. Users can take a bird's eye view of the models, and then drill down to see model details.
By simulating graphical block diagrams, Simulink allows users to analyze complex systems. Using state-of-the-art solvers (solvers are snippets of code that solve a particular mathematical problem. This generic math code can then be stored in library and used elsewhere.), it is possible to support the simulation of a broad range of analog, digital, mixed signal, and multi-rate systems in Simulink. Simulink offers a quick way of graphically developing models using integrated solvers. Unlike the slower text based-programming languages, which need users to write and develop their own solvers, built-in solvers expedite model development.
Simulink can also use many MATLAB features. For example, Simulink can use the MATLAB environment to:
Simulink allows fast and cost-effective development of dynamic systems, including control systems, signal processing, and communications systems. The many MATLAB toolboxes in diverse areas of engineering, science, and business augment the capabilities of Simulink. In addition to the toolboxes, there are a number of Simulink blocksets (a collection of organized blocks in the Simulink libraries) that extend Simulink’s functionality into various disciplines such as aerospace, communications, signal processing, image processing, and so forth. Dynamic systems can be simulated in Simulink by first creating a block diagram using the Simulink model editor, and then simulating the system represented by the model from a specified start time to a specified stop time. Using Simulink, it is easy to create tests associated with a model early in a project, thereby making it easy to test the development of the software early and robustly. Simulink provides a graphical editor, customizable block libraries, and solvers for modelling and simulating dynamic systems. Simulink can be tightly integrated with the rest of the MATLAB environment and can either drive MATLAB or be scripted from it. The integration also enables users to incorporate MATLAB algorithms into models and export simulation results to MATLAB for further analysis.
There are several other add-on products provided by MathWorks and third-party hardware and software products that are available for use with Simulink.
The Simulink Library
A Simulink Block library is a collection of blocks which can be used by other Simulink models. These blocks represent equations and modelling components. The built-in libraries can be accessed from the Simulink Library Browser. When a block is updated in the library, all the corresponding blocks in all referenced models will be updated as well, which saves development time. Apart from readymade blocks, Simulink also allows users to create custom blocks. When such blocks are added to a model from a custom library, it becomes a linked block. A linked block connects to the library block by way of a library link. The library block is the prototype block, and the linked block in the model is an instance of the library block. A blockset is a collection of blocks organized in Simulink libraries for a purpose. The blocks could be part of a standalone library or may be part of an extensive project. Blocksets are created in Simulink by the Blockset Designer, It is a Projects-based tool that allows users to create, group and manage custom blocks. After creating different blocks, users can add tests, document their blocks, and run Model Advisor checks.
Key Features of Simulink
Simulink allows users to move beyond idealized linear models to explore realistic nonlinear models, factoring in friction, air resistance, gear slippage, hard stops, and the other such parameters that describe real-world phenomena. Simulink enables users to think of the development environment as a laboratory for modelling and analyzing systems that would not be possible or practical otherwise. The key features of Simulink include:
To summarize, Simulink is a graphical extension to MATLAB for the modelling and simulation of systems. In Simulink, systems are drawn on screen as block diagrams. Many elements of block diagrams are available in the library; Simulink allows users to create their own blocks that can be added to the library. Simulink is integrated with MATLAB and data can be easily transferred between the programs.