Advertisement
thedavjoe

podstawowe6 od ryska

Dec 16th, 2019
3,937
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scilab 2.24 KB | None | 0 0
  1.  xdel(winsid())
  2.  
  3.   // Podstawowe Test
  4. f1=25;
  5. A1=50;
  6. f2=27.5;
  7. A2=100;
  8. f3=50;
  9. A3=50;
  10. dt=1/1024;
  11. T=1;
  12.  //wektor czasu
  13.  t=0:dt:1-dt;
  14.  // Utworzenie sygnałów skłądowych oraz sygnału wypadkowego poliharmonicznego
  15.  s1=A1*sin(2*%pi*f1*t);
  16.  s2=A2*cos(2*%pi*f2*t);
  17.  s3=A3*sin(2*%pi*f3*t);
  18.  sygnal=s1+s2+s3;  
  19.  
  20.   //Wykreslenie sygnalów w dzienicznie czasu  
  21.   scf()
  22.   subplot(311)
  23.   plot(t,s1)
  24.   title(' sygnal A1*sin(2*%pi*f1*t)')
  25.   xlabel('Czestotliwosc [Hz]')
  26.   ylabel('Amplituda')
  27.   xgrid
  28.   subplot(312)
  29.   plot(t,s2)
  30.   title(' sygnal A2*cos(2*%pi*f2*t)')
  31.   xlabel('Czestotliwosc [Hz]')
  32.   ylabel('Amplituda')
  33.   xgrid
  34.    subplot(313)
  35.   plot(t,sygnal)
  36.   title('sygnał poliharmoniczny A1*sin(2*%pi*f1*t) + A2*cos(2*%pi*f2*t)')
  37.   xlabel('Czestotliwosc [Hz]')
  38.   ylabel('Amplituda')
  39.   xgrid
  40.    
  41.    //Utworzenie okna
  42.    okno=window('hn',length(t));
  43.    sw=sygnal.*okno;
  44.    
  45.     //Szybka transformata Fourera
  46.     ffsignal=fft(sw,-1);
  47.      
  48.   // Skalowanie Osi  
  49.  N = T/dt;
  50. incf =1/(N*dt);  
  51. wektor_f=(0:N-1)
  52. wektor_f(((N/2)+1):N)=(wektor_f(((N/2)+1):N))-N
  53. wektor_f=wektor_f*incf//
  54.  
  55.  //Wyrysowanie Widma Dwustronnego przeskalowanego
  56.  scf()  
  57.   subplot(211)
  58. title('przeskalowana os amplitud - widmo dwustronne')
  59. plot2d(wektor_f,abs(ffsignal/N));
  60. ylabel('amplituda')  
  61. xlabel('częstotliwośc [Hz]')
  62. xgrid
  63.    //jednostronne
  64.    subplot(212)
  65. title('widmo amplitudowe jednostronne')
  66. plot2d(wektor_f(1:length(ffsignal)/2),abs((1/N)*ffsignal(1,1:length(ffsignal)/2)));
  67. xlabel('częstotliwośc [Hz]')
  68. ylabel('amplituda')
  69. xgrid  
  70.  
  71.  //Wykreslenie Widma Mocy dla okna Kaisera oraz Hanninga
  72.   sm1=pspect(100,256,'hn',sygnal);
  73.   sm2=pspect(100,256,'kr',sygnal,4);
  74.   smize1=length(sm1);
  75.   smize2=length(sm2);  
  76.   fr1=((1:smize1/2)/(smize1/length(sygnal)))*incf;
  77.   fr2=((1:smize2/2)/(smize2/length(sygnal)))*incf;
  78.   scf()
  79.   subplot(211)
  80.   plot(fr1,sm1(1:smize1/2))
  81.  xtitle('Widmo Mocy sygnalu poliharmonicnzego dla okna Hanninga')
  82.  xlabel('Czestotliwosc [Hz]')
  83.  ylabel('Amplituda')
  84.  xgrid
  85.   subplot(212)
  86.   plot(fr2,sm2(1:smize2/2))
  87.  xtitle('Widmo Mocy sygnalu poliharmonicnzego dla okna Kaisera')
  88.  xlabel('Czestotliwosc [Hz]')
  89.  ylabel('Amplituda')
  90.  xgrid
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement