• Ingen resultater fundet

NUMERIC COMPUTATION

LARGE MODEL DEVELOPMENT

Models can be grouped into hierarchies to create a simplified view of components or subsystems

Simulink data objects enable you to create application-specific MATLABdata types for your Simulink models

Simulink Explorer GUI for viewing and editing data objects

Library Browser for convenient block selection

Intellectual property protection using S-functions (requires Real-Time Workshop®4.0)

Simulations can be run from the MATLAB command line, either interactively or in batch mode

Extensible Block Library

Simulink comes with more than 200 built-in blocks that implement commonly required modeling functions. The blocks are grouped into libraries according to their behavior:

Sources, Sinks, Discrete, Continuous, Nonlinear, Math, Functions & Tables, and Signals & Systems.

In addition, Simulink offers features for creating customized blocks and block libraries. You can customize not only the functionality of a block, but also its user interface, using icons and dialog boxes. For example, you can create blocks to model the behavior of specialized mechanical, circuit, or software components, such as motors, inverters, servo-valves, power plants, filters, tires, modems, receivers, or other dynamic components. Custom blocks can be saved in your own block library for future use and can be shared with work groups, vendors, and customers.

S-Functions

An S-function (system-function) is a custom code module that defines the behavior of a Simulink block. Simulink provides tem-plates for creating your own S-functions using existing or newly-developed code (C, Ada, Fortran, or MATLAB). Once you have created an S-function, you can include it in your model, using Simulink’s S-function block.

S-functions reduce the time required to model large-scale systems by allowing you to incorporate existing code into your

model. Simulink provides multi-port and multi-rate S-function support to enhance usability and permit different sample times (C and MATLABonly).

Masks

Simulink’s mask editor allows you to create a custom user interface, called a mask, for any subsystem or S-function block. The mask can include a custom icon, parameter dialog, online help, and initialization script. Custom masks allow you to tailor a block’s appearance and user interface for specific applications.

The Library Browser makes it easy to navigate through block libraries and then drag and drop selected blocks onto your model.

Simulink Data Objects

Simulink is used in many applications to create high-fidelity plant models of real-world systems and to design algorithms to control these systems. To represent these systems and algorithms more accurately, you can use Simulink data objects to define new MATLABdata types that are specific to your application and then use them as parameters and signals in your Simulink

models. You can view and edit all Simulink data with the Simulink Explorer.

Model Library Support

Model library support makes it easy to build and maintain libraries of customized blocks.

You can create a block whose properties are defined in the model library. Then, when you make a change to the library version of the block, the change propagates through any models that use that block.

The Simulink Explorer provides you with a graphical user interface for viewing and editing Simulink data objects.

Using the Simulink Explorer, you can view most classes of variables in the MATLABworkspace, and filter and sort variables by variable name and class. You can also view and edit property values.

The short-time fast Fourier transform (FFT) block is a masked subsystem in this model, built using the DSP Blockset. The parameters for the short-time FFT block are controlled through the dialog box (top right image). The block diagram for the detailed subsystem (center image) remains hidden from view until the user chooses to reveal it.

This feature makes it easy to reuse blocks across multiple systems, as well as systems with large numbers of models, and models with many levels. You can modify a block’s behavior and its attributes in every model simply by applying the change to the library source.

Configurable Subsystem Block

A Configurable Subsystem block represents any block contained in a specified library of blocks. Using the Configurable Subsystem block’s dialog box, you can specify which block in the library it represents. You can also specify the inputs and outputs of the selected block.

Configurable Subsystem blocks simplify the creation of models that represent families of designs. For example, suppose that you want to model an automobile that offers a choice of engines. To model such a design, you would first create a library of models of the engine types available with the car. You would then use a Configurable Subsystem block in your car model to represent the choice of engines. To model a particular variant of the basic car design, you need only choose the engine type, using the configurable engine block’s dialog. This enables you to rapidly swap design choices in and out of your model.

Short-Time

Library Browser (Windows only)—provides a tree-structured view of all block libraries installed on your system.

Model Browser (Windows only)—enables you to navigate your model hierarchically, and open systems directly in your model.

Finder dialog box—enables you to search Simulink models for objects that satisfy specified search criteria.

Block diagram zooming—greatly simplifies model viewing by allowing you to enlarge or shrink the view.

Scalar and Vector Connections

Simulink supports the modeling of single-input/single-output (SISO) and multi-input/

multi-output (MIMO) systems.

signals into a vectored signal bundle that can function as a data bus. The Demux block is used to disassemble vectored signals so that they can be accessed as individual signals.

The Bus Selector block provides support for larger models by making it easy to select a subset of signals from a bus defined by a Mux or another Bus Selector block.

