Simulink is a visual simulation tool in MATLAB launched by Mathworks in the United States. Simulink is a block diagram environment for multi-domain simulation and model-based design. It supports system design, simulation, automatic code generation, and continuous testing and verification of embedded systems.
Simulink provides a graphical editor, a customizable block library, and a solver, capable of modeling and simulating dynamic systems.
Simulink is integrated with MATLAB, which can integrate MATLAB algorithm into the model in Simulink, and can also export the simulation results to MATLAB for further analysis. Simulink applications include automotive, aerospace, industrial automation, large-scale modeling, complex logic, physical logic, signal processing, etc.
Simulink has the advantages of wide adaptability, clear structure and flow, fine simulation, close to reality, high efficiency, and flexibility. Based on the above advantages, Simulink has been widely used in complex simulation and design of control theory and digital signal processing. At the same time, a large number of third-party software and hardware can be applied or required to be used in Simulink.
Simulink can be modeled with continuous sampling time, discrete sampling time, or two mixed sampling times. It also supports multi-rate systems, that is, different parts of the system have different sampling rates. In order to create a dynamic system model, Simulink provides a graphical user interface for building model block diagrams. This creation process can be completed by clicking and dragging the mouse. It provides a quicker and straightforward way, and the user You can immediately see the simulation results of the system.
Simulink is a multi-domain simulation and model-based design tool for dynamic systems and embedded systems. For various time-varying systems, including communication, control, signal processing, video processing, and image processing systems, Simulink provides an interactive graphical environment and a customizable module library to design, simulate, execute, and test it. .
Other products based on Simulink extend Simulink's multi-domain modeling capabilities and provide corresponding tools for design, execution, verification, and validation tasks. Simulink is tightly integrated with MATLAB and can directly access a large number of MATLAB tools for algorithm development, simulation analysis and visualization, batch script creation, modeling environment customization, and definition of signal parameters and test data.
Rich and expandable library of predefined modules.
Interactive graphical editor to combine and manage intuitive block diagrams.
Divide the model with the hierarchical nature of design functions to achieve management of complex designs
Navigate, create, configure, and search any signal, parameter, and attribute in the model through Model Explorer to generate model code.
Provide API for connection with other emulation programs or integration with handwritten code.
Use Embedded MATLAB™ module to call MATLAB algorithm in Simulink and embedded system execution
Use a fixed step size or variable step size to run the simulation, according to the simulation mode (Normal, Accelerator, Rapid Accelerator) to decide to run in an interpreted manner or to run the model in the form of compiled C code.
Graphical debugger and profiler to check simulation results, diagnose design performance and abnormal behavior
Access MATLAB to analyze and visualize results, customize modeling environment, define signal parameters and test data.
Model analysis and diagnostic tools to ensure the consistency of the model and determine errors in the model.
The SIMULINK module library is classified according to functions, including the following 8 types of sub-libraries:
Discrete (discrete module)
Function&Tables (functions and platform modules)
Math (Mathematics module)
Nonlinear (non-linear module)
Signals&Systems (signal and system modules)
Sinks (receiver module)
Sources (input source module)
Continuous module (Continuous) continuous.mdl
Integrator: input signal integration
Derivative: input signal differentiation
State-Space: Linear state-space system model
Transfer-Fcn: Linear transfer function model
Zero-Pole: The transfer function model expressed in zero poles
Memory: stores the state value of the last moment
Transport Delay: The input signal is delayed for a fixed time before being output
Variable Transport Delay: The input signal is delayed for a variable time before being output
Discrete module (Discrete) discrete.mdl
Discrete-time Integrator: Discrete-time Integrator
Discrete Filter: IIR and FIR filters
Discrete State-Space: Discrete state-space system model
Discrete Transfer-Fcn: Discrete Transfer Function Model
Discrete Zero-Pole: Discrete transfer function model expressed by zero pole
First-Order Hold: first-order sample and hold
Zero-Order Hold: zero-order sample and hold
Unit Delay: delay of one sampling period
Function&Tables (functions and platform modules) function.mdl
Fcn: Use user-defined functions (expressions) to perform calculations
MATLAB Fcn: use matlab's existing functions for operations
S-Function: call the self-made S function program to perform calculation
Look-Up Table: Establish a look-up table of input signals (linear peak matching)
Look-Up Table (2-D): establish a look-up table of two input signals (linear peak matching)
Math (Mathematics module) math.mdl
Sum: Addition and subtraction
Dot Product: Dot product operation
Gain: proportional gain operation
Math Function: includes common mathematical functions such as exponential function, logarithmic function, square, root sign
Trigonometric Function: Trigonometric functions, including sine, cosine, tangent, etc.
MinMax: most value operation
Abs: Take the absolute value
Sign: symbolic function
Logical Operator: logical operation
Relational Operator: Relational Operator
Complex to Magnitude-Angle: From complex input to amplitude and phase angle output
Magnitude-Angle to Complex: composite output from amplitude and phase angle input
Complex to Real-Imag: From complex input to real and imaginary output
Real-Imag to Complex: real and imaginary components are combined into complex output
Nonlinear (non-linear module) nonlinear.mdl
Saturation: Saturation output, so that the output can be saturated when it exceeds a certain value.
Relay: Hysteresis comparator, limiting the output value to change within a certain range.
Switch: Switch selection, when the second input is greater than the critical value, the output comes from the first input, otherwise the output comes from the third input.
Manual Switch: manual selection switch
Signal&Systems (signal and system modules) sigsys.mdl
In1: input terminal.
Out1: output terminal.
Mux: Convert multiple single inputs into a composite output.
Demux: Convert a composite input into multiple single outputs.
Ground: Connect to the input that is not connected.
Terminator: Connect to the output that is not connected.
SubSystem: Create a new encapsulation (Mask) function module
Sinks (receiver module) sinks.mdl
XY Graph: Display two-dimensional graph.
To Workspace: Write the output to MATLAB's workspace.
To File(.mat): Write the output to a data file.
Sources (input source module) sources.mdl
Constant: Constant signal.
Clock: Clock signal.
From Workspace: Workspace from MATLAB.
From File(.mat): From the data file.
Pulse Generator: Pulse generator.
Repeating Sequence: Repeating signal.
Signal Generator: Signal generator, can generate sine, square wave, sawtooth wave and random wave.
Sine Wave: Sine wave signal.
Step: Step wave signal.
Ramp: Ramp signal.
FPGA Spartan-3A Family 400K Gates 8064 Cells 667MHz 90nm Technology 1.2V 256-Pin FTBGA
CPLD CoolRunner -II Family 6K Gates 256 Macro Cells 256MHz 0.18um Technology 1.8V 208-Pin PQFP
CPLD CoolRunner -II Family 6K Gates 256 Macro Cells 152MHz 0.18um Technology 1.8V 132-Pin CSBGA
CPLD CoolRunner -II Family 6K Gates 256 Macro Cells 152MHz 0.18um Technology 1.8V 256-Pin FTBGA
FPGA Spartan-3A Family 400K Gates 8064 Cells 770MHz 90nm Technology 1.2V 256-Pin FTBGA