📄 fm.m
字号:
clc; clear;
t0=-0.1; t1=0.1; %调制信号的时域范围
fs=1000; ts=1/fs; %采样率
t=t0:ts:t1;
m=sinc(100*t); %调制信号,fm=50;
fc=300; %载频
x=cos(2*pi*fc*t); %载波信号
kf=100; %偏差常数
u=GetFMSignal(m,t0,t1,ts,fc,kf); %已调制信号
%画调制信号和已调制信号的波形
subplot(3,2,1);plot(t,m);title('基带信号');
subplot(3,2,2);plot(t,u);title('已调制信号');
df=0.25; %FFT时的频率分辨率
f=[0:df:df*(length(t)-1)]-fs/2; %与t对应的频率向量
[M,m_new,df_new_m]=GetFFT(m,t0,t1,ts,df);
[U,u_new,df_new_u]=GetFFT(u,t0,t1,ts,df);
%FFT变换后,对两个频率向量重新赋值
f1=[0:df_new_m:df_new_m*(length(m_new)-1)]-fs/2;
f2=[0:df_new_u:df_new_u*(length(u_new)-1)]-fs/2;
subplot(3,2,3);plot(f1,abs(fftshift(M)));xlabel('基带信号频谱');
subplot(3,2,4);plot(f2,abs(fftshift(U)));xlabel('已调制信号频谱');
phase=GetDEM(u,t0,t1,ts,fc); %解调,得到相角
phase_new=unwrap(phase); %对相角平滑处理
m_dem=1/(2*pi*kf)*diff(phase_new);
m_dem_new=[m_dem,0]; %求微分后少了一个点,补0
subplot(3,2,5);plot(t,m);xlabel('原基带信号');
subplot(3,2,6);plot(t,m_dem_new);xlabel('解调后基带信号');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -