dsp lab5 id 144060 Nieznany

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 1 -

Wydział Elektryczny
Zakład Automatyki



LABORATORIUM CYFROWEGO PRZETWARZANIA SYGNAŁÓW

Ćwiczenie 5

Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja


1. Cel ćwiczenia

• Zapoznanie się z metodami i efektami cyfrowej zmiany częstotliwości próbkowania sygnałów

dyskretnych.

• Przeprowadzenie dekompozycji i rekonstrukcji podpasmowej sygnału za pomocą

zaprojektowanego banku filtrów pasmowoprzepustowych.

2. Podstawy teoretyczne

Przetwarzanie wieloczęstotliwościowe (multirate processing) jest ważnym obszarem cyfrowego

przetwarzania sygnałów dyskretnych, który nie ma odpowiednika w dziedzinie analogowej. Podstawowe
idee polegają na takiej konwersji sygnału, aby mógł on być przetwarzany z możliwie najmniejszą
częstotliwością, dopasowanie częstotliwości do określonego standardu, pojemności kanału
transmisyjnego lub mocy obliczeniowej procesora DSP. Operacja zmniejszania częstotliwości
próbkowania sygnału (o czynnik całkowity) nazywana jest decymacją. Jeżeli potrzebne jest zwiększenie
częstotliwości przetwarzania, np. w celu dokładniejszej reprezentacji sygnału, stosuje się operację
odwrotną, czyli interpolację. Kombinacja interpolacji i decymacji w połączeniu z odpowiednią filtracją
dolnoprzepustową umożliwia zmianę częstotliwości próbkowania o czynnik ułamkowy.

Oprócz podstawowych operacji interpolacji i decymacji przetwarzanie wieloczęstotliwościowe

obejmuje bardziej zaawansowane tematy, takie jak synteza banków filtrów pasmowoprzepustowych do
rozkładu i rekonstrukcji sygnałów czy rozkład sygnału za pomocą transformacji falkowych (wavelets).

2.1. Interpolacja sygnału

Proces interpolacji o czynnik U polega w zasadzie na estymacji lub rekonstrukcji U-1 wartości

sygnału x(n), próbkowanego z częstotliwością f

sx

, pomiędzy istniejącymi próbkami. Pierwszym

elementem interpolatora (rys. 1) jest ekspander, który pomiędzy każde sąsiednie próbki sygnału
wejściowego wstawia U-1 próbek zerowych (upsampling). Sygnał wyjściowy z ekspandera

/

( ) |

( / ) dla

0,

, 2 ,

( )

0

dla pozostalych

n m U

e

x n

x m U

m

U

U

x m

m

=

=

= ± ±

= ⎨

(5.1)

ma większą częstotliwość próbkowania f

sy

=U

f

sx

. W dziedzinie częstotliwości zespolonej X

e

(z)=X(z

U

).

Drugim elementem interpolatora jest filtr dolnoprzepustowy (LP) H

I

(z), który nadaje dodanym

próbkom wartości niezerowe przez interpolację pomiędzy próbkami oryginalnymi generując na wyjściu
sygnał interpolowany y(m). Idealny filtr LP interpolatora ma charakterystykę widmową

dla 0 |

|

(

)

0

dla pozostalych

j

I

U

H e

U

π

Ω

≤ Ω ≤

= ⎨

Ω

.

(5.2)

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 2 -

i zerowe opóźnienie grupowe

τ

(

Ω). Wzmocnienie równe U zapewnia takie same amplitudy obwiedni

sygnałów x(n) i y(m) (tylko co U-ta próbka sygnału wejściowego filtra jest niezerowa). Skala
unormowanej pulsacji kątowej

Ω

=

Ω

y

=

Ω

x

/U, ponieważ

2

2

,

y

x

x

y

sx

sy

f

f

f

f

π

π

Ω =

Ω =

.

(5.3)

Charakterystyka H

I

(e

j

Ω

) odpowiada nieskończonej i nieprzyczynowej (tzn. o wartościach niezerowych

dla czasu m<0) charakterystyce impulsowej:

sin(

/ )

dla

0

( )

/

1

dla

0

I

m

U

m

h m

m

U

m

π

π

= ⎨

=

.

(5.4)

gdzie sin(

πx)/(πx)=sinc(x). Podane warunki mogą być w dobrym przybliżeniu spełnione tylko przez

nieprzyczynowy filtr odpowiednio wysokiego rzędu. Filtr interpolatora projektuje się zwykle zadając
pulsację końca -3 dB pasma przepustowego

Ω

pass

=

απ/U, gdzie 0<α≤1 jest wypełnieniem pasma Nyquista

przez ograniczone widmo sygnału wejściowego.

W dziedzinie czasu wyjście interpolatora jest splotem:

( )

( )

( )

(

) ( )

(

) ( / )

I

e

I

e

I

k

k

y m

h m

x m

h m k x k

h m k x k U

=−∞

=−∞

=

=

=

,

(5.5)

a w dziedzinie transformaty Z:

( )

( )

( )

( )

( )

U

I

e

I

Y z

H z X z

H z X z

=

=

. (5.6)


Rys. 1. Schemat interpolacji o czynnik U

Rys. 2. Przebiegi sygnałów w procesie interpolacji o czynnik U=3: a) sygnał wejściowy,

b) sygnał wyjściowy z ekspandera (upsampling), c) sygnał wyjściowy po filtracji wygładzającej LP

Ekspander

U

Filtr LP

H

I

(z)

x(n)

y(m)

x

e

(m)

f

sy

f

sx

f

sy

=U

f

sx

x(n)

x

e

(m)

y(m)

m

m

n

0

c)

b)

a)

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 3 -

h

I

(0-n)

x

e

(n)

h

I

(1-n)

h

I

(2-n)

h

I

(3-n)

h

I

(4-n)

Rys. 3. Widma sygnałów w procesie interpolacji o czynnik U=3: a) sygnał wejściowy, b) sygnał z

ekspandera (upsampling) i charakterystyka |H

I

(f)| filtra LP, c) sygnał wyjściowy interpolatora po filtracji



















Rys. 4. Interpolacja jako proces filtracji liniowej

– splotu xe(n) z charakterystyką impulsową filtra

hI(n). Odwrócona charakterystyka hI(-n) jest

przesuwana na tle sygnału xe(n). Dla każdego

przesunięcia y(n) to suma iloczynów

niezerowych próbek i współczynników filtra.

Zwrócić uwagę, kiedy zera xe(n) nakładają się na

hI(k-n) i kiedy zera hI(k-n) nakładają sę na xe(n).

0

3f

sx

|X(f)|

f

2f

sx

f

sx

-f

sx

-2f

sx

-3f

sx

0

f

sy

=

3f

sx

|X

e

(f)|

f

-f

sy

=-3f

sx

0

f

sy

|Y(f)|

f

-f

sy

|H

I

(f)|

½f

sx

f

sx

a)

b)

c)

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 4 -

W wielu przypadkach wystarczająco dobre wyniki daje zastosowanie prostej interpolacji liniowej lub
ekstrapolacji zerowego rzędu ZOH (zero order hold; stosowana w przetwornikach C/A).

W przypadku interpolacji ZOH każda próbka sygnału x(n) jest po prostu powtarzana U razy:

(0)

0,1, ,

1

( )

,

1, , 2

1

( )

(2 )

2 , 2

1, ,3

1

e

e

e

x

m

U

x U

m U U

U

y m

x

U

m

U U

U

=

=

+

= ⎨

=

+

⎪⎩

,

(5.7)

co daje schodkowy sygnał wyjściowy i odpowiada filtrowi o przyczynowej charakterystyce impulsowej:

( )

( )

(

1)

(

(

1))

ZOH

h

m

m

m

m

U

δ

δ

δ

=

+

− + +

. (5.8)

Interpolacja liniowa jest realizowana jako operacja nieprzyczynowa, której może odpowiadać

charakterystyka impulsowa:

1 | | /

dla | |

1

( )

0

dla pozostalych

lin

m U

m U

h m

m

≤ −

= ⎨

(5.9)

(interpolacja tylko pomiędzy dwiema próbkami sygnału oryginalnego).

2.2. Decymacja sygnału

Decymacja jest operacją odwrotną do interpolacji. Decymacja o czynnik D polega na D-krotnym

zmniejszeniu częstotliwości próbkowania sygnału. Pierwszym elementem decymatora jest filtr
dolnoprzepustowy H

D

(z) (rys. 5), którego zadaniem jest ograniczenie pasma sygnału wejściowego x(n) do

zakresu D razy mniejszego. Charakterystyka widmowa idealnego filtra LP decymatora

1 dla 0 |

|

(

)

0

dla pozostalych

j

D

H e

D

π

Ω

≤ Ω ≤

= ⎨

Ω

.

(5.10)

gdzie skala

Ω

=

Ω

x

=

Ω

y

D.

W praktyce filtr decymatora projektuje się zadając pulsację początku pasma

zaporowego

Ω

stop

=

π/D.

Filtracja LP zapobiega aliasingowi po następującej dalej operacji redukcji częstotliwości próbkowania

polegającej na pozostawieniu co D-tej próbki sygnału przefiltrowanego x

f

(n): f

sy

=f

sx

/D. Zmniejszenie

szybkości próbkowania ogranicza na wyjściu reduktora D razy pasmo Nyquista, czyli zakres
częstotliwości możliwych do reprezentowania w sygnale wyjściowym y(m). Sygnał wyjściowy:

( )

( ) |

( )

( ) |

( ) (

)

f

n mD

D

n mD

D

k

y m

x n

h n

x n

h k x mD k

=

=

=−∞

=

=

=

,

(5.11)

gdzie h

D

(n) jest charakterystyką impulsową filtra H

D

(z). W przypadku idealnej filtracji LP w dziedzinie

transformaty Z:

1/

1

( )

(

)

D

Y z

X z

D

=

.

(5.12)

Filtracja LP sygnału w decymatorze może być realizowana w sposób nieprzyczynowy (off-line),

podobnie jak w interpolatorze, lub przyczynowy (on-line) tylko na bazie próbek dostępnych do momentu
aktualnego, co wprowadza przesunięcie fazowe. W przypadku filtra SOI rzędu N=2L o symetrycznej
odpowiedzi h

D

(n), charakterystyki przyczynowa i nieprzyczynowa są wzajemnie przesunięte:

h

nieprzycz

(n) = h

przycz

(n+L),

H

nieprzycz

(z) = z

L

H

przycz

(z).

(5.13)

Ze względu na oszczędności obliczeniowe i łagodniejsze wymagania co do filtrów LP decymacja dla

dużych czynników D realizowana jest jako kombinacja dwóch lub kilku decymacji z mniejszymi
wartościami D.

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 5 -

Rys. 5. Schemat decymacji o czynnik D

Rys. 6. Przebiegi sygnałów w procesie decymacji o czynnik D=3: a) sygnał wejściowy, b) sygnał po

filtracji LP, c) sygnał wyjściowy po redukcji częstotliwości próbkowania (downsampling)

Rys. 7. Widma sygnałów w procesie decymacji o czynnik D=3: a) sygnał wejściowy i charakterystyka

|H

D

(f)| filtra LP ograniczającego pasmo, b) sygnał wyjściowy decymatora po filtracji i redukcji

częstotliwości próbkowania

2.3. Połączenie interpolacji i decymacji

Połączenie interpolacji i decymacji umożliwia zmianę szybkości próbkowania o czynnik wymierny

U/D (rys. 8). Oba filtry LP połączone szeregowo pracują na częstotliwości wyjściowej ekspandera, co
umożliwia zastąpienie ich pojedynczym filtrem o transmitancji H

I

(z)H

D

(z).

y(m)

x

f

(n)

m

c)

n

a)

n

b)

x(n)

0

0

f

sx

|

X(f)|

f

-f

sx

0

3f

sy

=f

sx

|Y(f)|

f

½f

sx

f

sx

2f

sy

f

sy

-f

sy

-2f

sy

-3f

sy

=-f

sx

|H

D

(f)|

½f

sy

f

sy

B

a)

b)

Filtr LP

H

D

(z)

x(n)

y(m)

x

f

(n)

f

sx

f

sx

f

sy

=f

sx

/D

Reduktor

D

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 6 -

Rys. 8. Przetworzenie częstotliwości próbkowania o czynnik U/D=4/3: a) kombinacja interpolacji i

decymacji, b) zastąpienie dwóch filtrów LP jednym o transmitancji H

I

(z)H

D

(z), c) widmo sygnału

wejściowego, d) widmo sygnału wyjściowego filtra po interpolacji, e) ostateczne widmo sygnału

wyjściowego po decymacji. Oznaczenia:

f

sx

=f

s_old

f

sy

=f

s_new

2.4. Próbkowanie sygnału pasmowego

Standardowe próbkowanie dolnopasmowe sygnału o pasmowym widmie o szerokości B wokół

częstotliwości nośnej (środkowej) f

c

(rys. 9a) teoretycznie wymaga dużej częstotliwości próbkowania

f

s

f

c

+B/2. Zastosowanie redukcji szybkości próbkowania (downsamplingu, decymacji bez filtracji)

umożliwia uzyskanie powielenia oryginalnego widma wokół częstotliwości zerowej wskutek aliasingu,
bez straty informacji (rys. 9b). Jest to znacznie oszczędniejsza metoda reprezentacji sygnałów
pasmowych stosowana w dekompozycji sygnału za pomocą banków filtrów pasmowoprzepustowych.

W celu uniknięcia nakładania się powieleń widma sygnału zredukowana częstotliwość próbkowania

musi spełniać warunek

1

2

/ 2

/ 2

c

c

s

f

B

f

B

f

k

k

+

+

, f

s

≥2B

(5.14)

gdzie k jest liczbą naturalną.

Odtworzenie sygnału oryginalnego jest możliwe po przeprowadzeniu interpolacji pasmowo-

przepustowej: powrocie do większej (pierwotnej) częstotliwości próbkowania i filtracji BP wydzielającej
tylko oryginalne pasmo sygnału.

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 7 -

Rys. 9. Próbkowanie sygnału pasmowego: a) widmo oryginalnego sygnału ciągłego, b) powielenia

widma sygnału próbkowanego, B – szerokość pasma sygnału, f

c

– częstotliwość nośna (centralna),

f

s

– częstotliwość próbkowania

2.5. Podpasmowa dekompozycja i rekonstrukcja sygnału za pomocą banku filtrów

Przetwarzanie sygnału w podpasmach częstotliwości jest stosowane w wielu praktycznych

aplikacjach, m.in. algorytmach kompresji audio (MPEG-1,2 z poziomem mp3 oraz MPEG-4) i obrazów
(JPEG2000). Jedną z metod dekompozycji sygnału na składowe pasmowe jest zastosowanie banku
(zespołu) filtrów BP pokrywających zakres widma sygnału, a następnie decymacja składowych sygnału w
podpasmach, co umożliwia np. kompresję sygnału (w zależności od wariancji składowych sygnału w
podpasmach reprezentuje się je w formie zawierającej mniej lub więcej bitów).

M-kanałowy bank filtrów do podpasmowej dekompozycji sygnału x(n) jest przedstawiony na rys. 10a,

a charakterystyki amplitudowo-częstotliwościowe jego filtrów BP otrzymane w wyniku rzeczywistej
modulacji kosinusowej jednego prototypu - na rys. 11. Przy jednakowych szerokościach pasm wszystkie
współczynniki reduktorów i ekspanderów są jednakowe N

i

=N, i=0,1,...,M-1. Kiedy liczba pasm jest

równa współczynnikowi redukcji, N=M, mamy do czynienia z próbkowaniem krytycznym, kiedy N>M
występuje podpróbkowanie, a kiedy N<M występuje nadpróbkowanie. Odpowiednie umiejscowienie
charakterystyk H

k

(e

j

Ω

) filtrów na osi częstotliwości uzyskuje się w tym przypadku jako efekt modulacji

kosinusowej (w dziedzinie czasu) charakterystyki impulsowej p(n), 0≤nL-1, filtra prototypowego LP o
pulsacji granicznej

Ω

p

=

π/(2M), który należy zaprojektować. Charakterystyki impulsowe poszczególnych

filtrów BP banku analizy:

1

1

( ) 2 ( ) cos

( 1)

,

0,1, ,

1

2

2

4

k

k

L

h n

p n

k

n

k

M

M

⎡ π

π⎤

⎞⎛

=

+

+ −

=

⎟⎜

⎠⎝

(5.15)

Modulacja kosinusowa charakterystyki impulsowej prototypu powoduje przesuwanie charakterystyki
widmowej do odpowiedniego położenia na osi pulsacji

Ω, ponieważ:

0

0

0

0

(

)

(

)

0

1

( ) cos

( )

(

)

(

)

2

2

j

n

j

n

j

j

e

e

h n

n h n

H e

H e

− Ω

Ω

Ω−Ω

Ω+Ω

+

Ω =

+

(5.16)

Odtworzenie ˆ

( )

x n sygnału oryginalnego uzyskuje się po interpolacji, czyli przepuszczeniu

zdecydowanych składowych

y

k

(m) przez ekspandery i filtry BP rekonstrukcji (syntezy, rys. 10b).

Jeżeli prototyp

p(n) jest symetryczny, to odpowiedzi impulsowe filtrów syntezy g

k

(n) są odwróconymi w

czasie odpowiedziami h

k

(n).

|X

a

(f)|

|X(f)|

f

f

B

f

c

f

c

-f

c

-f

c

k

f

s

k

f

s

½B

B

0

a)

b)

f

s

f

s

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 8 -

a)

b)

Rys. 10. M-kanałowy bank (zespół) filtrów podpasmowej analizy (a) i syntezy (b) sygnału

(subband decomposition and reconstruction)

Rys. 11. Charakterystyki amplitudowo-częstotliwościowe M-pasmowego banku filtrów otrzymane w

wyniku rzeczywistej modulacji kosinusowej charakterystyki impulsowej p(n) prototypu LP

Zależności pomiędzy transformatami Z sygnałów z rys.10 są następujące:

- po filtracji :

( )

( )

( ),

0,1, ,

1

k

k

U z

H z X z

k

M

=

=

(5.17)

- po redukcji:

1

1/

2 /

0

1

( )

(

),

N

l

N

j

N

k

k

N

N

l

Y z

U w z

w

e

N

π

=

=

=

(5.18)

Y

k

(z) jest sumą powielonych poprzesuwanych (zmodulowanych przez

w

N

l

) widm U

k

(z

1/N

).

- wyjścia ekspanderów:

( )

(

)

N

k

k

V z

Y z

=

(5.19)

- zrekonstruowane składowe:

ˆ ( )

( )

( )

k

k

k

X z

G z V z

=

(5.20)

Sygnał zrekonstruowany:

1

1

1

1

0

0

0

0

1

1

1

0

0

0

1

ˆ

ˆ

( )

( )

( ) (

)

( )

(

) (

)

1

(

)

(

)

( )

(

) ( )

M

M

M

N

N

l

l

k

k

k

k

k

N

N

k

k

k

l

N

M

N

l

l

l

N

k

N

k

N

l

l

k

l

X z

X z

G z Y z

G z

H w z X w z

N

X w z

H w z G z

X w z A z

N

=

=

=

=

=

=

=

=

=

=

=

=

=

(5.21)

gdzie:

1

0

1

( )

(

)

( )

M

l

l

k

N

k

k

A z

H w z G z

N

=

=

(5.22)

0

Ω

π/M

|H(e

j

Ω

)|

H

0

(e

j

Ω

)

H

1

(e

j

Ω

)

H

M-1

(e

j

Ω

)

−π/M

2π/M

π

−π

−2π/M

H

0

(e

j

Ω

)

H

1

(e

j

Ω

)

H

M-1

(e

j

Ω

)

...

...

x(n)

H

0

(z)

y

0

(m)

u

0

(n)

N

1

H

1

(z)

y

1

(m)

u

1

(n)

N

2

H

M-1

(z)

y

M-1

(m)

u

M-1

(n)

N

M-1

filtry analizy

reduktory

filtry syntezy

G

0

(z)

0

ˆ ( )

x n

v

0

(n)

N

1

y

0

(m)

G

1

(z)

1

ˆ ( )

x n

v

1

(n)

N

2

y

1

(m)

G

M-1

(z)

1

ˆ

( )

M

x

n

v

M-1

(n)

N

M-1

y

M-1

(m)

ˆ( )

x n

ekspandery

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 9 -

Jeżeli spełnione będą warunki:

0

1

0

0

1

( )

( )

( )

( ) 0,

1, 2, ,

1

M

n

k

k

k

l

A z

H z G z

z

N

A z

l

N

=

=

= α ⋅

=

=

,

(5.23)

to odtworzenie

0

ˆ( )

(

)

x n

x n n

= α ⋅

jest przeskalowanym i opóźnionym, ale niezniekształconym sygnałem

oryginalnym, a składowe zmodulowane są wytłumione. Dlatego (5.23) są warunkami dokładnej
rekonstrukcji (perfect reconstruction – PR), które powinny być spełnione, przynajmniej w przybliżeniu,
przez zaprojektowany bank filtrów. Niezerowe wartości A

l

(z) dla l≠0, spowodowane nieidealnymi

charakterystykami filtrów, powodują tzw. przecieki widmowe składowych pomiędzy podpasmami.

W algorytmach podpasmowego kodowania (kompresji) sygnałów, składowe podpasmowe

y

k

(m)

po

redukcji są jeszcze kwantowane co do wartości. Liczba poziomów kwantowania R

k

(czyli bitów

reprezentacji) w podpaśmie jest tym większa, im większa jest wariancja var(y

k

) składowej. Ponieważ

całkowita liczba bitów na zakodowaną próbkę R=

Σ

R

k

jest ograniczona i zależy np. od założonego bitrate

I=R

f

s

(bitów/s, f

s

– częstotliwość próbkowania), podpasma o najmniejszej wariancji mogą w ogóle nie

być reprezentowane w zakodowanym sygnale.


Literatura

1. Lyons R.G.: „Wprowadzenie do cyfrowego przetwarzania sygnałów”, WKŁ, 1999.
2. Zieliński T.P.: „Cyfrowe przetwarzanie sygnałów. Od teorii do zastosowań”, WKŁ, 2005.
3. Crochiere R.E., Rabiner L.R.: „Mltirate Signal Processing”, Prentice Hall, Englewood Cliffs, NJ, 1983.


background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 10 -

3. Obliczenia komputerowe - zadania do wykonania

Do obliczeń wykorzystywane będą funkcje biblioteki Matlaba o nazwie Signal Processing Toolbox.

3.1. Interpolacja sygnału

A. Interpolacja nieprzyczynowa LP o ograniczonym widmie.

• Wygenerować sygnał wejściowy zawierający dwie składowe harmoniczne:

1

1

2

2

1

1

1

2

2

2

( )

cos

cos

1.0,

,

0.4,

x n

A

n A

n

A

f

A

f

=

Ω +

Ω

=

Ω = π

=

Ω = π

(częstotliwości f unormowane do częstotliwości Nyquista, tzn. f=1 odpowiada f

Nyq

=f

s

/2) za pomocą

funkcji:
>> x = c5_signal(512,[1 0.4],[0.1 0.9]);

% N=512 punktów

gdzie: [A1 A2]=[1 0.4], [f1 f2]=[0.1 0.9].
• Przeprowadzić interpolację sygnału (w skrypcie korzysta się z funkcji interp Matlaba):
>> nrys=[0 100];

% zakres osi OX przebiegów czasowych, domyślnie [0,100]

>> U=3;

% współczynnik rozszerzenia

>> L=4; alpha=0.4;

% rząd filtra interpolacyjnego N=2*L*U

Parametr

α jest zakładaną częstotliwością odcięcia sygnału wejściowego unormowaną do zakresu 0< α

≤1. Im większa jest jego wartość, tym szersze jest pasmo przepustowe i bardziej strome pasmo
przejściowe projektowanego w funkcji interp filtra interpolatora.
>> [xup,y,nup,b] = c5_interp(x, U, nrys, L, alpha);

% obliczenia bez wykresów

>> c5_interp(x, U, nrys, L, alpha);

% rysowanie wykresów

gdzie: xup – sygnał z ekspandera, y – sygnał wyjściowy interpolatora, nup – indeksy po rozszerzeniu,
b=[b

0

, b

1

, ..., b

N

]

– współczynniki (odpowiedź impulsowa) filtra SOI H(z)=b(z).

• Zaobserwować widma DFT sygnałów w procesie interpolacji:
>> c5_interpwid(x, xup, y ,U);

• Wyznaczyć i zaobserwować charakterystykę impulsową oraz amplitudowo-częstotliwościową filtra

interpolatora i porównać je z odpowiednimi charakterystykami filtra tego samego rzędu opisanego
wzorem (5.4)

>> c5_interpfilt(b,U);
• Powtórzyć powyższe obliczenia dla U=3 i 4 kombinacji parametrów: L=4, 8; alpha=0.4,

0.95

.

&

Zaobserwować różnice charakterystyk porównywanych filtrów. W których punktach charakterystyki
impulsowe pokrywają się i dlaczego?

&

Dla jakiego

α filtr interpolatora praktycznie pokrywa się z filtrem opisanym wzorem (5.4)? Zwrócić

uwagę na tłumienie składowej f

2

=0.9 w zależności od wartości

α.

B. Interpolacja nieprzyczynowa liniowa pomiędzy sąsiednimi próbkami – charakterystyka impulsowa

filtra interpolatora jest opisana wzorem (5.9).

• Sygnał wejściowy pozostaje taki sam jak w pkt.A (powinien być zapisany w zmiennej x w pamięci).

Przeprowadzić obliczenia dla U=5 i U=8:

>> [xup,y,nup,b] = c5_interplin(x, U);

% obliczenia, bez wykresów

>> c5_interplin(x, U);

% rysowanie wykresów

>> c5_interpwid(x, xup, y ,U);

>> c5_interpfilt(b,U);
&

Porównać wyniki z uzyskanymi w pkt.A.

C. Interpolacja sygnału dźwiękowego (*** sygnał na głośniki ***).
• Wczytać plik dźwiękowy w formacie .wav o podanej nazwie, np.:
>> [x,fs,nbits] = c5_sound('fire');

% tylko konwersja do zmiennej x

>>

c5_sound('fire');

% dźwięk i wykres

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 11 -

Liczba próbek ns, częstotliwość próbkowania fs i liczba bitów próbki nbits są podawane w oknie
komend Matlaba.
• Przeprowadzić interpolację sygnału:
>> nrys=[2000 2200];

% zakres osi OX przebiegów czasowych

>> U=2;

% współczynnik rozszerzenia

>> [xup,y,nup,b] = c5_interp(x, U, nrys);

% obliczenia, bez wykresów

>> c5_interp(x, U, nrys);

% rysowanie wykresów

>> c5_interpwid(x, xup, y ,U);

% widma częstotliwościowe

>> sound(y,U*fs)

% odegranie sygnału po interpolacji

Analogiczna funkcja wavplay(s,fs) używa urządzenia audio PC.
&

Czy słyszalne są różnice dźwięku przed i po interpolacji?

3.2. Decymacja sygnału

A. Decymacja bez przesunięcia fazowego (SOI ze zwierciadlanym uzupełnianiem próbek wejściowych w

celu uniknięcia przebiegów przejściowych lub nieprzyczynowa NOI).

• Wygenerować sygnał wejściowy zawierający dwie składowe harmoniczne:
>> x = c5_signal(512,[1 0.4],[0.04 0.4]);

% N=512 punktów

gdzie: [A1 A2]=[1 0.4], [f1 f2]=[0.04 0.4].
• Przeprowadzić decymację sygnału (w skrypcie korzysta się z funkcji decimate Matlaba, domyślnie

filtracja SOI rzędu N=30):

>> nrys=[0 100];

% zakres osi OX przebiegów czasowych

>> D=2;

% współczynnik redukcji

>> [xdown,y,ndown]=c5_dec(x,D,nrys);

% obliczenia, bez wykresów

>> c5_dec(x,D,nrys);

% rysowanie wykresów

gdzie: xdown – sygnał z reduktora bez filtracji LP, y – sygnał decymowany (z filtracją LP przed
reduktorem), ndown – indeksy po redukcji.
&

Zwrócić uwagę na brak przesunięcia fazowego sygnału po decymacji.

• Zaobserwować widma DFT sygnałów w procesie decymacji:
>> c5_decwid(x, xdown, y ,D);
&

Zwrócić uwagę, gdzie występuje skala częstotliwości

Ω

x

przed i

Ω

y

po redukcji.

• Powtórzyć obliczenia dla decymacji o czynnik 3:
>> D=3;

>> [xdown,y,ndown]=c5_dec(x,D,nrys);

>> c5_dec(x,D,nrys);

% rysowanie wykresów

>> c5_decwid(x, xdown, y ,D);

% widma częstotliwościowe

&

Wyjaśnić różnice przebiegów i widm sygnału zredukowanego (downsampled) bez filtracji LP w

porównaniu z sygnałem decymowanym z filtracją, biorąc pod uwagę D-krotne zawężenie pasma Nyquista
w wyniku redukcji. Co dzieje się ze składową sygnału wejściowego o większej częstotliwości? Na
wykresach widm wskazać efekt aliasingu.

B. Decymacja przyczynowa z przesunięciem fazowym.
• Przeprowadzić obliczenia dla decymacji o czynnik D=3 za pomocą funkcji:
>> c5_decprzycz(x, D, nrys, L);
dla L=8 i L=15, gdzie: N=2L – rząd przyczynowego filtra SOI decymatora o charakterystyce
impulsowej

(

)

( )

sinc

FIR

n L

h

n

D

D

α

α −

=

, (przyjęto

α=0.9).

Zarejestrować charakterystyki filtra.
&

Zwrócić uwagę na stan przejściowy i zależność jego czasu trwania (warunki początkowe są zerowe)
oraz przesunięcia fazowego w stanie ustalonym od L i wyjaśnić ten efekt.

C. Decymacja sygnału dźwiękowego (*** sygnał na głośniki ***).
• Wczytać plik dźwiękowy w formacie .wav o podanej nazwie, np.:

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 12 -

>> [x,fs,nbits] = c5_sound('fire');

% tylko konwersja do zmiennej x

>>

c5_sound('fire');

% dźwięk i wykres

• Przeprowadzić decymację sygnału:
>> nrys=[2000 2200];

% zakres osi OX przebiegów czasowych

>> D=2;

% współczynnik redukcji

>> [xdown,y,ndown]=c5_dec(x,D,nrys);

>> c5_dec(x,D,nrys);

% rysowanie wykresów

>> c5_decwid(x, xdown, y ,D);
>> sound(y,fs/D)

% odegranie sygnału po decymacji

• Powtórzyć eksperyment dla D=5.
&

Czy słyszalne są różnice dźwięku przed i po decymacji? Porównać zawartość widmową sygnału
wejściowego i wyjściowego.

• Przeprowadzić obliczenia dla decymacji z filtrem nieprzyczynowym i D=5.

>> [y,ndown]=c5_decprzycz(x, D, nrys);

% obliczenia, domyślnie L=15

>> c5_decprzycz(x, D, nrys);

% rysowanie wykresów

>> c5_decwid(x, xdown, y ,D);

D. Decymacja ze zwiększeniem rozdzielczości kwantowania.
• Wygenerować sygnał harmoniczny (jedna składowa) skwantowany do poziomów +1/-1 (1 bit):

zawierający dwie składowe harmoniczne:

>> x = sign(c5_signal(512,[1 0],[0.02 0]));

% funkcja signum

• Przeprowadzić decymację z przyczynowym filtrem uśredniającym o liniowej odpowiedzi impulsowej:
>> nrys=[0 200];

% zakres osi OX przebiegów czasowych

>> D=5;

% współczynnik redukcji

>> c5_decusred(x, D, nrys);
&

Jak sygnał wyjściowy odzwierciedla oryginalny sygnał harmoniczny? Wyjaśnić przebieg po
decymacji pamiętając, że filtr LP decymatora ma właściwości uśredniające.

3.3. Dekompozycja sygnału za pomocą banku filtrów pasmowoprzepustowych BP

A. Projektowanie filtra prototypowego LP SOI.

• Wprowadzić dane projektowe i zaprojektować prototyp:
>> M = 4;

% liczba kanałów projektowanego baku filtrów (decyduje o szerokości pasma

przepustowego

prototypu)

>> L = 201;

% dlugosc odpowiedzi impulsowej p(n) prototypu (= rząd filtra +1)

>> rs =96;

% min. tłumienie w paśmie zaporowym w dB (stopband rippling)

>> p = c5_prototyp(M,L,rs);

% tylko obliczenia

>> c5_prototyp(M,L,rs);

% wykresy

&

Zwrócić uwagę na zależność charakterystyki amplitudowej od M i rs (można powtórzyć obliczenia
dla innych wartości tych parametrów, ale pamiętać, że zmienia to p).

B. Projektowanie banku filtrów analizy (dekompozycji) i syntezy (rekonstrukcji) sygnału.
• Wyznaczenie macierzy h (wymiar MxL) odpowiedzi impulsowych filtrów analizy i g - filtrów

syntezy (k-ty wiersze macierzy jest charakterystyką filtra h

k

(n) (g

k

(n)), k=0,1,...,M-1) metodą

modulacji kosinusowej:

>> [h,g] = c5_bank1(M,p);

% tylko obliczenia

>> c5_bank1(M,p);

% wykresy

&

Przeanalizować skrypt (plik) c5_bank1.m. Zwrócić uwagę i wyjaśnić wstępne skalowanie
odpowiedzi impulsowej p(n) prototypu i różnice (na wykresach) zmodulowanych odpowiedzi
impulsowych filtrów analizy i syntezy. Czy są to filtry o liniowej fazie?

C. Przeprowadzić analizę (rozkład na M składowych pasmowych) sygnału dźwiękowego za pomocą

zaprojektowanych filtrów analizy.

• Podać nazwę pliku .wav z sygnałem do przetwarzania i wczytać sygnał do zmiennej:
>> wavfile='szum';

% sygnał z pliku szum.wav

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 13 -

>> [x,fs,nbits] = c5_sound(wavfile,nrys);

>> c5_sound(wavfile,nrys);

% dźwięk i wykres (***sygnał na głośniki***)

&

Zanotować parametry sygnału podane w oknie komend Matlaba.

• Określić lupę czasową rysowanych dalej przebiegów i obliczeń DFT:
>> nrys=[2000, 2500];

% wykresy i DFT w zakresie od próbki 2000 do 2500

• Przeprowadzić dekompozycję sygnału za pomocą filtrów BP h. Składowe y

k

(n), k=0,1,...,M-1, są

zapamiętywane w wierszach macierzy y:

>> [y,vary,varx] = c5_anal(h,x,fs,nrys);

% obliczenia

Odsłuchać sygnały składowych (***sygnał na głośniki***) naciskając dowolny klawisz:
>> c5_anal(h,x,fs,nrys);

% wykreślane są dwie pierwsze i ostatnia składowa: k=0,1,M-1

&

Podawane wariancje vary określają moc (a więc i poziom) składowych w podpasmach, co jest
wykorzystywane do alokacji bitów na podpasma przy kwantowaniu.

D. Kwantowanie poziomów składowych w podpasmach.
• Określić liczbę bitów R na próbkę sygnału po skwantowaniu (bitrate I=R

f

s

bitów/s) i wyznaczyć

alokację bitów na podpasma (zależną od wariancji vary):

>> R=8;

% do rozdziału jest R bitów na M pasm

>> Rk = c5_bitalloc(R,vary);

% wyliczone wartości Rk są podawane w oknie komend

• Przeprowadzić redukcję (downsampling) częstotliwości próbkowania składowych pasmowych o

czynnik M (powoduje to powielenie widm pasmowych):

>> yd=c5_analdown(y,M);

% yd – macierz składowych po downsamplingu

• Przeprowadzić kwantowanie zdecymowanych składowych pasmowych. Liczba poziomów składowej

po skwantowaniu jest przez liczbę bitów przypadającą na dane pasmo:

>> yq=c5_analquant(yd,fs,M,Rk,nrys);

% obliczenia, yq – składowe skwantowane

>> c5_analquant(yd,fs,M,Rk,nrys);

% wykresy

&

Sprawdzić, czy liczba poziomów na wykresach zgadza się z liczbą bitów przydzieloną na pasmo.
Porównać przebiegi czasowe i widma zarejestrowane przed i po redukcji częstotliwości próbkowania.
W jakim stopniu kwantowanie wpływa na widma składowych? Przeanalizować plik skryptowy
c5_analquant.m

pod kątem realizacji operacji kwantowania poziomów składowych.

3.4. Rekonstrukcja sygnału za pomocą banku filtrów

Uwaga: W tym punkcie wykorzystywane są zmienne wyliczone w pkt.3.3.
A. Rekonstrukcja sygnału ze składowych za pomocą zaprojektowanych w pkt.3.3 filtrów syntezy g:

>> xr=c5_synt(g,yq,fs,varx,nrys);

% obliczenia

>> c5_synt(g,yq,fs,varx,nrys);

% wykresy

Wariancja varx sygnału oryginalnego jest wykorzystywana do uzyskania sygnału zrekonstruowanego

ˆ( )

x n

(wektor xr) o takim samym poziomie. Funkcja dokonuje zwiększenia częstotliwości próbkowania

składowych do wartości pierwotnej (upsampling razy M), filtracji BP za pomocą filtrów g i zsumowania
wydzielonych składowych zrekonstruowanych. Przeanalizować plik skryptowy c5_synt.m.

&

Porównać ("na oko") przebiegi i widma sygnału odtworzonego

ˆ( )

x n i jego składowych ˆ ( )

k

x n

z

sygnałem wejściowym x(n) i składowymi analizy y

k

(n).

• Odsłuchać sygnał odtworzony (***sygnał na głośniki***):

>> sound(xr,fs);
B. Porównanie przebiegów sygnału oryginalnego i odtworzonego:
>> c5_compare(x,xr);

&

Zwrócić uwagę i wyjaśnić przesunięcie sygnału odtworzonego względem wejściowego (patrz:
charakterystyka fazowa w następnym podpunkcie).

• Zaobserwować sumaryczne charakterystyki impulsowe oraz widmowe filtrów analizy i syntezy

łącznie oraz tzw. przeciek widmowy związany z przenikaniem części składowej z jednego podpasma
do sąsiednich, a wynikający ze skończonego tłumienia filtrów BP w pasmach zaporowych:

>> c5_bank2(h,g);

background image

Laboratorium Cyfrowego Przetwarzania Sygnałów

Ćwiczenie 5 – Wieloczęstotliwościowe przetwarzanie sygnałów – interpolacja i decymacja

- 14 -

3.5. Powtórzenie dekompozycji i rekonstrukcji dla innych danych wejściowych

A. Powtórzyć obliczenia od pkt.3.3.C dla sygnału nie będącego szumem, np.

>> wavfile='fire8';
B. (*)

Powtórzyć obliczenia od pkt.3.3.A dla innych wartości M, L (np. L=200 - parzyste, L=401),

rs

i zaobserwować wpływ zmian na wyniki.

4. Opracowanie sprawozdania

W sprawozdaniu należy zawrzeć zarejestrowane wyniki eksperymentów numerycznych z odpowiednimi
opisami oraz wyjaśnieniami wskazanych problemów.


Wyszukiwarka

Podobne podstrony:
ZG lab5 6 id 589867 Nieznany
dsp lab1 id 144058 Nieznany
dsp lab7 id 144062 Nieznany
Lab5 7 id 259904 Nieznany
lab5 5 id 259898 Nieznany
LAB5 6 id 259958 Nieznany
JPPO Lab5 id 228823 Nieznany
dsp lab2 id 144059 Nieznany
dsp lab6 id 144061 Nieznany
PAiRAII Instr 2008 lab5 id 3455 Nieznany
AKiSO lab5 id 53768 Nieznany (2)
ZG lab5 6 id 589867 Nieznany
dsp lab1 id 144058 Nieznany
dsp lab7 id 144062 Nieznany
Lab5 7 id 259904 Nieznany
Lab5 Modelowanie dynamiki id 25 Nieznany
Lab5 OZE id 259971 Nieznany
i9g1s1 wozniak lab5 sd id 20877 Nieznany
Lab5 sci id 259972 Nieznany

więcej podobnych podstron