TECHNICAL UPDATES
 
New Product
 

Embedded IDE Link™ MU (for Green Hills® MULTI®)
Build, test, and optimize code for embedded microprocessors using Green Hills® MULTI®

Embedded IDE Link™ MU automatically deploys code generated from Simulink® models into the Green Hills® MULTI® integrated development environment (IDE). The code can be executed on a wide range of microprocessors supported by MULTI, including Freescale™ MPC5554 and MPC7447, NEC® V850, and Analog Devices® Blackfin®.

With the Embedded IDE Link MU product, you can run processor-in-the-loop simulation tests in MULTI using your Simulink model as the test harness. You can also use MATLAB® to interactively graph and analyze results while you test and debug code within MULTI, regardless of whether the code was hand-written or generated from a Simulink model.

An example of high-speed bidirectional communication between MATLAB® & Simulink® and MULTI®.


Key Features

  • Connects MATLAB® and Simulink® to Green Hills® MULTI® using high-speed interfaces
  • Supports PowerPC® and other popular microprocessors from Freescale™, NEC® and Analog Devices®
  • Enables processor-in-the-loop (PIL) testing for object code verification
  • Creates projects and downloads them automatically to instruction-set simulators or embedded hardware
  • Offers real-time support for popular microprocessors including Freescale™ MPC5554 and Analog Devices® Blackfin®

For more information about Embedded IDE Link™ MU, please visit the following URL:
http://www.mathworks.com/products/linkmu/index.html

 
 
Products Updates
 

SystemTest and Distributed Computing Toolbox Integration
SystemTest is a testing framework for developing test sequences and automatically exercising MATLAB algorithms and Simulink models. It provides predefined steps to build test sequences to simplify the development and maintenance of standard test routines. You can save and share test sequences throughout a development project to ensure standard and repeatable test verification, from research and development to pre-production testing.

In R2007b, SystemTest 2.0 combined with Distributed Computing Toolbox allows you to distribute your test to multiple processors. These processors can reside in one multiprocessor computer or, when the toolbox is used with MATLAB Distributed Computing Engine (available separately), on a computer cluster. You can distribute Main Test iterations as tasks, which are performed simultaneously by different processors.

Distributing a test to multiple processors or machines can speed up the total time a test takes to execute. This can enable you to run more test cases in the same amount of time as a test run on one processor.

No changes to the existing TEST-file or additional lines of code are necessary. When you run a distributed test, the test executes as shown in the following diagram:

Steps 1 - 2 : Pre Test executes once, on the client machine (the machine from which you run the
  test).
Steps 3 - 7 : Main Test iterations execute on the workers. Test results are saved at the end of each
  Main Test iteration and returned to the client machine once all Main Test iterations
  have finished executing.
Step 8 : Post Test runs once on the client machine. Generated plots are not shown on the
  client machine while the test runs, but are captured and displayed in the Test Report.

For more information about SystemTest and Distributed Computing Toolbox Integration, please visit the following URL:
http://www.mathworks.com/access/helpdesk/help/toolbox/systemtest/brbact3.html

 
 
Tips and Techniques
 

Accelerate Systematic Testing and Analysis of MATLAB® Algorithms with
SystemTest 2 and Distributed Computing Tools
Quite often engineers will have to model their systems with different scenario so as to verify and validate their designs against the requirements. To do so, they will have to perform countless simulations with hundreds or thousands set of parameters which might take weeks or months to complete.

With SystemTest, engineers can now design and share tests ensuring standard and repeatable test verification from research and development through preproduction. When used with Distributed Computing Toolbox, SystemTest can run test iterations on multiple processors or machines thereby shorten the time required for the entire analysis routine.

The example below illustrates how to deploy SystemTest for a parameter-selection problem. Refer to the simple low-pass filter circuit illustrated below:

User can model this circuit using Node Analysis to compute the transfer function as shown here:

Assuming you were tasked to determine the values of L1, L2 and C1 such that the desired frequency response of the low pass filter is as shown below. This low pass filter has a cut-off frequency at 1 rad/sec.

You might want to simulate the frequency response of the filter circuitry, which can be easily modeled as a MATLAB function, by simulating over a range of L1, L2 and C1 values as shown below. Then we can do correlation to compare the similarity between the obtained and the desired frequency response.

L1= [1:0.2:5] (21 values)
L2= [1:0.2:5] (21 values)
C1= [1:0.2:3] (11 values)

If we were to manually feeding in different possible combinations of L1, L2 and C1, then the total number of simulations is given by:

Total combination of L1, L2 and C1 = 21 x 21 x 11
  = 4851

It is not easy to test all 4851 of parameters. Testing routine program will be needed. And to substitute each combination of L1, L2 and C1 one by one is very time consuming. Hence, we can make use of SystemTest to repetitively test the model with different combination of L1, L2 and C1 and explore how the model would respond to varying value of L1, L2 and C1. SystemTest provides a graphical integrated environment that you can use to create and edit tests. We can set the range for L1, L2 and C1 as different test vectors.

SystemTest will help you to compute all the possible combinations of L1, L2 and C1 automatically. Hence, we do not need to manually write a testing routine. We can define our transfer function (MATLAB Script) in the Main Test to test with different combinations of L1, L2 and C1.

Running the test in the single computer will be time consuming. We can utilize the distributed Computing Toolbox to distributing a test to multiple processors or machines to speed up the total time a test takes to execute. This can enable us to run more test cases in the same amount of time as a test run on one processor. We can just enable the distributed computing as diagram below:

By utilizing multiple processor of processing power, we speed up our simulation time to 1.5 minutes compare to using single computer that take about 20 minutes which is 10 times faster (depends on how many processor you are using, it can up to hundreds or thousands times faster).

For more information about SystemTest and Distributed Computing Toolbox Integration, please visit the following URL:
http://www.mathworks.com/products/systemtest/


Streaming Video Images from Image Acquisition Device
With Image Acquisition Toolbox, MATLAB users can now easily acquire real-time live images from image acquisition device directly to either MATLAB or Simulink.

Option 1: MATLAB Approach
In MATLAB, it involves the following steps:

1. Identifying Installed Adaptors

>> imaqInfo = imaqhwinfo
 
imaqInfo =
 
  InstalledAdaptors: {'coreco' 'winvideo'}
    MATLABVersion: '7.5 (R2007b)'
      ToolboxName: 'Image Acquisition Toolbox'
    ToolboxVersion: '3.0 (R2007b)'


2. Obtaining Device Information

>> hwInfo = imaqhwinfo('winvideo')
 
hwInfo =
 
AdaptorDllName: 'D:\MATLAB\R2007b\toolbox\imaq\imaqadaptors\win32\mwwinvideoimaq.dll'
AdaptorDllVersion: '3.0 (R2007b)'
AdaptorName: 'winvideo'
DeviceIDs: {[1] [2]}
DeviceInfo: [1x2 struct]


3. Setting up Device Properties

>> vid = videoinput('winvideo',1)
 
Summary of Video Input Object Using 'Creative WebCam NX Ultra'.
 
  Acquisition Source(s): input1 is available.
 
  Acquisition Parameters: 'input1' is the current selected source.
        10 frames per trigger using the selected source.
        'RGB24_320x240' video data to be logged upon START.
        Grabbing first of every 1 frame(s).
        Log data to 'memory' on trigger.
 
    Trigger Parameters: 1 'immediate' trigger(s) on START.
 
      Status: Waiting for START.
        0 frames acquired since starting.
        0 frames available for GETDATA.

To set a device property, i.e. frame rate to 15 frames per second:

>> set(vid,'FramesPerTrigger',15)


4. Preview Image

>> preview(vid);


Option 2: Simulink Approach
In Simulink, the same steps are performed in the property dialog as shown below:

Comparison between MATLAB and Simulink
From the examples above, you'll notice that the second approach do not involve any MATLAB scripting. This is because Simulink uses a graphical point-and-click approach which makes developing real-time video processing application much quicker as compared to the conventional approach.

 
 
EVENTS & TRAINING
 

Learn and do more with MATLAB & Simulink

'Real-Time Workshop Fundamentals' training workshop

Workshop Highlights:
This 1-day hands-on workshop provides a working introduction to automatic code generation with Real-Time Workshop and its add-on products. The workshop is designed for Simulink users who intend to use Real-Time Workshop for real-time application development. Themes of real-time validation, rapid prototyping, and embedded software development are explored in the context of model-based design. Topics include:

  • The Roles of Real-Time Workshop
  • Nonreal-Time Applications with Simulation Targets
  • Real-Time Execution Considerations
  • Rapid Prototyping with Real-Time Windows Target
  • Real-Time Applications with xPC Target
  • ANSI/ISO C Code Generation with Generic Targets
  • Software Deployment with Embedded Target for Motorola® MPC5

In-house or customized training is also available on request, please contact Activemedia at 6742-8173 for details. Other relevant training courses provided by Activemedia include:

- Comprehensive MATLAB
- Advanced MATLAB Programming Techniques
- Building GUIs with MATLAB
- Applying Image Processing Techniques with MATLAB and SIMULINK
- Applying Neural Network with MATLAB

 
 
Visit www.activemedia.com.sg or Contact us at:
Singapore:
(65) 6742 8173
enquiry@activemedia.com.sg
Malaysia:
(60) 3 7880 8522
enquiry@activemedia.com.my
Thailand:
(66) 2 612 9390-1
info@activemedia.in.th

 
 
Customer Applications
 

Carleton University Develops New Technology to Help Prevent Unauthorized WiFi Network Access with MATLAB and the Anritsu Signature High Performance Signal Analyzer

