23
Processeurs de traitement du Signal DSP

DSP - Inria · Architecture Harvard modifiée Overlay. 12 Charles André - Université de Nice CPU DSP simple (C54x) 13 Charles André - Université de Nice DSP TMS32OC5x. 14 Charles

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • Processeurs de traitement du Signal

    DSP

  • Charles André - Université de Nice2

    Filtres numériques• FIR (Filtres à réponse impulsionnelle finie)

    • IIR (Filtres à réponse impulsionnelle infinie)

    • Filtres Adaptatifs FIR

    0

    p

    n i n ii

    y a x −=

    =∑ i

    0 1

    p q

    n i n i j n ji j

    y a x b y− −= =

    = −∑ ∑i i

    0

    1

    ( )

    ( ) ( 1)

    p

    n i n ii

    i i n n

    n n n

    y a n x

    a n a n B e xe r y

    −=

    =

    = − +

    = −

    ∑ ii i

  • Charles André - Université de Nice3

    Autres opérations• Corrélations

    • Valeur moyenne

    • Fenêtrage

    1

    0

    N k

    k n n kn

    c x x− −

    −=

    = ∑ i

    12

    0

    1 Nn

    nP x

    N

    =

    = ∑i

    n n ny x W= i

  • Charles André - Université de Nice4

    FFT

    • Avec 2iN

    NW eπ

    −=

    1

    0( )

    Nk n

    N n Nn

    X k x W−

    =

    =∑ ii

  • Charles André - Université de Nice5

    Calcul Matriciel

    • Produit scalaire

    • Produit matriciel

    1

    0

    n

    i ii

    z x y−

    =

    = ∑ i

    , , ,0

    k m

    i j i k k jk

    C A B=

    =

    = ∑ i

  • Charles André - Université de Nice6

    Opérations courantes• Calculs sur

    – Scalaires– Complexes– Vecteurs

    • Calculs de grande précision ou de grande dynamique

    • Opération essentielle MAC (Multiply, Add, aCcumulate)

    • Accès efficaces aux données pouvant entraîner des modes d’adressage particuliers

  • Charles André - Université de Nice7

    Classe des signaux à traiterSignal Fréquence

    échantillonnagePériode

    échantillonageNb de cycles

    entre 2 échant. (50 ns/cycle)

    Signauxvibratoires

    100 kHz 10 µs 200

    Parole 8 kHz 125 µs 2500

    Audio 48 kHz 20,8 µs 417

    Vidéo 10 MHz 100 ns 2

  • Charles André - Université de Nice8

    Principales applications• Télécommunications• Interfaces vocales• Applications militaires• Multi-média et grand public• Médical• Électronique automobile• Automatisation des procédés• Instrumentation

  • Charles André - Université de Nice9

    DSP Architecture typique

  • Charles André - Université de Nice10

    Familles de DSP• Exemple TMS320 de TI

    • Virgule fixe: C1x, C2x, C5x• Virgule flottante: C3x, C4x, C6x• Multiprocesseur: C8x

  • Charles André - Université de Nice11

    Architecture Harvard modifiée

    Overlay

  • Charles André - Université de Nice12

    CPU DSP simple (C54x)

  • Charles André - Université de Nice13

    DSP TMS32OC5x

  • Charles André - Université de Nice14

    Multiplieur du C55

  • Charles André - Université de Nice15

    ALU C55

  • Charles André - Université de Nice16

    MAC1 2 3 4 5 6× + × + ×

    1. Reg[ACCA] += Reg[PREG]

  • Charles André - Université de Nice17

    Format Q15

    1 1n− ≤ ≤Représentation en virgule fixe pour les nombres

    valeur = 152m −×

    en Q15 sur 16 bits ?

    Exemple :

    sin 6π

    14 -15 -151sin = 0.5 = 2 2 =16384 26 2π= × ×

    0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    Soit 4000h ( 0x4000)

  • Charles André - Université de Nice18

    Opérations sur Q15ADDITION/SOUSTRACTION

    Q15 ± Q15 → Q15Mais il peut y avoir débordement

    Q15 x Q15 → Q30

    ( ) ( ) ( )15 151 2 1 2 302 2 2m m m m− − −× × × = × ×pas de débordement sur 32 bits, mais 2 bits de signe !

    MULTIPLICATION/DIVISION

  • Charles André - Université de Nice19

    Exemple de multiplication

    0.5 x 0.5 → 4000h x 4000h → 10 000 000 h

    0001 0000 0000 0000 0000 0000 0000 0000→0.25

    pour ramener à Q15 :0010 0000 0000 0000

    2000h → 0.25P >> 15 & 0x0FFFF[P

  • Charles André - Université de Nice20

    Produit scalaire en C55.ds 0F00h

    costs .word 10,20,30,40,50,60,70num .word 5,10,3,2,0,34,17

    .ps 0A00h

    lar ar0,#costszapsacl result,0rpt #7mac num,*+sacl result,0

    DataSegment

    ProgramSegment

    Do 8 times

  • Charles André - Université de Nice21

    Génération d’un sinus

    y(n) = A * y(n-1) + B * y(n-2) + C * x(n-1)avec x = (1,0,0, … )

    y(-2) = y(-1) = 0

    y(0) = 0y(1) = Cy(n) = A * y(n-1) + B * y(n-2) pour n>1

    Soit θ = (f / fs) * 2πOn obtient y(n) = sin (nθ) si on choisitA = 2 cos θ ; B = -1 ; C = sin θ ;

  • Charles André - Université de Nice22

    Exemplefs = 8 kHz ; f = 800 Hz

    A = 2 * 0.809017 ↔ 2 * 678Eh en Q15

    C = 0.58778 ↔ 4B3Dh en Q15

    Donc en posant A’ = 678Eh et C’ = 259Eh

    y(0) = 0; y(1) = 2 * C’

    y(n) = 2 * A’ * y(n-1) – y(n-2) pour n > 1

  • Charles André - Université de Nice23

    DSP core (TMS320C6711)