Bonjour à tous,

je suis en train d'essayer de coder sous matlab un diviseur de fréquence de Matlab. Cependant j'ai une difficulté avec la boucle de rétroaction.

En effet, lorsque je simule le retour cela marche (fonction test) mais lorsque je boucle vraiment je n'ai rien à la sortie. Quelqu'un peut-il m'aider ?

Voici mon code :

clc;
clear;

v=.01;
f=50;
fs=20000;
t=0:1/fs:0.1;
x=sin(2*pi*f*t);
a = 0.1;
b = 1;
gain = 100;

r=sqrt(v)*randn(1,length(t));

y=sin(2*pi*(f/2)*t);
finale=zeros(1,2000);
test = sin(2*pi*(f/2)*t);
Xw=x+r;

%figure;
%plot(y);

figure;
plot(Xw,'g');
hold;

%Xw(1) = Xw(1)*gain*test(1);
%y(1) = (a*Xw(1)+b*test(1));

for n= 2:length(Xw)

Xw(n) = Xw(n)*gain*y(n-1);

y(n)=(a*Xw(n)+b*y(n-1));

end


%for n= 2:length(Xw)

% Xw(n) = Xw(n)*gain*y(n-1);

% finale(n)=(a*Xw(n)+b*finale(n-1));

%end


plot(y);
plot(x,'r');
plot(test,'black');


Merci !