To acquire, process, and classify real RF data more efficiently
Use MATLAB with the Anritsu Signature High Performance Signal Analyzer to acquire signal measurements and perform data processing and analysis for RF fingerprinting
• Data acquisition and preprocessing reduced from days to minutes
• Detection accuracy increased
• Application memory usage decreased
 


Most wireless networks (WiFi) based on 802.11 standards offer data encryption, password-protection, and other media access control. Even with such security measures, however, unauthorized users within the signal's range can still gain network access.



MATLAB installed on the Anritsu Signature High Performance Signal Analyzer.

Researchers at Carleton University in Ottawa, Ontario are working to prevent such unauthorized access by fingerprinting WiFi transceivers based on the unique RF signal's characteristics. To create a transceiverprint, a fingerprint of a transceiver, researchers characterize a transceiver's signal before matching it with a list of existing transceiverprints.

They are using MATLAB with Anritsu's Signature High Performance Signal Analyzer throughout the WiFi fingerprinting process to quickly acquire, process, and classify the WiFi measured signals.

 

Challenge

In the initial stage of the project, Carleton captured, preprocessed, and classified the RF signals of fifteen WiFi transceivers from six manufacturers. For the next stage, researchers needed to acquire and analyze the signals of a much larger number of transceivers, which was no longer manageable via their current process.

"In that system set-up, we would spend two days just importing and preprocessing the enormous amount of data that we captured," says Jeyanthi Hall, a doctoral candidate at Carleton University's School of Computer Science.

In the original set-up, the process involved capturing the data in an external device, manually reformatting and importing the data into MATLAB, and removing anomalous signals. With multiple captures from this larger group of transceivers, this exercise would extend research time by weeks.

"With the tight integration between MATLAB and the Anritsu Signature High Performance Signal Analyzer, transferring the data to MATLAB is now automated and has dramatically reduced our data acquisition and preprocessing time."

Jeyanthi Hall,
Carleton University

 

Solution

Hall and her supervisors, Michel Barbeau and Evangelos Kranakis, are automating the data acquisition and preprocessing phases with MATLAB and the Anritsu Signature.

"With the integration of MATLAB with the Anritsu Signature High Performance Signal Analyzer, the data automatically appears in the MATLAB environment," explains Eric Hakanson, a product manager at Anritsu. "Users can focus on getting the answers they want, instead of figuring out how to input and output the data."

The Carleton research team uses an Anritsu Signature to capture WiFi RF signals and transfer the resulting IQ vectors into MATLAB, which can run on the instrument. "MATLAB functions preprocess the data and extract a set of transceiverprints from amplitude, frequency, and phase components. The profiles are then created using a subset of the transceiverprints. Hundreds of remaining transceiverprints are classified in minutes," states Hall. "The integration with MATLAB makes the whole data acquisition and preprocessing phases much more efficient."

They use MATLAB, the Signal Processing Toolbox, and the Neural Network Toolbox to support the implementation of the project.

The Signal Processing Toolbox enables the team to plot and analyze the captured signals in the time and frequency domains.

To increase the accuracy of matching and classifying WiFi transceiverpints to existing profiles, Carleton uses MATLAB to develop a statistical classifier and Bayesian filter. This enables them to detect intruders by identifying the transceiver model and manufacturer that had transmitted the signal. The researchers also use the Neural Network Toolbox to develop a self-organizing map for selecting transceiverprints for the profile.

Carleton researchers will use MathWorks tools with their Anritsu Signature in the next stage of the project, which will include more than 100 WiFi transceivers and an increased number of signal characteristics to analyze, thus further refining the fingerprinting process.

With the continued support of the Natural Sciences and Engineering Research Council of Canada (NSERC) and Mathematics of Information Technology and Complex Systems (MITACS), Hall and her supervisors plan to evaluate the implementation of their algorithms on a customized hardware platform.

"We've received a lot of interest commercially for this application," says Hall. "Using MATLAB and Simulink, we will eventually demonstrate how a signal is received, fingerprinted, and matched online."

 

Results

  • Data acquisition and preprocessing reduced from days to minutes. "Now, the measurements of the signals are sent directly to MATLAB where they are preprocessed," says Hall. "A process that took days now takes a few minutes."
     
  • Detection accuracy increased. "In the first stage of the project, we were successful in correctly detecting and classifying 94% of the transceiverprints," explains Hall. "MATLAB and the Anritsu Signature make acquiring and analyzing signal characteristics easier and will enable us to achieve an even higher success rate."
     
  • Application memory usage decreased. "With MATLAB and the Neural Network Toolbox, we rapidly explored different options and created a statistical classifier that decreased memory requirements while increasing application performance," explains Hall.

Products Used

MATLAB®
Neural Network Toolbox
Signal Processing Toolbox
Simulink®