2. Contents:Contents:
What does real-time signal processingWhat does real-time signal processing
mean?mean?
Why use real-time signal processing?Why use real-time signal processing?
Platforms for implementationPlatforms for implementation
Implementation on Texas InstrumentsImplementation on Texas Instruments
C6711 DSPC6711 DSP
Applications (concentration on biomedical)Applications (concentration on biomedical)
3. Real-Time Signal ProcessingReal-Time Signal Processing
Ability to collect, analyze, and modifyAbility to collect, analyze, and modify
signals in real-timesignals in real-time
Real-Time: As these signals are occurringReal-Time: As these signals are occurring
In other words, we want to analyze andIn other words, we want to analyze and
process signals while collecting them, notprocess signals while collecting them, not
at a later time.at a later time.
Signal
Real-Time
Signal
Processor
Refined
Data
4. Contents:Contents:
What does real-time signal processingWhat does real-time signal processing
mean?mean?
Why use real-time signal processing?Why use real-time signal processing?
Platforms for implementationPlatforms for implementation
Implementation on Texas InstrumentsImplementation on Texas Instruments
C6711 DSPC6711 DSP
Applications (concentration on biomedical)Applications (concentration on biomedical)
5. Why Use Real-Time ProcessingWhy Use Real-Time Processing
Conventional methods:Conventional methods:
Data collected at some locationData collected at some location
Once all of data is collected, it then has toOnce all of data is collected, it then has to
be processed in order to have usablebe processed in order to have usable
informationinformation
Quite frequently, data is collected andQuite frequently, data is collected and
processed in two separate locationsprocessed in two separate locations
Collector
Signal
Raw Data Processor
Refined
Data
6. Why Use Real-Time ProcessingWhy Use Real-Time Processing
Results:Results:
Time and money lostTime and money lost
Possibility of different machines to doPossibility of different machines to do
collecting and processingcollecting and processing
Possibility of even differentPossibility of even different
organizations/companies doing collectingorganizations/companies doing collecting
and processingand processing
7. Why Use Real-Time ProcessingWhy Use Real-Time Processing
Real-Time Method:Real-Time Method:
Data isData is collected, analyzedcollected, analyzed andand processedprocessed
all inall in one locationone location, on, on one machineone machine
Signal
Real-Time
Signal
Processor
Refined
Data
8. Why Use Real-Time ProcessingWhy Use Real-Time Processing
Results:Results:
No cost of money or time on movement ofNo cost of money or time on movement of
datadata
No cost of separate machines to collectNo cost of separate machines to collect
and processand process
Ability to produce results much fasterAbility to produce results much faster
9. Contents:Contents:
What does real-time signal processingWhat does real-time signal processing
mean?mean?
Why use real-time signal processing?Why use real-time signal processing?
Platforms for implementationPlatforms for implementation
Implementation on Texas InstrumentsImplementation on Texas Instruments
C6711 DSPC6711 DSP
Applications (concentration on biomedical)Applications (concentration on biomedical)
10. Platforms for ImplementationPlatforms for Implementation
Four Categories:Four Categories:
Software/PC (MATLAB/LabView)Software/PC (MATLAB/LabView)
Firmware/Hardware (DSPs)Firmware/Hardware (DSPs)
Hardware (FPGA/Digital Circuits)Hardware (FPGA/Digital Circuits)
System Level ProcessorsSystem Level Processors
11. Platforms for ImplementationPlatforms for Implementation
Which is Right for Me?Which is Right for Me?
FlexibilityFlexibility
SpeedSpeed
CostCost
PracticalityPracticality
Each type hasEach type has benefits and drawbacksbenefits and drawbacks
12. Platforms for ImplementationPlatforms for Implementation
Software/PC Based Signal ProcessingSoftware/PC Based Signal Processing
MATLAB/SimulinkMATLAB/Simulink
LabViewLabView
Numerous other software applicationsNumerous other software applications
Signal collected by data acquisitionSignal collected by data acquisition
hardwarehardware
Processed by software applicationProcessed by software application
13. Platforms for ImplementationPlatforms for Implementation
Benefits of SoftwareBenefits of Software
FlexibleFlexible
ResilientResilient
Overall easier to useOverall easier to use
14. Platform for ImplementationPlatform for Implementation
Drawbacks of SoftwareDrawbacks of Software
ExpensiveExpensive
SlowSlow
Requires additional platform to run on (PCRequires additional platform to run on (PC
for example)for example)
Requires additional hardware to collectRequires additional hardware to collect
datadata
15. Platforms for ImplementationPlatforms for Implementation
HardwareHardware
Programmable Logic DevicesProgrammable Logic Devices
Field Programmable Gate Arrays (FPGAs)Field Programmable Gate Arrays (FPGAs)
Digital Circuits consisting of ICs and otherDigital Circuits consisting of ICs and other
componentscomponents
Signals are collected and processed bySignals are collected and processed by
hardwarehardware
16. Platforms for ImplementationPlatforms for Implementation
FPGA DevelopersFPGA Developers
Xilinx (www.xilinx.com)Xilinx (www.xilinx.com)
Altera (www.altera.com)Altera (www.altera.com)
17. Platforms for ImplementationPlatforms for Implementation
FPGAsFPGAs::
ProgrammableProgrammable
logiclogic chipchip
Thousands ofThousands of
gatesgates
19. Platforms for ImplementationPlatforms for Implementation
Drawbacks of HardwareDrawbacks of Hardware
FragileFragile
Difficult to useDifficult to use
Requires knowledge of all aspects of itsRequires knowledge of all aspects of its
functioning and componentsfunctioning and components
20. Platforms for ImplementationPlatforms for Implementation
Firmware/Hardware Based SignalFirmware/Hardware Based Signal
ProcessingProcessing
Digital Signal Processor (DSP)Digital Signal Processor (DSP)
Embedded code to run DSP (Firmware)Embedded code to run DSP (Firmware)
Signal both collected and processed bySignal both collected and processed by
DSPDSP
““Middle of the road” between software andMiddle of the road” between software and
strictly hardware platformsstrictly hardware platforms
21. Platforms for ImplementationPlatforms for Implementation
DSP DevelopersDSP Developers
Texas Instruments (www.ti.com)Texas Instruments (www.ti.com)
Motorola (www.motorola.com)Motorola (www.motorola.com)
Analog Devices (www.analogdevices.com)Analog Devices (www.analogdevices.com)
22. Platforms for ImplementationPlatforms for Implementation
DSPs:DSPs:
Microprocessor specifically designed forMicroprocessor specifically designed for
signal processing applicationssignal processing applications
Good at arithmetic operationsGood at arithmetic operations
(multiplication/division)(multiplication/division)
Mostly programmed with Assembly and CMostly programmed with Assembly and C
through Integrated Developmentthrough Integrated Development
Environment (IDE)Environment (IDE)
Similar to writing programs for softwareSimilar to writing programs for software
applictionsapplictions
23. Platforms for ImplementationPlatforms for Implementation
Benefits of DSPsBenefits of DSPs
Faster than softwareFaster than software
Less expensive than softwareLess expensive than software
More flexible than hardwareMore flexible than hardware
Easier to use than strictly hardwareEasier to use than strictly hardware
platformsplatforms
24. Platforms for ImplementationPlatforms for Implementation
Drawbacks of DSPsDrawbacks of DSPs
Not as straightforward as softwareNot as straightforward as software
Need knowledge of hardware and how it worksNeed knowledge of hardware and how it works
(registers/memory map)(registers/memory map)
Still has some limitations on speed whenStill has some limitations on speed when
compared to strictly hardware (CPUcompared to strictly hardware (CPU
overhead/Memory access)overhead/Memory access)
25. Platforms for ImplementationPlatforms for Implementation
Code Generation ApplicationsCode Generation Applications
MathworksMathworks
Ability to take code written for applicationsAbility to take code written for applications
like MATLAB or Simulink block diagramslike MATLAB or Simulink block diagrams
and download them directly to a particularand download them directly to a particular
DSP platform.DSP platform.
26. Platforms for ImplementationPlatforms for Implementation
MathworksMathworks
Real-Time WorkshopReal-Time Workshop
Generate efficient ANSI C code from SimulinkGenerate efficient ANSI C code from Simulink
for downloading to a DSPfor downloading to a DSP
Embedded TargetsEmbedded Targets
Provides for rapid development and efficientProvides for rapid development and efficient
ANSI C code from Simulink for a specific DSPANSI C code from Simulink for a specific DSP
Embedded target for TIC6000 DSP PlatformsEmbedded target for TIC6000 DSP Platforms
www.mathworks.comwww.mathworks.com
28. Platforms for ImplementationPlatforms for Implementation
System Level ProcessorsSystem Level Processors
Hardware systems that work withHardware systems that work with
MATLAB/SimulinkMATLAB/Simulink
Enable simulation of real-time systemsEnable simulation of real-time systems
along with implementation in hardwarealong with implementation in hardware
Opal-RTOpal-RT
dSpacedSpace
29. Platforms for ImplementationPlatforms for Implementation
Opal-RTOpal-RT
Simulators for mostly power and controlSimulators for mostly power and control
applicationsapplications
AerospaceAerospace
AutomotiveAutomotive
Power SystemsPower Systems
IndustrialIndustrial
Robotics and ControlsRobotics and Controls
RT-LABRT-LAB
30. Platforms for ImplementationPlatforms for Implementation
RT-LabRT-Lab
Real-Time simulationReal-Time simulation
Ability to transferAbility to transfer
product developedproduct developed
through simulation tothrough simulation to
embedded targetembedded target
Works with SimulinkWorks with Simulink
and LabViewand LabView
Compatible withCompatible with
programmingprogramming
languages such aslanguages such as
Visual Basic and C++Visual Basic and C++
www.opal-rt.comwww.opal-rt.com
32. Platforms for ImplementationPlatforms for Implementation
dSpacedSpace
IDE to developIDE to develop
control systems incontrol systems in
real-timereal-time
TargetLinkTargetLink
www.dspace.dewww.dspace.de
33. Platforms for ImplementationPlatforms for Implementation
TargetLinkTargetLink
Convert MATLAB/Simulink/Stateflow modelConvert MATLAB/Simulink/Stateflow model
specs into efficient ANSI C code.specs into efficient ANSI C code.
35. Contents:Contents:
What does real-time signal processingWhat does real-time signal processing
mean?mean?
Why use real-time signal processing?Why use real-time signal processing?
Platforms for implementationPlatforms for implementation
Implementation on Texas InstrumentsImplementation on Texas Instruments
C6711 DSPC6711 DSP
Applications (concentration on biomedical)Applications (concentration on biomedical)
36. TI C6711 OverviewTI C6711 Overview
In form of development kit (DSK) forIn form of development kit (DSK) for
development purposesdevelopment purposes
DSK includes supporting hardware such asDSK includes supporting hardware such as
A/D conversion, External Memory InterfaceA/D conversion, External Memory Interface
(EMIF), parallel port connection, etc.(EMIF), parallel port connection, etc.
Member of TI C6000 family of DSPsMember of TI C6000 family of DSPs
High Performance DSPsHigh Performance DSPs
Performance audio and imagingPerformance audio and imaging
applicationsapplications
37. TI C6711 OverviewTI C6711 Overview
TI C67xx DSPTI C67xx DSP
Floating point DSPsFloating point DSPs
100-, 150-, 167-,100-, 150-, 167-,
200-MHz clock200-MHz clock
600 – 1350600 – 1350
MFLOPSMFLOPS
VLIW ArchitectureVLIW Architecture
Highly parallelHighly parallel
EmphasizesEmphasizes
maximum codemaximum code
perfomanceperfomance
38. TI C6711 OverviewTI C6711 Overview
TI C67xx DSPTI C67xx DSP
Orthogonal multiplier and arithmetic unitsOrthogonal multiplier and arithmetic units
provide many execution resources to theprovide many execution resources to the
assembler and compiler optimizerassembler and compiler optimizer
Total of eight functional units are allowed toTotal of eight functional units are allowed to
run in parallel or serial/parallel combinationrun in parallel or serial/parallel combination
Results: Fewer program fetches, smallerResults: Fewer program fetches, smaller
code size, and a reduction in powercode size, and a reduction in power
consumptionconsumption
40. TI C6711 DSKTI C6711 DSK
Data/Program MemoryData/Program Memory
32Kbits L1D Cache (Direct), 32Kbits L1P32Kbits L1D Cache (Direct), 32Kbits L1P
Cache (2-Way set associative), 512KbitsCache (2-Way set associative), 512Kbits
L2 RAM/CacheL2 RAM/Cache
16 channel EDMA16 channel EDMA
32 bit EMIF32 bit EMIF
2 Multichannel Buffered Serial Ports2 Multichannel Buffered Serial Ports
(McBSPs)(McBSPs)
1.8V core supply/3.3 V IO supply1.8V core supply/3.3 V IO supply
41. Implementation on C6711 DSKImplementation on C6711 DSK
Code written, compiled/assembled andCode written, compiled/assembled and
built on PC in IDE and downloadedbuilt on PC in IDE and downloaded
through parallel port to DSKthrough parallel port to DSK
DSP stores code in different sections forDSP stores code in different sections for
memory as directed in linker command filememory as directed in linker command file
External RAM, Stack, Internal RAM (Cache), etc.External RAM, Stack, Internal RAM (Cache), etc.
IDE: Code Composer Studio (CCS)IDE: Code Composer Studio (CCS)
42. Implementation on C6711 DSKImplementation on C6711 DSK
Code Composer Studio (CSS)Code Composer Studio (CSS)
IDE specifically designed for TI DSPsIDE specifically designed for TI DSPs
Allows programmer to use Assembly, C, orAllows programmer to use Assembly, C, or
even C++even C++
In-line assembly is another option (higherIn-line assembly is another option (higher
level assembly)level assembly)
Code optimizationCode optimization
Assembly/In-line Assembly: 100%Assembly/In-line Assembly: 100%
C: 80-100%C: 80-100%
43. Implementation on C6711 DSKImplementation on C6711 DSK
Code Composer StudioCode Composer Studio
DSP/BIOSDSP/BIOS
Gives programmer many avenues of insightGives programmer many avenues of insight
into program performanceinto program performance
Animation of graphsAnimation of graphs
Clock cycle counterClock cycle counter
Profiler to locate bottlenecksProfiler to locate bottlenecks
Real-Time Data Exchange (RTDX)Real-Time Data Exchange (RTDX)
DSP will transfer data to PC in real-timeDSP will transfer data to PC in real-time
Only minor code adjustments necessaryOnly minor code adjustments necessary
44. Implementation on C6711 DSKImplementation on C6711 DSK
CodeCode ComposerComposer StudioStudio
45. Implementation on C6711 DSKImplementation on C6711 DSK
Implementation ExampleImplementation Example
Signal acquired from outside sourceSignal acquired from outside source
through A/D conversion and McBSPthrough A/D conversion and McBSP
int x = McBSP_read()int x = McBSP_read()
Discrete signal value is then processedDiscrete signal value is then processed
accordinglyaccordingly
Several input values may need to beSeveral input values may need to be
buffered for a timebuffered for a time
DSP sends processed signal throughDSP sends processed signal through
McBSP and D/A converter to output jackMcBSP and D/A converter to output jack
McBSP_write(y)McBSP_write(y)
46. Contents:Contents:
What does real-time signal processingWhat does real-time signal processing
mean?mean?
Why use real-time signal processing?Why use real-time signal processing?
Platforms for implementationPlatforms for implementation
Implementation on Texas InstrumentsImplementation on Texas Instruments
C6711 DSPC6711 DSP
Applications (concentration on biomedical)Applications (concentration on biomedical)
48. Biomedical ApplicationsBiomedical Applications
Large amounts of signals are produced byLarge amounts of signals are produced by
the human body (heart, brain, etc.)the human body (heart, brain, etc.)
Real-time signal processing can enable usReal-time signal processing can enable us
to understand the meaning of theseto understand the meaning of these
signals as they are occurring.signals as they are occurring.
Results in better testing methods, betterResults in better testing methods, better
diagnoses, prevention of fatal events.diagnoses, prevention of fatal events.
49. Biomedical ApplicationsBiomedical Applications
Distortion ProductDistortion Product
Otoacoustic EmissionsOtoacoustic Emissions
(DPOAE) Testing(DPOAE) Testing
Auditory testing (focusAuditory testing (focus
on infants)on infants)
Two sinusoids (f1, f2)Two sinusoids (f1, f2)
introduced into theintroduced into the
inner ear (f2 = 1.2*f1)inner ear (f2 = 1.2*f1)
Cochlea returns lowCochlea returns low
level emission atlevel emission at
frequency fd = 2*f1-frequency fd = 2*f1-
f2f2
Want to be able toWant to be able to
locate this frequencylocate this frequency
among input sineamong input sine
waves and noisewaves and noise
50. DPOAEDPOAE
Conventional testing methods involve longConventional testing methods involve long
testing periods to collect enough data astesting periods to collect enough data as
well as the necessity for a noiselesswell as the necessity for a noiseless
environmentenvironment
DPOAE MethodDPOAE Method
Fast technique (real-time)Fast technique (real-time)
High noise immunity (due to Dr. Ziarani’sHigh noise immunity (due to Dr. Ziarani’s
method of extraction of non-stationarymethod of extraction of non-stationary
sinusoids)sinusoids)
51. DPOAEDPOAE
DPOAE Implementation (Software)DPOAE Implementation (Software)
Real-time simulations done inReal-time simulations done in
MATLAB/Simulink environmentMATLAB/Simulink environment
Electronic data sets usedElectronic data sets used
Implementation in MATLAB/SimulinkImplementation in MATLAB/Simulink
environment through data acquisitionenvironment through data acquisition
hardwarehardware
Clinical probe system from Etymotic ResearchClinical probe system from Etymotic Research
(www.etymotic.com)(www.etymotic.com)
Data Acquisition Board from NationalData Acquisition Board from National
Instruments (www.ni.com)Instruments (www.ni.com)
52. DPOAE ImplementationDPOAE Implementation
Next Step: DSPNext Step: DSP
Clinical prototype to perform DPOAEClinical prototype to perform DPOAE
testingtesting
Same probe system from EtymoticSame probe system from Etymotic
ResearchResearch
Texax Instruments C6711 DSPTexax Instruments C6711 DSP