请为我写一段matlab代码,完成PM调制与解调
时间: 2024-03-26 12:34:31 浏览: 23
好的,以下是一个简单的MATLAB代码,用于实现PM调制和解调:
```matlab
% 原始信号
Fs = 5000;
t = 0:1/Fs:1-1/Fs;
msg = sin(2*pi*100*t);
% 载波信号
fc = 500;
carrier = sin(2*pi*fc*t);
% PM调制
kf = 1;
pm = sin(2*pi*fc*t + kf*msg);
% PM解调
demod = zeros(size(pm));
for i = 2:length(pm)
demod(i) = atan2(sin(pm(i)-pm(i-1)), cos(pm(i)-pm(i-1)));
end
% 绘制结果
subplot(3, 1, 1);
plot(t, msg);
title('Original Signal');
subplot(3, 1, 2);
plot(t, pm);
title('PM Modulated Signal');
subplot(3, 1, 3);
plot(t, demod);
title('Demodulated Signal');
```
在这个示例中,原始信号是一个100Hz的正弦波,载波信号是一个500Hz的正弦波。在PM调制中,使用原始信号来调制载波信号。调制后的信号是一个相位变化的信号。在PM解调中,使用相移检测器来恢复原始信号。最后,绘制原始信号、调制信号和解调信号的图形。