使用Matlab产生一个频率为1Hz、功率为1的余弦信源,设定载波频率为10 Hz,振幅为2,生成AM调制信号,利用相干解调生成解调后信号;
时间: 2024-02-06 13:10:23 浏览: 48
以下是Matlab代码,实现上述功能:
```
% 生成余弦信源
fs = 1000; % 采样率
t = 0:1/fs:1; % 时间序列
f_sig = 1; % 信号频率
P_sig = 1; % 信号功率
A_sig = sqrt(2*P_sig); % 信号振幅
sig = A_sig*cos(2*pi*f_sig*t); % 余弦信源
% 生成载波信号
f_carrier = 10; % 载波频率
A_carrier = 2; % 载波振幅
carrier = A_carrier*cos(2*pi*f_carrier*t); % 载波信号
% 生成AM调制信号
modulated = (1 + sig).*carrier; % AM调制信号
% 相干解调
demodulated = modulated.*carrier; % 解调信号
[b,a] = butter(6,0.1); % 低通滤波器
demodulated = filter(b,a,demodulated); % 解调后信号
% 绘图
subplot(3,1,1)
plot(t,sig)
xlabel('Time(s)')
ylabel('Amplitude')
title('Message signal')
subplot(3,1,2)
plot(t,carrier)
xlabel('Time(s)')
ylabel('Amplitude')
title('Carrier signal')
subplot(3,1,3)
plot(t,demodulated)
xlabel('Time(s)')
ylabel('Amplitude')
title('Demodulated signal')
```
运行代码后,会得到一个三个子图的图像,分别为原始的余弦信源、载波信号、解调后的信号。其中,解调后的信号与原始的余弦信源相同,说明解调成功。
阅读全文