Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. clear all;
  2. N=10000;
  3. fp=12000;
  4. t=0:1/fp:(N-1)/fp;
  5. x1= 6*chirp(t,150,t(end),400);
  6. x2= 10*chirp(t,250,t(end),600);
  7. x3= 8*sin(2*pi*t*450);
  8. x4= 3*rand(1,N);
  9. x=x1+x2+x3+x4;
  10. figure(1);
  11. subplot(2,2,1);
  12. plot(t,x);
  13. print('czas');
  14. print('x(t)');
  15. title('sygnal');
  16.  
  17. %modul
  18. Nf=2^14;
  19. Nf21= Nf/2+1;
  20. f=linspace(0,fp/2,Nf21);
  21. v=fft(x,Nf);
  22. w=abs(v);
  23. subplot(2,2,2);
  24. plot(f,w(1:Nf21));
  25. print('czestotliwosc[hz]');
  26. print('x(f)');
  27. title('modul widma sygnalu');
  28.  
  29.  
  30. %decymacja
  31.  
  32. dr=10;
  33. fpy=fp/dr;
  34. y=decimate(x,dr);
  35. Ny=length(y);
  36. ty=0: 1/fpy : (Ny-1)/fpy;
  37. subplot(2,2,3);
  38. plot(ty,y);
  39. xlabel('czas [s]');
  40. ylabel('y(t)');
  41. title('sygnal po decymacji');
  42.  
  43. %modul widma
  44.  
  45.  
  46. Nfy=2^11;
  47. Nf21y=Nfy/2+1;
  48. fy=linspace(0,fpy/2,Nf21y);
  49. vy=fft(y,Nfy);
  50. wy=abs(vy);
  51. subplot(2,2,4);
  52. plot(fy,wy(1:Nf21y));
  53. xlabel('czest [Hz]')
  54. ylabel('|y(f)|')
  55. title('modul widma sygnalu po decymacji')
  56.  
  57. %filtr
  58.  
  59.  
  60. M=201;
  61. h=fir1(M-1,0.6);
  62. th=0: 1/fpy: (M-1)/fpy;
  63. subplot(2,2,1);
  64. plot(th,h);
  65. xlabel('czas[s]');
  66. ylabel('h(t)');
  67. title('odp imp filtru');
  68.  
  69. %modul
  70.  
  71. subplot(2,2,2);
  72. Nfh=2^9;
  73. Nf21h=Nfh/2+1;
  74. vh=fft(h,Nfh);
  75. wh=abs(vh);
  76. fh=linspace(0,fpy/2,Nf21h);
  77. plot(fh,wh(1:Nf21h));
  78. xlabel('czest[Hz]');
  79. ylabel('|H(f)|');
  80. title('Modul widma odp imp');
  81.  
  82.  
  83. z=filter(h,1,y);
  84. subplot(2,2,3);
  85. plot(ty,z);
  86. xlabel('czas[s]');
  87. ylabel('z(t)');
  88. title('sygnal po filtracji');
  89.  
  90.  
  91. vhy=fft(z,Nfy);
  92. why=abs(vhy);
  93. subplot(2,2,4);
  94. plot(fy,why(1:Nf21y));
  95. xlabel('czest[Hz]');
  96. ylabel('|Z(t))|');
  97. title('Modul widma po filtracji');
  98.  
  99.  
  100. figure(3);
  101. kmax=50;
  102. rx=xcorr(z,z,kmax);
  103. tr=-kmax/fpy:1/fpy:kmax/fpy;
  104. subplot(2,2,1);
  105. plot(tr,rx);
  106. xlabel('przesuniecie [s]');
  107. ylabel('autokorelacja z(t)');
  108. title('korelacja');
  109.  
  110. nbis=35;
  111. subplot(2,2,2);
  112. hist(z);
  113. xlabel('nr próbki');
  114. ylabel('ilosc probek');
  115. title('histogram');
  116. --------------------------------
  117. clear all;
  118. [x,fpx]= audioread('kolo.wav_tmp');
  119. N=length(x);
  120. figure(1);
  121. subplot(2,2,1);
  122. t= 0: 1/fpx : (N-1)/fpx;
  123. plot(t,x);
  124. xlabel('czas [s]')
  125. ylabel('x(t)')
  126. title('sygnal')
  127.  
  128. %modulacja
  129. Nf=2^16;
  130. Nf21=Nf/2+1;
  131. f=linspace(0,fpx/2,Nf21);
  132. v=fft(x,Nf);
  133. w=abs(v);
  134. subplot(2,2,2);
  135. plot(f,w(1:Nf21));
  136. xlabel('czest [Hz]');
  137. ylabel('|x(f)|');
  138. title('modul widma sygnalu');
  139.  
  140. %decymacja
  141.  
  142. dr=10;
  143. fpy=fpx/dr;
  144. y=decimate(x,dr);
  145. Ny=length(y);
  146. ty= 0: 1/fpy : (Ny-1)/fpy;
  147. subplot(2,2,3)
  148. plot(ty,y);
  149. xlabel('czas [s]');
  150. ylabel('y(t)');
  151. title('sygnal po decymacji');
  152.  
  153. Nfy=2^12;
  154. Nf21y=Nfy/2+1;
  155. fy=linspace(0,fpy/2,Nf21y);
  156. vy=fft(y,Nfy);
  157. wy=abs(vy);
  158. subplot(2,2,4);
  159. plot(fy,wy(1:Nf21y));
  160. xlabel('czest [Hz]');
  161. ylabel('|x(f)|');
  162. title('modul widma sygnalu');
  163. %filtracja
  164.  
  165. figure(2);
  166. M=301;
  167. h=fir1(M-1,0.2);
  168. th=0: 1/fpy : (M-1)/fpy;
  169. subplot(2,2,1)
  170. plot(th,h);
  171. xlabel('czas[s]');
  172. ylabel('h(t)');
  173. title('odp imp filtru');
  174.  
  175.  
  176. subplot(2,2,2);
  177. Nfh=2^9;
  178. Nf21h=Nfh/2+1;
  179. fh=linspace(0,fpy/2,Nf21h);
  180. vh=fft(h,Nfh);
  181. wh=abs(vh);
  182. subplot(2,2,2);
  183. plot(fh,wh(1:Nf21h));
  184. plot(fh,wh(1:Nf21h));
  185. xlabel('czest[Hz]');
  186. ylabel('|H(f)|');
  187. title('Modul widma odp imp');
  188.  
  189.  
  190. z=filter(h,1,y);
  191. subplot(2,2,3);
  192. plot(ty,z);
  193. xlabel('czas[s]');
  194. ylabel('z(t)');
  195. title('sygnal po filtracji');
  196.  
  197. %modul widma po filtracji
  198. vhy= fft(z,Nfy);
  199. why=abs(vhy);
  200. subplot(2,2,4);
  201. plot(fy,why(1:Nf21y));
  202. xlabel('czest [Hz]');
  203. ylabel('|z(t)|');
  204. title('modul widma po filtracji');
  205.  
  206. figure(3);
  207. kmax=20;
  208. tr=-kmax/fpy: 1/fpy:kmax/fpy;
  209. rx=xcorr(z,z,kmax);
  210. subplot(2,2,1);
  211. plot(tr,rx);
  212. xlabel('przesuniecie [s]');
  213. ylabel('autokorelacja z(t)');
  214. title('korelacja');
  215. nbis=35;
  216. subplot(2,2,2);
  217. hist(z);
  218. xlabel('nr próbki');
  219. ylabel('ilosc probek');
  220. title('histogram');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement