请给出以下问题的matlab代码:用matlab产生一个频率1Hz、功率为1的余弦信源,设载波频率10 Hz,A=2,试画出 (1)AM信号的波形; (2)AM信号的功率谱密度; (3)相干解调后的信号波形。
时间: 2023-02-09 15:00:28 浏览: 234
首先,需要使用 matlab 函数 `cos` 和 `linspace` 来产生余弦信号。例如,下面的代码段可以产生一个频率为 1 Hz、功率为 1 的余弦信号:
```
Fs = 1000; % 采样频率
T = 1/Fs; % 采样周期
t = linspace(0, 1, Fs); % 时间向量
x = cos(2*pi*1*t); % 余弦信号
```
然后,可以使用 matlab 函数 `ammod` 来产生 AM 信号。例如,下面的代码段可以产生载波频率为 10 Hz、幅度为 2 的 AM 信号:
```
fc = 10; % 载波频率
A = 2; % 幅度
y = ammod(x, fc, Fs, A); % AM 信号
```
最后,可以使用 matlab 函数 `amdemod` 来进行相干解调。例如,下面的代码段可以对上述的 AM 信号进行相干解调:
```
z = amdemod(y, fc, Fs, A); % 相干解调后的信号
```
下面是完整的代码:
```
Fs = 1000; % 采样频率
T = 1/Fs; % 采样周期
t = linspace(0, 1, Fs); % 时间向量
x = cos(2*pi*1*t); % 余弦信号
fc = 10; % 载波频率
A = 2; % 幅度
y = ammod(x, fc, Fs, A); % AM 信号
z = amdemod(y, fc, Fs, A); % 相干解调后的信号
% 画图
figure;
subplot(3, 1, 1);
plot(t, y);
xlabel('时间');
ylabel('幅度');
title('AM 信号的波形');
subplot(3, 1,
阅读全文