You are on page 1of 111

Introduction

„ What is Digital Signal Processing


(DSP)?
„ Where can we apply DSP?
„ How a DSP system is constructed?
„ Why are we doing DSP instead of
analogue processing?

EE4413: Introduction 1
What is Digital Signal Processing?

„ DSP is concerned with the digital


representation of signals and the use of
digital processors to analyze, modify, or
extract information from signals. A DSP
algorithm is implemented using the
basic operations: Multiplication,
Addition and Sample Shift.

EE4413: Introduction 2
The key examples of DSP are:
„ Convolution
„ Correlation
„ Filtering
„ Transform
„ Modulation
„ Windowing
„ Signal generation

EE4413: Introduction 3
Applications of DSP
General-purpose DSP Graphics/imaging Instrumentation

Digital Filtering 3-D Rotation Spectrum Analysis


Convolution Robot Vision Function Generation
Correlation Image Transmission/ Pattern Matching
Hilbert Transforms Compression Seismic Processing
Fast Fourier Transforms Pattern Recognition Transient Analysis
Adaptive Filtering Image Enhancement Digital Filtering
Windowing Homomorphic Processing Phase-Locked Loops
Waveform Generation Workstations
Animation/Digital Map

EE4413: Introduction 4
Applications of DSP

Voice/Speech Control Military

Voice Mail Disk Control Secure Communications


Speech Vocoding Servo Control Radar Processing
Speech Recognition Robot Control Sonar Processing
Speaker Verification Laser Printer Control Image Processing
Speech Enhancement Engine Control Navigation
Speech Synthesis Motor Control Missile Guidance
Text to Speech Radio Frequency Modems

EE4413: Introduction 5
Applications of DSP
Telecommunications Automotive

Echo Cancellation FAX Engine Control


ADPCM Transcoders Cellular Telephones Vibration Analysis
Digital PBXs Speaker Phones Antiskid Brakes
Line Repeaters Digital Speech Adaptive Ride Control
Channel Multiplexing Interpolation (DSI) Global Positioning
Modems X.25 Packet Switching Navigation
Adaptive Equalizers Video Conferencing Voice Commands
DTMF Spread Spectrum Digital Radio
Encoding/Decoding Communications Cellular Telephones
Data Encryption

EE4413: Introduction 6
Applications of DSP

Consumer Industrial Medical

Radar Detectors Robotics Hearing Aids


Power Tools Numeric Control Patient Monitoring
Digital Audio/TV Security Access Ultrasound Equipment
Music Synthesizer Power Line Monitors Diagnostic Tools
Educational Toys Prosthetics
Foetus Monitors

EE4413: Introduction 7
DSP System Block Diagram

EE4413: Introduction 8
Advantages of DSP
• Guaranteed accuracy
• Perfect reproducibility
• Programmability
• Stability to component aging, thermal
variation, component replacing
• Time-sharing capability
• Ease in performing non-linear and adaptive
processing
• (Easy to debug, short development time…
subjective!)

EE4413: Introduction 9
Disadvantages of DSP
• Speed limit in ADC and processor
• Finite word length
• (Difficult, long learning curve and long
development time, as you need to be a
software programmer, hardware
engineer and a mathematician to do a
good job…. Subjective!)

EE4413: Introduction 10
Analog-to-Digital
Conversion

EE4413: Sampling and Quantization 1


Sampling
„ Sampling is the acquisition of a
continuous (for example analogue)
signal at discrete time intervals

EE4413: Sampling and Quantization 2


Example of a Sampled Signal
Amplitude

EE4413: Sampling and Quantization 3


Sampling Theorem

„ If the highest frequency component in a


signal is fmax, then the signal should be
sampled at the rate of at least 2fmax for the
samples to describe the signal completely
(Nyquist sampling theorem):

Fs ≥ 2f max
„

„ where Fs is the sampling frequency or rate.

EE4413: Sampling and Quantization 4


Aliasing

EE4413: Sampling and Quantization 5


Spectra of Sampled
Signals

EE4413: Sampling and Quantization 6


Spectrum of an Undersampled Signal

EE4413: Sampling and Quantization 7


Anti-aliasing Filtering

EE4413: Sampling and Quantization 8


Stopband Attenuation
„ For a system using a B-bit linear ADC,
the minimum stopband attenuation of
the filter would typically be

A min = 20 log 10 ( 1.5 × 2 ) (dB) B +1

„ where B is the number of bits in the


ADC.

EE4413: Sampling and Quantization 9


Design Example

Determine the minimum sampling frequency to give


an aliasing error of less than 2% of the signal level
in the passband.

EE4413: Sampling and Quantization 10


Design Example - Solution
The amplitude response of the active filter is
given by:
1
H (f ) =
2
⎛f ⎞
1 + ⎜⎜ ⎟⎟
⎝ fc ⎠
Where fc=1/(2πRC) = 2kHz

EE4413: Sampling and Quantization 11


Design Example - Solution
„ At 2 kHz, signal level, Xb = 0.7071
„ Desired aliasing level < 0.7071 X 2/100 = 0.01414.
„ Let 1
= 0 . 01414
2
⎛f ⎞
„ 1 + ⎜⎜ a ⎟⎟
⎝ fc ⎠

„ Solving for fa, fa = 141.4 kHz


„ Fs(min) = fc + fa = 2kHz + 141.4 kHz = 143.4 kHz.
„ To account for the effects of the image frequencies
centred on 2Fs, 3Fs, …, Fs(min) > 143.4 kHz.
„ Let Fs(min) = 150 kHz.

EE4413: Sampling and Quantization 12


Design Example - Solution

EE4413: Sampling and Quantization 13


Exercise
„ Assuming that the band of interest extends
from 0 to 4 kHz and that a 12-bit ADC is
used, estimate
„ (i) minimum stopband attenuation,
„ (ii) minimum sampling frequency,
„ (iii) level of the aliasing error relative to signal
level in the passband.
„ Sketch and label the spectrum of the signal at
the output of the analogue filter and that of
the signal after sampling.

EE4413: Sampling and Quantization 14


Exercise

EE4413: Sampling and Quantization 15


Quantization and Encoding
„ quantization step size, q, is given by
„

„ where Vfs, is the full-scale range of the


ADC with bipolar signal inputs

EE4413: Sampling and Quantization 16


(v)

Example

(v)

Error (v)

EE4413: Sampling and Quantization 17


Quantization noise power

EE4413: Sampling and Quantization 18


Signal-to-quantization noise
power ratio (SQNR)

A: Amplitude of sine wave

EE4413: Sampling and Quantization 19


Exercise
„ Deduce the two important criteria for obtaining good
SQNR.
„ Given a PC-based audio signal acquisition system. An
audio signal is to be coded by an ADC for storage in
the hard disk. The signal contains significant
frequency up to 8kHz. The quantization error in any
one of the samples introduced by coding must be
less than 0.02% of the total signal excursion range of
the ADC. Assuming that uniform quantization is used
and sampling theorem is obeyed, what is the
minimum amount of storage space (in bytes)
required to capture 5 seconds of the signal?

EE4413: Sampling and Quantization 20


DAC: Signal Recovery
„ The digital-to-analogue conversion process is
employed to convert the digital signal into an
analogue form after it has been digitally
processed, transmitted or stored.
„ Digital-to-Analogue conversion consists of two
main components: the DAC (digital-to-analogue
converter) and a lowpass filter sometimes
called a reconstruction, smoothing or
anti-image filter.

DAC: Signal Recovery 1


DAC

DAC: Signal Recovery 2


Zero-order Hold

„ By comparing its output, y(t), and its


input, y(nT), it is evident that for each
digital code fed into the DAC, its output
is held for a time T. The result is the
characteristic staircase shape at the DAC
output. In the frequency domain, the
holding action of the DAC introduces a
type of distortion known as the sin(x)/x
or aperture distortion, where x = ωT/2.
DAC: Signal Recovery 3
Zero-order Hold
„ The input and output signals of the
DAC are both wideband signals. Each
consists of the signal spectrum (which
had been digitized) plus an infinite
number of images of the original
spectrum centered at the multiples of
the sampling frequency.

DAC: Signal Recovery 4


Zero-order Hold

ƒ The amplitude of the output signal


spectrum is multiplied by the sin(x)/x
function, which acts like a lowpass
filter, with the image frequencies
heavily attenuated.

DAC: Signal Recovery 5


Zero-order Hold Compensation

„ Aperture error can be eliminated by


equalization.
„ In practice this can be achieved by first
applying the signal, before converting it
to analogue, through a digital filter whose
amplitude-frequency response has an
x/sin(x) shape.

DAC: Signal Recovery 6


Zero-order Hold: Other Solution
„ Digital-to-analogue conversion is done at
a much higher rate than specified by the
sampling theorem.
„ How and why? Think about it!

DAC: Signal Recovery 7


Time and Frequency Domain
Representation

DAC: Signal Recovery 8


Anti-imaging Filtering
„ The role of the output (that is, anti-imaging)
filter is to smooth out the steps in the DAC
output thereby removing the unwanted h.f.
components.
„ The roll-off requirements for the output filter
depend on the effect the analogue signal will
have on subsequent analogue stages.
„ The requirements of the anti-imaging filter are
similar to those of the anti-aliasing filter.

DAC: Signal Recovery 9


Problem
„ Figure in next page depicts the set-up used to
recover an analogue signal, after it has been digitally
processed in a certain real-time digital audio system.
The analogue signal has a baseband that extends
from 0 to 20 kHz and the digital-to-analogue
converter is updated at a rate of 176.4 kHz. The
image frequencies are to be suppressed by at least
50 dB and the signal components of interest are to
be altered by a maximum of 0.5 dB. Determine the
minimum values for the order and cutoff frequency
for the anti-image filter, assuming that it has
Butterworth characteristic. State any reasonable
assumptions made.

DAC: Signal Recovery 10


Problem

DAC: Signal Recovery 11


Solution
„ Assuming a zero-order hold, the spectrum
at the DAC output is the product of the
signal spectrum and the sinx/x response.
Attenuation of the signal due to the
sin(x)/x spectrum at the two critical
frequencies, 20 kHz and 156.4 kHz (the
image frequencies closest to the
baseband), is as follows:

DAC: Signal Recovery 12


Solution
„ at 20kHz:
sin(x)/x = 0.9789 (with x=ωT/2) =-0.184 dB
„ at 156.4kHz: sin(x)/x = 0.125 = -18 dB
„ Thus in the passband, the output filter should
not have more than (0.5-0.184=0.316dB)
deviation.
„ In the stopband, an additional attenuation of at
least (50 - 18 = 32 dB) is required.

DAC: Signal Recovery 13


Solution

20log10 [1 + (20/f c ) ] 2n 1/2


≤ 0.316dB

20log10 [1 + (156.4/f c ) ] 2n 1/2


≥ 32dB
Solving the equations for n, we have
n=2.4 (=> n=3) and fc=30.76kHz.

DAC: Signal Recovery 14


Digital Signal Processor
„ To be covered later.

DAC: Signal Recovery 15


Constraints

„ The use of a finite number of bits to represent


data introduces an intrinsic error, the
quantization error, which is propagated into
subsequent signal processing. Two ways of
dealing with this error are to increase the
resolution of the ADC and to oversample the
signal followed by a further DSP to improve
the SNR.

DAC: Signal Recovery 16


Constraints
„ High resolution ADC and DAC are in general
slow (except for the very expensive
converters). Typically, an ADC takes a few
microseconds to convert an analogue sample,
and a DAC takes a significant fraction of
microsecond to settle. Thus these delays
impose a limit on the maxim sampling
frequency achievable. In fact, with current
technology, ADCs/DACs are now a major
bottleneck in most real-time DSP applications.

DAC: Signal Recovery 17


Constraints
„ The ADCs/DACs are subject to a variety
of other errors which include temperature
effects and nonlinearities. Thus a good
real-time DSP system with analogue
inputs should have good quality analogue
input/output sections.

DAC: Signal Recovery 18


Constraints
„ The output of the sample and hold is
wideband (because of the image
frequencies) and will increase the noise
at the ADC input.
„ Aliasing error from signal energy outside
of the band of interest is always present.
To reduce aliasing to an acceptable level,
bandlimit the signal before sampling, and
oversample if possible.

DAC: Signal Recovery 19


Constraints
„ The use of a zero-order DAC introduces
the sin(x)/x effect which progressively
reduces the high frequency components
of a signal. This can be compensated for
by using a digital filter with an x/sin(x)
response.

DAC: Signal Recovery 20


Constraints
„ Errors are introduced by the anti-aliasing
filters. Typically, these are amplitude and
phase errors. The amplitude responses of
these filters are not flat in the band of
interest. Analogue filters with reasonably
good amplitude response have invariably
poor phase response, which means that
the harmonic relationships between
signal components are distorted.

DAC: Signal Recovery 21


Constraints
„ Sample and hold errors include
acquisition time, aperture uncertainty,
etc.
„ The trend in modern DSP systems,
especially digital audio systems such as
the compact disc player, is to use
single-bit ADCs and DACs.

DAC: Signal Recovery 22


Filter Design
„ The process of deriving transfer function G(z)
whose frequency response G(ejω)
approximates the given frequency response
specifications is called Digital Filter design.
„ ω = 2πf/fs
„ fs = sampling frequency
„ Finite Impulse Response (FIR) Filter
„ Infinite Impulse Response (IIR) Filter
EE4413: Filter Design 1
Choosing Between FIR & IIR
The choice between FIR and IIR filters depends largely
on the relative advantages of the two filter types.
„ FIR filters can have an exactly linear phase response. The
implication of this is that no phase distortion is introduced
into the signal by the filter. This is an important
requirement in many applications, for example data
transmission, biomedicine, digital audio and image
processing. The phase responses of IIR filters are
nonlinear, especially at the band edges.

EE4413: Filter Design 2


Choosing Between FIR & IIR
„ FIR filters realized non-recursively are always
stable. The stability of IIR filters cannot always be
guaranteed.
„ The effects of using a limited number of bits to
implement filters such as round-off noise and
coefficient quantization errors are much less
severe in FIR than in IIR.

EE4413: Filter Design 3


Choosing Between FIR & IIR
„ FIR requires more coefficients for sharp cutoff
filters than IIR. Thus for a given amplitude
response specification, more processing time
and storage will be required for FIR
implementation. However, one can readily take
advantage of the computational speed of the
FFT and multi-rate techniques to improve
significantly the efficiency of FIR
implementations.

EE4413: Filter Design 4


Choosing Between FIR & IIR
„ Analogue filters can be readily transformed into
equivalent IIR digital filters meeting similar
specifications. This is not possible with FIR filters
as they have no analogue counterpart. However,
with FIR it is easier to synthesize filters of
arbitrary frequency responses.
„ In general, FIR is algebraically more difficult to
synthesize, if CAD support is not available.

EE4413: Filter Design 5


Broad Guideline on Selection
„ Use IIR when the only important requirements are sharp
cutoff filter and high throughput, as IIR filters, especially
those using elliptic characteristics, will give fewer
coefficients than FIR.
„ Use FIR if the number of filter coefficients is not too large
and, in particular, if little or no phase distortion is desired.
One might also add that newer DSP processors have
architectures that are tailored to filtering, and indeed some
are designed specifically for FIRs.

EE4413: Filter Design 6


Filter design Steps (5 Steps)
„ Specification of the filter requirements
„ Calculation of suitable filter coefficients
„ Representation of the filter by a suitable
structure
„ Analysis of the effects of finite wordlength on
filter performance
„ Implementation of filter in software and/or
hardware

EE4413: Filter Design 7


Filter design Steps

EE4413: Filter Design 8


FIR Filter (one possible structure)

EE4413: Filter Design 9


IIR Filter (one possible structure)

EE4413: Filter Design 10


Matlab Review: How to …
„ declare and assign scalar, complex number,
vector and matrix.
„ Perform arithmetic, relational, logic,
vector/matrix operations.
„ Control program flow.
„ Draw graphs
„ Use function, M-file, Mat-file.

EE4413: Filter Design 11


General Signal Processing
Algorithms

„ Waveform generation
„ Quadrature signal processing
„ Signal detection
„ Modulation techniques / Frequency
translation
„ Signal averaging

EE4413: General Signal Processing Algorithms 1


Waveform Generation:
Considerations
„ Waveform purity
„ In terms of Total harmonic distortion (THD)
„ THD=(power in unwanted harmonic
component)/(total waveform power)
„ Frequency/period control: Fixed or VCO?
„ Phase control: Fixed or varied?
„ Memory usage
„ Execution time
„ Accuracy: what is the tolerance required on gain
& frequency setting?
EE4413: General Signal Processing Algorithms 2
Waveform Generation:
Methods / types
„ Look-up table / sampled waveform
generators
„ Relaxation oscillators
„ Using marginally stable recursive filter
sections
„ Random number / white noise

EE4413: General Signal Processing Algorithms 3


Look-up table
„ Waveform samples can be computed off-line
using Matlab, or
„ Samples can be obtained by recording true
waveforms
„ Example: Sine wave generator
„ x(i)=sin(i*360o/N)
„ N=number of samples in one cycle
„ To vary frequency: change program execution rate or
miss out some samples.
„ To vary phase: control/initialize the table pointer.

EE4413: General Signal Processing Algorithms 4


Using Marginal stable filter
„ Example: generating a cosine function

