I am trying to implement PLL demodulator for FM signal in Matlab, without using Simulink.
(FM Signal) >----Multiply---Loop Filter------> (Demodulated signal) | | ^ V |--------VCO---------|
My plan is to use above configuration. I have filter
, VCO
as functions, now I should combine them in a feedback mechanism. What kind of code structure should I use for this?
Assuming you have your input (FM) signal in a vector U, then something along these lines will work if your functions act on one sample at a time.
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
It won't be fast, but that may not be your concern, here.