Obradba signala u blokovima i obradba uzorak po
Obradba signala u blokovima i obradba uzorak po uzorak Digitalna obradba signala 1
Sadržaj § Obradba po blokovima § § § Direktni oblik, konvolucijska tablica, matrični oblik Zrcali i pomakni oblik Blokovi beskonačne duljine Preklopi i zbroji metoda Obradba uzorak po uzorak § Hardwareska realizacija 2
Obradba po blokovima § § § prikupljanje uzoraka u blokove FIR filtracija signala konačnog trajanja brza konvolucija dugačkih signala razloženih u kraće blokove DFT/FFT analiza i sinteza govora obradba slike 3
Obradba uzorak po uzorak § § § DSP algoritam za svaki uzorak signala filtracija dugačkih signala u stvarnom vremenu audio efekti sustavi regulacije adaptivna obradba signala 4
Obradba po blokovima § Definicija bloka TL = LT fo = 1/T L = TL fo 5
Konvolucijska sumacija § diskretni sustav moguće je opisati pomoću konvolucijske sumacije § vrijedi samo za linearne vremenski nepromjenjive (LTI) sustave 6
Izvod konvolucijske sumacije 7
Ekvivalentni oblici zapisa konvolucijske sumacije zamjena l = n – m: za l = m slijedi: 8
Ekvivalentni oblici zapisa konvolucijske sumacije (2) § § suma indeksa m + n – m = n zamjena: i = m, j = n – m 9
Direktni oblik konvolucije § Kauzalni FIR filtar M-tog reda: h = [h 0, h 1, . . , h. M], Lh = M + 1 Koje je područje vrijednosti od n i m? § Iz definicije h(n) i u(n) slijedi: § 10
Direktni oblik konvolucije § iz toga slijedi: Ly = L + M 11
Direktni oblik konvolucije § § Blok izlaznog signala: y = [y 0, y 1, . . , y. L-1+M] odziv je duži od ulaza za M uzoraka: h= u= y = h*u M+1 L L M 12
Direktni oblik konvolucije: Koje je područje vrijednosti m za svaki n? § § Iz definicije h(n) i u(n): dobivamo: pribrojimo n: Dakle, m mora zadovoljiti dvije nejednadžbe: 13
Direktni oblik konvolucije: Koje je područje vrijednosti m za svaki n? § Iz ove dvije nejednadžbe slijedi: 14
Direktni oblik konvolucije (primjer) § § § FIR filtra reda 3 ulazni signal od 5 uzoraka izlazni blok je duljine 5+3 (indeksi od 0 do 7) h = [h 0, h 1, h 2, h 3] u = [u 0, u 1, u 2, u 3 , u 4] y = [y 0, y 1, y 2, y 3, y 4, y 5, y 6, y 7] 15
Direktni oblik konvolucije (primjer) y 0 y 1 y 2 y 3 y 4 y 5 y 6 y 7 = = = = h 0 u 0 h 0 u 1 + h 1 u 0 h 0 u 2 + h 1 u 1 + h 2 u 0 h 0 u 3 + h 1 u 2 + h 2 u 1 + h 0 u 4 + h 1 u 3 + h 2 u 2 + h 1 u 4 + h 2 u 3 + h 2 u 4 + h 3 u 0 h 3 u 1 h 3 u 2 h 3 u 3 h 3 u 4 16
Konvolucijska tablica § Svaki uzorak yn je suma svih mogućih produkata hi i uj za koje vrijedi i + j = n u 0 h 1 h 2 h 3 u 1 y 0 u 2 y 1 u 3 y 2 u 4 y 3 h 0 u 0 h 0 u 1 h 0 u 2 h 0 u 3 h 0 u 4 h 1 u 0 h 1 u 1 h 1 u 2 h 1 u 3 h 1 u 4 h 2 u 0 h 2 u 1 h 2 u 2 h 2 u 3 h 2 u 4 h 3 u 0 h 3 u 1 h 3 u 2 h 3 u 3 h 3 u 4 y 5 y 6 y 7 17
Matrični oblik § § § y = Hu gdje je matrica H sastavljena iz koeficijenata inpusnog odziva filtra ulazni vektor je duljine L izlazni vektor je duljine L+M H je pravokutna matrica dimenzija (L+M)x. L stupce od H tvore zakašnjele replike bloka impulsnog odziva h H je Toeplitzova matrica 18
Matrični oblik 19
Alternativni matrični oblik § dimenzija od U je (L+M)x(M+1) 20
Zrcali i pomakni oblik (Flip-and-Slide Form) § § § Vrlo česta i očigledna interpretacija konvolucije Impuslni odziv filtra se zrcali pa se posmiče preko ulaznog niza h. M-1. . . h 1 h 0 0 0. . . 0 h. M-1. . . h 1 h 0 u 1 u 2 u 3 u 4. . un-1 un. . u. L-1 M nula 0 . . . 0 0 M nula y 0 yn y. L-1+M 21
Zrcali i pomakni oblik § § § prvih M uzoraka izlaznog bloka naziva se prijelazni odziv (input-on transient) ili utitravanje filtra stacionarno stanje (steady state) filtra je za M n L 1 yn = h 0 un + h 1 un-1 +. . . + h. Mun-M zadnjih M uzoraka za L n L 1 + M naziva se istitravanje filtra (input-off transient) 22
Stacionarni odziv i utitravanje/istitravanje FIR filtra § § za filtar M-tog reda i ulazni blok duljine L moguće su ove vrijednosti indeksa odziva 0 n L 1+M tri različite granice konvolucijske sumacije za tri dijela izlaznog bloka*: § § § utitravanje filtra stacionarno stanje istitravanje filtra 0 n M M n L 1+M *uz pretpostavku da je duljina filtra mnogo kraća od duljine ulaznog bloka: M +1 < L, tj. M < L 1 23
Stacionarni odziv i utitravanje/istitravanje FIR filtra - granice konvolucijske sumacije § § donja granica sumacije je max (0, n – L + 1), a gornja granica je min (n, M) utitravanje filtra 0 n M L 1 max (0, n – L + 1) = 0, min (n, M) = n stacionarno stanje M n L 1 max (0, n – L + 1) = 0, min (n, M) = M istitravanje filtra M L 1 n L 1+M max (0, n – L + 1) = n – L + 1, min (n, M) = M *uz pretpostavku da je duljina filtra mnogo kraća od duljine ulaznog bloka: M +1 < L, tj. M < L 1 24
Stacionarni odziv i utitravanje/istitravanje FIR filtra - granice konvolucijske sumacije za 0 n M utitravanje za M n L 1 stac. stanje za L 1 n L 1 + M istitravanje *uz pretpostavku da je duljina filtra mnogo kraća od duljine ulaznog bloka: M +1 < L, tj. M < L 1 25
Konvolucija blokova signala beskonačne duljine § § filtar beskonačne duljine, konačan ulazni signal M = , L < filtar konačne duljine, beskonačan ulazni signal M < , L = filtar beskonačne duljine, beskonačan ulazni signal M = , L = u sva tri slučaja 0 n < 26
Konvolucija blokova signala beskonačne duljine – granice konvolucijske sumacije § kada L max (0, n – L + 1) = 0 § kada M min (n, M) = n 27
Konvolucija blokova signala beskonačne duljine – granice konvolucijske sumacije za M = , L < za M < , L = za M = , L = 28
Opći slučaj § § impusni odziv filtra konačnog ili beskonačnog trajanja, kauzalan ili nekauzalan: –M 1 n M 2 blok ulaznog signala konačnog ili beskonačnog trajanja: –L 1 n L 2 -1 29
Opći slučaj – granice konvolucijske sumacije M 1 m M 2 (*) L 1 n m L 2 1 (**) m L 1 n L 2 1 + m n L 2 + 1 m n + L 1 (**) (*), (**) M 1 L 1 n L 2 1 + M 2 max( M 1, n L 2 + 1) m min(n + L 1, M 2) 30
Opći slučaj – granice konvolucijske sumacije 31
Preklopi i zbroji metoda (Overlap-Add) § § za vrlo dugačke (ili besknačne) signale ulazni signal se podijeli u kraće blokove duljine L: u = u. A, u. B, u. C. . . izlazni blokovi duljine L+M se preklapaju y 0 = h * u. A y 1 = h * u. B y 2 = h * u. C potrebno je zbrojiti dijelove koji se preklapaju 32
Preklopi i zbroji metoda L u L blok u. A L blok u. C blok u. B M ytemp y 0 M ytemp y 1 M ytemp y 2 n=0 n=L n=2 L n=3 L 33
Preklopi i zbroji metoda - primjer § Neka je ulazni “dugački” signal u(n) = [u 0, u 1, u 2, u 3, u 4, u 5, u 6, u 7, u 8] § Razložimo ulazni signal na blokove duljine L § Neka je filtar reda M = 2 34
Preklopi i zbroji metoda L u blok u. A y 0 h 0 u 0 h 1 u 0 h 0 u 1 L L blok u. C blok u. B h 2 u 0 h 2 u 1 h 2 u 2 h 1 u 1 h 1 u 2 h 0 u 2 y 1 h 0 u 3 h 1 u 3 h 0 u 4 h 2 u 3 h 2 u 4 h 2 u 5 h 1 u 4 h 1 u 5 h 0 u 5 y 2 n=0 y h 0 u 0 n=L h 2 u 0 h 2 u 1 h 2 u 2 h 2 u 3 h 1 u 0 h 1 u 1 h 1 u 2 h 0 u 3 h 0 u 4 h 0 u 1 h 0 u 2 h 0 u 3 h 0 u 4 h 0 u 5 h 2 u 6 h 2 u 7 h 2 u 8 h 1 u 6 h 1 u 7 h 1 u 8 h 0 u 6 h 0 u 7 h 0 u 8 n=2 L n=3 L h 2 u 4 h 2 u 5 h 2 u 6 h 2 u 7 h 2 u 8 h 1 u 5 h 1 u 6 h 1 u 7 h 1 u 8 35 h 0 u 6 h 0 u 7 h 0 u 8
Preklopi i zbroji metoda - primjer y 0 y 1 y 2 y 3 y 4 y 5 y 6 y 7 u 0 u 1 u 2 u 3 u 4 u 5 u 6 u 7 u 8 h 0 u 0 h 0 u 1 h 0 u 2 h 0 u 3 h 0 u 4 h 0 u 5 h 0 u 6 h 0 u 7 h 0 u 8 h 1 u 0 h 1 u 1 h 1 u 2 h 1 u 3 h 1 u 4 h 1 u 5 h 1 u 6 h 1 u 7 h 2 u 8 h 2 u 0 h 2 u 1 h 2 u 2 h 2 u 3 h 2 u 4 h 2 u 5 h 2 u 6 h 2 u 7 h 2 u 8 y 9 36
Obradba uzorak po uzorak § kontinuirana obradba uzoraka § realizacije u stvarnom vremenu § elementarni funkcijski blokovi § zbrajalo § množilo § element za kašnjenje 37
Obradba uzorak po uzorak – direktni oblik § § realizacija slijedi direktno iz konvolucijske sumacije za M < , L = odgovara joj blok dijagram: 38
Obradba uzorak po uzorak – direktni oblik uvode se varijable stanja w 0(n), w 1(n), w 2(n), . . . , w. M(n) w 0(n) = u(n) w 1(n) = u(n-1) = w 0(n-1) w 2(n) = u(n-2) = w 1(n-1) w 3(n) = u(n-3) = w 2(n-1). . . w. M(n) = u(n-M) = w. M-1(n-1) § 39
Obradba uzorak po uzorak – direktni oblik § § § Novi zapis cirkularne konvolucije: Prednost je da se svi članovi sumacije odnose na isti n i svi su dostupni za obradbu u koraku n. w 0(n) je trenutni ulazni uzorak wi(n), i = 1, . . . , M su trenutni izbori elemenata za kašnjenje 40
Cirkularni međuspremnici pomaknuti podaci slijedeći korak 41
Modulo M+1 cirkularni međuspremnik slijedeći korak pomaknuti pokazivač 42
u[n-1] h[M] u[n-M] h[M-1] u[n-M] h[M] u[n+1] u[n-M+1] h[M-2] u[n-M+1] h[M-1] u[n-M+1] h[M] . . . . h[M-2] . . . h[M-1] . . . . h[M-2] . . u[n-2] h[1] u[n-2] . . . u[n-1] h[0] u[n-1] h[1] u[n-1] . . . u[n] h[0] u[n] h[1] u[n+1] h[0] u[n-M-1] u[n-M] u[n-1] u[n] u[n-M] u[n+1] u[n-M+1] . . . u[n-2] u[n-1] korak [n] korak [n+1] u[n-M+1] 43
Literatura § § Rabiner: A Simplified Computational Algorithm for Implementing FIR Digital Filters; IEEE Trans. Vol. ASSP-25, No. 3, 1977. P. 259 -261 Sophocles J. Orfanidis: Introduction to Signal Processing (poglavlje 4: FIR Filtering and Convolution) 44
Linearna, periodična i cirkularna konvolucija § § § Do sada smo, prešutno, razmatrali linearnu konvoluciju. Ilustrirajmo je još jednim primjerom: Neka su zadani diskretni nizovi : x 1[n]=[1 1 1 0] x 2[n]=[1 2 3 4] Linearna konvolucija ovih nizova je: 45
46
Periodična i cirkularna kovolucija § Za periodične nizove perioda N definiramo periodičnu konvoluciju Bitna razlika u odnosu na izračunavanje linearne konvolucijske sumacije za aperiodske nizovne je da se ovdje sumacija izvršava u intervalu 0 j N-1. 47
Periodična i cirkularna konvolucija § Periodiziramo li nizove x 1[n] i x 2[n] dobiti ćemo Ovi nizovi su prikazani kako slijedi: 48
49
Izračunavanje periodične konvolucije 50
Izračunavanje periodične konvolucije 51
Izračunavanje periodične konvolucije 52
Izračunavanje periodične konvolucije 53
Izračunavanje periodične konvolucije 54
§ Cirkularna konvolucija Cirkularnom konvolucijom nazivamo jednu periodične konvolucije, pa za prethodni primjer slijedi: 55
Cirkularna konvolucija § Periodična konvolucija je: Ako se ograničimo samo na jedan period slijedi: Očigledno je da je dovoljno promatrati jedan period za 56
Cirkularna konvolucija § Jednom periodu linearnom pomaknutog niza odogvara cirkularni pomak aperiodskog niza x 2[n-j] što je prikazano s a to odgovara računanju rednog broja koraka po modulu N. 57
Cirkularna konvolucija § Iz svega je vidljivo da se cirkularna konvolucija (koja će biti duljine N uzoraka) može primjeniti za dva aperiodska niza duljine N. 58
Primjer cirkularne konvolucije § Zadani nizovi x 1[n]=[1 1 1 0] i x 2[n]=[1 2 3 4]. 59
Izračunavanje cirkularne konvolucije 60
Izračunavanje cirkularne konvolucije 61
Izračunavanje cirkularne konvolucije 62
Izračunavanje cirkularne konvolucije 63
Izračunavanje cirkularne konvolucije § i konačno finalni rezultat konvolucijske sumacije 64
Izračunavanje linearne konvolucije pomoću cirkularne konvolucije x 1[j] = [1 1 1 0 0 0]; ---------------------------x 2[0 -j] = [1 0 0 4 3 2]; y[0] = 1 x 2[1 -j] = [2 1 0 0 4 3]; y[1] = 3 x 2[2 -j] = [3 2 1 0 0 4]; y[2] = 6 x 2[3 -j] = [4 3 2 1 0 0]; y[3] = 9 x 2[4 -j] = [0 4 3 2 1 0 0 0]; y[4] = 7 x 2[5 -j] = [0 0 4 3 2 1 0 0]; y[5] = 4 x 2[6 -j] = [0 0 0 4 3 2 1 0]; y[6] = 0 x 2[7 -j] = [0 0 4 3 2 1]; y[7] = 0 65
Izračunavanje linearne konvolucije pomoću cirkularne konvolucije 66
- Slides: 66