Mathworks Symposium 2008


Jump to: navigation, search
Mathworks Symposium 2008
Green carrot left.gif
Green carrot.jpg
In order to prevent spam, users must register before they can edit or create articles.

Mathworks Symposium: Adopting Model-Based Design within Aerospace and Defense - May, 2008 Tempe, AZ

Mathworks offers symposiums from time to time. This particular syposium was on the use of modeling from the very beginning of the design process. The Mathworks usually provides good material as well as at least 1 plug for a specific toolbox in every half hour. Some of that just has to be tolerated.

Mathworks Symposium: Adopting Model-Based Design within Aerospace and Defense
Agenda Notes
8:30 - 9:00 Best Practices for Establishing a Model-Based Design Culture Jon Friedman, Mathworks
  1. Use models for production code generation
  2. Treat models as sole source of truth
  3. Use migration as learning opportunity
  4. Focus on design, not on coding
  5. Integrate the development process
  6. Designate champions with influence, expertise, and budgetary control
    • Business Champion
    • People and tools
    • Technical Champion
    • Training and technical hurdles
  7. Have a long-term vision
  8. Partner with your tool suppliers
    • Leverage Mathworks experience to make transistion easier
9:00 - 9:30 First Commercial Tiltrotor Takes Flight David King, Bell Helicopter
  • BA609 Tiltrotor
  • Model Based Design
  • Reduce number of design iterations
  • BA609 has twice the range and twice the speed
  • Currently flight testing
  • Development Challenges
  • Reduce first flight risk
  • Flights controls are digital so models of controls can be used directly
  • Design by prototyping
  • Use simulations early - helps with systems requirements and trades
  • Design iterations "heavily dependent" on simulation
  • Allowed for standardized, configuration controlled, multipdisciplinary models that whole company and partners can use
  • Used previous, similar aircraft such as the Osprey, for aerodynamics
  • Multi-disciplinary Analysis
  • Allowed for performance analysis of each design mission
  • No rudder, yaw is controlled through differential thrust to the rotors
  • Integrated modeling allowed for flight controls that reduce the pilots workload
  • This is done by moving some controls to the flight control so pilto doesn't have to worry about problems such as rotor flapping
  • Conversion Protection
  • As rotor go from vertical to horizontal (and vice versa) flight control maintains speed within known boundaries for stability relieving the pilot of this concern
  • Conclusion
  • Extensive use of iterative models
  • Minimum surprises in flight testing
  • Standardized approach through simulation
  • Standardization was required because it was a joint venture
9:30 - 10:00 Using Physical Modeling Tools to Design Power-Optimized Aircraft Tom Egel, Mathworks
  • Physical Modeling for Optimization of system and control
  • Correct modeling allows for trades
  • Trends in the Aerospace Industry
  • Fuel prices getting higher
  • Reduce emissions
  • Strategies
  • Technology
  • Electrical Actuation vs Hydraulic Actuation
  • Less loss, only on when needed, more reliable
  • Can electrical do everything? Can hydraulics be reduced and perform the same function?
  • Key to good trade studies
  • Example - Aileron Actuation System
  • How much force to move flap?
  • Compare performance of electrical and hydraulic actuation
  • Optimize the actuation system to the requirements
  • Verify requirements are met
  • Physical system remains the same, configurable subsystem (library block) is used for actuator swapping
  • Optimize control to follow position profile and remain with constraints for absolute force
  • Plugs for several toolboxes
  • Including Simulink Response Optimization for controller tuning
10:00 - 10:30 Accelerated Simulation of Communication Waveforms Using Parallel Computing Toolbox Brendan Garvey, General Dynamics, Inc.
  • Bit Error Rate (BER) Simulations
  • Parallel Computing Basics
  • Parallel for Monte Carlo
  • If simulation requires 1E7 symbols in order to form adequate BER then simulation can run on 10 workers with each simulating 1E6 symbols
  • Care must be taken to ensure individual simulations (on each worker) are statistically independent or uncorrelated
  • Parallel Random Number Stream
  1. No correlation between sequences on different processors
  2. Produce the same sequence for different numbers of processors
  3. For efficiency, avoid communication between processors
10:30 - 11:00 Developing Communications and ISR Systems Using MATLAB and Simulink Mike Donnivon, Mathworks
  • UAV
  • Pointing Tracking
  • Communications
  • Video
  • Integrate components to evaluate overal impact
  • Basic BER simulation using Forward Error Correction
  • Antenna trade through configurable subsystems
  • Pointing control for UAV
  • Plug for SimMechanics to reduce plant model development time
  • Trade between antenna choice and antenna pointing
  • Metric: BER
  • Video transmission
  • Use of video Compression is highly dependent on very low BER
  • A 5% BER makes compressed video unrecognizable
  • Well done image processing can identify commons points in each frame to compile a mosaic
  • Result of modeling is a change in encoding and Forward Error Correction
  • With expeected SNR and slower data rate, BER should be lower
  • Conclusion
  • Multi-disciplinary model, because everything is in MATLAB and Simulink, the models can be passed around
11:00 - 11:30 Networking

11:30 - 01:00 Master Class: Introduction to Parallel Computing with MATLAB
  • No Code Changes
  • Implicit
  • Optimum Toolbox
  • Genetic Algorithms
  • System Test
  • Parallel Tasking
  • Iterations must be order independent
  • Use in conjunction with profiler
  • Nested parfor-loops are forbidden
  • Usually the parfor goes on the tip for-loop
  • Commands
  • parfor command
  • job command
  • task command
  • findResource command
  • createJob command
  • createTask command
  • submit command
  • waitForState command
  • getAllOutputArguments command
  • destroy command
  • createMatlabPoolJob command
  • createParallelJob command
  • batch command
  • Distributed
  • Large Data Sets can be distributed across multiple machines
  • Commands
  • distribute command
  • pmode command
  • distributor command
  • drange command
  • gather command
  • lab2client command
  • Just In Time (JIT) compilation will cause a small hit to performance
  • For small jobs this can be very significant
  • For large, long running, jobs this is neglible

Note not everything speeds up. Sometimes the bottleneck is memory access not computation time.

01:00 - 01:30 Digital Payload Modeling for Space Applications Brad Watson, Lockheed Martin Company
  • Improve digital payloads on commercial spacecraft
  • Spaceworthy
  • Very high reliablility
  • Reconfigurable
  • Adjust to future needs
  • Highly Flexible
  • "On Demand" bandwidth allocation
  • Modular
  • Re-usable for many different programs
  • Unknown requirements lead to difficult design and constants rewrite of DSP algorithms
  • Modular space-worthy payload
  • 6 XILINX FPGAs with 3 voting (not Radiation hard, although I hear rumors of Radiation hard FPGAs coming Gabe 20:52, 6 May 2008 (CDT))
  • Radiation hard Actel FPGAs
  • Pointing control is such that the spacecraft can point communication beams to different parts of the globe to optimize usage
  • Parameterized MATLAB floating point model such that most any change in requirements could be handled
  • MATLAB model converted to Simulink
  • Simulink model used for prototyping
  • 3rd party vender blocks were inserted into original Simulink model in order to generate VHDL
  • Model Verification
  • VHDL was brought into Simulink model using EDA Simulator Link MQ tool
  • Conclusion
  • Took program from concept through functional, space-worhty hardware in approximately 1/5 years
  • MATLAB and Simulink were used for
  • Concept
  • Structural Model
  • VHDL Model
  • VHDL Code Integration
  • Functional Verification and Debugging
01:30 - 02:00 Solving Data Analysis Challenges Using MATLAB and Statistics Products Kevin Cohan, Mathworks
  • Volume of data presents problems when attempting to
  • Determine quality
  • Make decisions based on data
  • Workflow
  • Extensive simulations vs. Tested Prototype
  • Comparison of data to simulation results
  • Prefilter with Excel
  • Use MATLAB and home grown tools
  • Problems
  • Data Acquisition
  • Data and Process Management
  • Multiple tools made process unwieldly
  • Example
  • Wing Stress Analysis
  • Excel file containing data from 14 strain gages
  • Scatter plots for pairs of sensor as first level of data "goodness"
  • Automate this first level using "Statistical hypothesis testing"
  • kstest2 command from Statistical Toolbox
  • Cluster plot
  • Managing large data sets through the dataset object in the Statistcal Toolbox
  • Calculation of stress by integration of fit data
  • Plug for Curve Fitting Toolbox
  • Documentation
  • If m file is created in MATLAB editor with cell mode then publisher will generate a report automatically
  • publish command
  • Report will include m file comments (with formatting), MATLAB code, and intermediate data/plots
02:00 - 02:30 Model-Based Design for Safety-Critical Systems Bill Potter, Mathworks
  • Skipped - Highly dependent on toolboxes I don't have access to (Gabe)
02:30 - 03:00 Verification and Validation of Models and Code
  • Skipped - Highly dependent on toolboxes I don't have access to (Gabe)
03:00 - 04:30 Master Class: Introduction to Object-Oriented Programming in MATLAB Kevin Cohan, Mathworks
  • There are a lot of new features for Object-Oriented Programming in MATLAB version 2008a
  • Provided Demonstration Example: Weather Balloons transmitting data to stationary towers
  • Started with procedural implementation
  • Based on data saved to a structure
  • Introduction to Classes
  • Blueprint of an idea
  • Properties
  • Methods
  • Objects
  • Instance of a class
  • Define class
  • Class definition template
  • Properties
  • Create list of properties
  • Default values can be assigned at time of property creation
  • Encapsulation
  • Access to properties is set with using type of line properties (Access = _type_) where _type_ is one of the following
  • Public
  • Private
  • Protected
  • Constant
  • Dependent
  • These options are encapsulation
  • Inheritance
  • Inheritance is accomplished by making the first line of the class resemble classdef subclass < superclass1 & superclass2 & superclass3 & .... Where subclass is the new class and superclass is the class that subclass should inherit from.
  • Methods
  • Require function keyword
   function method1(thisClass)...
   function method2(thisClass, otherStuff)...
  • Methods can be accessed via function or "dot" syntax
 method2(thisClass, otherStuff)
  • 2008a provides pointer like behavior through the use of the Handle class
  • End of the day, not a lot of detail was provided