Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all;
- N=10000;
- fp=12000;
- t=0:1/fp:(N-1)/fp;
- x1= 6*chirp(t,150,t(end),400);
- x2= 10*chirp(t,250,t(end),600);
- x3= 8*sin(2*pi*t*450);
- x4= 3*rand(1,N);
- x=x1+x2+x3+x4;
- figure(1);
- subplot(2,2,1);
- plot(t,x);
- print('czas');
- print('x(t)');
- title('sygnal');
- %modul
- Nf=2^14;
- Nf21= Nf/2+1;
- f=linspace(0,fp/2,Nf21);
- v=fft(x,Nf);
- w=abs(v);
- subplot(2,2,2);
- plot(f,w(1:Nf21));
- print('czestotliwosc[hz]');
- print('x(f)');
- title('modul widma sygnalu');
- %decymacja
- dr=10;
- fpy=fp/dr;
- y=decimate(x,dr);
- Ny=length(y);
- ty=0: 1/fpy : (Ny-1)/fpy;
- subplot(2,2,3);
- plot(ty,y);
- xlabel('czas [s]');
- ylabel('y(t)');
- title('sygnal po decymacji');
- %modul widma
- Nfy=2^11;
- Nf21y=Nfy/2+1;
- fy=linspace(0,fpy/2,Nf21y);
- vy=fft(y,Nfy);
- wy=abs(vy);
- subplot(2,2,4);
- plot(fy,wy(1:Nf21y));
- xlabel('czest [Hz]')
- ylabel('|y(f)|')
- title('modul widma sygnalu po decymacji')
- %filtr
- M=201;
- h=fir1(M-1,0.6);
- th=0: 1/fpy: (M-1)/fpy;
- subplot(2,2,1);
- plot(th,h);
- xlabel('czas[s]');
- ylabel('h(t)');
- title('odp imp filtru');
- %modul
- subplot(2,2,2);
- Nfh=2^9;
- Nf21h=Nfh/2+1;
- vh=fft(h,Nfh);
- wh=abs(vh);
- fh=linspace(0,fpy/2,Nf21h);
- plot(fh,wh(1:Nf21h));
- xlabel('czest[Hz]');
- ylabel('|H(f)|');
- title('Modul widma odp imp');
- z=filter(h,1,y);
- subplot(2,2,3);
- plot(ty,z);
- xlabel('czas[s]');
- ylabel('z(t)');
- title('sygnal po filtracji');
- vhy=fft(z,Nfy);
- why=abs(vhy);
- subplot(2,2,4);
- plot(fy,why(1:Nf21y));
- xlabel('czest[Hz]');
- ylabel('|Z(t))|');
- title('Modul widma po filtracji');
- figure(3);
- kmax=50;
- rx=xcorr(z,z,kmax);
- tr=-kmax/fpy:1/fpy:kmax/fpy;
- subplot(2,2,1);
- plot(tr,rx);
- xlabel('przesuniecie [s]');
- ylabel('autokorelacja z(t)');
- title('korelacja');
- nbis=35;
- subplot(2,2,2);
- hist(z);
- xlabel('nr próbki');
- ylabel('ilosc probek');
- title('histogram');
- --------------------------------
- clear all;
- [x,fpx]= audioread('kolo.wav_tmp');
- N=length(x);
- figure(1);
- subplot(2,2,1);
- t= 0: 1/fpx : (N-1)/fpx;
- plot(t,x);
- xlabel('czas [s]')
- ylabel('x(t)')
- title('sygnal')
- %modulacja
- Nf=2^16;
- Nf21=Nf/2+1;
- f=linspace(0,fpx/2,Nf21);
- v=fft(x,Nf);
- w=abs(v);
- subplot(2,2,2);
- plot(f,w(1:Nf21));
- xlabel('czest [Hz]');
- ylabel('|x(f)|');
- title('modul widma sygnalu');
- %decymacja
- dr=10;
- fpy=fpx/dr;
- y=decimate(x,dr);
- Ny=length(y);
- ty= 0: 1/fpy : (Ny-1)/fpy;
- subplot(2,2,3)
- plot(ty,y);
- xlabel('czas [s]');
- ylabel('y(t)');
- title('sygnal po decymacji');
- Nfy=2^12;
- Nf21y=Nfy/2+1;
- fy=linspace(0,fpy/2,Nf21y);
- vy=fft(y,Nfy);
- wy=abs(vy);
- subplot(2,2,4);
- plot(fy,wy(1:Nf21y));
- xlabel('czest [Hz]');
- ylabel('|x(f)|');
- title('modul widma sygnalu');
- %filtracja
- figure(2);
- M=301;
- h=fir1(M-1,0.2);
- th=0: 1/fpy : (M-1)/fpy;
- subplot(2,2,1)
- plot(th,h);
- xlabel('czas[s]');
- ylabel('h(t)');
- title('odp imp filtru');
- subplot(2,2,2);
- Nfh=2^9;
- Nf21h=Nfh/2+1;
- fh=linspace(0,fpy/2,Nf21h);
- vh=fft(h,Nfh);
- wh=abs(vh);
- subplot(2,2,2);
- plot(fh,wh(1:Nf21h));
- plot(fh,wh(1:Nf21h));
- xlabel('czest[Hz]');
- ylabel('|H(f)|');
- title('Modul widma odp imp');
- z=filter(h,1,y);
- subplot(2,2,3);
- plot(ty,z);
- xlabel('czas[s]');
- ylabel('z(t)');
- title('sygnal po filtracji');
- %modul widma po filtracji
- vhy= fft(z,Nfy);
- why=abs(vhy);
- subplot(2,2,4);
- plot(fy,why(1:Nf21y));
- xlabel('czest [Hz]');
- ylabel('|z(t)|');
- title('modul widma po filtracji');
- figure(3);
- kmax=20;
- tr=-kmax/fpy: 1/fpy:kmax/fpy;
- rx=xcorr(z,z,kmax);
- subplot(2,2,1);
- plot(tr,rx);
- xlabel('przesuniecie [s]');
- ylabel('autokorelacja z(t)');
- title('korelacja');
- nbis=35;
- subplot(2,2,2);
- hist(z);
- xlabel('nr próbki');
- ylabel('ilosc probek');
- title('histogram');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement