Final communication optique

Preview:

Citation preview

Ministère de l’Enseignement Supérieur, de la Recherche Scientifique et de la Technologie

Université de Carthage

Institut National des Sciences Appliquées et de Technologie

Département de Génie Physique et Instrumentation

Compte rendu : Communication Optique

Modulation des signaux

Elaboré par : -GUENBRI Mohamed

-ELKHADHRAOUI Hamdi

I- Partie 1 : A- La fonction FMMOD et FMDEMOD :

y=fmmod(x,fc,fs,freq_dev);

z=fmdemod(x,fc,fs,freq_dev);

Soit le programme matlab suivant de la fonction modfm et fmdemod qui permet de modulé un double signal x[s1 s2]sous forme de y puis les démodulé sous forme de z:

La variable t est un vecteur colonne variant de 0 à fs-1 avec une pas de 100

B- LA FONCTION AMMODET AMDEMOD:

ydouble=ammod(x,fc,fs);

La fonction ammod permet la modulation du signal message x en utilisant la modulation d’amplitude avec fc représnte la fréquence de la porteuse et fs la fréquence d’échantionnage.La fonction amdemod permet la démodulation du signal message x en utilisant la modulation d’amplitude avec fc représnte la fréquence de la porteuse et fs la fréquence d’échantionnage.

Soit le programme matlab suivant de la fonction modam qui permet de modulé unsignal x sous forme de y puis faire sa transformé de fourrier de l’afficher sous forme de zdouble:

cc

ydouble = ammod(x,Fc,Fs) : permet de moduler x à une seul bande

La commande zdouble = fft(ydouble); permet de calculer la transformée de fourrier de ydouble.

Resultat sur MATLAB

c-LA FONCTION TRANS ET BODE:

La fonction trans est une fonction de transfert tel que:

[h]=trans(w)=k*w^2/(w0^2+2*j*phi*w0*(w-w0^2)

Le code matlab est le suivant:

La fonction bode es une fonction qui utilise la fonction trans et semilog et qui prend fmax,fmin et n comme variable d’entrée et qui retourne le tracé semi logarthmique du diagramme de bode(gain en db):

Le code matlab est le suivant:

II- ModulationA-modulation d'amplitude :

>> fs=100;>> t=[0:2*fs+1]'/fs;>> fc=10;>> x=sin(2*pi*t);>> ydouble=ammod(x,fc,fs);>> zdouble=fft(ydouble);>> zdouble=abs(zdouble(1:length(zdouble)/2+1)); >> subplot(2,1,1); >> frqdouble=[0:length(zdouble)-1]*fs/length(zdouble)/2;>> title('spectrum of double side-bandsignal');>> plot(frqdouble,zdouble);>> subplot(2,1,1);>> ydouble=ammod(x,fc,fs,0,1);>> plot(frqdouble,zdouble);>> subplot(2,1,1);>> ydouble=ammod(x,fc,fs,0,1);>> zdouble=fft(ydouble);>> zdouble=abs(zdouble(1:length(zdouble)/2+1));>> subplot(2,1,1);>> frqdouble=[0:length(zdouble)-1]*fs/length(zdouble)/2;>> title('spectrum of double side-bandsignal');>> plot(frqdouble,zdouble); >> ydouble=ssbmod(x,fc,fs);>> zdouble=fft(ydouble);>> zdouble=abs(zdouble(1:length(zdouble)/2+1));

>> subplot(2,1,1);>> frqdouble=[0:length(zdouble)-1]*fs/length(zdouble)/2;>> plot(frqdouble,zdouble);>> ydouble=ssbmod(x,fc,fs,1,'upper');>> zdouble=fft(ydouble);>> zdouble=abs(zdouble(1:length(zdouble)/2+1));>> subplot(2,1,1);>> frqdouble=[0:length(zdouble)-1]*fs/length(zdouble)/2;>> plot(frqdouble,zdouble);

Aprés la modulation le signal est translaté autour de Fc:

0 5 10 15 20 25 30 35 40 45 500

20

40

60

80

100

plot(t,x,t,ydouble);

0 0.5 1 1.5 2 2.5-1.5

-1

-0.5

0

0.5

1

B-modulation de fréquence d'un signal

fs=8000;>> fc=3000;>> t=[0:50:fs]'/fs;>> s1=sin(2*pi*300*t)+2*sin(2*pi*600*t);>> s2=sin(2*pi*150*t)+2*sin(2*pi*900*t);>> x=[s1,s2];>> dev=50;>> y=fmmod(x,fc,fs,dev);>> z=fmdemod(y,fc,fs,dev);>> figure(1),plot(y);title

0 20 40 60 80 100 120 140 160 180-1

-0.5

0

0.5

1

figure(2),plot(z);tilte

0 20 40 60 80 100 120 140 160 180-25

-20

-15

-10

-5

0

5

m=16;>> k=log2(m);>> n=3e4;>> x=randint(n,1);>> stem(x(1:40),'filed'); >> stem(x(1:40),'filled');>> title('random bits');>> xlabel('bit index');>> ylabel('binarg value');>> Nxsym=length(xsym);*>> xsym=bi2de(reshape(x,k,length(x)/k).','left-msb');>> Nxsym=length(xsym);>> title('random symbols');>> xlabel('symbol index')>> ylabel('integer value');>> xlabel('symbol index');

0 5 10 15 20 25 30 35 400

0.5

1random symbols

symbol index

inte

ger

valu

e

Recommended