简体   繁体   中英

To find FM signal's phase in Matlab

I want to find the phase of an FM signal. Matlab code of message signal is

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];

How can I find phase of FM signal?

You need the following corrections in your code:

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); 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM