Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.25 KB | None | 0 0
  1. function [modu,argu]=SerieFourBi(signal,N)
  2. %*************************************************************************
  3. %Cette fonction calcule et représente le spectre bilatéral
  4. %(coefficients ck)d'un signal périodique.
  5. %Syntaxe:   [MonAmpl, MonArg] = SerieFourBi(MonSign,N)
  6. %
  7. %> N est le nombre de points (taille de la fenêtre temporelle),
  8. %    représente donc la période du signal.
  9. %> MonSign est la variable_tableau contenant le signal fonction du temps
  10. %
  11. %> MonAmpl et MonArg sont les tableaux de sortie récupérant le module
  12. %                    et l'argument des coefficients de Fourier ck.
  13. %*************************************************************************
  14. char('Taper: help SerFourBi_0');
  15.  
  16. N=1024;
  17.  
  18.  
  19. t=0:N-1;
  20.  
  21. x=Cren01(0.25,1024,4);
  22.  
  23. subplot(3,1,1);
  24. plot(t,x);
  25. grid on;
  26. xlabel('t en µs');
  27. ylabel('signal');
  28. pause
  29.  
  30. z= fft(x,N)/N;
  31. for n=1:N/2
  32. y(n+N/2)=z(n);
  33. end
  34. for n=N/2+1:N
  35. y(n-N/2)=z(n);
  36. end
  37.  
  38. modu=abs(y);
  39. argu=angle(y);
  40.  
  41. f=t-N/2;
  42.  
  43. subplot(3,1,2);
  44. plot(f,argu);
  45. xlabel('f en MHz');
  46. ylabel('Argument');
  47. AXIS([-500 500 -4 4]);
  48.  
  49. subplot(3,1,3);
  50. plot(f,modu);
  51. xlabel('f en MHz');
  52. ylabel('SPECTRE (module)');
  53. AXIS([-50 50 0 0.35]);
  54.  
  55. %3/Amélioration du programme
  56.  
  57. v=0;
  58. for i=1:1024
  59. v=v+modu(i);
  60. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement