Advertisement
wiktortokumpel

lista 8-9

Dec 19th, 2022 (edited)
967
0
Never
2
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.11 KB | None | 0 0
  1. clear all; close all;
  2. fs =1000;
  3. L=32;
  4. N=4096;
  5.  
  6. w1 = ones(1,L);
  7. w2= hamming (L);
  8. w3 =hanning(L);
  9. w4= blackman(L);
  10.  
  11. figure(1)
  12. plot(w1,'k');
  13. hold;
  14. plot(w2,'b');
  15. plot(w3,'g');
  16. plot(w4,'r');
  17. hold;
  18. f=linspace(0,fs/2,N/2+1);
  19. wa1=abs(fft(w1,N));
  20. wa2=abs(fft(w2,N));
  21. wa3=abs(fft(w3,N));
  22. wa4=abs(fft(w4,N));
  23.  
  24. % plot(w2,'b');
  25. % plot(w3,'g');
  26. % plot(w4,'r');
  27.  
  28. xlabel('próbki'); ylabel('amplituda');
  29. legend('okno prostokątne','okno hamminga','okno hanninga','okno blackmana');
  30. %'okno hamminga','okno hanninga','okno blackmana'
  31. figure(2)
  32. plot(f/fs,20*log10(wa1(1:N/2+1)/max(wa1)),'k');
  33. hold;
  34. plot(f/fs,20*log10(wa2(1:N/2+1)/max(wa2)),'b');
  35. plot(f/fs,20*log10(wa3(1:N/2+1)/max(wa3)),'g');
  36. plot(f/fs,20*log10(wa4(1:N/2+1)/max(wa4)),'r');
  37. xlabel('częstotliwośc unormowana f/f_s []')
  38. ylabel('modul widma [dB]')
  39. legend('okno prostokątne','okno hamminga','okno hanninga','okno blackmana')
  40.  
  41. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  42. zad 4
  43.  
  44. clear all; close all;
  45.  
  46. fs =1000;
  47. L=32;
  48. N=1000;
  49. t=[0:N-1]/fs;
  50. x=sin(2*pi*50.5*t);
  51.  
  52.  
  53. f=linspace(0,fs/2,N/2+1);
  54. widmo =abs(fft(x,N));
  55. okno= blackman (N)';
  56.  
  57. x_w=x.*okno;
  58. widmo_okienkowe=abs(fft(x_w,N));
  59.  
  60. figure(1);
  61. subplot(211);
  62. plot(t,x);
  63. hold;
  64. plot(t,x_w,'r');
  65. xlabel('czas');
  66. ylabel('x(t)');
  67.  
  68. subplot(212);
  69. stem(f,widmo_okienkowe(1:N/2+1),'r');
  70. hold;
  71. stem(f,widmo(1:N/2+1),'b');
  72.  
  73. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  74. zad 6
  75. clear all;
  76. close all;
  77.  
  78. [x,fp]=audioread('czepek.wav');
  79.  
  80.  
  81. figure(1)
  82. spectrogram(x,256,128,256,fp,'yaxis')
  83. %xy  syg wej
  84. %256 długośc okna próbek do analizy
  85. %128 ilość próbek nakładowana pomiędzy sąsiednymi ramkami
  86. %256 ilość binów na każdą ramke do wyznaczenia przy pomocy fft
  87. %fp częstotliwość probkowania
  88. %'yaxis' zmiana domyślnego wyświetlenia widmo na osi OY
  89.  
  90. N=length(x);
  91. t=[0:1:N-1]*1000/fp;
  92.  
  93. figure (2);
  94. plot(t,x);
  95. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  96. zad 7
  97.  
  98. clear all;
  99. close all;
  100.  
  101. load('sig.mat');
  102.  
  103. fp=4000;
  104. N=length(sig);
  105.  
  106. t=[0:1:N-1]/fp;
  107.  
  108. figure(1)
  109. spectrogram(sig,256,128,256,fp,'yaxis')
  110.  
  111.  
  112. figure (2);
  113. plot(t,sig);
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement