Как реализовать цикл обратной связи для PLL в Matlab?
Я пытаюсь реализовать PLL демодулятор для FM-сигнала в Matlab, без использования Simulink.
(FM-сигнал) >----Multiply---Loop Filter------> (Демодулированный сигнал) | | ^ V |--------VCO---------|
Мой план заключается в использовании вышеуказанной конфигурации. я имею filter
, VCO
как функции, теперь я должен объединить их в механизм обратной связи. Какую структуру кода я должен использовать для этого?
2 ответа
Решение
Предполагая, что у вас есть входной (FM) сигнал в векторе U, тогда что-то в этом направлении будет работать, если ваши функции будут воздействовать на один сэмпл за раз.
N = length(U);
v = 0; % initial value for v
for n = 1:N
x = U(n) * v;
y = loop_filter(x);
v = vco(y);
% store output
Y(n) = y;
end
Это не будет быстрым, но это не может быть вашей заботой, здесь.
2015-05-17 20:19