7 cw7 transformata fouriera id 612599 (2)

background image

Wrocław, dn.21.04.2005









SPRAWOZDANIE Z ĆWICZENIA NR 7

TEMAT:

Dyskretna transformata Fouriera DFT.


























Wykonał:




termin: wtorek, godz.11

15

-13

00




background image

1. Podstawy obliczania DFT.
Korzystając ze skryptu Baza.m wyznaczono sygnały bazowe dyskretnego
przekształcenia Fouriera, jeden z etapów obliczania transformaty oraz wynik
ostateczny w postaci wykresu modułu, fazy, części rzeczywistej i urojonej
transformaty.

Rys. 1. Sygnały bazowe dyskretnego przekształcenia Fouriera.

Rys. 2. Jeden z etapów obliczania dyskretnej transformaty Fouriera.

background image

0

0.5

1

1.5

2

2.5

3

3.5

4

-1000 0 1000 2000 3000 4000 5000 6000 7000

modul

line 1

0

0.5

1

1.5

2

2.5

3

3.5

4

-1000 0 1000 2000 3000 4000 5000 6000 7000

modul

line 1

line 2

0

0.5

1

1.5

2

2.5

3

3.5

4

-1000 0 1000 2000 3000 4000 5000 6000 7000

modul

0

0.5

1

1.5

2

2.5

3

3.5

4

-1000 0 1000 2000 3000 4000 5000 6000 7000

modul

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

-1000 0 1000 2000 3000 4000 5000 6000 7000

czesc rzeczywista

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

-1000 0 1000 2000 3000 4000 5000 6000 7000

czesc rzeczywista

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

-1000 0 1000 2000 3000 4000 5000 6000 7000

czesc rzeczywista

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

-1000 0 1000 2000 3000 4000 5000 6000 7000

czesc rzeczywista

-15

-10

-5

0

5

10

15

20

25

-1000 0 1000 2000 3000 4000 5000 6000 7000

faza w stopniach

-15

-10

-5

0

5

10

15

20

25

-1000 0 1000 2000 3000 4000 5000 6000 7000

faza w stopniach

-15

-10

-5

0

5

10

15

20

25

-1000 0 1000 2000 3000 4000 5000 6000 7000

faza w stopniach

-15

-10

-5

0

5

10

15

20

25

-1000 0 1000 2000 3000 4000 5000 6000 7000

faza w stopniach

-4

-3

-2

-1

0

1

2

3

4

-1000 0 1000 2000 3000 4000 5000 6000 7000

czesc urojona

-4

-3

-2

-1

0

1

2

3

4

-1000 0 1000 2000 3000 4000 5000 6000 7000

czesc urojona

-4

-3

-2

-1

0

1

2

3

4

-1000 0 1000 2000 3000 4000 5000 6000 7000

czesc urojona

-4

-3

-2

-1

0

1

2

3

4

-1000 0 1000 2000 3000 4000 5000 6000 7000

czesc urojona

Rys. 3. dyskretna transformata Fouriera, moduł, faza, część rzeczywista

i urojona.

Przeanalizowano dwa sposoby wektorów bazowych, to jest za pomocą pętli i
wektoryzacji pętli oraz napisano skrypt porównujący czas obliczania DFT z
definicji z czasem obliczania z FFT. Listing skryptu zamieszczono na końcu
sprawozdania. Poniżej zamieszczono wyniki otrzymane badając czasy
obliczania transformaty obiema metodami.

Tab. 1. Zestawienie wyników obliczania transformaty Fouriera: DFT, FFT.

Długość

sygnału

w

próbkach

8

16

32

64

128

256

512

1024

DFT 0,043 0,045001 0,046 0,05 0,078

0,0175

0,564

2,01

FFT 0,037 0,036 0,039 0,037999 0,038 0,037 0,038 0,039

background image

Rys. 4.Różnica czasów obliczania DFT i FFT.

Listing napisanego skryptu m2freq.m dokonującego konwersji numerów
prążków (n=0,1, … N-1) naczęstotliwości analizy zamieszczono na końcy
sprawozdania.

2. Próbkowanie widma ciągłego.

