ELG6163 Real Time

download ELG6163 Real Time

of 18

Transcript of ELG6163 Real Time

  • 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