matlabFM信号的锁相环解调
时间: 2023-12-09 21:35:43 浏览: 58
锁相环解调是一种常用的FM信号解调方法,Matlab中也提供了相应的函数实现。下面是Matlab中实现FM信号的锁相环解调的步骤:
1.生成FM信号,假设调制信号为m(t),载波频率为fc,调制指数为Kf,则FM信号为s_fm(t)=A*cos(2*pi*fc*t+2*pi*Kf*int(m(t)dt))。
2.生成本地振荡信号,频率为fc,相位为0,即cos(2*pi*fc*t)。
3.将FM信号和本地振荡信号相乘,得到乘积信号s_mix(t)=s_fm(t)*cos(2*pi*fc*t)=A/2*[cos(2*pi*(fc+Kf*m(t))*t)+cos(2*pi*(fc-Kf*m(t))*t)]。
4.将乘积信号通过低通滤波器,得到解调后的信号s_demod(t)=A/2*cos(2*pi*Kf*m(t)*t)。
下面是Matlab代码实现:
```matlab
% 生成调制信号
fs = 10000; % 采样率
t = 0:1/fs:1; % 时间序列
fc = 1000; % 载波频率
fm = 100; % 调制频率
kf = 5; % 调制指数
m = cos(2*pi*fm*t); % 调制信号
s_fm = cos(2*pi*fc*t+2*pi*kf*cumsum(m)/fs); % FM信号
% 生成本地振荡信号
s_local = cos(2*pi*fc*t);
% 乘积
s_mix = s_fm.*s_local;
% 低通滤波
[b,a] = butter(6,2*fm/fs);
s_demod = filter(b,a,s_mix);
% 绘图
subplot(2,1,1);
plot(t,s_fm);
title('FM信号');
subplot(2,1,2);
plot(t,s_demod);
title('解调后的信号');
```