DSP Wyk%b3ad 04 UWM

background image

Sławomir Kulesza

slawek.kulesza@gmail.com

Cyfrowe przetwarzanie sygnałów (4)

Wykład dla studentów I roku (N)SMU WMiI

Specjalność: Techniki multimedialne

background image

Układy czasu dyskretnego – filtry cyfrowe

Zadaniem układów czasu dyskretnego (Discrete-Time Systems – DTS) jest

przetworzenie danego ciągu wejściowego x[n] na odpowiedni ciąg wyjściowy y[n].

Układ realizujący taką operację (przekształcenie T) może być zarówno układem

sprzętowym, jak i algorytmem programowym:

y [n]≡T x [n]

W praktyce DSP wszystkie sygnały są cyfrowe, więc operacje na nich również

dają sygnały cyfrowe. Układy realizujące operacje na sygnałach cyfrowych

nazywa się filtrami cyfrowymi.

background image

Charakterystyka wejściowo-wyjściowa DTS

Charakterystyka wejściowo-wyjściowa układów czasu dyskretnego zawiera jawną

matematyczną definicję zależności pomiędzy ciągiem wejściowym (pobudzeniem

układu) a wyjściowym (odpowiedzią układu). Pomija się przy tym całkowicie

wewnętrzną strukturę układu, co powoduje, że stanowi on dla użytkownika

'czarną skrzynkę'.

background image

Przykłady charakterystyk I/O układów czasu dyskretnego

Znając pobudzenie x[n] postaci:

x [n]=

{

n∣⇔∣n∣≤3
0⇔∣n∣3

}

Wyznacz odpowiedź następujących układów czasu dyskretnego:

y[n] = x[n] – układ tożsamościowy,

y[n] = x[n-1] – układ opóźniający,

y[n] = x[n+1] – układ przyspieszający,

y[n] = (x[n-1] + x[n] + x[n+1])/3 – układ uśredniający,

y[n] = max(x[n-1], x[n], x[n+1]) – dyskryminator (selektor),

y [n]=

k =−∞

n

x [n]=x [n]x [n−1]x [n−2]... – akumulator.

background image

Reprezentacja blokowa układów czasu dyskretnego

Diagram blokowy układu czasu dyskretnego zawiera elementarne bloki

funkcjonalne połączone siecią zależności odpowiednio do wykonywanej operacji.

Do bloków elementarnych zalicza się:

sumator,

wzmacniacz,

układ mnożący (modulator),

układ opóźniający,

układ przyspieszający,

rozdzielacz.

background image

Sumator

Sumator realizuje operację dodawania dwóch ciągów:

y [n]= x

1

[

n]x

2

[

n]

Ponieważ do przeprowadzenia tej operacji wymagane są wyłącznie bieżące

próbki ciągów, układ jest bezpamięciowy.

background image

Zastosowania sumatora – odszumianie sygnału

Jednym z najprostszych zastosowań sumatora jest odszumianie sygnału metodą

wielokrotnego uśredniania. Wykorzystuje się przy tym fakt, iż przy wielokrotnych

pomiarach tego samego sygnału, sygnał użyteczny nie zmienia się w czasie,

podczas gdy sygnał szumu ulega losowym fluktuacjom i jego średnia wartość

w długim czasie wynosi 0.

background image

Wzmacniacz

Wzmacniacz jest bezpamięciowym układem realizującym operację skalowania

wartości próbek o stały czynnik a:

y [n]=ax [n]

Układ mnożący (modulator)

Bezpamięciowy układ realizujący operację mnożenia wartości próbek ciągów

wejściowych:

y [n]=x

1

[

n]⋅x

2

[

n]

background image

Zastosowania układu mnożącego – okienkowanie sygnału

Układy mnożące wykorzystuje się m.in. do tworzenia skończonych ciągów

sygnałów z ciągów nieskończonych na drodze mnożenia tych ostatnich przez ciąg

nazywany funkcją okna. Proces ten, zwany okienkowaniem (windowing),

odgrywa istotną rolę przy projektowaniu pewnych typów filtrów cyfrowych.

background image

Zastosowania układu mnożącego – modulacja AM

Układ mnożący dwa wejściowe ciągi sinusoidalne wytwarza ciąg y[n] taki, że:

y [n]= x

1

[

n]⋅x

2

[

n]=cos2⋅⋅f

1

n⋅cos2⋅⋅f

2

n=...

...

1
2

cos2⋅⋅ f

1

f

2

⋅

n

1

2

cos2⋅⋅ f

1

f

2

⋅

n

background image

Układ opóźniający

Układ z pamięcią (rejestrem przesuwającym), który opóźnia ciąg wejściowy

o jedną próbkę, tzn.: y [n] = x [n-1].

Układ przyspieszający

Układ z pamięcią (rejestrem przesuwającym), który przyspiesza ciąg wejściowy

o jedną próbkę, tzn.: y [n] = x [n+1].

Przyspieszenie sygnału w czasie oznacza w istocie wcześniejsze zapisanie go

w całości i przywoływanie z pamięci w celu wykonania operacji.

background image

Zastosowania układów przesuwających – filtry biegnące

W przypadkach, gdy w celu wyeliminowania szumów nie można wielokrotnie

powtarzać pomiarów, do wygładzania przebiegów stosuje się filtry biegnące,

których zadaniem jest uśrednianie wartości M-sąsiednich próbek sygnału:

y [n]=

1

M

k=0

M

x [nk ]

Wygładzenie przebiegu zaszumionego

po zastosowaniu 5-punktowego filtru

biegnącego z układami

przesuwającymi.

background image

Ex.: Zbudować diagram blokowy układu czasu dyskretnego opisanego relacją:

y [n]=

1
4

y [n−1]

1
2

x [n]

1
2

x [n−1]

background image

Klasyfikacja układów czasu dyskretnego

Do analizy i projektowania układów przetwarzania sygnału przydatny jest wstępny

podział według ogólnych własności, jakie te układy wykazują, bowiem silnie

rzutuje to na metody ich modelowania matematycznego.

W dalszym ciągu analizowane będą wyłącznie układu, których charakterystyki nie

zależą od wyboru sygnału wejściowego. Wystarczy zatem, że dana własność

układu nie jest spełniona dla pewnego sygnału, aby twierdzić, że układ ten nie

posiada tejże własności.

background image

Układy statyczne i dynamiczne

Układ czasu dyskretnego nazywany jest statycznym (bezpamięciowym), jeśli

wartość dowolnej próbki n sygnału wyjściowego zależy wyłącznie od wartości

próbki sygnału wejściowego o tym samym indeksie:

y [n]=T n , x [n]

Układy statyczne nie wymagają zatem elementów opóźniających.

Z drugiej strony, układ jest dynamiczny (z pamięcią), jeśli stan jego wyjścia

w chwili n jest całkowicie opisany przez próbki sygnału wejściowego z przedziału

(n-N, n):

y [n]=T n , x nN , x nN 1 ,... x n , N ≥0

Wartość N określa wielkość pamięci:

jeśli

0≤ N ∞

, to układ posiada skończoną pamięć o rozmiarze N,

jeśli

N =∞

, to układ posiada pamięć nieskończoną.

background image

Układy niezmiennicze względem czasu

Układ jest niezmienniczy względem czasu (time-invariant TI) wtedy i tylko

wtedy, gdy jego charakterystyka I/O nie zmienia się w czasie, tzn. odpowiedź

układu na określone pobudzenie nie zależy od przesunięcia sygnału wejściowego

w czasie:

k ∈ℤ

{

x [n]}

y [n]=T x [n]

y [nk ]=T x [nk ]

Powyższa definicja specyfikuje test na niezmienniczość układu w czasie:

obliczamy odpowiedź układu y[n,k] na pobudzenie przesunięte w czasie x[n-k],

obliczamy przesuniętą odpowiedź y[n-k] i sprawdzamy, czy y[n,k] = y[n-k] dla

wszystkich możliwych wartości k. Jeśli tak, układ jest niezmienniczy w czasie, jeśli

nie – układ nie jest niezmienniczy (Time-Variant TV).

background image

Przykłady układów TI oraz TV

(1) Układ różniczkujący:

Układ opisany jest równaniem:

y [n]=x [n]− x [n−1]

Jeśli sygnał wejściowy zostanie opóźniony o k-próbek, wówczas:

y [n , k ]=T x [nk ]=x [nk ]−x [ nk −1]

Z drugiej strony:

y [nk ]=x [nk ]− x [n−1−k ]=x [ nk ]− x [nk −1]= y [n , k ]

Układ jest więc niezmienniczy w czasie.

background image

(2) Układ zawijający:

Układ opisany jest następującą relacją:

y [n]=T

x [n]

=

x [−n]

Odpowiedź układu na opóźnione pobudzenie x[n-k] wynosi:

y [n , k ]=T

x [nk ]

=

x [−nk ]

Z drugiej strony, przesunięta odpowiedź ma postać:

y [nk ]=x [−nk ]≠ y [n , k ]

Układ nie jest więc niezmienniczy w czasie.

background image

Układy liniowe i nieliniowe

Układy liniowe (Linear Systems – LS) stanowią grupę układów spełniających

zasadę superpozycji: kombinacja liniowa pobudzeń daje identyczną kombinację

liniową odpowiedzi:

a

1,

a

2

∈ℂ

{

x

1

[

n]}, {x

2

[

n]}

T a

1

x

1

[

n]a

2

x

2

[

n]=a

1

T x

1

[

n]a

2

T x

2

[

n]

Układy nie spełniające powyższego warunku są układami nieliniowymi.

background image

Konsekwencje liniowości układów

(1) Układy liniowe są skalowalne:

Jeśli a

2

= 0, wówczas:

T a

1

x

1

[

n]=a

1

T x

1

[

n]=a

1

y

1

[

n]

Wynika stąd, że dowolne przeskalowanie pobudzenia powoduje proporcjonalną

zmianę odpowiedzi układu.

(2) Układy liniowe są addytywne:

Jeśli a

1

= a

2

= 1, wówczas:

T x

1

[

n] x

2

[

n]=T x

1

[

n]T x

2

[

n]= y

1

[

n] y

2

[

n]

Liniowość układów sprawia, że odpowiedź na dowolne pobudzenie może

Liniowość układów sprawia, że odpowiedź na dowolne pobudzenie może

być wyznaczona na podstawie odpowiedzi na pewne sygnały standardowe

być wyznaczona na podstawie odpowiedzi na pewne sygnały standardowe

(impuls jednostkowy, skok itp.)

(impuls jednostkowy, skok itp.)

background image

Przykłady układów liniowych i nieliniowych

(1) Dany jest układ opisany relacją:

y [n]= x [n

2

]

Dla dwóch dowolnych ciągów wejściowych x

1

[n] oraz x

2

[n], jak też dowolnych

współczynników a

1

, a

2

zachodzi:

T a

1

x

1

[

n]a

2

x

2

[

n]=a

1

x

1

[

n

2

]

a

2

x

2

[

n

2

]=

...

a

1

T x

1

[

n]a

2

T x

2

[

n]

Układ jest więc liniowy.

(2) Dany jest układ opisany relacją:

y [n]= x

2

[

n]

Zachodzi dla niego:

T a

1

x

1

[

n]a

2

x

2

[

n]=a

1

2

x

1

2

[

n]a

2

2

x

2

2

[

n]

a

1

T x

1

[

n]a

2

T x

2

[

n]=a

1

x

1

2

[

n]a

2

x

2

2

[

n]

Układ jest zatem nieliniowy.

background image

Układy przyczynowe i nieprzyczynowe

Układ nazywa się przyczynowym (causal system) jeśli jego odpowiedź

w dowolnej chwili czasu zależy wyłącznie od aktualnego i poprzednich stanów

wejścia:

{

x [n]}

y [n]=T x n, x n−1 , x n−2 ,...

Ukłądy nie spełanijące powyższego warunku są układami nieprzyczynowymi

(noncausal systems), których odpowiedź zależy nie tylko od aktualnego i

przeszłego, ale również od przyszłego stanu wejścia.

Układów nieprzyczynowych nie można zrealizować jako układów czasu

rzeczywistego – do przetwarzania przyszłych próbek sygnału należy

zarejestrować uprzednio cały sygnał.

background image

Układy stabilne i niestabilne

Stabilność układów jest cechą niezwykle ważną z punktu widzenia ich praktycznej

przydatności. Układy niestabilne wykazują zachowania niepożądane, jak np.

generują znaczące błędy, gwałtownie reagują na niewielkie zmiany pobudzenia,

czy też powodują przepełnienie zakresu przetwarzanych próbek.

Układ nazywa się stabilnym w sensie BIBO (Bounded Input – Bounded Output

Stable System), wtedy i tylko wtedy, gdy skończone pobudzenie generuje

skończoną odpowiedź:

n

M

x

, M

y

{

x [n]}≤M

x

∞

{

y [n]}≤M

y

∞

Jeśli powyższy warunek nie jest spełniony, układ jest niestabilny (unstable

system).

background image

Ex.: Sprawdźmy stabilność układu nieliniowego opisanego zależnością:

y [n]= y

2

[

n−1] x [n]

Jako sygnał ograniczony wybierzmy:

x [n]=C⋅[n] ,C ∈ℤ ,C∣∞

Załóżmy ponadto, że:

y [−1]=0

Wówczas odpowiedź układu ma postać:

y [0]=C ,
y
[1]=C

2,

y [2]=C

4,

y [n]=C

2⋅n

Układ jest stabilny w sensie BIBO, gdy

C∣≤1

, jeśli jednak

C∣1

układ staje

się niestabilny.

background image

Łączenie układów

Układy czasu dyskretnego można łączyć w większe bloki. Istnieją dwa

podstawowe sposoby połączeń: kaskadowe (szeregowe) oraz równoległe,

z których każdy daje w wyniku inną charakterystykę wypadkową układu.

(1) Połączenie szeregowe (kaskadowe):

Wypadkowa odpowiedź układów na pobudzenie x[n] wynosi:

y [n]=T

2

T

1

x [n]

Układy T

2

oraz T

1

mogą być zatem połączone w jeden układ T

s

:

T

s

=

T

2

T

1

background image

Przemienność operacji kaskadowych

W ogólności, istotna jest kolejność kaskadowego łączenia układów, bowiem:

T

2

T

1

T

1

T

2

Twierdzenie

Jeśli układy T

1

oraz T

2

są liniowe i niezmiennicze w czasie (Linear Time-Invariant

– LTI), wówczas układ T

C

jest niezmienniczy w czasie i przemienny:

T

2

T

1

x [ nk ]=T

2

y

1

[

nk ]= y [nk ]

Przemienność układów LTI wynika z definicji ich odpowiedzi jako splotu

pobudzenia i charakterystyki I/O.

background image

(2) Połączenie równoległe:

Odpowiedź układu na pobudzenie x[n] ma postać:

y [n]=T

1

x [n]T

2

x [n]= y

1

[

n] y

2

[

n]=T

1

T

2



x [n]=T

p

x [n]

Możliwość łączenia układów pozwala konstruować układy złożone z bloków

podstawowych, ale z drugiej strony – pozwala także dzielić układy złożone na

prostsze funkcjonalnie bloki w celu ich późniejszej analizy.

background image

Odpowiedź impulsowa i skokowa filtrów cyfrowych

Odpowiedzią impulsową filtru cyfrowego (impulse response) jest odpowiedź

tego filtru na pobudzenie impulsem jednostkowym:

h[n]=T [n]

Analogicznie, odpowiedzią skokową (step response) filtru cyfrowego jest ciąg

będący odpowiedzią na pobudzenie skokiem jednostkowym:

s[n]=T [n]

Ex.: Znaleźć odpowiedź impulsową układu:

y [n]=a

1

x [n−1]a

2

x [n]

Odpowiedź impulsowa h[n] jest odpowiedzią na pobudzenie impulsem

jednostkowym, tak więc:

h[n]=a

1

⋅[

n−1]a

2

⋅[

n]={a

1,

a

2

}

background image

Analiza układów LTI czasu dyskretnego w dziedzinie czasu

Istnieją dwie podstawowe metody analizy układów LTI czasu dyskretnego

w dziedzinie czasu:

poprzez rozwiązanie równania różnicowego opisującego zależność

wejściowo-wyjściową,

określenie wypadkowej odpowiedzi układu (splotu) na pobudzenie będące

kombinacją liniową sygnałów elementarnych

Konsekwencją liniowości i niezmienniczości w czasie układów LTI czasu

Konsekwencją liniowości i niezmienniczości w czasie układów LTI czasu

dyskretnego jest fakt, iż układy takie są w pełni opisywane poprzez podanie

dyskretnego jest fakt, iż układy takie są w pełni opisywane poprzez podanie

ich odpowiedzi impulsowej h[n].

ich odpowiedzi impulsowej h[n].

background image

Dekompozycja sygnału

Niech x[n] będzie dowolnym ciągiem w przestrzeni H, zaś

{

k

[

n]}={[ nk ]}

-

bazą tej przestrzeni. Sygnał x[n] daje się wówczas rozwinąć w bazie w postaci:

x [n]=

k =−∞

x [k ]⋅[nk ]

gdzie wartości x[k] stanowią wagi próbek ciągu.

background image

Odpowiedź układu liniowego na dowolne pobudzenie

Oznaczmy odpowiedź układu liniowego na pobudzenie impulsem jednostkowym

jako:

y [n , k ]=T [nk ]≡h[n , k ]

Odpowiedź tego samego układu na dowolne pobudzenie będące kombinacją

liniową impulsów jednostkowych wynosi:

y [n]=T

k =−∞

x [ k ]⋅[nk ]

=

k =−∞

x [k ]⋅T

[

nk ]

=

k =−∞

x [k ]⋅h[n , k ]

Powyższe wyrażenie jest prawdziwe dla dowolnego układu liniowego (zarówno

TI, jak i TV).

background image

Splot sygnałów

W przypadku układów LTI, odpowiedź na pobudzenie będące kombinacją

przesuniętych impulsów jednostkowych upraszcza się do postaci:

y [n]=T

k =−∞

x [k ]⋅[nk ]=

k =−∞

x [ k ]⋅h[nk ]= x [nh[n]

Powyższe wyrażenie określa się mianem splotu sygnałów (convolution sum).

Kolejność działań w przypadku obliczania splotu:

Zawijanie (folding) ciągu h[n] → h[-n],

Przesunięcie ciągu h[-n] o k-próbek → h[k-n],

Wymnożenie odpowiednich próbek ciągów x[n] oraz h[k-n] → x[n]∙h[k-n],

Wysumowanie wszystkich iloczynów x[n]∙h[k-n], aby otrzymać wartość splotu

dla n

0

= k → y[n

0

] = x[n]∙h[n

0

n].


Wyszukiwarka

Podobne podstrony:
DSP Wyk%b3ad 02 UWM
DSP Wyk%b3ad 08 UWM
DSP Wyk%b3ad 07 UWM
DSP Wyk%b3ad 11 UWM
DSP Wyk%b3ad 10 UWM
DSP Wyk%b3ad 05 UWM
DSP Wyk%b3ad 09 UWM
DSP Wyk%B3ad 01 UWM
DSP Wyk%b3ad 03 UWM
DSP Wyk%b3ad 13 UWM
DSP Wyk%b3ad 06 UWM

więcej podobnych podstron