Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Miodrag Bolic
Outline
Real time signal processing Structural levels of processing Properties and parameters of signal processing algorithms Definitions of throughput, latency, concurrency,
In order to prepare this material, Chapters 1 and 3 from [Ackenhusen99 ] are used.
DSP System
Block processing
each input sample x(n) is stored in memory before any processing occurs upon it. After L 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
Stream processing
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 in the block and are difficult to execute in a stream manner.
Disadvantages Latency
10
Timing parameters
The critical path determines the time it takes to complete an iteration of the computation.
The latency of an algorithm is the time it takes to generate an output value from the corresponding input value.
11
Throughput
Throughput is defined as the reciprocal of the time deference between successive outputs. It depends on:
number of operations, Examples: Speech coding ~ 100s of operation per sample Video applications ~5 to 10 operations per sample amount of data to process, and time available to process
12
13
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 of data. 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 of achieving data parallelism (performing parallel computations on subsets of the data).
Data dependencies are studied through temporal and spatial locality: Temporal locality is described as the tendency for a program to reuse the data or instructions which have recently been used. Spatial locality is the tendency for a program to use the data or instructions neighboring those which were recently used.
14
Data lifetime
Computations that use a piece of data once and then discard it are more amenable to stream processing algorithms 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.
15
Address pattern
16
Diversity of operations
Typically: repetitive kernels of computation Examples:
FIR filter a multiply-add operation. FFT is the butterfly calculation.
17
Concurrency
Concurrency of operations quantifies the expected number of operations that will be simultaneously executed. Temporal concurrency pipelining
Spatial concurrency represents a set of tasks that can be executed concurrently. Spatial concurrency parallelism Retimed FIR filter: Multiplication and addition in O(1) time
18