Real-Time Signal Processing: Implementation and ... - MetaLab

photohomoeopathAI and Robotics

Nov 24, 2013 (3 years and 6 months ago)

79 views

Real
-
Time Signal
Processing:
Implementation and
Application

Contents:

What does real
-
time signal processing
mean?

Why use real
-
time signal processing?

Platforms for implementation

Implementation on Texas Instruments
C6711 DSP

Applications (concentration on biomedical)


Real
-
Time Signal Processing

Ability to collect, analyze, and modify
signals in real
-
time

Real
-
Time: As these signals are occurring

In other words, we want to analyze and
process signals while collecting them, not
at a later time.

Signal

Real
-
Time

Signal

Processor

Refined

Data

Contents:

What does real
-
time signal processing
mean?

Why use real
-
time signal processing?

Platforms for implementation

Implementation on Texas Instruments
C6711 DSP

Applications (concentration on biomedical)


Why Use Real
-
Time Processing

Conventional methods:

Data collected at some location

Once all of data is collected, it then has to
be processed in order to have usable
information

Quite frequently, data is collected and
processed in two separate locations



Collector

Signal

Raw Data

Processor

Refined

Data

Why Use Real
-
Time Processing

Results:

Time and money lost

Possibility of different machines to do
collecting and processing

Possibility of even different
organizations/companies doing collecting
and processing



Why Use Real
-
Time Processing

Real
-
Time Method:

Data is
collected, analyzed
and

processed

all in
one location
, on
one machine

Signal

Real
-
Time

Signal

Processor

Refined

Data

Why Use Real
-
Time Processing

Results:

No cost of money or time on movement of
data

No cost of separate machines to collect
and process

Ability to produce results much faster


Contents:

What does real
-
time signal processing
mean?

Why use real
-
time signal processing?

Platforms for implementation

Implementation on Texas Instruments
C6711 DSP

Applications (concentration on biomedical)


Platforms for Implementation

Four Categories:

Software/PC (MATLAB/LabView)

Firmware/Hardware (DSPs)

Hardware (FPGA/Digital Circuits)

System Level Processors




Platforms for Implementation

Which is Right for Me?

Flexibility

Speed

Cost

Practicality

Each type has

benefits and drawbacks


Platforms for Implementation

Software/PC Based Signal Processing

MATLAB/Simulink

LabView

Numerous other software applications

Signal collected by data acquisition
hardware

Processed by software application

Platforms for Implementation

Benefits of Software

Flexible

Resilient

Overall easier to use




Platform for Implementation

Drawbacks of Software

Expensive

Slow

Requires additional platform to run on (PC
for example)

Requires additional hardware to collect
data



Platforms for Implementation

Hardware

Programmable Logic Devices

Field Programmable Gate Arrays (FPGAs)

Digital Circuits consisting of ICs and other
components

Signals are collected and processed by
hardware



Platforms for Implementation

FPGA Developers

Xilinx (www.xilinx.com)

Altera (www.altera.com)


Platforms for Implementation

FPGAs
:

Programmable

logic

chip

Thousands of
gates


Platforms for Implementation

Benefits of Hardware

Fast

Inexpensive


Platforms for Implementation

Drawbacks of Hardware

Fragile

Difficult to use

Requires knowledge of all aspects of its
functioning and components

Platforms for Implementation

Firmware/Hardware Based Signal
Processing

Digital Signal Processor (DSP)

Embedded code to run DSP (Firmware)

Signal both collected and processed by
DSP

“Middle of the road” between software and
strictly hardware platforms



Platforms for Implementation

DSP Developers

Texas Instruments (www.ti.com)

Motorola (www.motorola.com)

Analog Devices (www.analogdevices.com)


Platforms for Implementation

DSPs:

Microprocessor specifically designed for
signal processing applications


Good at arithmetic operations
(multiplication/division)

Mostly programmed with Assembly and C
through Integrated Development
Environment (IDE)

Similar to writing programs for software
applictions

Platforms for Implementation

Benefits of DSPs

Faster than software

Less expensive than software

More flexible than hardware

Easier to use than strictly hardware
platforms

Platforms for Implementation

Drawbacks of DSPs

Not as straightforward as software


Need knowledge of hardware and how it works
(registers/memory map)

Still has some limitations on speed when
compared to strictly hardware (CPU
overhead/Memory access)




Platforms for Implementation

Code Generation Applications

Mathworks

Ability to take code written for applications
like MATLAB or Simulink block diagrams
and download them directly to a particular
DSP platform.

Platforms for Implementation

Mathworks

Real
-
Time Workshop


Generate efficient ANSI C code from Simulink
for downloading to a DSP

Embedded Targets


Provides for rapid development and efficient
ANSI C code from Simulink for a specific DSP


Embedded target for TIC6000 DSP Platforms

www.mathworks.com

Platforms for Implementation

Embedded Target for TIC6000 DSP
Platforms

Platforms for Implementation

System Level Processors

Hardware systems that work with
MATLAB/Simulink

Enable simulation of real
-
time systems
along with implementation in hardware

Opal
-
RT

dSpace

Platforms for Implementation

Opal
-
RT

Simulators for mostly power and control
applications


Aerospace


Automotive


Power Systems


Industrial


Robotics and Controls

RT
-
LAB


Platforms for Implementation

RT
-
Lab

Real
-
Time simulation

Ability to transfer
product developed
through simulation to
embedded target

Works with Simulink
and LabView

Compatible with
programming
languages such as
Visual Basic and C++

www.opal
-
rt.com





Platform for Implementation

RT
-
Lab

Platforms for Implementation

dSpace

IDE to develop
control systems in
real
-
time

TargetLink

www.dspace.de



Platforms for Implementation

TargetLink

Convert MATLAB/Simulink/Stateflow model
specs into efficient ANSI C code.


Platform for Implementation

TargetLink

Contents:

What does real
-
time signal processing
mean?

Why use real
-
time signal processing?

Platforms for implementation

Implementation on Texas Instruments
C6711 DSP

Applications (concentration on biomedical)


TI C6711 Overview

In form of development kit (DSK) for
development purposes

DSK includes supporting hardware such as
A/D conversion, External Memory Interface
(EMIF), parallel port connection, etc.

Member of TI C6000 family of DSPs

High Performance DSPs

Performance audio and imaging
applications


TI C6711 Overview

TI C67xx DSP

Floating point DSPs

100
-
, 150
-
, 167
-
,
200
-
MHz clock

600


1350
MFLOPS

VLIW Architecture



Highly parallel


Emphasizes
maximum code
perfomance

TI C6711 Overview

TI C67xx DSP

Orthogonal multiplier and arithmetic units
provide many execution resources to the
assembler and compiler optimizer

Total of eight functional units are allowed to
run in parallel or serial/parallel combination

Results: Fewer program fetches, smaller
code size, and a reduction in power
consumption


TI C6711 Overview

C6711 DSK



TI C6711 DSK

Data/Program Memory

32Kbits L1D Cache (Direct), 32Kbits L1P
Cache (2
-
Way set associative), 512Kbits
L2 RAM/Cache

16 channel EDMA

32 bit EMIF

2 Multichannel Buffered Serial Ports
(McBSPs)

1.8V core supply/3.3 V IO supply


Implementation on C6711 DSK

Code written, compiled/assembled and
built on PC in IDE and downloaded
through parallel port to DSK

DSP stores code in different sections for
memory as directed in linker command file

External RAM, Stack, Internal RAM (Cache), etc.

IDE: Code Composer Studio (CCS)

Implementation on C6711 DSK

Code Composer Studio (CSS)

IDE specifically designed for TI DSPs

Allows programmer to use Assembly, C, or
even C++

In
-
line assembly is another option (higher
level assembly)

Code optimization


Assembly/In
-
line Assembly: 100%


C: 80
-
100%

Implementation on C6711 DSK

Code Composer Studio

DSP/BIOS


Gives programmer many avenues of insight
into program performance

Animation of graphs

Clock cycle counter

Profiler to locate bottlenecks


Real
-
Time Data Exchange (RTDX)


DSP will transfer data to PC in real
-
time


Only minor code adjustments necessary





Implementation on C6711 DSK

Code
Composer

Studio

Implementation on C6711 DSK

Implementation Example

Signal acquired from outside source
through A/D conversion and McBSP


int x = McBSP_read()

Discrete signal value is then processed
accordingly


Several input values may need to be
buffered for a time

DSP sends processed signal through
McBSP and D/A converter to output jack


McBSP_write(y)

Contents:

What does real
-
time signal processing
mean?

Why use real
-
time signal processing?

Platforms for implementation

Implementation on Texas Instruments
C6711 DSP

Applications (concentration on biomedical)


Applications

Very broad

Aerospace

Power

Automotive

Control systems

Biomedical

Biomedical Applications

Large amounts of signals are produced by
the human body (heart, brain, etc.)

Real
-
time signal processing can enable us
to understand the meaning of these
signals as they are occurring.

Results in better testing methods, better
diagnoses, prevention of fatal events.


Biomedical Applications

Distortion Product
Otoacoustic Emissions
(DPOAE) Testing

Auditory testing (focus
on infants)

Two sinusoids (f1, f2)
introduced into the
inner ear (f2 = 1.2*f1)

Cochlea returns low
level emission at
frequency fd = 2*f1
-
f2

Want to be able to
locate this frequency
among input sine
waves and noise

DPOAE

Conventional testing methods involve long
testing periods to collect enough data as
well as the necessity for a noiseless
environment

DPOAE Method

Fast technique (real
-
time)

High noise immunity (due to Dr. Ziarani’s
method of extraction of non
-
stationary
sinusoids)

DPOAE

DPOAE Implementation (Software)

Real
-
time simulations done in
MATLAB/Simulink environment


Electronic data sets used

Implementation in MATLAB/Simulink
environment through data acquisition
hardware


Clinical probe system from Etymotic Research
(www.etymotic.com)


Data Acquisition Board from National
Instruments (www.ni.com)

DPOAE Implementation

Next Step: DSP

Clinical prototype to perform DPOAE
testing

Same probe system from Etymotic
Research

Texax Instruments C6711 DSP

DPOAE Implementation

Results:

Low cost, fast, reliable means to test the
auditory response of humans in real
-
time