Найти фазу FM-сигнала в Matlab

Я хочу найти фазу FM-сигнала. Matlab код сообщения сообщения

m= ones(1,Fs); 
m= [m(1:round(.4*Fs))*1, m(round(.4*Fs)+1:round(.7*Fs))*-2 ...
    m(round(.7*Fs)+1:Fs)*0];

Как я могу найти фазу FM-сигнала?

1 ответ

Вам нужны следующие исправления в вашем коде:

Kf=50; %%% increase Kf no notice effect
Fc=400;
Fs=5000; %%% Increase Fs. Nyquist criterion!
t=linspace(0,1,Fs);
m= ones(1,Fs);
m= [m(1:round(.4*Fs))*1 m(round(.4*Fs)+1:round(.7*Fs))*-2 m(round(.7*Fs)+1:Fs)*0];
fi_t =2*pi*Kf*cumtrapz(t,m);%%% use cumtrapz, not cum. Reverse order
u=10*cos(2*pi*Fc*t+fi_t);
plot(t,u); 
Другие вопросы по тегам