用matlab产生一个频率为1Hz,振幅为1的余弦信源,设载波频率为10Hz,A=2。 ①AM系统中,当相干解调器输入信噪比为15dB时,系统各点的波形及其频谱,并对调制信号和解调信号进行比较分析。 ②分析比较不同信噪比下的解调信号对此实验结果做出分析
时间: 2024-02-25 09:55:53 浏览: 14
好的,我可以为您提供一份Matlab代码,用于实现您的实验需求。代码如下:
```matlab
% 生成余弦信源
fs = 1000; % 采样率
t = 0:1/fs:1; % 时间轴
f1 = 1; % 信源频率
A1 = 1; % 信源振幅
s1 = A1*cos(2*pi*f1*t); % 信源
% 进行AM调制
fc = 10; % 载波频率
Ac = 2; % 载波振幅
s2 = ammod(s1,fc,fs,'amdsb-sc',Ac); % AM调制信号
% 添加高斯白噪声
SNR = 15; % 信噪比
s3 = awgn(s2,SNR,'measured'); % 加噪声后的信号
% 进行AM解调
s4 = amdemod(s3,fc,fs,'amdsb-sc',Ac); % 相干解调,得到解调信号
% 绘制波形和频谱图
figure;
subplot(2,2,1);plot(t,s1);title('信源波形');
subplot(2,2,2);plot(t,s2);title('调制信号波形');
subplot(2,2,3);plot(t,s3);title('加噪声后的信号波形');
subplot(2,2,4);plot(t,s4);title('解调信号波形');
N = length(t);
f = (0:N-1)*fs/N; % 频率轴
S1 = fft(s1)/N; % 信源频谱
S2 = fft(s2)/N; % 调制信号频谱
S3 = fft(s3)/N; % 加噪声后的信号频谱
S4 = fft(s4)/N; % 解调信号频谱
figure;
subplot(2,2,1);plot(f,abs(S1));title('信源频谱');
subplot(2,2,2);plot(f,abs(S2));title('调制信号频谱');
subplot(2,2,3);plot(f,abs(S3));title('加噪声后的信号频谱');
subplot(2,2,4);plot(f,abs(S4));title('解调信号频谱');
% 比较分析调制信号和解调信号
figure;
subplot(2,1,1);plot(t,s2,'b',t,s4,'r');title('调制信号和解调信号波形比较');
legend('调制信号','解调信号');
subplot(2,1,2);plot(f,abs(S2),'b',f,abs(S4),'r');title('调制信号和解调信号频谱比较');
legend('调制信号','解调信号');
```
其中,代码中的注释已经说明了每一步的操作和含义。您可以将代码复制到Matlab中执行,得到实验结果。
对于第二个问题,您可以将代码中的信噪比SNR设置为不同的值,重复执行代码,得到不同信噪比下的解调信号波形和频谱图,进行比较分析。一般来说,随着信噪比的降低,解调信号的质量会下降,噪声会变得更加明显,信号的失真也会增加。