 |
| |
| |
| TECHNICAL
UPDATES
|
| |
| Products
Updates & information |
| |
|
New
communication link available from Tasking to MATLAB & Simulink
For
systems engineers developing embedded systems who want to
design, prototype and test specifications by executing automatically
generated code on actual embedded hardware using on-target
rapid prototyping, Link for TASKING allows users to quickly
deploy and validate automatically generated code from Simulink
on processors supported by TASKING (from Altium) such as Infineon
and ARM. Unlike manual solutions, Link for TASKING lets systems
engineers design and test detailed software specifications
for exchange with software groups or suppliers.
For
software engineers who want to implement and verify code generated
from Simulink using TASKING tools, Link for TASKING makes
it easy to deploy, verify and assess software using the Simulink
and TASKING environments. Unlike hand coded solutions, Link
for TASKING automates the manual tasks of integrating, building
and testing production code for embedded systems.
Key
features include:
|
 |
Links
MATLAB and Simulink to a TASKING environment through high-speed
bidirectional links |
 |
Supports
Infineon, STMicroelectronics, Renesas, ARM, Freescale
and other microprocessors |
 |
Enables
processor-in-the-loop (PIL) testing for object code verification |
 |
Supports
automatic code generation, building and downloading to
an instruction-set simulator or embedded hardware |
 |
Provides
MATLAB APIs to analyze and debug code generated automatically
or by hand |
 |
