用Matlab产生一个频率为1Hz,功率为1的余弦信源,设载波频率为10Hz,画出A=2的AM调制信号及功率谱密度,并在信道中加入经过带通滤波器后的窄带高斯白噪声,功率为0.1,相干解调各个信号,画出解调后的波形。
时间: 2024-04-14 08:28:12 浏览: 76
MATLAB实现信号的AM调制与解调
5星 · 资源好评率100%
以下是用MATLAB生成频率为1Hz,功率为1的余弦信源,然后进行AM调制、加入噪声、相干解调并画出波形的示例代码:
```matlab
% 生成余弦信源
fs = 1000; % 采样频率
t = 0:1/fs:1; % 时间序列
f_source = 1; % 信号频率
A_source = 1; % 信号幅度
source_signal = A_source * cos(2*pi*f_source*t);
% AM调制
f_carrier = 10; % 载波频率
A_carrier = 1; % 载波幅度
modulated_signal = (1 + (A_source/A_carrier) * source_signal) .* cos(2*pi*f_carrier*t);
% 绘制AM调制信号及功率谱密度
figure;
subplot(2,1,1);
plot(t, modulated_signal);
title('AM调制信号');
xlabel('时间 (s)');
ylabel('幅度');
N = length(modulated_signal);
f = (-fs/2):(fs/N):(fs/2-fs/N); % 频率序列
power_spectrum = abs(fftshift(fft(modulated_signal))).^2/N; % 功率谱密度
subplot(2,1,2);
plot(f, power_spectrum);
title('AM调制信号功率谱密度');
xlabel('频率 (Hz)');
ylabel('功率');
% 添加噪声
noise_power = 0.1; % 噪声功率
noise = sqrt(noise_power) * randn(1, length(modulated_signal));
noisy_signal = modulated_signal + noise;
% 相干解调
demodulated_signal = noisy_signal .* cos(2*pi*f_carrier*t);
% 绘制解调后的波形
figure;
plot(t, demodulated_signal);
title('解调后的波形');
xlabel('时间 (s)');
ylabel('幅度');
```
请注意,上述代码中的绘图部分是使用MATLAB的plot函数进行绘制的。你可以将代码复制到MATLAB编辑器中运行,并查看生成的图形结果。
阅读全文