elg6163 real time
TRANSCRIPT
-
7/27/2019 ELG6163 Real Time
1/18
-
7/27/2019 ELG6163 Real Time
2/18
-
7/27/2019 ELG6163 Real Time
3/18
3
DSP System
-
7/27/2019 ELG6163 Real Time
4/18
4
Real time signal processing
x(n) input discrete time signal representation sampled
every Tx. y(n) input discrete time signal representation sampled
every Ty.
Signal processing is a transformation F of input samplesx(n) to obtain the output signal y(m)=F(x(n))
Tc is a computation time needed to process L input
samples.
System that has TcLTx is said to operate in real-time.
-
7/27/2019 ELG6163 Real Time
5/18
5
Real time signal processing - Conditions
Conditions for real-time processing
the input sample period Tx the complexity of the transformation F
the speed of the computer(s) which compute F(x(n)) as
measured by Tc
-
7/27/2019 ELG6163 Real Time
6/18
6
Non-real time signal processing
-
7/27/2019 ELG6163 Real Time
7/18
7
Structural levels of processing
Stream processing
all computations with one input sample are completed before thenext input sample arrives
Block processing
each input sample x(n) is stored in memory before anyprocessing occurs upon it. AfterL input samples have arrived,
the entire collection of samples is processed at once.
Vector processing
systems with several input and/or output signals being computed
at once: can work with streams or blocks
-
7/27/2019 ELG6163 Real Time
8/18
-
7/27/2019 ELG6163 Real Time
9/18
9
Block processing
Short-time stationarity of signals
Advantages
Efficiency:
Fast algorithms such as FFT can be applied
Some algorithms (median) require access to all the samples inthe block and are difficult to execute in a stream manner.
Disadvantages
Latency
-
7/27/2019 ELG6163 Real Time
10/18
10
Parameters of algorithms related to complexity
Throughput;
Range and precision of numbers; Data-dependent execution, whereby the instruction
sequence is influenced by the incoming data;
Precedence relations within the algorithm, as well as the
lifetime of data values within the computation;
Global versus local communication of data;
Random versus regular sequencing of data addresses;
Diversity of operations and the amount of "difficult"
instructions
-
7/27/2019 ELG6163 Real Time
11/18
11
Timing parameters
The critical path determines the time it takes to complete
an iteration of the computation.
The latencyof an algorithm is the time it takes togenerate an output value from the corresponding inputvalue.
-
7/27/2019 ELG6163 Real Time
12/18
-
7/27/2019 ELG6163 Real Time
13/18
13
Range and precision of numbers
A number is represented with a fixed number of bits -
tradeoff between dynamic range and precision. Dynamic range is the range between the most negative
and the most positive number encountered.
The number of bits determines the number of numeric
levels available Complexity increases with the number of bits.
In a purpose-built (custom) architecture, increasing the
number of bits increases the area, approximately as the
square of the number of bits.
-
7/27/2019 ELG6163 Real Time
14/18
14
Data-dependent execution
High-speed computing is most easily achieved for algorithms that
are regular, i.e., that perform the same operations on each piece ofdata.
Data-dependent computations and data precedence requirements
for sequential execution pose obstacles to achieving task parallelism
(executing multiple tasks in parallel).
The requirement of global communication increases the difficulty ofachieving data parallelism (performing parallel computations on
subsets of the data).
Data dependencies are studied through temporal and spatial
locality: Temporal localityis described as the tendency for a program to
reuse the data or instructions which have recently been used.
Spatial localityis the tendency for a program to use the data or
instructions neighboring those which were recently used.
-
7/27/2019 ELG6163 Real Time
15/18
15
Data lifetime
Computations that use a piece of data once and then
discard it are more amenable to stream processingalgorithms
Stream processing algorithms require less storage, avoid
the need to again find a piece of data from within a
random memory array, and reduce the latency of results. Block processing algorithms, which collect all samples at
once before acting upon them, require time to
accumulate numbers, which introduces latency.
-
7/27/2019 ELG6163 Real Time
16/18
16
Address pattern
-
7/27/2019 ELG6163 Real Time
17/18
17
Diversity of operations
Typically: repetitive kernels of computation
Examples: FIR filter a multiply-add operation.
FFT is the butterfly calculation.
Challenges: Linear or non-linear computation
Nonstandard operations
-
7/27/2019 ELG6163 Real Time
18/18
18
Concurrency
Concurrency of operations quantifies the expected
number of operations that will be simultaneouslyexecuted.
Temporal concurrency pipelining
Spatial concurrency represents a set of tasks that can beexecuted concurrently.
Spatial concurrency parallelism
Retimed FIR filter: Multiplication and addition in O(1)time