采用程序实现对随机产生的二进制数字基带信号的2ASK模拟调幅调制与相干解调, 并绘制基带信号、载波信号、2ASK信号、相干解调后的波形。matlab代码
时间: 2023-12-28 19:03:35 浏览: 129
matlab_根据随机给出的二进制信号进行统2ASK调制,画出各个阶段的波形
下面是一个简单的MATLAB代码实现对随机产生的二进制数字基带信号的2ASK模拟调幅调制与相干解调,并绘制基带信号、载波信号、2ASK信号、相干解调后的波形:
```matlab
% 生成二进制数字基带信号
N = 1000; % 信号长度
data = randi([0, 1], 1, N); % 随机产生0和1
fs = 100; % 采样频率
t = 0 : 1/fs : (N-1)/fs; % 时间向量
bb = 2 * data - 1; % 将0和1映射到-1和1
% 2ASK调制
fc = 10; % 载波频率
ac = 1; % 载波幅度
ss = ac * (1 + bb) .* cos(2*pi*fc*t); % 2ASK调制信号
% 相干解调
m = ss .* cos(2*pi*fc*t); % 相乘
[b, a] = butter(6, fc/fs*2); % 设计低通滤波器
y = filter(b, a, m); % 滤波
% 绘制波形
figure;
subplot(4,1,1);
plot(t, bb);
title('Baseband Signal');
xlabel('Time (s)');
ylabel('Amplitude');
ylim([-1.5, 1.5]);
subplot(4,1,2);
plot(t, ac*cos(2*pi*fc*t));
title('Carrier Signal');
xlabel('Time (s)');
ylabel('Amplitude');
ylim([-1.5, 1.5]);
subplot(4,1,3);
plot(t, ss);
title('2ASK Modulated Signal');
xlabel('Time (s)');
ylabel('Amplitude');
ylim([-2, 2]);
subplot(4,1,4);
plot(t, y);
title('Coherent Demodulated Signal');
xlabel('Time (s)');
ylabel('Amplitude');
ylim([-2, 2]);
```
运行代码后,会生成一个包含四个子图的图像,分别表示基带信号、载波信号、2ASK信号和相干解调后的信号。可以通过调整代码中的参数来改变信号的特性,比如信号长度、采样频率、载波频率等。
阅读全文