Odabiranje i rekonstrukcija signala

Digitalna obrada signala, Vladimir Petrović

Ovaj notebook će predstaviti osnovne koncepte potrebne za razumevanje digitalizacije signala. Najpre ćemo pojasniti matematički formalizam koji će poslužiti za razumevanje odabiranja signala, definisanje teoreme o odabiranju i, kasnije, za rekonstrukciju signala iz diskretnog signala. Naučićemo pojmove analogno-digitalne i digitalno-analogne konverzije i videti kako se digitalni sistem može koristiti u obradi analognog signala.

Odabiranje

Idealno odabiranje i A/D konverzija

Zamislimo proizvoljan analogni, kontinualni signal $ x(t) $ kao na slici.

Matematički, odabiranje signala i teorema o odabiranju se može pokazati preko odabiranja povorkom Dirakovih impulsa (Dirakov češalj, engl. Dirac Comb) čiji je izraz:

$$ s(t) = \sum\limits_{n=-\infty}^{\infty} \delta(t-nT_s), $$

gde je $T_s$ perioda odabiranja signala. Dirakove impulse je u prirodi nemoguće napraviti. Dirakov impuls je signal beskonačno kratkog trajanja, ali beskonačno velike amplitude, pa mu je energija jedinična, ali ovaj signal samo predstavlja matematičku apstrakciju koja je vrlo korisna u analizi analognih signala i sistema.

Kada se signal koji se diskretizuje ($x(t)$) pomnoži povorkom Dirakovih impulsa dobija se signal $x_s(t)$:

$$ x_s(t) = x(t) \sum\limits_{n=-\infty}^{\infty} \delta(t-nT_s) = \sum\limits_{n=-\infty}^{\infty} x(t)\delta(t-nT_s). $$

S obzirom na to da je $x(t)\delta(t) = x(0)\delta(t)$ i da je $x(t)\delta(t - t_0) = x(t_0)\delta(t - t_0)$, signal $x_s(t)$ se može zapisati kao:

$$ x_s(t) = \sum\limits_{n=-\infty}^{\infty} x(nT_s)\delta(t-nT_s). $$

Dakle, signal $x_s(t)$ je povorka Dirakovih impulsa $x(nT_s)\delta(t-nT_s)$

Signal $x_s(t)$ je i dalje analogni signal. Diskretni signal $x[n]$ predstavlja niz vrednosti odabiranih u trenucima $nT_s$. S obzirom na to da smo već dobili niz impulsa čije su vrednosti $x(nT_s)\delta(t-nT_s)$, potrebno je još samo uraditi konverziju iz impulsa u niz brojeva. Na ovaj način se dobija idealna analogno-digitalna konverzija (analog-to-digital conversion).

Odabiranjem korišćenjem manje periode odabiranja, dobija se više odbiraka za isto trajanje signala i obrnuto. Evo primera:

Primetite da se A/D konverzijom dobija niz brojeva kod koga se u potpunosti gubi bilo kakva informacija o vremenu. Odbirci signala su samo vrednosti poređane po istom redosledu po kome su bile i u originalnom analognom signalu. Ovaj redosled je određen indeksima $n$. Dakle, kada jedanput pređemo u digitalni svet, sve što znamo su brojevi i bez dodatne informacije o tome kolika je bila perioda odabiranja, nemamo odrednicu kada su se određeni odbirci desili.

S obzirom na to da je nemoguće napraviti Dirakov impuls, nemoguće je napraviti i idealni A/D konvertor. Dodatno, ni jedan digitalni sistem nema beskonačnu tačnost predstave brojeva. To znači da, iako je u analognom svetu moguće da je vrednost signala bilo koji realan broj, digitalni signal mora biti predstavljen uz pomoć konačnog broja bita, tj. konačnom tačnošću.

Realan A/D konvertor će vrednost analognog signala neidealno odabrati, a zatim je kvantizovati i kodovati u brojevnom sistemu od interesa. Odabiranje u realnosti najčešće radi takozvano sample and hold kolo (S/H). Najjednostavnije S/H kolo se sastoji od prekidača i kondenzatora. Zatvaranjem prekidača, kolo ulazi u stanje odabiranja (sample) u kome se kondenzator puni na napon sa ulaza. Idealno je da ovo stanje traje što je kraće moguće kako bi se što bolje emuliralo ponašanje idealnog odabiranja. Međutim, bitno je da sample stanje traje i dovoljno dugo kako bi kondenzator stigao da se napuni preko otpornosti prekidača. Stoga je jasno da $RC$ konstanta treba da bude što je moguće manja. Otvaranjem prekidača, S/H kolo ulazi u stanje zadržavanja vrednosti (hold). U toku ovog stanja, sistem za kvantizaciju i kodovanje prevodi napon sa kondenzatora u odgovarajući binarni kod koji predstavlja vrednost napona. Arhitektura ovog bloka prevazilazi opseg ovog kursa i tema je oblasti analogno-digitalne konverzije koja se na ETF-u izučava na predmetima iz digitalne elektronike. O uticaju kvantizacije na same signale će biti više reči na kraju ovog kursa.

Analiza spektra odabiranog signala

