Bionjour à tous,
Je suis actuellement en stage ingénieur en télécom, et je dois designer un simple model de PLL pour essayer de trouver des technique de verrouillage.
J'ai fais mon code matlab mais il ne fonctionne pas très bien; et je n'ai pas idées pour trouver comment résoudre le probleme, je bloque.
le probleme est que la PLL est tjs verrouillée quelque soit la fréquence du signal d'entrée, elle ne déccroche jamais. Et quand je mets un filtre du 1er ordre, pour une accélération de fréquence, la PLL track le signal.
Si quelqu'un aurait une idée cela me sauverai la vie car je suis vraiment perdu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 clear all close all clc fvco= 1000; %Vco frequency fs=10000; %Sample frequency N=5000;%Number of samples t=0:1/fs:0.5-1/fs; length(t) f1=1000;%Modulating frequency Signal =(exp(j*(2*pi*f1*t))); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %PLL Design %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Initilize PLL Loop phi_hat(1)=30; e(1)=0; phd_output(1)=0; vco(1)=0; %Define Loop Filter parameters(Sets damping) kp=.15; %Proportional constant ki=0.1; %Integrator constant %PLL implementation for n=2:length(Signal) vco(n)=conj(exp(j*(2*pi*n*fvco/fs+phi_hat(n-1)))); %Compute VCO phd_output(n)=imag(Signal(n)*vco(n)); %Complex multiply VCO x Signal input e(n)=e(n-1)+(ki+kp)*phd_output(n)-ki*phd_output(n-1); %Filter integrator phi_hat(n)=phi_hat(n-1)+e(n); %Update VCO end;
Merci par avance
Partager