Use 1 − α cos(∠α )z −1
„
H (z ) =
1 − 2 α cos(∠α )z + α z −1 −2
2

f = (∠α )
„ Frequency fs

„ α is a complex number.

EE4413: General Signal Processing Algorithms 5


Generating a cosine function

EE4413: General Signal Processing Algorithms 6


Generating a cosine function

EE4413: General Signal Processing Algorithms 7


Generating a cosine function

EE4413: General Signal Processing Algorithms 8


Random Number / White
Noise Generator
„ Use look-up table or shift register with
feedback
„ Shift register method
„ more efficient in terms of memory usage
„ more commonly used
„ Used to simulate ‘finite band’ white noise
source

EE4413: General Signal Processing Algorithms 9


Random Number / White
Noise Generator
„ Output can be single bit or M-bit word
„ Note: bit rate and waveform output rate
are different
M-bit

EE4413: General Signal Processing Algorithms 10


Signal Averaging
„ Averaging is in reality a filtering operation
on selected waveform samples.
„ Three types of signal averaging are
commonly employed:
„ linear averaging
„ peak averaging
„ exponential averaging.

EE4413: General Signal Processing Algorithms 11


Linear averaging
„ Finding the mean number of sample values,
x(n), as defined by the equation
N
Lav = 1
N ∑ x(n)
n =1

„ involves addition of the N samples, and division


by N.
„ simplified if N is power of two, i.e. 2, 4, 8, 16...
„ the division (normalization) is done by a right
shift of the appropriate power of two.
EE4413: General Signal Processing Algorithms 12
Exponential averaging
„ In contrast to linear averaging, where all
samples are summed with equal weighting,
exponential averaging uses non-uniform
weighting, with greatest weight usually given to
the most recent samples. In this way, the
averaged output is biased towards the more
recent changes in a waveform and can thus
‘follow' slowly varying changes in signal shape.
„ Averaging is in essence a filtering operation and
as such can be implemented using recursive or
non-recursive algorithms.
EE4413: General Signal Processing Algorithms 13
Exponential averaging
„ The simple feedback filter structure shown is in
fact the digital realization of a first-order low-
pass filter. The weighting of the accumulated
samples, past or present, is determined by the
feedback constant b1.
„ The larger the value of b1, the greater the
emphasis on past history, whereas the smaller
b1, the greater the emphasis on present
samples.

EE4413: General Signal Processing Algorithms 14


Exponential averaging

y(n)

x(n)

y( n ) = (1 − b1 ) x ( n ) + y( n − 1) b1

EE4413: General Signal Processing Algorithms 15


Peak averaging
„ Strictly speaking, peak averaging is not really an
averaging process at all.
„ All that is involved is detecting and storing the
peak level of a particular signal component.
„ It is a common feature of spectrum analysers
where the peak averaging option results in a
display of the peak values of each frequency
component occurring over a given period of
time.

EE4413: General Signal Processing Algorithms 16


Peak averaging
„ A very simple algorithm can be adopted
for this purpose, namely the comparison
of present and previous stored samples,
with the larger of the two samples being
stored.

EE4413: General Signal Processing Algorithms 17


Quadrature signal processing
„ Widely used in communication systems
„ Three basic algorithms for quadrature
waveform generation:
„ Hilbert transform filter
„ SSB quadrature generator
„ Time delay (narrowband only)

EE4413: General Signal Processing Algorithms 18


Hilbert transform
„ The Hilbert transform is the name given to
an operator which, when applied to a
bandlimited signal, generates the exact
quadrature of the waveform (i.e. all
components are phase shifted by 90°).
„ Digital implementation of the Hilbert
transform is achieved most readily using
finite impulse response FIR filtering
techniques.
EE4413: General Signal Processing Algorithms 19
Hilbert transform filter

EE4413: General Signal Processing Algorithms 20


Hilbert transform filter

Lowpass => Bandpass (bandwidth doubled, centred at fo)

EE4413: General Signal Processing Algorithms 21


SSB quadrature generator

EE4413: General Signal Processing Algorithms 22


Signal Detection
„ y(t)= r(t) cos[ωct+φ(t)]

„ The problem is to detect time-varying


„ Envelope
„ Frequency
„ Phase

EE4413: General Signal Processing Algorithms 23


Quadrature envelope
detection
„ {r(t) cos[ωct+φ(t)]}2+ {r(t) sin[ωct+φ(t)]}2
=r(t)2

EE4413: General Signal Processing Algorithms 24


Quadrature frequency
detector
„ I(t)= 0.5 r(t) sin[θ(t)]
„ Q(t)= 0.5 r(t) cos[θ(t)]

„ I(t)’=0.5r(t)θ(t)’cos[θ(t)]+0.5r(t)’sin[θ(t)]
„ Q(t)’=-0.5r(t)θ(t)’sin[θ(t)]+0.5r(t)’cos[θ(t)]

„ I(t)’Q(t) - I(t)Q(t)’ = 0.25 r(t)2 θ(t)’

EE4413: General Signal Processing Algorithms 25


Quadrature frequency
detector

EE4413: General Signal Processing Algorithms 26


Other frequency detectors
„ Filter banks (followed by envelope
detectors)
„ Filter slope frequency discriminator
„ Phase locked loop discriminator
„ Pulse counting
„ DFT/FFT

EE4413: General Signal Processing Algorithms 27


Phase detection
„ Mixer-based phase detector:
„ To determine the phase of y(t)
„ y(t)= cos[ωct+φ(t)]
„ z(t)= sin[ωct]
„ y(t)z(t) =sin[φ(t)]+ sin[2ωct +φ(t)]
„ After filtering, if φ(t) is small:
„ φ(t) = sin[φ(t)] (first term of y(t)z(t))

EE4413: General Signal Processing Algorithms 28


Modulation / Frequency translation -
Filtering Technique

EE4413: General Signal Processing Algorithms 29


Quadrature Frequency Translation

EE4413: General Signal Processing Algorithms 30


Quadrature Frequency Translation:
Quadrature Output

EE4413: General Signal Processing Algorithms 31


Frequency Translation by
Aliasing

EE4413: General Signal Processing Algorithms 32


Adaptive Filtering (1)
An example (noise canceller):

EE4413: General Signal Processing Algorithms 33


Adaptive Filtering (2)

Updating digital filter by Least-


Mean-Square (LMS) Algorithm:

where 0<u<0.5

EE4413: General Signal Processing Algorithms 34


Adaptive Filtering (3)

EE4413: General Signal Processing Algorithms 35


Adaptive Filtering (4)

EE4413: General Signal Processing Algorithms 36


Adaptive Filtering (5)

1. Initialize wk(i)

2.

3.

4.

EE4413: General Signal Processing Algorithms 37


Adaptive Filtering (6)
Coding of the LMS adaptive filter:

EE4413: General Signal Processing Algorithms 38


Adaptive Filtering (7)

Hardware implementation for real-time


LMS adaptive filtering:

EE4413: General Signal Processing Algorithms 39


Adaptive Filtering (8)

EE4413: General Signal Processing Algorithms 40


Design and Development Tools
„ System design software & simulation
tools
„ Simulators for processors
„ Development boards
„ Real-time operating systems
„ ASIC EDA

EE4413: Development Tools 1


System Design Software
„ Cadence® - SPW (Signal Processing
Worksystem)
„ Frontier (Mentor Graphics) - DSP station
„ HP - ADS (Advanced Design System)
„ Synopsys - COSSAP (The High-Productivity
Development Environment for Algorithmic
System-Level Design)
„ Mathwork - MATLAB, SIMULINK
„ National Instruments - Labview

EE4413: Development Tools 2


Example - SPW

EE4413: Development Tools 3


DSP Simulators
„ Purely software, running on the PC
„ Accumulator, registers, program and data
memory are displayed
„ Allowed stepping through
„ Can take snapshot of the DSP system
„ File I/O
„ Similar to real-time development environment
„ Provided by DSP manufacturers or 3rd parties

EE4413: Development Tools 4


Development Boards/Kits
„ Comm port / ISA / PCI / VME / VXI bus and more
„ Come with real-time development software
(compiler, linker, debugger, etc; software interface
may resemble the simulator software)
„ Obtainable from the DSP manufacturers or 3rd
parties (provide better systems then the
manufacturers)
„ Lists of 3rd parties obtainable from the
manufacturers
„ There websites provide summaries
EE4413: Development Tools 5
Example - Go DSP’s Code
Composer

EE4413: Development Tools 6


Real-time Operating Systems
„ SPOX, SPOX-M (Spectron Microsystems)
„ Diamond (// C) (3L Limited)
„ Virtuoso RTOS (Eonic Systems)

„ (Come with libraries)

EE4413: Development Tools 7


Good luck and all the best …
„ From:

EE4413: Development Tools 8

You might also like