Primer amplitudskog spektra jednog analognog signala je prikazan na sledećoj slici:

Setite se da je amplitudski spektar modul Furijeove transformacije signala. Spektar sa slike je ograničen što znači da je jednak nuli za učestanosti veće od $\omega_{max}$. Neka se signal $x(t)$ čiji je spektar prikazan na slici odabira povorkom Dirakovih impulsa čija je perioda $T_s$. Za primer sa slike važi da je $\omega_{max} < \omega_s/2$, gde je $\omega_s/2 = 2\pi/T_s$.

Spektar signala $ x_s (t) $, se dobija Furijeovom transformacijom

$$ X_s(j \omega ) = \mathcal{F} \left\lbrace x_s(t) \right\rbrace (j \omega ) = \mathcal{F} \left\lbrace x(t) s(t) \right\rbrace (j \omega) = \frac{1}{2\pi} X(j \omega) * S(j \omega) $$

Setite se svojstva Furijeove transformacije da je proizvod u vremenskom domenu, konvolucija u frekvencijskom domenu:

$$ \mathcal{F} \left\lbrace g(t)h(t) \right\rbrace (j \omega) = \frac{1}{2\pi}\mathcal{F} \left\lbrace g(t)\right\rbrace (j \omega) * \mathcal{F} \left\lbrace h(t) \right\rbrace (j \omega) $$

Spektar signala $x(t)$ smo usvojili da je poznat. Ostaje da izračunamo spektar povorke Dirakovih impulsa. Povorka Dirakovih impulsa

$$ s(t) = \sum\limits_{n=-\infty}^{\infty} \delta(t-nT_s) $$

je periodična funkcija i može se razviti u Furijeov red

$$ s(t) = \sum\limits_{k=-\infty}^{\infty} c_k e^{j k \omega_0 t }{,} $$

gde se koeficijenti Furijeovog reda dobijaju na sledeći način:

\begin{align*} c_k &= \frac{1}{T_s}\int\limits_{-t_0}^{t_0+T} s(t) e^{-j k \omega_0 t} d t = \frac{1}{T_s}\int\limits_{-T_s/2}^{T_s/2} s(t) e^{-j k \omega_0 t} d t \\ &= \frac{1}{T_s}\int\limits_{-T_s/2}^{T_s/2} \delta(t) e^{-j k \omega_0 t} d t = \frac{1}{T_s}\int\limits_{-T_s/2}^{T_s/2} \delta(t) e^{-j k \omega_0 0} d t \\ &= \frac{1}{T_s}\int\limits_{-T_s/2}^{T_s/2} \delta(t) d t = \frac{1}{T_s} {.} \end{align*}

Dakle, povorka Dirakovih impulsa se može napisati na sledeći način:

$$ s(t) = \frac{1}{T_s} \sum\limits_{k=-\infty}^{\infty} e^{j k \omega_0 t } = \frac{1}{T_s} \sum\limits_{k=-\infty}^{\infty} e^{j k \omega_s t }{.} $$

Važi da je $\omega_0 = \omega_s$ jer je $T_s$ osnovna perioda signala $s(t)$.

Da bismo ovu relaciju lepše ilustrovali, izraz za povorku Dirakovih impulsa možemo preurediti u sledeći oblik:

\begin{align*} s(t) &= \frac{1}{T_s} \sum\limits_{k=-\infty}^{\infty} e^{j k \omega_s t } = \frac{1}{T_s} \left( \sum\limits_{k=-\infty}^{-1}{ e^{j k \omega_s t } } + 1 + \sum\limits_{k=1}^{\infty}{ e^{j k \omega_s t } } \right) \\ &= \frac{1}{T_s} \left( 1 + 2\sum\limits_{k=1}^{\infty}{ \frac{e^{j k \omega_s t } + e^{-j k \omega_s t }}{2} } \right) = \frac{1}{T_s} \left( 1 + 2\sum\limits_{k=1}^{\infty}{ \cos \left(k \omega_s t \right) } \right) {.} \end{align*}

Sledeća Pajton animacija ilustruje prethodni izraz:

Ako se setimo sledećih transformacionih parova

$$ \mathcal{F} \left\lbrace \cos{\omega_0 t} \right\rbrace = \pi \left[ \delta\left(\omega - \omega_0\right) + \delta\left(\omega + \omega_0\right) \right] $$

i

$$ \mathcal{F} \left\lbrace 1 \right\rbrace = 2\pi \delta(\omega) {,} $$

lako je zaključiti da je Furijeova transformacija povorke Dirakovih impulsa takođe povorka Dirakovih impulsa u frekvencijskom domenu:

$$ S(j \omega) = \mathcal{F} \left\lbrace \frac{1}{T_s} \left( 1 + 2\sum\limits_{k=1}^{\infty}{ \cos \left(k \omega_s t \right) } \right) \right\rbrace = \frac{2\pi}{T_s} \sum\limits_{k=-\infty}^{\infty}{ \delta\left(\omega - k\omega_s\right)} {.} $$

Konačno, spektar odabiranog signala $x_s(t)$, $X_s(j \omega)$ je

\begin{align*} X_s(j \omega) &= \frac{1}{2\pi} X(j \omega) * S(j \omega) \\ &= \frac{1}{2\pi} \int\limits_{-\infty}^{+\infty} X(j (\omega - u) ) \frac{2\pi}{T_s} \sum\limits_{k=-\infty}^{\infty} \delta(u -k \omega_s) d u \\ &= \frac{1}{T_s} \sum\limits_{k=-\infty}^{\infty} \int\limits_{-\infty}^{+\infty} X(j (\omega - u) ) \delta(u - k \omega_s) d u \\ &= \frac{1}{T_s} \sum\limits_{k=-\infty}^{\infty} X(j (\omega - k \omega_s) {.} \end{align*}

U poslednjem koraku upotrebljeno je svojstvo Dirakove funkcije $$ \int\limits_{-\infty}^{+\infty} f(x) \delta(x-x_0) d x = f(x_0) {.} $$

Dakle, spektar odabiranog signala je suma beskonačno mnogo kopija spektra originalnog signala transliranih oko kružnih učestanosti $k\omega_s$ i skaliranih faktorom $1/T_s$.

Na osnovu prethodne analize se može zaključiti da se spektar originalnog signala u potpunosti sadrži u spektru odabiranog signala i da prostim odabiranjem nije došlo ni do kakvog gubitka informacija. Naravno, kao što smo videli ranije, u realnosti, A/D konverzijom će se izgubiti neke informacije, pre svega zbog kvantizacije. O tome će biti reči kasnije. Ako pogledamo spektar odabiranog signala, možemo zaključiti da se originalni spektar može dobiti izdvajanjem jedne kopije oko učestanosti $0$ i njenim množenjem sa $T_s$. Ovo se može postići idealnim filtrom propusnikom niskih učestanosti (lowpass filter) koji pored filtarske funkcije još i radi skaliranje amplitude u propusnom opsegu za $T_s$.

Rezultat filtriranja je potpuno rekonstruisani originalni analogni signal $x(t)$.

Problem preklapanja u spektru

Iz prethodne analize smo videli da se kopije spektra originalnog signala javljaju oko kružnih učestanosti $k\omega_s$, gde je $k$ ceo broj. Spektar originalnog signala je u prethodnoj analizi bio ograničen, tj. jednak je nuli za sve $|\omega| > \omega_{max}$. To je omogućilo da se kopije spektra originalnog signala u spektru odabiranog signala ne preklapaju. Međutim, nije samo dovoljno da je spekar ograničen, već se vidi i da je i $\omega_s > 2\omega_{max}$. Ako to ne bi bio slučaj, kopije spektra bi se preklapale i iz odabiranog signala više ne bi bilo moguće da se u potpunosti rekonstruiše originalni analogni signal. Evo jednog primera spektra originalnog signala kod koga nije zadovoljen uslov $\omega_s > 2\omega_{max}$:

a zatim i spektra odabiranog signala:

Ova pojava se naziva preklapanje u spektru (na engleskom aliasing). Lako je uočiti da spektar rekonstruisanog signala neće biti isti kao spektar originalnog signala, čak iako se koristi idealni filtar za rekonstrukciju.

Na osnovu svega navedenog možemo formulisati teoremu o odabiranju: Kontinualni signal je moguće u potpunosti rekonstruisati iz odabiranog signala, samo ako je spektar kontinualnog signala ograničen i ako je učestanost odabiranja najmanje dva puta veća od najveće učestanosti kontinualnog signala. Treba naglasiti da se teorema o odabiranju može formulisati i drugačije (link).

Odabiranje sinusoide

Najpre, napišimo izraz za dikretni sinusoidalni signal $x[n]$ koji je dobijen odabiranjem kontinualnog signala $x(t)$:

$$ x(t) = A \cos(2 \pi f t + \theta) = A \cos (\omega t + \theta) $$$$ x[n] = x(nT_s) = A \cos(2 \pi f n T_s + \theta) = A \cos(2 \pi \frac{f}{f_s} n + \theta) = A \cos(2 \pi F n + \theta) = A \cos (\Omega n + \theta) $$

Promenljivu $F = f/f_s$ nazivamo relativnom učestanošću jer ona predstavlja odnos učestanosti kontinualnog signala i učestanosti odabiranja. Slično kao kod kontinualnoh signala, promenljivu $\Omega = 2\pi F$ nazivamo relativnom kružnom učestanošću.

Da vidimo kako to izgleda u realnosti. Sledeći Pajton kod prikazuje dve sinusoide, jednu crta kao kontinualnu funkciju vremena korišćenjem naredbe plot, dok drugu crta kao diskretnu sinusoidu korišćenjem naredbe stem. Kontinualna sinusoida naravno nije prava kontinualna sinusoida, ali je njena učestanost odabiranja velika i podešena tako da ne dolazi do preklapanja u spektru. Ideja ovog programčića je da kontinualnu sinusoidu odabira korišćenjem različitih perioda odabiranja.

Sledeća animacija prikazuje odabiranje sinusoide čija se učestanost linearno menja u vremenu, ali se perioda odabiranja drži fiksiranom. Šta primećujemo?