Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %Broj tacaka u kojima se racuna DFT
- N=128;
- n=0:N-1;
- %Definicija signala ciji spektar racunamo
- x1=10000*cos(2*pi*10*n/N)+100*cos(2*pi*16*n/N);
- %Odredjivanje amplitudske karakteristike
- X1=2*abs(fft(x1))/N;
- %Izracunavanje karakteristike u dB
- X1=20*log10(X1);
- %Crtanje karakteristike
- subplot (2, 2, 1), stem(n, X1);
- title('Spektar signala x_1(n)');
- %Umesto da crtamo 64 odbirka crtacemo samo prvih 32 radi bolje
- %ilustracije
- axis([0 32 0 80]);
- % Obzirom da obe komponente prisutne u signalu padaju tačno u tačke u kojima
- % računamo DFT, u ovom slučaju ne dolazi do curenja spektra, tako da u
- % spektru vidimo samo dve komponente na pozicijama 10 i 16.
- % Sada ćemo promeniti učestanost prve komponente tako da pada tačno između
- % dve tačke u kojima računamo DFT. Ovo je inače najgori mogući slučaj za
- % analizu curenja spektra. U ovom slučaju će doći do curenja spektra prve
- % komponente koje će potencijalno maskirati drugu komponentu koja je sto
- % puta slabija od prve. U ovoj situaciji ćemo primeniti prozoriranje sa
- % različitim prozorskim funkcijama da bi smo umanjili negativne efekte
- % spektralnog curenja. Sledeći MATLAB program definiše modifikovani signal
- % x(n), a zatim određuje DFT ovog signala nakon prozoriranja
- % različitim prozorskim funkcijama.
- %Modifikacija signala x1(n) tako da se ucestanost prve komponente nalazi
- %izmedju dve tacke u kojima racunamo DFT
- x2=10000*cos(2*pi*10.5*n/N)+100*cos(2*pi*16*n/N);
- %Odredjivanje amplitudske karakteristike, pravougaoni prozor
- X2=2*abs(fft(x2))/N;
- X2=20*log10(X2);
- subplot (2, 2, 2), stem(n, X2);
- title('Spektar signala x_2(n)');
- axis([0 32 0 80]);
- %Trougaoni prozor
- w=triang(N)';
- x3=x2.*w;
- X3=2*abs(fft(x3))/N;
- X3=20*log10(X3);
- subplot (2, 2, 3), stem(n, X3);
- title('Trougaoni prozor');
- axis([0 32 0 80]);
- %Hanov prozor
- w=hanning(N)';
- x4=x2.*w;
- X4=2*abs(fft(x4))/N;
- X4=20*log10(X4);
- subplot (2, 2, 4), stem(n, X4);
- title('Hanov prozor');
- axis([0 32 0 80]);
- figure
- %Hemingov prozor
- w=hamming(N)';
- x5=x2.*w;
- X5=2*abs(fft(x5))/N;
- X5=20*log10(X5);
- subplot (2, 2, 1), stem(n, X5);
- title('Hemingov prozor');
- axis([0 32 0 80]);
- %Blekmenov prozor
- w=blackman(N)';
- x6=x2.*w;
- X6=2*abs(fft(x6))/N;
- X6=20*log10(X6);
- subplot (2, 2, 2), stem(n, X6);
- title('Blekmenov prozor');
- axis([0 32 0 80]);
- %Kajzerov prozor, beta = 4
- w=kaiser(N,4)';
- x7=x2.*w;
- X7=2*abs(fft(x7))/N;
- X7=20*log10(X7);
- subplot (2, 2, 3), stem(n, X7);
- title('Kajzerov prozor \beta=4');
- axis([0 32 0 80]);
- %Kajzerov prozor, beta = 9
- w=kaiser(N,9)';
- x8=x2.*w;
- X8=2*abs(fft(x8))/N;
- X8=20*log10(X8);
- subplot (2, 2, 4), stem(n, X8);
- title('Kajzerov prozor \beta=9');
- axis([0 32 0 80]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement