
II) Représentation informatique
A – Signal exact
La fonction sq(theta,T,t), qui n’existe pas de base sous MATLAB, a été fabriquée pour vous : cf. fichier
sq.m fourni dans l’archive (à enregistrer dans votre dossier de travail).
Définissez les variables :
theta = 0.2;
T = 1;
N = 8; % les termes de la série de Fourier iront de -N à N
le tableau d’instants et le signal x:
tMin = -3*T; tMax = 5*T;
nSteps = 2^14+1; % nb d’échantillons
t = linspace(tMin,tMax,nSteps); % 16385 échantillons répartis linéairement
x = sq(theta,T,t);
(le nombre de 214 + 1 est choisi pour pouvoir aller jusqu’à N= 128. . . il faut attendre le cours de
traitement de signal et le théorème de Shannon pour comprendre pourquoi.)
Un petit tracé pour vérifier ?
figure(1)
hold on, grid on
axis([tMin tMax -1 2]) % fixe les limites du graphique
plot(t,x)
Convenons de mettre dans cette première figure(1) tous les tracés temporels ; les courbes fréquentielles
seront superposées dans une figure(2).
B – Spectre tronqué
Pour le tracé fréquentiel, nous ne pouvons pas représenter tous les cn(nous avons déjà la chance qu’ils
soient réels !), et comme nous allons considérer la somme partielle de rang N, tronquons le spectre à ce
rang : il y a donc une raie à chaque fréquence n
Tpour nallant de −NàN:
f = -N/T:1/T:N/T;
spectrum = theta * Sinc(f*T*pi*theta);
figure(2)
hold on, grid on
stem(f,spectrum,"r") % stem est comme plot, mais utilise des raies
Enfin, puisque les raies ont une amplitude donnée par le sinc, nous pouvons tracer cette enveloppe qui
éclaircit la figure (avec un échantillonnage plus rapide des fréquences pour éviter la « segmentation ») :
fFast = -N/T:1/(4*T):N/T;
envelope = theta * Sinc(fFast*T*pi*theta);
plot(fFast,envelope,"k")