t = 0:0.0001:0.1; mt = sin(10*pi*t) + sin(30*pi*t); fc = 2000; ct = cos(2*pi*fc*t); m = 1; st = (1 + m*mt)请扩展以上MATLAB语言,实现对AM调制信号的相干解调,并作出图形。
时间: 2024-01-17 13:22:57 浏览: 144
MT6139_CUSTOM.rar_*mt613*_mt61*_mt613*
以下是MATLAB代码实现对AM调制信号的相干解调并作图的过程:
```matlab
% 清空所有变量
clear all
% 设置时间范围和时间步长
t = 0:0.0001:0.1;
% 基带信号
mt = sin(10*pi*t) + sin(30*pi*t);
% 载波信号
fc = 2000;
ct = cos(2*pi*fc*t);
% AM调制信号
m = 1;
st = (1 + m*mt).*ct;
% 相干解调
% 产生本地载波信号
local_carrier = cos(2*pi*fc*t);
% 乘以本地载波信号
st_local = st.*local_carrier;
% 设计低通滤波器
fs = 100000; % 采样频率
f_cutoff = 2000; % 截止频率
N = 100; % 滤波器阶数
h = fir1(N, f_cutoff/(fs/2));
% 信号滤波
st_filtered = conv(st_local, h, 'same');
% 计算解调信号
st_demod = st_filtered.*local_carrier;
% 绘制图形
subplot(3, 1, 1);
plot(t, mt);
title('基带信号');
xlabel('时间/s');
ylabel('幅度');
subplot(3, 1, 2);
plot(t, st);
title('AM调制信号');
xlabel('时间/s');
ylabel('幅度');
subplot(3, 1, 3);
plot(t, st_demod);
title('解调后信号');
xlabel('时间/s');
ylabel('幅度');
```
运行代码后,会得到绘制的三幅图形,分别是基带信号、AM调制信号和解调后的信号。其中,解调后的信号已经经过了相干解调和低通滤波器滤波,可以看到它的频率范围已经被限制在了原始基带信号的频率范围内。
阅读全文