matlab中,调制信号为一正弦信号x(n)=sin(2πn/256) ,n=[0:256],载波分别以10KHz的和100KHz的抽样频率进行幅度调制,将得到的各调制信号进行解调(采用demod函数)
时间: 2023-12-14 22:38:35 浏览: 195
在 MATLAB 中,可以使用 `ammod` 函数对信号进行幅度调制,使用 `demod` 函数进行解调。
首先,生成原始信号:
```
n = 0:256;
x = sin(2*pi*n/256);
```
然后,分别对信号进行 10KHz 和 100KHz 的幅度调制:
```
fs1 = 10e3; % 10KHz 抽样频率
fs2 = 100e3; % 100KHz 抽样频率
y1 = ammod(x, fs1, 0, 0.5); % 10KHz 调制信号
y2 = ammod(x, fs2, 0, 0.5); % 100KHz 调制信号
```
其中,`ammod` 函数的第一个参数是原始信号,第二个参数是抽样频率,第三个参数是载波相位,第四个参数是调制深度。
接下来,对调制信号进行解调:
```
z1 = demod(y1, fs1, 0, 0.5); % 10KHz 解调信号
z2 = demod(y2, fs2, 0, 0.5); % 100KHz 解调信号
```
其中,`demod` 函数的第一个参数是调制信号,第二个参数是抽样频率,第三个参数是载波相位,第四个参数是调制深度。
最后,可以绘制解调信号和原始信号的比较图:
```
subplot(2,1,1);
plot(n, x);
hold on;
plot(n, z1);
title('10KHz 解调信号');
legend('原始信号', '解调信号');
subplot(2,1,2);
plot(n, x);
hold on;
plot(n, z2);
title('100KHz 解调信号');
legend('原始信号', '解调信号');
```
完整的代码如下:
```
n = 0:256;
x = sin(2*pi*n/256);
fs1 = 10e3; % 10KHz 抽样频率
fs2 = 100e3; % 100KHz 抽样频率
y1 = ammod(x, fs1, 0, 0.5); % 10KHz 调制信号
y2 = ammod(x, fs2, 0, 0.5); % 100KHz 调制信号
z1 = demod(y1, fs1, 0, 0.5); % 10KHz 解调信号
z2 = demod(y2, fs2, 0, 0.5); % 100KHz 解调信号
subplot(2,1,1);
plot(n, x);
hold on;
plot(n, z1);
title('10KHz 解调信号');
legend('原始信号', '解调信号');
subplot(2,1,2);
plot(n, x);
hold on;
plot(n, z2);
title('100KHz 解调信号');
legend('原始信号', '解调信号');
```
阅读全文