of the DSP device itself. Floating-point DSP chips also allow the efficient use of
the high-level C compilers and reduce the need to identify the system's dynamic range.
1.3.3 Real-Time Constraints
A limitation of DSP systems for real-time applications is that the bandwidth of the
system is limited by the sampling rate. The processing speed determines the rate at
which the analog signal can be sampled. For example, a real-time DSP system demands
that the signal processing time, t
p
, must be less than the sampling period, T, in order to
complete the processing task before the new sample comes in. That is,
t
p
< T:
1:3:1
This real-time constraint limits the highest frequency signal that can be processed by a
DSP system. This is given as
f
M
f
s
2
<
1
2t
p
:
1:3:2
It is clear that the longer the processing time t
p
, the lower the signal bandwidth f
M
.
Although new and faster DSP devices are introduced, there is still a limit to the
processing that can be done in real time. This limit becomes even more apparent when
system cost is taken into consideration. Generally, the real-time bandwidth can be
increased by using faster DSP chips, simplified DSP algorithms, optimized DSP pro-
grams, and parallel processing using multiple DSP chips, etc. However, there is still a
trade-off between costs and system performances, with many applications simply not
being economical at present.
1.4 DSP System Design
A generalized DSP system design is illustrated in Figure 1.8. For a given application, the
theoretical aspects of DSP system specifications such as system requirements, signal
analysis, resource analysis, and configuration analysis are first performed to define the
system requirements.
1.4.1 Algorithm Development
The algorithm for a given application is initially described using difference equations or
signal-flow block diagrams with symbolic names for the inputs and outputs. In docu-
menting the algorithm, it is sometimes helpful to further clarify which inputs and
outputs are involved by means of a data flow diagram. The next stage of the develop-
ment process is to provide more details on the sequence of operations that must be
performed in order to derive the output from the input. There are two methods for
characterizing the sequence of steps in a program: flowcharts or structured descriptions.
14
INTRODUCTION TO REAL-TIME DIGITAL SIGNAL PROCESSING