Includes
customizable templates for configuring hardware variants,
automating MISRA C-code checking and controlling the build
process |
| |
|
| |
|
|
Neural
Network Toolbox 5 provides a comprehensive suite of
advance features to help you design and manage your
networks
The
Neural Network Toolbox is a collection of GUIs and neural
network functions that extends MATLAB's capabilities
in designing, implementing, visualizing, and simulating
neural networks.
With
the latest Neural Network Toolbox Version 5.0, beginners
can now take advantage of the new interactive wizard,
"Neural Network Fitting Tool" to create a
neural network. Users do not to have prior experience
in developing neural network, as this wizard will walk
users through the overall process of creating a neural
network from fitting the user's data to training network.
|
| |
|
|
|
Figure
1: New Wizard, Neural Network Fitting Tool
|
| |
|
Advance
users can also benefit from this version, with the addition
of Dynamic Neural Networks. Now users have the flexibility
of implementing dynamic networks such as Time-Delay
Neural Network, Nonlinear Autoregressive Network (NARX),
and Layer Recurrent Network (LRN) instead of static
neural network.
|
| |
For
more information about Neural Network Toolbox please visit
the following URL:
http://www.mathworks.com/products/neuralnet/ |
| |
| To
learn more about Neural Network Toolbox through online
demos, please visit the following URLs: |
|
| a. |
Introduction
to the Neural Network Toolbox |
| |
|
| |
This
demo is suitable for beginners, as it shows the
functionalities and capabilities of the Neural
Network Toolbox in designing, simulating and implementing
neural networks in MATLAB and Simulink.
To
view the demo, click
here.
|
| |
|
| b. |
Classification
Using a Probabilistic Neural Network |
| |
|
| |
This
demo shows how Neural Network Toolbox can be used
for classification. A probabilistic neural network
is created to separate three input elements into
their associated classes. Then this network will
be used to classify a new element.
To
view the demo, click
here.
|
|
|
| |
| |
| Technical
Applications |
| |
|
Integrating
MATLAB with Bioperl and BioJava allows users to capitalize
on resources available in this shared-development community.
Bioinformaticists
require numerous programming and scripting resources to research
and process biological data. Many of these utilities are available
online through open-source associations such as bioperl.org
and biojava.org, while others
exist as custom-developed scripts and applications.
Linking MATLAB
to the Bioperl and BioJava utility libraries provides a clean
and powerful front end to this important shared-development
community and enables existing Perl and Java users to access
MATLAB tools in the Bioinformatics, Distributed Computing,
Image Processing, and Statistics areas.
The below example illustrates interoperability between MATLAB
and Bioperl. Specifically, it shows how to pass arguments
from MATLAB to Perl scripts and pull BLAST search data back
to MATLAB.
PLEASE NOTE: Perl and the Bioperl modules must be installed
to run the Perl scripts in this demonstration. Please see
http://www.perl.com/ and
http://bioperl.org/ for
current release files and complete installation instructions.
Introduction
Gleevec(tm) (STI571 or imatinib mesylate) was the first approved
drug to specifically turn off the signal of a known cancer-causing
protein. Initially approved to treat chronic myelogenous leukemia
(CML), it is also effective for treating gastrointestinal
stromal tumors (GIST). To learn more, visit: http://www.cancer.gov/clinicaltrials/digestpage/gleevec
Research has identified several gene targets for Gleevec including:
Proto-oncogene tyrosine-protein kinase ABL1 (NP_009297), Proto-oncogene
tyrosine-protein kinase Kit (NP_000213), and Platelet-derived
growth factor receptor alpha precursor (NP_006197).
target_ABL1
= 'NP_009297';
target_Kit = 'NP_000213';
target_PDGFRA = 'NP_006197';
Accessing
Sequence Information
You can load the sequence information for these proteins
from local GenPept text files using genpeptread.
ABL1_seq
= getfield(genpeptread('ABL1_gp.txt'), 'Sequence');
Kit_seq = getfield(genpeptread('Kit_gp.txt'), 'Sequence');
PDGFRA_seq = getfield(genpeptread('PDGFRA_gp.txt'), 'Sequence');
Alternatively,
you can obtain protein information directly from the online
GenPept database maintained by the National Center for Biotechnology
Information (NCBI).
ABL1_seq
= getgenpept(target_ABL1, 'SequenceOnly', true);
Kit_seq = getgenpept(target_Kit, 'SequenceOnly', true);
PDGFRA_seq = getgenpept(target_PDGFRA, 'SequenceOnly', true);
Calling
Perl Programs from MATLAB
From MATLAB, you can harness existing Bioperl modules to run
a BLAST search on these sequences. MW_BLAST.pl is a Perl program
based on the RemoteBlast Bioperl module. It reads sequences
from FASTA files, so start by creating a FASTA file for each
sequence.
fastawrite('ABL1.fa',
'Proto-oncogene tyrosine-protein kinase ABL1 (NP_009297)',
ABL1_seq);
fastawrite('Kit.fa', 'Proto-oncogene tyrosine-protein kinase
Kit (NP_000213)', Kit_seq);
fastawrite('PDGFRA.fa', 'PDGFRA alpha precursor (NP_006197)',
PDGFRA_seq);
BLAST
searches can take a long time to return results, and the Perl
program MW_BLAST includes a repeating sleep state to await
the report. Sample results have been included with this demo,
but if you have an Internet connection and want to try running
the BLAST search with the three sequences, uncomment the following
command. MW_BLAST.pl saves the BLAST results in three files
on your disk, ABL1.out, Kit.out and PDGFRA.out. The process
can take 15 minutes or more.
% perl('MW_BLAST.pl',
'blastp', 'pdb', '1e-10', 'ABL1.fa', 'Kit.fa', 'PDGFRA.fa');
The next
step is to parse the output reports, and find scores >=
100. You can then identify hits found by more than one protein
for further research; possibly identifying new targets for
drug therapy.
protein_list
= perl('MW_parse.pl', 'ABL1.out', 'Kit.out', 'PDGFRA.out')
Protein
Analysis Tools in the Bioinformatics Toolbox
MATLAB offers additional tools for protein analysis and further
research with these proteins. For example, to access the sequences
and run a full Smith-Waterman alignment on the tyrosine kinase
domain of the human insulin receptor (pdb 1IRK) and the kinase
domain of the human lymphocyte kinase (pdb 3LCK), load the
sequence data:
IRK
= pdbread('pdb1irk.ent');
LCK = pdbread('pdb3lck.ent');
Or bring
the data in from the Internet:
IRK
= getpdb('1IRK');
LCK = getpdb('3LCK');
Now perform
a local alignment with the Smith-Waterman algorithm. MATLAB
uses BLOSUM 50 as the default scoring matrix for AA strings
with a gap penalty of 8. Of course, you can change any of
these parameters.
[Score,
Alignment] = swalign(IRK, LCK, 'showscore', true);

MATLAB
and the Bioinformatics Toolbox offer additional tools for
investigation of nucleotide and amino acid sequences. For
example, pdbdistplot displays the distances between atoms
and amino acids in a PDB structure, while ramachandran generates
a plot of the torsion angle PHI and the torsion angle PSI
of the protein sequence. The toolbox function proteinplot
provides a graphical user interface (GUI) to easily import
sequences and plot various properties such as hydrophobicity.
To view
the example on using BioJava from within MATLAB, please visit
http://www.mathworks.com/products/demos/bioinfo/biojavademo/biojavademo.html
For more
information on the Bioinformatics Toolbox, please visit http://www.mathworks.com/products/bioinfo/index.html
|
| |
| |
| Tips
and Techniques |
| |
|
Maximize
MATLAB code performance with M-Lint Code Analyzer
Do you program in MATLAB? How do you maximize the performance
and maintainability of your codes? If you are a MATLAB programmer
and would like to make your codes run faster and more efficiently,
you might find M-Lint code analyzer very handy.
What
is M-Lint?
M-Lint code analyzer is a tool available in MATLAB that can
help you to verify the integrity of your codes and learn about
potential improvements. It can be accessed either automatically
from MATLAB Editor/Debugger interface, or run M-Lint report
from existing M-File or a directory of M-Files.
How
M-Lint works?
To use the M-Lint in MATLAB Editor/Debugger, perform the following
steps:
- Ensure
the M-Lint messaging is enabled: Select File ->
Preferences -> Editor/Debugger -> Language,
and for Language, select M, and then
select the Enable M-Lint messages check box.
To follow these instructions, be sure the associated preference
Underline warnings and errors is selected.
- Open
an M-File in the Editor/Debugger, the example below illustrate
a simple script on image processing:

- The
M-Lint message indicator at the top right edge of the window
conveys the M-Lint message reported for the file:
- Red
means syntax errors were detected.
- Orange
means warnings or opportunities for improvement were
detected, but no errors were detected.
- Green
means no errors, warnings, or opportunities for improvement
were detected.
- Click
on the M-Lint message indicator to go to next code fragment
containing the M-Lint message. To view the M-Lint message,
move the pointer anywhere within the underlined fragment,
as illustrated:
Make changes to your code as needed. The M-Lint indicator
and underlining automatically update to reflect the changes
you make, even if you do not save the file.
- Alternatively,
you can use the M-Lint message bar to view the messages
and go directly to the associated code fragments. Each marker
represents a line that has associated M-Lint messages. A
red marker means there is an
error at that line, while an orange
marker means there are warnings or suggested improvements,
but no errors at that line.

- After
making changes to address all M-Lint messages, the M-Lint
message indicator becomes green; which means there are no
further errors, warnings, or opportunities for improvement
were detected. Your MATLAB codes are now optimized in terms
of performance and maintainability.

For detail
information on M-Lint Code Analyzer functionality in MATLAB,
please kindly refer to the URL below:
http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_env/edit_d29.html#83378
|
| |
| |
| EVENTS
& TRAINING |
| |
|
MATLAB
Training by Experts
Accelerate
your learning with MATLAB and attend Activemedia's training
conducted by experts. MATLAB professional training series
include:
|
|
|
Comprehensive
MATLAB
|
3
Days
|
|
Advanced
MATLAB Programming Techniques
|
1
Day
|
|
Comprehensive
SIMULINK
|
3
Days
|
|
Advanced
SIMULINK Techniques for Effective System Modeling
|
1
Day
|
|
|
1
Day
|
|
SIMULINK
S-Functions for System Algorithm Modeling
|
1
Day
|
|
Object
Oriented Programming using MATLAB
|
1
Day
|
|
Applying
Image Processing Techniques with MATLAB and SIMULINK
|
2
Days
|
|
Applying
Communication Design with SIMULINK
|
2
Days
|
|
Applying
Control Design with MATLAB & SIMULINK
|
2
Days
|
|
Applying
Signal Processing with MATLAB & SIMULINK
|
2
Days
|
|
Applying
Neural Network with MATLAB
|
2
Days
|
|
Applying
Finite State Machine Modeling with STATEFLOW
|
1
Day
|
|
Data
Analysis & Statistics with MATLAB
|
2
Days
|
|
|
Featured
training: Data Analysis and Statistics using MATLAB
Engineers
and scientists often have significant quantities of data to
analyze. To reduce the time needed to analyze and understand
this data, they need the ability to explore and visualize
the data quickly, as well as the flexibility to develop custom
routines for their particular application.
Conducted
by Statistics and MATLAB veteran, Dr Zhang Jin-Ting,
this 2-day hands-on workshop provides engineers, researchers,
financial analysts, and statisticians an in-depth knowledge
in using MATLAB and the Statistics Toolbox for data analysis.
Topics include data file input and output, handling large
and incommensurate data sets, computing descriptive statistics,
statistical plotting and visualization, fitting distributions
to data, bivariate and multivariate regression, random number
generators, simulation, and basic inferential methods.
The workshop
is packed with examples and exercises that cover a cross-section
of application areas in science, engineering, and finance.
|
| |
|
|
| |
|
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
|
|
| |
|
User
Stories
BAE
Systems Achieves 80% Reduction in Software-Defined Radio Development
Time with Model-Based Design
|
|
To
develop a military standard SDR waveform for satellite
communications
|
|
|
Use
Simulink and Xilinx System Generator to rapidly design,
debug, and automatically generate code for an SDR signal
processing chain
|
|
|
Project development time reduced by 80%.
Problems found and eliminated faster.
Clocking and interfacing simplified. |
|
| |
|
The
U.S. military is expected to spend more than $1 billion
on software-defined radio (SDR) technology over the
next few years to ensure better communication and
interoperability among troops. To meet the demand,
defense contractors are exploring improved design
approaches for rapidly developing multimode, multiband,
and multifunctional wireless devices that can be reconfigured
with software updates.
Long
at the forefront of SDR technology, BAE Systems has
traditionally used a design flow that relied on hand-coding
FPGAs in VHDL. Recently, however, BAE Systems saw
an opportunity to evaluate this approach against Model-Based
Design using MathWorks and Xilinx tools. Running two
SDR waveform development efforts in parallel, they
found that Simulink and Xilinx System Generator dramatically
reduced development time.
|

Custom board used
in the traditional design workflow.
|
|
|
|
"Using
Simulink, we completed all simulation and debugging
in the model, where it is easier and faster to do,
before automatically generating code with Xilinx System
Generator," explains Dr. David Haessig, senior
member of technical staff at BAE Systems. "As
a result, we demonstrated more than a 10-to-1 reduction
in the time to develop the signal processing chain
of a software-defined radio. This really illustrates
the potential for improving development production
in SDR applications."
Challenge
BAE
Systems was tasked with developing a military standard
(MIL-STD-188-165A) satellite communications waveform
for implementation in a command, control, communications,
computers, intelligence, surveillance, and reconnaissance
(C4ISR) radio. At the same time, BAE Systems sought
to evaluate a new design flow for reducing development
time.
The
company would run two simultaneous development efforts-one
using a traditional design flow and the other using
tools for Model-Based Design. To ensure a fair comparison,
each effort would use an equivalent set of cores.
Running the two projects in parallel would enable
BAE Systems to directly evaluate its existing approach
with Model-Based Design on a real-world project.
"It
took 645 hours for an engineer with years of VHDL
coding experience to hand code a fully functional
SDR waveform using our traditional design flow. A
second engineer with limited experience completed
the same project using Simulink and Xilinx System
Generator in fewer than 46 hours."
|
|
Dr.
David Haessig,
BAE Systems
|
|
|
Solution
Working
with Xilinx, BAE Systems applied Model-Based Design
using Simulink and Xilinx System Generator to design
and deploy an MIL-STD-188 SDR waveform ten times faster
than with their hand-coding approach.
Concurrent with that effort, Robert Regis, a BAE Systems
engineer with more than 15 years of VHDL and software
experience, led a separate project using a traditional
design flow. In this project, Regis hand-coded VHDL
based on requirements and specifications developed
during a distinct systems engineering phase.
On
the project involving Model-Based Design, Andrew Comba,
a system engineer at BAE Systems, first developed
a model of the SDR transmitter and receiver in Simulink.
He accelerated model development by incorporating
blocks from the Communications Blockset, including
a scrambler, differential encoder, Reed Solomon encoder,
matrix interleaver, convolutional encoder, and quadrature
amplitude modulation (QAM) modulator.
Comba
handed the Simulink model off to Xilinx engineer Sean
Gallagher with a copy of the waveform specifications.
Gallagher, who started the project with no significant
communications systems experience, prepared the model
for automatic code generation using Xilinx System
Generator by substituting Xilinx blocks for standard
Simulink blocks.
After
simulating and verifying the updated model using data
visualization scopes and bit-error rate meters, Gallagher
used Xilinx System Generator and Xilinx ISE to automatically
generate VHDL code for the SDR and deploy it to an
FPGA for testing.
"Because
the design was fully simulated and verified using
the model, when downloaded to the FPGA, the SDR implementation
worked immediately," notes Haessig.
Based
on the success of this project's initial effort, BAE
Systems has begun a joint effort with The MathWorks,
Virginia Tech, Xilinx, and Zeligsoft to improve waveform
portability. This group is developing an interface
that enables code generated by Real-Time Workshop
or System Generator to be directly incorporated into
Software Communications Architecture (SCA) radios.
|
|
|
|
Results
- Project
development time reduced by 80%. "Using
Simulink and Xilinx System Generator we designed
and developed the signal processing chain of the
SDR and achieved a 10-to-1 reduction in development
time," says Haessig. "Overall project
time, including hardware integration and lab testing,
was reduced by more than 4-to-1."
- Problems
found and eliminated faster.
"With Model-Based Design, the Simulink model
is directly connected to the resulting code. This
forces the developer to capture all the required
waveform details in the model," notes Haessig.
"As a result, bugs are discovered and removed
early in the design flow at the modeling stage
not later at the VHDL behavioral test stage, which
can be difficult and time consuming."
- Clocking
and interfacing simplified. The traditional
design flow required engineers to generate all
clock timing by hand and to carefully examine
the specifications and interface requirements
for each component in the waveform. Haessig notes,
"With Simulink and Xilinx System Generator,
all the necessary clocking signals are generated
automatically, and components are easily connected,
without studying the spec sheet for details concerning
control, timing, and other option
|
|
Products
Used
Communications
Blockset
Real-Time
Workshop®
Signal Processing Blockset
Simulink®
»
Learn more
about BAE Systems
|
|
|
 |
|
|