📜  使用 MATLAB 进行幅度调制(1)

📅  最后修改于: 2023-12-03 15:36:31.999000             🧑  作者: Mango

使用 MATLAB 进行幅度调制

幅度调制(Amplitude Modulation,AM)是一种将信息信号调制到载波信号中的方式。在这种调制方式中,载波信号的频率固定不变,而其幅度会随着信息信号的变化而改变。

在 MATLAB 中,可以使用以下步骤进行幅度调制:

  1. 定义载波信号。
fc = 1000; % 载波信号频率
fs = 8000; % 采样率
t = 0:1/fs:0.1; % 时间轴,时长为0.1秒
Ac = 1; % 载波信号幅度
c = Ac * cos(2 * pi * fc * t); % 定义载波信号

在上面的代码中,定义了一个频率为1000Hz、采样率为8000Hz、时长为0.1秒的正弦波载波信号。

  1. 定义信息信号。
fm = 200; % 信息信号频率
Am = 0.5; % 信息信号幅度
m = Am * cos(2 * pi * fm * t); % 定义信息信号

在上面的代码中,定义了一个频率为200Hz、幅度为0.5的正弦波信息信号。

  1. 进行幅度调制。
s = (1 + m) .* c;

在上面的代码中,利用了幅度调制的公式,将信息信号调制到载波信号中。

  1. 可视化结果。
subplot(3,1,1); plot(t,c); title('载波信号'); xlabel('时间 (秒)'); ylabel('幅度');
subplot(3,1,2); plot(t,m); title('信息信号'); xlabel('时间 (秒)'); ylabel('幅度');
subplot(3,1,3); plot(t,s); title('调制信号'); xlabel('时间 (秒)'); ylabel('幅度');

在上面的代码中,将三个信号进行可视化,可以看到,调制信号的幅度随着信息信号的变化而改变,成功实现了幅度调制。

完整代码如下:

fc = 1000; % 载波信号频率
fs = 8000; % 采样率
t = 0:1/fs:0.1; % 时间轴,时长为0.1秒
Ac = 1; % 载波信号幅度
c = Ac * cos(2 * pi * fc * t); % 定义载波信号

fm = 200; % 信息信号频率
Am = 0.5; % 信息信号幅度
m = Am * cos(2 * pi * fm * t); % 定义信息信号

s = (1 + m) .* c; % 进行幅度调制

subplot(3,1,1); plot(t,c); title('载波信号'); xlabel('时间 (秒)'); ylabel('幅度');
subplot(3,1,2); plot(t,m); title('信息信号'); xlabel('时间 (秒)'); ylabel('幅度');
subplot(3,1,3); plot(t,s); title('调制信号'); xlabel('时间 (秒)'); ylabel('幅度');

输出结果如下图所示:

幅度调制结果

我们可以看到,调制信号的幅度随着信息信号的变化而改变,成功实现了幅度调制。