Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.99 KB | None | 0 0
  1. TP12- MATLAB3- Série de Fourier
  2. Durée: 3 heures
  3. But: Utiliser Matlab pour calculer le spectre bi-latéral d’un signal périodique l’afficher.
  4. 1/ Préparation
  5. Se connecter au réseau et exécuter:Q:\Devoir\PHY\TP1\TPmatlab\ PREPmatlab.bat
  6. ATTENTION: S’il est nécessaire de relancer MATLAB, utiliser avec le raccourci du bureau.
  7. Rappels
  8. Vous disposez aussi d’une aide résumée DOCMatlab.pdf.
  9. Les variables matlab sont des tableaux (matrix en anglais) de nombres (complexes etréels) dont il faut définir la (les) taille(s).
  10. Le langage MATLAB permet une exécution immédiate des commandes tapées dans lafenêtre “command window”.
  11. Il permet aussi la programmation de fonctions (cf.TPMatlab2 précédent).
  12. Dans TPMatlab2_Program vous avez créé des fichiers “signaux” élémentaires permettantde créer des signaux variés.
  13. 2/ Série de Fourier bilatérale d’un signal périodique
  14. a/ Exemples
  15. Exécuter successivement les fonctions Spectre1 et Spectre2, en guise d’exemples du butrecherché.
  16. b/ Série de Fourier bilatérale avec Matlab
  17. Pour un signal périodique défini sur sa période, le calcul de la
  18. série de Fourier bilatérale (ck ) se fait par l’utilisation de la fonction: fft(x, T)/T,
  19. où x est le tableau_signal, et T est la fenêtre temporelle représentant la période du-dit signal.
  20. On notera que la fft d’un signal se calcule (habituellement) sur une fenêtre temporelle quiest une puissance de 2, soit 256, ou 1024 (ou etc...) points.
  21. Toutefois, quelques manipulations “de détail” sont nécessaires...
  22. c/ Etapes de programmation
  23. On souhaite programmer la fonction SerFourBi() qui réalisera le calcul de la série de Fourierbilatérale (d’un signal périodique préalablement défini) avec la fonction intégrée fft( ).
  24. 1- En-tête de la fonction:
  25. function [modu,argu]=SerFourBi(x,N)
  26. Taper les commentaires nécessaires.L’en-tête de cette fonction est donnée dans le fichier SerFourBi_0.m.
  27. Taper help SerFourBi_0.
  28. 2- Définir un tableau des valeurs "temps": t=0:N-1
  29. 3- Calculer le spectre en utilisant la fonction z= fft(x,N)/N (cf.le protocole du TP)
  30. avec le nombre N de points donné. Le tableau de sortie est ici z.
  31. PHY/TP1/PC 1
  32. 4- Réordonner le tableau de sortie, en un nouveau tableau nommé y en utilisant les boucles suivantes:
  33. for n=1:N/2
  34. y(n+N/2)=z(n);
  35. end
  36. for n=N/2+1:N
  37. y(n-N/2)=z(n);
  38. end
  39. 5- Extraire le module et l'argument de y. Rechercher dans l’aide les fonctions nécessaires: modu=?(y) et argu= ?(y)
  40. 6- Définir le tableau des valeurs de l'axe des "fréquences": f=t-N/2
  41. Remarque: il s’agit en fait du rapport f/fo (où fo est la fréquence fondamentale du signal)
  42. 7- Réaliser les 2 graphes: modu fonction de f et argu fonction de f,en utilisant la fonction plot().
  43. Remarque: affichages de points uniquement (sans ligne !).
  44. 3/ Amélioration du programme
  45. Ajouter les quelques lignes de programme nécessaires pour calculer et afficher la puissanceassociée au signal.
  46. Rappel: la puissance est la moyenne sur le temps du carré du signal
  47. et/ou la somme des |ck|²
  48. 4/ Spectre bilatéral de signaux périodiques simples
  49. Cette fonction doit permettre de calculer le spectre de n’importe quelle fonction périodique.
  50. a/ En commandes “immédiates”, c’est à dire dans la fenêtre de COMMANDES:
  51. 1- Créer un signal temporel dans le tableau x, en utilisant une fonction déjà faite (l'affichagegraphique du signal est recommandé). Par exemple x=Cren01(0.25,256)
  52. 2- Réaliser le spectre du signal en appelant la fonction créée au §2 précédent:
  53. >> [mM,mA]= SerFourBi(x,256);
  54. Le spectre (module & argument) devrait s'afficher!
  55. b/Déterminer les séries de Fourier bilatérales
  56. des signaux élémentaires du TPMatlab2:
  57. Cren01(0.5, 128),Cren01(0.25, 128),Trian01(0.5, 32),et Trian01(0.125, 32)
  58. Note: Utiliser l’éditeur de graphe dans la figure Matlab: Edit/Axes Properties..., pouraméliorer la figure (échelles, grilles...)
  59. Copier ces images et les résultats numériques des 4 signaux dans votre rapport.
  60. PHY/TP1/PC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement