% % Introduction %============== % % Le but de la partie 1 est de vous familiariser avec Matlab. % On reprend des exemple du cours, en generant differents signaux % en temps et en frequence. % Le listing a des trous note par "?", il convient de remplacer % les "?" par le caractere qui vous semble le mieux adapte. % % Le programme s'executer de la premiere ligne jusqu'qu "break" % Il faut etudier le programme par morceau. Chaque morceau % etant delimiter par des %========== % Apres avoir fait fonctionner correctement une partie on deplace le % "break" a la fin de la partie suivant. % % Les question de TD figurent sur ce listing lisez le bien. % % L'evalutation sera base sur un compte rendu simple et precis du pour la % semaine suivante. % Il y aura un controle continue sur ces TD. Profitez de la presence d'un % encadrant pour poser des questions PERTINANTES et ainsi avoir une bonne % note de controle continue. % Pour le compte rendu, vous avez besoin d'une figure par partie. % N'imprimer pas plus de 4 figures par groupe !!! break % %========= % partie 1 %========= % % La partie 1 vous fait decouvrir quelques fonctions bien utiles de % matlab. % Essayer d'obtenir le meme genre de resultats que la feuille de figure % que l'on vous a donne. % 1) LIRE ET ESSAYER DE COMPRENDRE LIGNE PAR LIGNE LE PROGRAMME !!!!!! % 2) Debugger. % %================================================================ %construction d'un cosinus et sa transfomee de Fourier %================================================================ % clear % Nettoie l'espace de travail. close all % Ferme toutes les figures. % Np=32; % Nombre de points. n=linspace(0,2*pi,Np);% Creer un vecteur de longueur Np, % dont les valeurs vont de 0 a 2*pi. c=cos(n); % fonction cos, taper "help cos". C=fft(c); % calcule la transformee de fourier.Lire "help zeros". subplot(3,2,1) % decoupe la figure 3 lignes, 2 colonnes, % et selectionne la figure 1. stem(c) % outil de viualisation. subplot(3,2,2) stem(real(C)) % % notez que C(1) est la valeur moyenne de c et donc est nul. % donnez la decomposition en serie de Fourier de c, les 5 termes % autour de 0. % %===================================================== %construction d'une porte et sa transformee de Fourier %===================================================== Np=32; p=zeros(1,??); % Genere un vecteur de zeros, taper "help zeros". for n=1:Np/4 p(n)=1; end P=fft(p); subplot(3,2,?) stem(fftshift(?)) % "fftshift" translate la courbe % pour la centrer. subplot(?,?,?) plot(real(fftshift(?))) % "plot" fonction la plus courante pour tracer % les valeures du vecteur. %====================================================================== %construction d'une exponentielle complexe et sa transformee de Fourier %====================================================================== Np=64; for n=1:Np e(n)=exp(j*8*n*pi/Np); end E=fft(?); subplot(3,2,5) plot(real(e),imag(?)) % sur l'axe x la partie reel, % sur l'axe y la partie imaginaire, % on est donc dans le plan complexe. subplot(3,2,6) stem(????(E)) % % METTRE DES COMMENTAIRE SUR LES COURBES. % %======== %partie 2 %======== % % decouverte de la fonction sinc.m et de linspace.m % %===================== %convolution de 2 sinc %===================== Np=4096; n=linspace(-128*pi,128*pi,Np);% creer un vecteur de longueur Np, % dont les valeurs vont de -128*pi, % a 128*pi. sc=sinc(n); % fonction sinus cardianl. figure % ouvre une nouvelle figure. plot(n,??) res_conv=conv(sc,sc); res_conv=res_conv/max(res_conv);% normalise a 1 le max, taper "help max" hold on plot(n,res_conv(Np/2:3*Np/2-1),'r')% ne pas s'en occuper.Plus tard legend('??','??') % help legend % % Pourquoi "res_conv" est quasiment identique a "sc" ? % %======== %partie 3 %======== %======================================================== %convolution de 2 sinus par ifft de differente frequences %======================================================== Np=4096; n=linspace(-pi,pi,Np); S1=zeros(1,Np); S2=S1; S1(4)=1; S1(Np-2)=1; S2(11)=1; S2(Np-?)=1; s1=real(ifft(S1)); % help ifft s2=real(ifft(S2)); s1=s1/max(s1); s2=s2/max(s2); figure subplot(2,1,1) plot(s1) hold on plot(s2,'r') subplot(2,1,2) res_conv=conv(??,??); % help conv plot(res_conv) % % Pourquoi res_conv devrait etre nul ? % % Pourquoi il n'est pas nul ? % %========= % partie 4 %========= %=================================== %convolution de deux portes %=================================== figure subplot(?,?,?) plot(fftshift(p)) subplot(?,?,?) plot(fftshift(conv(p,p))) % % Pourquoi obtient t'on un triangle ? %