Na podstawie skryptu okresy.m którego listing zamieszczony jest na końcu
skryptu wyznaczono przebiegi czasowe oraz moduł widma sygnału
sinusoidalnego o częstotliwości 125 Hz o całkowitej i obciętej części ostatniego
okresu.
Częstotliwość sygnału to 125 Hz natomiast częstotliwość analizy to 31,25 Hz,
liczba próbek to 256, częstotliwość próbkowania to 8000 Hz.Parametry sygnału
dobrano tak, aby zachodziła równość fs=fa*m/N.

background image

Rys. 5.Wzkres czasowy i moduł widma sygnału sinusoidalnego o częstotliwości

125 HZ (całkowita ilość okresów).

Rys. 6.Wzkres czasowy i moduł widma sygnału sinusoidalnego o częstotliwości

125 HZ (obcięta część ostatniego okresu).

3. Przeciek widma.
Częstotliwość sygnału 100 Hz, fp=8000,fa=62,50. Parametry sygnału dobrano
tak, aby nie zachodziła równość fa=fp*m/N

background image

Rys. 7. Ilustracja przecieku widma.



4. Zwiększenie rozdzielczości DFT.

Poniżej przedstawione są wykresy czasowe i moduły widm sygnałów
sinusoidalnych z dołożonymi zerami na końcu sygnału. Operacja taka
wykonywana jest w celu zwiększenia rozdzielczości widma sygnału.

Rys. 8. Wykres czasowy i moduł widma sygnału sinusoidalnego.

background image

Rys. 9.Wykres czasowy i moduł widma sygnału sinusoidalnego po zwiększeniu

rozdzielczości


5. Zbadanie właściwości części rzeczywistej i urojonej.

Modyfikując skrypty używane w ćwiczeniu wygenerowano wykresy modułu,
części rzeczywistej i urojonej oraz fazy sygnału sinusoidalnego io dwukrotnie
większej amplitudzie.

Rys. 10. Wykresy modułu, części rzeczywistej i urojonej oraz fazy sygnału

sinusoidalnego.

background image

0

2

4

6

8

10

12

14

16

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

modul

line 1

0

2

4

6

8

10

12

14

16

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

modul

line 1
line 2

0

2

4

6

8

10

12

14

16

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

modul

0

2

4

6

8

10

12

14

16

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

modul

-1

0

1

2

3

4

5

6

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

czesc rzeczywista

-1

0

1

2

3

4

5

6

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

czesc rzeczywista

-1

0

1

2

3

4

5

6

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

czesc rzeczywista

-1

0

1

2

3

4

5

6

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

czesc rzeczywista

-10

-5

0

5

10

15

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

faza w stopniach

-10

-5

0

5

10

15

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

faza w stopniach

-10

-5

0

5

10

15

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

faza w stopniach

-10

-5

0

5

10

15

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

faza w stopniach

-20

-15

-10

-5

0

5

10

15

20

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

czesc urojona

-20

-15

-10

-5

0

5

10

15

20

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

czesc urojona

-20

-15

-10

-5

0

5

10

15

20

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

czesc urojona

-20

-15

-10

-5

0

5

10

15

20

-1000 0 1000

2000

3000

4000

5000

6000

7000

8000

czesc urojona

Rys. 11. Wykresy modułu, części rzeczywistej i urojonej oraz fazy sygnału

sinusoidalnego o zwiększonej amplitudzie.



6. DFT sumy sygnałów.

Modyfikując skrypty używane w ćwiczeniu wygenerowano wykresy czasowe
sygnałów sinusoidalnych oraz moduły widm sumy sygnałów oraz sumy
transformat.

background image

Rys. 12. Wykresy czasowe sygnałów sinusoidalnych oraz moduły widm sumy

sygnałów oraz sumy transformat.

7. Widmo fazowe.

Poniżej przedstawiono przebiegi czasowe, moduł widma oraz fazę i fazę
rozwiniętą sygnału sinusoidalnego tłumionego ekspotencjalnie.

Rys. 13. Wykres czasowy moduł widma oraz faza i faza rozwinięta sygnału.

background image


8. Widmo sygnału przesuniętego w czasie.

Wykres czasowy, moduł widma oraz faza sygnału sinusoidalnego
i przesuniętego w czasie przedstawiono poniżej..

Rys. 14. Wykres czasowy, moduł widma oraz faza sygnału sinusoidalnego

i przesuniętego w czasie.

9. Odwrotna dyskretna transformata Fouriera.

background image

Rys. 15.Wykresy czasowe sygnału sinusoidalnego sinusoidalnego odtworzonego

na podstawie odwrotnej transformaty Fouriera.


10. Wnioski.

Na podstawi wyników otrzymanych porównując czas obliczania transformaty
Fouriera z definicji i algorytmu FFT widać, że przy niewielkiej długości
transformaty czasy różnią się niewiele, natomiast wraz ze wzrostem długości
transformaty różnica rośnie gwałtowniej. Różnice wynikają z tego, że przy
obliczaniu z definicji dodatkowo obliczamy również bazę, natomiast przy FFT
wykorzystujemy algorytm motylkowy.
Widmo sygnału o całkowitej liczbie okresu posiada prążki o częstotliwości
sygnału, natomiast przy sygnale obciętym pojawiają się dodatkowe prążki
mówiące o zniekształceniu sygnału.
DFT daje prawidłowe wyniki tylko wtedy, kiedy ciąg danych wejściowych
zawiera energię rozłożoną dokładnie przy częstotliwościach, dla których
dokonujemy analizy określonych równaniem fa=m*fp/N, będących całkowitymi
wielokrotnościami częstotliwości podstawowej Fp/N. Przy częstotliwości
pośrednich pojawia się tak zwany przeciek widma, czyli prążki przy wszystkich
N wyjściowych wartościach częstotliwości DFT.
Zwiększanie rozdzielczości DFT polega na dołożeniu wartości zerowych na
koniec badanego sygnału. Efektem graficznym tego zabiegu jest dokładniejsze
widmo amplitudowe badanego sygnału.

background image

Część rzeczywista widma jest funkcją parzystą, natomiast część urojona
nieparzystą. Dla rzeczywistego sygnału wejściowego sinusoidalnego związek
pomiędzy wartością amplitudy widma a wartością amplitudy sygnału
wejściowego jest następujący: Mr=Ao*N/2, natomiast dla sygnałów
zespolonych Mc=Ao*N.
Transformata sumy sygnałów x i y jest równa sumie transformat sygnałów x i y,
co zostało odpowiednio zilustrowane w punkcie 6 sprawozdania.
Moduł widma sygnału przesuniętego w czasie jest równy modułowi sygnału nie
przesuniętego, natomiast faza jest zmieniona, co prowadzi do stwierdzenia, że
przy odtwarzaniu sygnału z postaci częstotliwościowej do czasowej faza
sygnału jest istotniejsza.
Transformata Fouriera jest operacją odwracalną, pozwala na przejście z
dziedziny częstotliwościowej do czasowej i odwrotnie.

DODATEK:
Listing skryptu por_czas.m porównującego czasy obliczania transformaty
Fouriera z definicji DFT oraz FFT.

%Oblicza DFT ,,z definicji''. i funkcji wbudowanej i wyswietla czasy
% parametry
N = 16;

% dlugosc sygnalu w probkach

f = [1000, 2000];

% czestotliwosci sygnalow skladowych

ph = [0, (3/4)*pi];

% przesuniecia fazowe skladowych

A = [1, 0.5];

% amplitudy skladowych

bias = 0;

% wartosc skladowej stalej

fs = 8000;

% czestotliwosc probkowanie

mnoznik = 5;

% zageszczenie probek dla reprezentacji ,,ciaglej''


n = 1:N; % indeksy probek dla sygnalow bazowych
% indeksy dla reprezentacji ,,ciaglych''
nContSize = mnoznik*N;

% indeksy próbek
nSamp = 1:N;

% indeksy dla probek cyfrowych

nCont = linspace(1,N,nContSize);

% indeksy dla ,,ciaglych'' wersji sygnalow

% synteza sygnalu
freqLen = length(f);
x = zeros(1, 1:N);
xCont = zeros(1, 1:N*mnoznik);
for k=1:freqLen

x = x + A(k)*sin(2*pi*f(k)*(nSamp-1)./fs + ph(k));

xCont = xCont + A(k)*sin(2*pi*f(k)*(nCont-1)./fs + ph(k));

endfor
% dodanie skladowej stalej
x = x + bias;
xCont = xCont + bias;
% inicjalizacja macierzy z wektorami przestrzeni bazowej
mSize = N;
B

= zeros(mSize, N);

BCont = zeros(mSize, nContSize);
% wlaczenie "stopera" mierzacego czas wykonania operacji
tic()
% ---------------- Obliczanie bazy
m = 1:N;
B(m,n) = exp(-i*2*pi*(m-1)'*(n-1)/N);
%----------- Obliczanie DFT z definicji ---------------------
disp("Obliczam DFT z definicji")
X = zeros(1,N);
for iM = 1:N
X(iM) = x * (B(iM,:).');
endfor
% zatrzymanie "stopera"
printf("\tczas wykonania (z definicji) = %f \n",toc);

background image

disp("Obliczam FFT ")
% wlaczenie "stopera" mierzacego czas wykonania operacji
tic()
Z=fft(x,N);
% zatrzymanie "stopera"
printf("\tczas wykonania (FFT) = %f \n",toc);




Listing napisanego skryptu m2freq.m dokonującego konwersji numerów
prążków (n=0,1, … N-1) naczęstotliwości analizy



function [f] = m2freq(m, fs)
%M2FREQ dokonuje konwersji numerów na częstotliwości analizy
% [f] = m2freq(m, fs)
%
% Wejscie:
% m - wektor wierszowy z numerami prążków,
% fs - częstotliwość próbkowania.
%
% Wyjscie:
% f - wektor wierszowy z częstotliwościami analizy
% odpowiadającymi poszczegolnym numerom prążków.

N=length(m);
f_analizy=fs/N;
f=(m-1)*f_analizy;

endfunction

Listing napisanego skryptu okresy.m wykreślającego przebieg czasowy i moduł
widma sygnału o całkowitej i obciętej części okresu.


% parametry
N = 256;

% dlugosc sygnalu w probkach

f = 125; % czestotliwosci sygnalow skladowych
fp = 8000;

% czestotliwosc probkowanie

ile=256;
n = 1:N; % indeksy probek dla sygnalow bazowych
i=1:ile;
% synteza sygnalu
x = zeros(1, 1:N);
x = sin(2*pi*f*(n-1)/fp);

y=[ones(1,N-50),zeros(1,50)]; %obciecie sygnalu
x=x.*y;
%----------- Obliczanie DFT ---------------------
disp("Obliczam DFT")

X=fft(x,ile);

subplot(2,1,1);clg;
title("Wykres czasowy");
xlabel("Czas");
ylabel("Amplituda");
plot((0:N-1)/fp,x,'b-');

i=m2freq(i,fp); %przeskalowanie n


% WIZUALIZACJA_WYNIKU
%

modul

subplot(2,1,2);clg;title("modul")
title("Modul widma");
xlabel("Czestotliwosc");
ylabel("Amplituda");

plot(i-1,abs(X),'b^'); %hold "on"; grid "on"


Wyszukiwarka

Podobne podstrony:
5 Algorytmy wyznaczania dyskretnej transformaty Fouriera (CPS)
cw 7 Dyskretna Transformata Fouriera (DFT)
cw7 ukl 2skl id 123759 Nieznany
Transformata Fouriera, wzory i własnosci
CW7 pytania kontrole id 123756 Nieznany
cw8 analiza widmowa metoda szybkiej transformaty fouriera (FFT)
Dyskretna transformata Fouriera
Diagnostyka raka szyjki macicy metodą mikrospektroskopii w podczerwieni z transformacją Fourierax
cw7 ukl 2skl 2 id 123760 Nieznany
4 Fourier id 37587 Nieznany
Badanie transformatora A4 id 77 Nieznany
Dyskretna transformata Fouriera
jurlewicz,rachunek prawdopodobieństwa,transformata Fouriera zadania
2010 01 11 Transformata Fouriera
Transformacja Fouriera jest podstawowym narzędziem analizy częstotliwościowej sygnałów
2 Transformata Fouriera
3 Cwiczenia zadania4 transformata Laplacea id 606491 (2)
Transformata Fouriera
Dwuwymiarowa transformacja Fouriera

więcej podobnych podstron