Because most Simulink blocks support vectored operations, you can greatly reduce the number of blocks needed to model your system. This results in clean, simple, and easy-to-read block diagrams.

Matrix Signal Support

Many Simulink blocks accept or output matrix signals. A matrix signal is a two-dimensional array of signal elements

1

element represents the value of the corre-sponding signal element at the current time step. You can use Simulink source blocks (for example, Sine Wave or Constant) to generate matrix signals.

You can use the following Simulink blocks for matrix operations on matrix signals:

• The Product block supports both element-by-element and matrix multiplication and inversion of inputs.

• The Gain block supports matrix and element-by-element multiplication of the input signal by a gain factor. Both input signals and gain factors can be matrices.

You can use Simulink’s Mux and Demux blocks to multiplex matrix signals. For example, you can:

• Generate signal buses by feeding matrix signals into Mux blocks along with vector or scalar signals

• Manipulate the elements of a signal bus by splitting it into its components using a Demux block, and then connecting the demuxed signals to nonvirtual blocks, such as the Gain block

This Simulink model represents a digital control system for an aircraft. The Simulink debugger allows you to graphically diagnose modeling errors. The debugger lets you step through the simulation block by block, or run to a break-point. The currently executing block is displayed in yellow.

You can also display block states, block inputs and outputs, and other information while running a model.

Simulink debugger has both graphical and command-line user interfaces.

State-of-the-Art Integration Algorithms

The Simulink simulation engine offers numerous features for simulating large, challenging systems. Foremost among these is the set of integration algorithms, called solvers, that are based on the MATLAB ordinary differential equation (ODE) suite.

These solvers are well suited to continuous-time (analog), discrete-continuous-time, hybrid, and mixed-signal simulations of any size. In addition, they provide fast, reliable, and extremely accurate simulation results. For complete handling of discrete systems, the DSP Blockset is also recommended.

The solvers support differential algebraic equations (DAEs) with multichannel alge-braic loops. An algealge-braic constraint block facilitates the solution of a system in which an algebraic constraint applies to the govern-ing set of equations. The solvers also support stiff systems, systems with algebraic loops,

and systems with state events (such as discontinuities, including instantaneous changes in plant dynamics).

Conditionally Executed Subsystems

With Simulink, you can build and simulate models with subsystems that execute conditionally; and are therefore dependent upon controlling logic signals. The signals can either enable or trigger the execution of the subsystem.

Two blocks, the Trigger block and the Enable block, can be placed in any Simulink subsystem. An enabled or triggered subsys-tem includes an additional input signal to handle controlling logic.

When conditionally executed subsystems are disabled they are not executed during the simulation, which noticeably improves pro-cessing speed within multimode systems.

Event-Based Simulation Support

Simulink is tightly integrated with Stateflow®, the MathWorks’ solution for modeling event-To create a configurable subsystem, you first create a library of blocks representing the various block configurations. Then, within a model, you can choose a block from your library using the configurable subsystem's right-click menu.

Simulation

After building your block diagram in Simulink, you can debug it using the interac-tive Simulink debugger. Then, you can run interactive simulations and view the results live. The powerful suite of solvers available in Simulink make simulation results extremely accurate.

Simulink Debugger

The Simulink debugger is an interactive tool for locating and diagnosing errors in a Simulink model. It enables you to quickly pinpoint problems in your model by running simulations step-by-step and displaying intermediate block states and input and output values. The

Cmd.

between Simulink and Stateflow gives you the ability to model and simulate your system’s dynamic and event-driven behavior as a single, integrated system. (For example, Simulink and Stateflow share an integrated Finder.) Designers of automotive, aerospace, telecommunications, and many other types of embedded systems have a complete solution to perform faster, more accurate and extensive simulations of complex, large-scale systems.

You can use Stateflow charts to include supervisory control logic within your Simulink model for activating or deactivating conditionally executed subsystems in Simulink. The Stateflow chart receives input from the Simulink model, determines the actions to be taken, changes states appropriately, and sends logic signals to activate or deactivate the triggered and enabled subsystems in Simulink.

Data Typing

Simulink supports complex numbers for basic blocks and complex/real conversions.

In addition, the Data Type Conversion block allows you to convert a signal of one type (such as a float) to a signal of another type (int32, for example).

Many of the blocks in Simulink support several data types. The ability to specify the data types of a model’s signal and block parameters is particularly useful in real-time applications such as microcontrollers and DSPs. With this capability, you can specify the optimal data types required to represent signals, block parameters, and mathematical operations exactly as they are represented on these devices. Additionally, by choosing the appropriate data types for your model’s signals and parameters, you can dramatically increase the performance and decrease the size of code generated from the model. Supported data types are

