530 likes | 893 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).
E N D
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. Real-Time Signal Processor Refined Data Signal
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 Raw Data Processor Refined Data Signal
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 Real-Time Signal Processor Refined Data Signal
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 hasbenefits 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: • Programmablelogicchip • 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
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 Platforms for Implementation
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)