49
What is Signal Processing? What is Signal Processing? Example of Signals: Example of Signals: Analog: Speech, Music, Photos, Video, radar, Analog: Speech, Music, Photos, Video, radar, sonar, sonar, Discrete Discrete - - domain/Digital: domain/Digital: digitized speech, digitized music, digitized images, digitized speech, digitized music, digitized images, digitized video, digitized radar and sonar signals, digitized video, digitized radar and sonar signals, stock market data, daily max temperature data, ... stock market data, daily max temperature data, ... Processing Signal in Signal out Operation, Transformation (Analog or Digital) (Analog or Digital)

What is Signal Processing? - Catedra de Ingineria Calculatoarelor

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

What is Signal Processing?What is Signal Processing?

�� Example of Signals:Example of Signals:�� Analog: Speech, Music, Photos, Video, radar, Analog: Speech, Music, Photos, Video, radar,

sonar, sonar, ……

�� DiscreteDiscrete--domain/Digital: domain/Digital: �� digitized speech, digitized music, digitized images, digitized speech, digitized music, digitized images,

digitized video, digitized radar and sonar signals,digitized video, digitized radar and sonar signals,……

�� stock market data, daily max temperature data, ...stock market data, daily max temperature data, ...

ProcessingSignal in Signal out

Operation, Transformation

(Analog or Digital) (Analog or Digital)

Page 2: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

�� But what about analog signals? But what about analog signals?

Digital ProcessingDigital Signal in Digital Signal out

Operation, Transformation performedon digital signals (using a computer or other special-purpose digital hardware)

Analog Signal

in

Analog-to-Digital (A/D)Conversion

Digital ProcessingDigital-to-Analog (D/A)Conversion

What is Digital Signal Processing?What is Digital Signal Processing?

Page 3: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Signal Processing ExamplesSignal Processing Examples

Why Go Digital??

Page 4: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Step 1: Analog sensor picking analog signal (i.e: microphone picking sound)

Step 2: Analog to Digital Converter

Step 3: DSP processes the digital signals (e.g., compression, noise suppression)

Step 4: Digital to analog converter to recover the analog signal

Typical ScenarioTypical Scenario

Page 5: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

�� DSP = Digital Signal ProcessingDSP = Digital Signal Processing

OROR

DSP = Digital Signal Processor?DSP = Digital Signal Processor?

�� DSP used to denote both DSP used to denote both �� meaning can be deduced from the context in which meaning can be deduced from the context in which

the term DSP is used.the term DSP is used.

�� What is a Digital Signal Processor (DSP)?What is a Digital Signal Processor (DSP)?�� Microprocessor specifically designed to perform fast Microprocessor specifically designed to perform fast

DSP operations (e.g., Fast Fourier Transforms, DSP operations (e.g., Fast Fourier Transforms, Multiply, Divide, Multiply & AccumulateMultiply, Divide, Multiply & Accumulate--MAC)MAC)

What is DSP?What is DSP?

Page 6: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

A Typical DSP SystemA Typical DSP System

�� DSP ChipDSP Chip

�� MemoryMemory

�� Converters (Optional)Converters (Optional)�� Analog to DigitalAnalog to Digital

�� Digital to AnalogDigital to Analog

�� Communication PortsCommunication Ports�� SerialSerial

�� ParallelParallel

DSP

MEMORY

ADC

PORTS

DAC

Page 7: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Digital ComputersDigital Computers

STORED

PROGRAM

AND

DATA

ARITHMETIC

LOGIC

UNIT

INPUT/

OUTPUT

von Neuman Machine

Harvard Architecture

STORED

PROGRAM

ARITHMETIC

LOGIC

UNIT

INPUT/

OUTPUTSTORED

DATA

A

DD

D

AA

A = ADDRESS

D = DATA

Page 8: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

‘C5510: The high runner ‘C55x DSP

VC5510 Device Specific Information

��128 Channels Each128 Channels Each

��240 Ball, 240 Ball, 15x15u*BGA15x15u*BGA

��PackagePackage

��24 24 KByteKByte CacheCache

��Connect PeripheralsConnect Peripherals��directly to the DSPdirectly to the DSP��8 GP I/O 8 GP I/O

LinesLines

��Easier DebugEasier Debug��Advanced Advanced EmulationEmulation

��Supports Cheaper Supports Cheaper & Faster Memories& Faster Memories

��External External Memory Memory

Interface (EMIF)Interface (EMIF)

��Enhanced HPIEnhanced HPI ��1616--bitbit

��160 KW SRAM160 KW SRAM�� 16 KW ROM16 KW ROM

��3 Multi3 Multi--channel channel Buffered Buffered

Serial PortsSerial Ports

��PackagePackage

�� II--CacheCache

��8 GP I/O 8 GP I/O LinesLines

��Advanced Advanced EmulationEmulation

��ExternalMemoryExternalMemoryInterface (EMIF)Interface (EMIF)

��Enhanced HPIEnhanced HPI

��SixSix--channelchannel��DMADMA

��OnOn--Chip MemoryChip Memory

Page 9: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Why Go Digital?Why Go Digital?

�� Programmability Programmability �� One hardware can perform several tasks.One hardware can perform several tasks.

�� Upgradeability and flexibility.Upgradeability and flexibility.�� DEVELOP NEW CODE UPGRADEDEVELOP NEW CODE UPGRADE

�� ANALOG SOLDER NEW COMPONENTANALOG SOLDER NEW COMPONENT

LOW-PASS FILTER

MOTOR CONTROL

SOFTWARE 1

SOFTWARE 2

SOFTWARE N

SAME

HARDWARE.. ..

Page 10: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

STABILITY AND REPEATABILITYSTABILITY AND REPEATABILITY

�� ANALOG CIRCUITS ARE AFFECTED BYANALOG CIRCUITS ARE AFFECTED BY

�� TEMPERATURETEMPERATURE

�� AGINGAGING

�� TOLERANCE OF COMPONENTSTOLERANCE OF COMPONENTS

�� TWO ANALOG SYSTEMSTWO ANALOG SYSTEMS

�� USING SAME DESIGNUSING SAME DESIGN

�� USING SAME COMPONENTSUSING SAME COMPONENTS

�� MAY DIFFER IN PERFORMANCEMAY DIFFER IN PERFORMANCE

Page 11: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

DIGITAL REPEATABILITYDIGITAL REPEATABILITY

�� PERFECT REPRODUCIBILITYPERFECT REPRODUCIBILITY�� NEARLY IDENTICAL PERFORMANCE FROM UNIT TO UNITNEARLY IDENTICAL PERFORMANCE FROM UNIT TO UNIT

�� COMPONENT TOLERANCES DO NOT AFFECT PERFORMANCECOMPONENT TOLERANCES DO NOT AFFECT PERFORMANCE

�� NO DRIFT IN PERFORMANCE DUE TO TEMPERATURE OR AGINGNO DRIFT IN PERFORMANCE DUE TO TEMPERATURE OR AGING

�� GUARANTEED ACCURACYGUARANTEED ACCURACY

A CD PLAYER ALWAYS PLAYS THE SAME MUSIC QUALITY

Page 12: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

PerformancePerformance

Some special functions are best implemented Some special functions are best implemented

digitallydigitally

f

f1 f2

phase

frequency

gain

frequency

� Lossless Compression

� Linear Phase Filters� Adaptive Filters

Page 13: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Analog AdvantagesAnalog Advantages

�� Low cost and simplicity in some applicationsLow cost and simplicity in some applications

–– Attenuators/amplifiersAttenuators/amplifiers

–– Simple filtersSimple filters

�� Wide bandwidth (GHz)Wide bandwidth (GHz)

�� Low signal levelsLow signal levels

�� Infinite effective sampling rateInfinite effective sampling rate

–– Infinite resolution in frequencyInfinite resolution in frequency

–– No aliasing/reconstruction issuesNo aliasing/reconstruction issues

�� Infinite resolution in amplitudeInfinite resolution in amplitude

–– No No quantitationquantitation noisenoise

Page 14: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Digital Signal Processing Digital Signal Processing

(DSP) Advantages(DSP) Advantages�� RepeatabilityRepeatability

–– Low sensitivity to component tolerancesLow sensitivity to component tolerances

–– Low sensitivity to temperature changesLow sensitivity to temperature changes

–– Low sensitivity to aging effectsLow sensitivity to aging effects

–– Nearly identical performance from unit to unitNearly identical performance from unit to unit

–– Matched circuits cost lessMatched circuits cost less

�� High noise immunityHigh noise immunity

�� In many applications DSP offers higher In many applications DSP offers higher

performance and lower costperformance and lower cost

–– CD players versus phonographic turntableCD players versus phonographic turntable

Page 15: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

AnalogAnalog’’s Place in DSPs Place in DSP

�� Most transducers are analog by natureMost transducers are analog by nature

–– Microphones, speakers, etc.Microphones, speakers, etc.

�� Analog circuits are required to preAnalog circuits are required to pre--process process

low level signals before ADClow level signals before ADC

�� Analog filters may be required to limit the Analog filters may be required to limit the

bandwidth of signalsbandwidth of signals

–– AntiAnti--alias (before ADC) and reconstruction filters alias (before ADC) and reconstruction filters

(after DAC)(after DAC)

�� Analog circuits may be required to drive Analog circuits may be required to drive

output transducersoutput transducers

–– A power amplifier is required to enable a DAC to A power amplifier is required to enable a DAC to

drive a speakerdrive a speaker

Page 16: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Signal Processing ApplicationsSignal Processing Applications

�� Speech processingSpeech processing

�� Speech compressionSpeech compression

�� Speech recognitionSpeech recognition

�� Speaker Identification, VerificationSpeaker Identification, Verification

�� Speech synthesisSpeech synthesis

�� Speech enhancement, Echo cancellationSpeech enhancement, Echo cancellation

�� Audio ProcessingAudio Processing

�� CompressionCompression

�� 33--D reproductionD reproduction

Page 17: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

DSP Applications DSP Applications –– Image ProcessingImage Processing

�� Image ProcessingImage Processing

�� Image compressionImage compression

�� Pattern recognitionPattern recognition

�� Ghost cancellationGhost cancellation

�� Noise reductionNoise reduction

�� DeblurringDeblurring

�� Object trackingObject tracking

�� Image fusionImage fusion

�� Video Processing/compression, tracking...Video Processing/compression, tracking...

Page 18: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

DSP Applications CommunicationsDSP Applications Communications

�� MODEMMODEM�� correlatorscorrelators (matched filters)(matched filters)

�� echo cancellersecho cancellers

�� equalizers equalizers

�� Cellular Telephony Cellular Telephony �� speech compressionspeech compression

�� diversity combiningdiversity combining

�� array processingarray processing

�� Software RadioSoftware Radio

Page 19: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

End Equipments

Consumer• Used in 7 of top 8 digital

still Camera Mfrs.

• Used in 8 of top 10 internet

consumer electronic Mfrs.

Emerging

Telecom

VoIP

Networking

Terminal

Modems

• T1 – E1 PABX

• VoIP, VoATM, VoDSL

• Access gateways

• IP-Phones, Public phones

• Vsat systems

• Fiber Optic test equipments

• Switches

• ADSL, Modems, Fax

• P.O.S.

• Multimedia Jukebox

• Digital still camera

• Internet Audio

• Web phones

• STB

• Gaming

• Alarm systems

Audio

Video

Imaging

Internet appliances

Automotive

Biometrics

Voice recognition

• Telematics, Hands-Free Kits

• Fingerprint recognition

• Tire pressure monitoring

• Medical equipments

• Power line comms, GPS

• Access gate, Secured POS

• E-commerce

• D-Ins in 4 of top 5 European Hands – Free Kit mfrs.

• Over 30 D-Ins in Biometrics

• 80% of VoIP Gateway market

•Used in 8 of the top 10 wireless

infrastructures Mfrs.

‘‘C5000 DSP Market Segments TargetedC5000 DSP Market Segments TargetedOver 500 million C5000 Over 500 million C5000 DSPsDSPs shipped in more than 1000 different applicationsshipped in more than 1000 different applications

Page 20: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

DSP Market By Application - 2005

4.40%4.00%

5.30%

4.00%

81.90%

0.40%

Consumer Electronics

Auto

Computer

Industrial

Communications

Gov/Mil

DSP Market DSP Market –– By ApplicationBy Application

Communications applications (i.e: wireless)Jumped from 68.3% in 2003 to 82% in 2005.

Expectations:1) DSP market will increase by

9% in 20062) Followed by an 18%

increase in 2007.3) A boom of 27% in 2008

Page 21: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Power Efficiency

/Sys

tem Den

sity

Code Compatible

OMAP5910C55x+ARM9

C5509288-400MIPS

C5510320-400MIPS

C540980-160 MIPS

C5410100-160MIPS

C5416120-160MIPS

C540150 MIPS

C5402100-160MIPS

C5404120 MIPS

C5407120 MIPS

C55xTM DSPMulticore

OMAPTM

C55x+ARM9

C55xTM

DSP

In Silicon

Announcement

Roadmap TNET30104800 MIPS

C5420200 MIPS

C5421200 MIPS

C5441532 MIPS

C5470C54x+ARM7

C5471C54xTM+ARM7

C5501600 MIPS

C5502400-600MIPS

TI Extends WorldTI Extends World’’s Most Popular DSP Platforms Most Popular DSP Platform

Feature Integration

Page 22: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Power-Efficient, High-performance and

Programmable Solutions for Hand-held

Applications

Software Libraries, Proven Development

Environment, and EVMs Enable Rapid design

of imaging and video applications and projects

C5510 and C5509

C55x DSPC55x DSP

The Solution for Portable ApplicationsThe Solution for Portable Applications

Page 23: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

-Speech Coders

-Speech Recognition

-Equalizers

-Antenna noise cancellation

-Image enhancement techniques

DSP

Chip

DSP

Chip

RF

Codec

RF

Codec

Voice

Codec

Voice

Codec

RF

Receiver

RF

Receiver

Microprocessor

Chip

Microprocessor

Chip

Cell

Peripherals

Cell

Peripherals

Controlled by Power Management Unit

DSP Targets: Cell PhoneDSP Targets: Cell Phone

Page 24: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

DSP Targets: PORTABLE MEDIA DEVICESDSP Targets: PORTABLE MEDIA DEVICES

Audio CodingSpeech RecognitionImage CompressionImage enhancement

Page 25: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

�� Embedded signal and image processing tasks are Embedded signal and image processing tasks are becoming more demandingbecoming more demanding�� Wireless communications (e.g., 3G, UWB): higher data rates, Wireless communications (e.g., 3G, UWB): higher data rates,

more complex systems and air interfacesmore complex systems and air interfaces

�� Video processing (DTV, HDTV, Camcorders, 3DTV): Video processing (DTV, HDTV, Camcorders, 3DTV): compression, decompression, enhancement, compression, decompression, enhancement, superresolutionsuperresolution, , feature extractionfeature extraction

�� Still image processing: cameras, copiers, printers, imageStill image processing: cameras, copiers, printers, image--based renderingbased rendering

�� High efficiency: 100s of MOPS/High efficiency: 100s of MOPS/mWmW (GOPS/(GOPS/mWmW), 10s ), 10s GOPS/$GOPS/$

�� Programmability: multiple modes, evolving standards, Programmability: multiple modes, evolving standards, evolving featuresevolving features

Portable ApplicationsPortable Applications

Page 26: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

What is Special about Signal Processing Applications?What is Special about Signal Processing Applications?

�� Large number of samples being continuously Large number of samples being continuously

fed to the system (samples or blocks).fed to the system (samples or blocks).

�� Repetitive Operations:Repetitive Operations:

�� The same operation being applied to different set The same operation being applied to different set

of samplesof samples

�� Parallel processingParallel processing

�� Vector and Matrix OperationsVector and Matrix Operations

�� Real time operationsReal time operations

Page 27: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

�� The two most common realThe two most common real--time digital filters time digital filters are:are:�� Finite Impulse Filter (FIR)Finite Impulse Filter (FIR)

�� Infinite Impulse Filter (IIR)Infinite Impulse Filter (IIR)

�� The basic FIR Filter equation is The basic FIR Filter equation is

where h[k] is an array of constantswhere h[k] is an array of constants

∑ −= ][].[][ knxkhny

In C language

y[n]=0;

For (n=0; n<N;n++)

{

For (k = 0;k<N;k++)

//inner loop

y[n] = y[n] + h[k]*x[n-k];}

Only Multiply and Accumulate (MAC) is needed!

Example: Digital FilteringExample: Digital Filtering

Page 28: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

MAC using General Purpose Processor (GPP)MAC using General Purpose Processor (GPP)

R0

R1

33

22

11

33

1212

1111

X

99

2424

1111

∑ 44

R2

;Move result to memory;Move result to memory

;Different than zero loop again;Different than zero loop again

;Test for the value;Test for the value

;Dec N (initially equals to 3);Dec N (initially equals to 3)

;R1 + 1 ;R1 + 1 --> R1> R1

;R0 + 1 ;R0 + 1 --> R0> R0

;A + B ;A + B --> B> B

;X0*Y0 ;X0*Y0 -->A>A

; Move data from memory location 2 to register X0; Move data from memory location 2 to register X0

; Move data from memory location 1 to register Y0; Move data from memory location 1 to register Y0

; Clear Accumulator B; Clear Accumulator B

;Clear Accumulator A;Clear Accumulator AAAClrClr

BBClrClr

B,*R2B,*R2MovMov

LoopLoopJnzJnz

NNTstTst

NNDecDec

R1R1IncInc

R0R0IncInc

A,BA,BAddAdd

X0,Y0,AX0,Y0,AMpyMpy

*R1,X0*R1,X0MovMov

*R0, Y0*R0, Y0MovMovLoopLoop

Page 29: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

MAC using DSPMAC using DSP

; Move result to memory; Move result to memory

; Fetch the two memory locations pointed by R0 and R1, ; Fetch the two memory locations pointed by R0 and R1,

multiply them together and add the result to A, the final resultmultiply them together and add the result to A, the final result

is stored back in Ais stored back in A

; Rep N times the next instruction; Rep N times the next instruction

;Clear Accumulator A;Clear Accumulator AAAClrClr

A, *R2A, *R2MovMov

*(R0)+, *(R1)+, A*(R0)+, *(R1)+, AMACMAC

NNRepRep33

22

11

33

1212

1111

X

99

2424

1111

∑ 44

R2

R0

R1

Page 30: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

DSP versus GPPDSP versus GPP�� Multiple parallel unitsMultiple parallel units

�� multiply accumulate (possibly several units)multiply accumulate (possibly several units)

�� address calculation in parallel to processingaddress calculation in parallel to processing

�� barrel shifterbarrel shifter

�� Memory AccessMemory Access�� special ALU for address calculationspecial ALU for address calculation

�� Bit reversed addressingBit reversed addressing

�� circular addressingcircular addressing

�� Automatic loopsAutomatic loops�� Software looping: writing assembly code to perform branchingSoftware looping: writing assembly code to perform branching

�� Hardware looping: dedicated hardware loop counter registerHardware looping: dedicated hardware loop counter register

�� Hardware support for managing arithmetic computation Hardware support for managing arithmetic computation (in GPP it needs multiple cycles)(in GPP it needs multiple cycles)�� ShiftersShifters

�� Guard bits Guard bits

�� SaturationSaturation

Preventing Overflow!!

Page 31: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Digital Signal Processor (DSP) Digital Signal Processor (DSP) -- OverviewOverview�� DSP Core includes:DSP Core includes:

�� Address busesAddress buses

�� Data busesData buses

�� Data arithmetic logic unit (ALU)Data arithmetic logic unit (ALU)

�� Address generation unit (AGU)Address generation unit (AGU)

�� Program controllerProgram controller

�� BitBit--manipulation unitmanipulation unit

�� Enhanced debugging moduleEnhanced debugging module

�� Peripherals on chipPeripherals on chip

�� TimerTimer

�� serial linkserial link

�� communication linkscommunication links

�� DSP to DSPDSP to DSP

�� EthernetEthernet

�� ATMATM

�� host portshost ports

�� input/output pinsinput/output pins

�� Adaptation for FFTAdaptation for FFT

�� bit reverse addressingbit reverse addressing

�� Special instructionsSpecial instructions

�� Parallel move supportParallel move support

�� Loop instructions; special hardware instructions (Loop instructions; special hardware instructions (i.ei.e: FIR): FIR)

Core

On-chip Peripherals

PM

DM

Data memory

Program Memory

Page 32: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Enhancing DSP ArchitecturesEnhancing DSP Architectures

�� More parallelismMore parallelism�� Increase the number of operations that can Increase the number of operations that can

be performed in each instructionbe performed in each instruction�� Adding More Executing units (Adding More Executing units (i.ei.e: Multipliers): Multipliers)

�� Increase the number of instructions that Increase the number of instructions that can be issued and executed in every cyclecan be issued and executed in every cycle

�� Highly specialized hardware in coreHighly specialized hardware in core

�� CoCo--processorsprocessors

�� MultiMulti--Core Core DSPsDSPs

Page 33: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

�� Integrates a TMS320C55xIntegrates a TMS320C55x™™ DSP core with an ARM GPP on a DSP core with an ARM GPP on a Single ChipSingle Chip

�� Targeted for embedded applications Targeted for embedded applications

�� ARM interfacing peripherals:ARM interfacing peripherals:

�� BluetoothBluetooth

�� IrDAIrDA

�� KeypadKeypad

�� Touch ScreenTouch Screen

�� C55x to perform DSP algorithmsC55x to perform DSP algorithms

�� Mobile MessagingMobile Messaging

�� Handwriting Recognition Handwriting Recognition

�� Digital Cameras Image processingDigital Cameras Image processing

�� OMAP 2 (released May 2005) Architecture includes a dedicatedOMAP 2 (released May 2005) Architecture includes a dedicated

�� Image and video acceleratorImage and video accelerator

�� 3D graphics accelerator3D graphics accelerator

Example: TI OMAP ChipExample: TI OMAP Chip

Page 34: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Example: TI Example: TI DaVinciDaVinci ProcessorsProcessors

�� Released in Dec 2005.Released in Dec 2005.

�� Also known as TMS320DM644x series.Also known as TMS320DM644x series.

�� While OMAP targets mainly wireless and While OMAP targets mainly wireless and

handled applications, handled applications, DaVinciDaVinci targets home targets home

entertainment, surveillance, and other video entertainment, surveillance, and other video

applications.applications.

�� Can perform coding/decoding of standard Can perform coding/decoding of standard

video codec: MPEG4, H.264.video codec: MPEG4, H.264.

�� Include camera and video interfaces.Include camera and video interfaces.

Page 35: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Why Consider DSP AlternativesWhy Consider DSP Alternatives

�� Wireless Systems requires more and more Wireless Systems requires more and more

high performance and higher bandwidthhigh performance and higher bandwidth

2.5G

3G

2GBit Rate

Performance

~100MIPS8-13 Kbps

~10,000MIPS64-384 Kbps

~100,000MIPS384-2000 Kbps

DSP performance DSP performance might not be might not be enough for enough for future future applications applications

Page 36: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

What are the alternativesWhat are the alternatives

�� HighHigh--performance performance GPPsGPPs with DSP enhancements.with DSP enhancements.�� Eliminating the need of a DSP and GPP for many products and Eliminating the need of a DSP and GPP for many products and

thus reducing costthus reducing cost

�� Example: Pentium 4Example: Pentium 4

�� Single Instruction Multiple Data (SIMD) instructions allowing Single Instruction Multiple Data (SIMD) instructions allowing identical operations on multiple pieces of data in parallel.identical operations on multiple pieces of data in parallel.

�� 144 new special instructions providing advanced capabilities for144 new special instructions providing advanced capabilities forapplications such as 3D graphics, video encoding/decoding, and applications such as 3D graphics, video encoding/decoding, and speech recognition.speech recognition.

�� Several Data Types (floating/integer)Several Data Types (floating/integer)

�� MultiMulti--Core Core DSPsDSPs

�� Application Specific Integrated Circuits (ASIC)Application Specific Integrated Circuits (ASIC)

�� Field Programmable Gate Array (FPGA)Field Programmable Gate Array (FPGA)

Page 37: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

ASIC (applicationASIC (application--specific specific

integrated circuit) integrated circuit)

�� Uses hardUses hard--wired logic with varied wired logic with varied

architectures according to the application architectures according to the application

(i.e: 256 point hardware implemented (i.e: 256 point hardware implemented

FFT)FFT)

�� Sometimes includes proprietary processor Sometimes includes proprietary processor

cores (cores (i.ei.e: licensed Intellectual Properties : licensed Intellectual Properties

–– IP)IP)

Page 38: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

ASIC ASIC -- AdvantagesAdvantages

�� SpeedSpeed

�� Reduced Power ConsumptionReduced Power Consumption

�� Cost/performanceCost/performance

�� Design FlexibilityDesign Flexibility

Page 39: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

ASICASIC-- DisadvantageDisadvantage

�� Large development costsLarge development costs

�� Lengthy development cyclesLengthy development cycles

�� InflexibilityInflexibility

FPGA

Another Solution

Page 40: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

What is FPGAWhat is FPGA

�� It is a network of reconfigurable It is a network of reconfigurable

hardware with reconfigurable hardware with reconfigurable

interconnect controlled by a switching interconnect controlled by a switching

matrixmatrix

�� Historically used for prototypingHistorically used for prototyping

�� Recently includes DSP featuresRecently includes DSP features

�� Major Companies DSP + FPGA: ALTERA Major Companies DSP + FPGA: ALTERA

(e.g.: (e.g.: StratexStratex) & XILINX (e.g.: ) & XILINX (e.g.: VirtexVirtex II)II)

Page 41: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

FPGA FPGA -- AdvantagesAdvantages

�� More Flexible than ASICMore Flexible than ASIC

�� Huge Performance Gain in Some Huge Performance Gain in Some

ApplicationsApplications

�� ReRe--use Hardware for different use Hardware for different

applicationsapplications

Page 42: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

FPGA FPGA -- DisadvantagesDisadvantages

�� Long Development CycleLong Development Cycle

�� Expensive compared to DSPExpensive compared to DSP

�� Much higher power consumption Much higher power consumption

compared to DSPcompared to DSP

�� Slow time to market compared to DSPSlow time to market compared to DSP

Page 43: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Why Still use DSP?Why Still use DSP?

�� Several applications are not suited to be Several applications are not suited to be

implemented in FPGAimplemented in FPGA

�� Parallelism is sometimes inherently limitedParallelism is sometimes inherently limited

�� Speed is not always the highest factor to Speed is not always the highest factor to

considerconsider

�� FPGA is still very expensive for terminal FPGA is still very expensive for terminal

products (i.e: cell phones)products (i.e: cell phones)

Page 44: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Why Still use DSP?Why Still use DSP?�� Comparison: DSP, FPGA, ASICComparison: DSP, FPGA, ASIC ((ref: Bill Dally, ref: Bill Dally,

Stanford University, IEEE ICASSP04 Talk)Stanford University, IEEE ICASSP04 Talk)DSP� < 10 MOPS/mW� ~0.1 GOPS/$� < 10 GOPS peak performance� 1 M $ programming cost� Programmable

ASIC� 50-200 MOPS/mW� 2-10 GOPS/$� Up to 1000 GOPS peak performance� 10M-15M $ design cost� Fixed

FPGA� 2-10 MOPS/mW� ~1 GOPS/$� Up to 500 GOPS peak performance� ~5M $ design cost� Reconfigurable

� New improved DSPs with more efficiency and parallelism (e.g., multi-core)

Page 45: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Types of DSPTypes of DSP

�� Low End Low End Fixed PointFixed Point�� TMS320C2XX, ADSP21XX, DSP56XXXTMS320C2XX, ADSP21XX, DSP56XXX

�� High End High End Fixed PointFixed Point�� TMS320C55XX, DSP16XXX,TMS320C55XX, DSP16XXX,

�� ADSP215XX, DSP56800ADSP215XX, DSP56800

�� Floating PointFloating Point�� TMS320C3X, C67XX, ADSP210XX, TMS320C3X, C67XX, ADSP210XX,

DSP96000, DSP32XXDSP96000, DSP32XX

Page 46: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Fixed Point Vs Floating PointFixed Point Vs Floating Point�� Fixed Point/Floating PointFixed Point/Floating Point

�� fixed point processor are :fixed point processor are :�� cheapercheaper

�� smallersmaller

�� less power consumingless power consuming

�� Harder to programHarder to program�� Watch for errors: truncation, overflow, roundingWatch for errors: truncation, overflow, rounding

�� Limited dynamic rangeLimited dynamic range

�� Used in 95% of consumer productsUsed in 95% of consumer products

�� floating point processorsfloating point processors�� have larger accuracyhave larger accuracy

�� are much easier to programare much easier to program

�� can access larger memorycan access larger memory

�� It is harder to create an efficient program in C on a fixed It is harder to create an efficient program in C on a fixed point processors than on floating point processorspoint processors than on floating point processors

Page 47: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

Fixed Point Vs Floating PointFixed Point Vs Floating Point

Floating Point Fixed Point

Applications

•Modems

•Digital Subscriber Line (DSL)

•Wireless Basestations

•Central Office Switches

•Private Branch Exchange (PBX)

•Digital Imaging

•3D Graphics

•Speech Recognition

•Voice over IP

Applications

•Portable Products

•2G, 2.5G and 3G Cell Phones

•Digital Audio Players

•Digital Still Cameras

•Electronic Books

•Voice Recognition

•GPS Receivers

•Headsets

•Biometrics

•Fingerprint Recognition

Page 48: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

TI Family TreeTI Family Tree

C2000 C6000C5000

C24x C28x

TI DSP Family Tree [2006]

C54x C55xC54x + RISC C55x + RISC C62x C64x C67x

C6416

C6415

C6414

C6412

C6411

DM640

DM641

DM642

C6211

C6205

C6204

C6203

C6202

C6201

C6713

C6712

C6711

C6701

C5510C5509C5502C5501

C5416

C5410

C5409

C5407

C5404

C5402

C5401

C549

C54CST, C54V90

OMAP5910OMAP5912

C5470

C5471

F2810F2812

F2407, F2406

F2403, F2402

F2401, C2406

C2404, C2402

C2401, F243

F241, C242

F240

C3000

C3x

C33C32C31C30

Page 49: What is Signal Processing? - Catedra de Ingineria Calculatoarelor

TI Families SummaryTI Families Summary

�� C24x and C28x families: low performance 16C24x and C28x families: low performance 16--bit fixed point bit fixed point used for control purposeused for control purpose

�� C54x family: midC54x family: mid--range performance 16range performance 16--bit fixed pointbit fixed point

�� C55x family: midC55x family: mid--range performance 16range performance 16--bit fixed point with bit fixed point with reduced power consumption and increased parallelismreduced power consumption and increased parallelism

�� C5000 + RISC microprocessor: used for embedded applications C5000 + RISC microprocessor: used for embedded applications such as cell phone and such as cell phone and PDAsPDAs

�� C62x: highC62x: high--range performance 16range performance 16--bit fixed point supporting bit fixed point supporting VLIW architectureVLIW architecture

�� C64x: very high performance 16C64x: very high performance 16--bit fixed point with extension bit fixed point with extension capabilities of C62x with higher clock frequency (>2500 MIPS)capabilities of C62x with higher clock frequency (>2500 MIPS)

�� C3x: first generation low performance 32C3x: first generation low performance 32--bit floating pointbit floating point

�� C67xx family: very high performance 32C67xx family: very high performance 32--bit floating pointbit floating point