cision floating point; signed and unsigned 8-, 16-, and 32-bit integers; and Boolean.

Audits and Revision Histories

Simulink models are compatible with standard configuration control software such as SCCS and RCS. As a result, audits and revision histories are easily maintained for large projects and for models shared within a multi-platform workgroup.

Analysis

Simulink includes many features for detailed system analysis. Key capabilities include: linearization, equilibrium point determination, animation, parameter optimization, and parametric analysis.

Extracting Linear Models

The dynamics of nonlinear block diagrams can be approximated through linearization, enabling you to apply design techniques that require linear model representations.

You can use Simulink’s linmodfunction to obtain linear state-space models from your block diagrams.

Animation

Simulink provides immediate access to MATLAB’s powerful 2-D and 3-D graphics and animation capabilities. You can use MATLAB to enhance your visual displays and gain deeper insight into your system’s behavior as the simulation progresses.

Integration with MATLAB

Because Simulink is built on top of MATLAB, it provides a unique development environment.

This system allows you to run simulations either interactively, using Simulink’s graphical interface, or systematically, by running sets of experiments in batch mode from the MATLABcommand line. You can then generate test vectors and analyze the results collectively.

Simulink is the foundation for a family of design solutions, spanning DSP, communications, control, and power system design.

Companion products include:

• Real-Time Workshop for code generation

• Stateflow for event-driven systems and logic design

• Simulink Performance Tools for simulation acceleration and more

• Block libraries for specialized applica-tions, such as the DSP Blockset, the Fixed-Point Blockset, the Power System Blockset, and the

Communications Blockset.

9320v02 10/00 For demos, application examples, tutorials, user stories, and pricing:

• Visit www.mathworks.com

• Contact The MathWorks directly US & Canada 508-647-7000 Benelux +31 (0)182 53 76 44 France +33 (0)1 41 14 67 14 Germany +49 (0)89 995901 0 Spain +34 93 362 13 00 Switzerland +41 (0)31 954 20 20

UK +44 (0)1223 423 200

Visit www.mathworks.comto obtain contact information for authorized MathWorks representatives in countries throughout Asia Pacific, Latin America, the Middle East, Africa, and the rest of Europe.

Tel: 508.647.7000 info@mathworks.com www.mathworks.com

© 2000 by The MathWorks, Inc. MATLAB, Simulink, Stateflow, Handle Graphics, and Real-Time Workshop are registered trademarks, and Target Language Compiler is a trademark of The MathWorks, Inc. Other product or brand names are trademarks or registered trademarks of their respective holders.

The Communications Blockset builds upon the Simulink®system-level design environ-ment by providing more than 150 blocks to model the components of a communications system’s physical layer.

Example systems that can be designed with the Communications Blockset include cellular handsets and base stations, cordless phones, digital subscriber lines (DSLs), cable and dial-up modems, local area net-works (LANs), wireless LANs, digital video broadcasting and satellite systems. The blockset can also be used for system-level design of the semiconductors used in such products. Other applications include the design of read channels for mass storage devices such as tape drives, disk drives and DVDs.

The blockset is used in conjunction with other MathWorks products including the DSP Blockset and the Communication Toolbox. For large models or long simulation runs, the Real-time Workshop® can generate a stand-alone C executable.

You can also design the link layer of your communications system in Stateflow,® the MathWorks control logic design tool.

The Simulink Environment

Performing system-level design with Simulink and the Communication Blockset allows the rapid high-level design and testing of complete end-to-end communica-tions systems. You can easily explore ideas and evaluate tradeoffs early in the design process. The resultant validated design can be used as an executable specification or reference model for the hardware or embedded software design stage.

CONTINUED ON BACK PAGE

KEY FEATURES

Convolutional coding including a posteriori probability (APP) and Viterbi decoders

Block coding with Reed-Solomon, Hamming, BCH, and general cyclic and linear codes

Block and convolutional interleaving libraries that support general interleaving, as well as several special cases

Baseband and passband digital modulation libraries including amplitude modulation (PAM, QAM), frequency modulation (FSK), and phase modulation (PSK, DPSK)

A continuous phase modulation (CPM) library including CPSK, MSK, GMSK and partial response techniques

Typical channel models including binary symmetric, additive white Gaussian noise (AWGN), Rician and multipath Rayleigh fading

Sequence operations for the manipulation of data including conversion, repeating, phase shifting, interlacing, and puncturing

Display devices such as eye-diagram and scatter plot to visual-ize modulated signals and an error meter to calculate bit or symbol error rates

Full C source code for all transmitter and receiver blocks allowing you to modify or add other proprietary functionality

Signal sources for the generation of test signals

AWGN

for designing and simulating communication systems with Simulink