Advertisement
Guest User

Untitled

a guest
Jan 20th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.80 KB | None | 0 0
  1. %% STFT - okna : Zad.1 - 3_termin_2
  2.  
  3. Fs=100;
  4. t=0:(1/Fs):20;
  5. % x1 sinc o okresie 2s i amplitudzie dla t=0 równej 5 w czasie t=<0.8)s
  6. x1=5.*sinc((t-5)/2).*(t>=0 & t< 8);
  7. % dla t=<8,20>s
  8. % skladowa harmoniczna o ampl. 2 i liniowo zmiennej czest. od 5 do 29 Hz
  9. x2=2*sin(2*pi*t.*linspace(5,29,length(t)).*(t>=8 & t<=20));
  10. % skladowa harmoniczna  o amp. 0.8 i czest. 7 Hz
  11. x3=0.8*sin(2*pi*t*7.*(t>=8 & t<=20));
  12. x=x1+x2+x3;
  13.  
  14. % *** STFT  *** -->
  15. okno_A = 512;
  16. okno_B = 32;
  17.  
  18. N=length(t);
  19. tabA=zeros(okno_A,N-okno_A);
  20. tabB=zeros(okno_B,N-okno_B);
  21.  
  22. % okno 512
  23. for n=1:(N-okno_A)
  24.     xx=x(1,n:n+okno_A-1);
  25.     WAx=abs(fftshift(fft(xx)));
  26.     tabA(:,n)=WAx';
  27. end
  28. % okno 32
  29. for n=1:(N-okno_B)
  30.     xx=x(1,n:n+okno_B-1);
  31.     WAx=abs(fftshift(fft(xx)));
  32.     tabB(:,n)=WAx;
  33. end
  34. % Wyswietlenie wynikow
  35. figure;
  36. ay = linspace(-fs/2, fs/2, okno_A);
  37. ax = (0:N-okno_A-1)/fs;
  38. subplot(211),imagesc(ax,ay,tabA)
  39. title('512');
  40.  
  41. ay = linspace(-fs/2, fs/2, okno_B);
  42. ax = (0:N-okno_B-1)/fs;
  43. subplot(212),imagesc(ax,ay,tabB)
  44. title('32');
  45.  
  46. %% Dekompozycja falkowa na 3 poziomie z wyk. symletu 4 rzedu
  47. % - 2018_termin_1_G2
  48. clear all;clc;close all;
  49.  
  50. fs=50;
  51. t=-10:(1/fs):10;
  52.  
  53. % sygnal pi?okszta?tny o ampl. 0.6, okresie 3s i wierzcholkow dla
  54. % t=-10:3:10
  55. x1=(0.6/3)*mod(t-2,3);
  56. % sygnal Gaussa o sredniej t=2s,ampl=0.75,std=2s
  57. x2=0.75*exp(-(t-2).*(t-2)/(2*2*2));
  58. % sygnal harmoniczny o czest. 3Hz i zmiennej liniowo ampl od 3 do 1
  59. x3=linspace(3,1,length(t)).*(sin(2*pi*t*3));
  60. % sygnal harmoniczny o czest. 7 Hz i ampl=0.45
  61. x4=0.45*sin(2*pi*t*7);
  62.  
  63. x=x1+x2+x3+x4;
  64.  
  65. % 3 - 3 poziom z wykorzystanem symletu 4 rzedu
  66. [C,S]=wavedec(x,3,'sym4');
  67. C1=C;
  68. C1(1+S(1):S(1)+S(2)+S(3))=0;
  69. C1(1+S(1)+S(2):S(1)+S(2)+S(3)+S(4))=0;
  70. C=waverec(C1,S,'sym4');
  71. subplot(211),plot(t,x,'b',t,C,'k');
  72. subplot(212),plot(t,x1,'r',t,x3,'b');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement