下面是一个示例 Matlab 代码,它可以完成上述功能:
Fs =1000; % 采样频率
T = 1/Fs; % 采样周期
L = 1000; % 采样点数
t = (0:L-1)*T; % 采样时间
% 生成基带信号
f1 = 50;
f2 = 150;
x = cos(2*pi*f1*t) + cos(2*pi*f2*t);
% 画出基带信号波形
figure;
plot(t, x);
xlabel('Time (s)');
ylabel('Amplitude');
title('Baseband Signal');
% 设置滚降系数
a = [0 0.5 1];
% 计算调制信号
y = zeros(length(a), L);
for i = 1:length(a)
y(i,:) = x.*cos(2*pi*(1-a(i))*Fs*t);
end
% 画出调制信号眼图
figure;
for i = 1:length(a)
subplot(length(a), 1, i);
plot(y(i,:), '.');
xlabel('Samples');
ylabel('Amplitude');
title(sprintf('Modulated Signal with Roll-Off Factor %.1f', a(i)));
end
这段代码会生成两个图像,第一个图像显示基带信号的波形,第二个图像显示滚降系数分别为 0、0.5 和 1 的余弦滚降特性调制信号的眼图。