用matlab写出ASK解调输出波形的源代码
时间: 2023-08-23 07:12:10 浏览: 83
以下是一个简单的 MATLAB 代码示例,用于生成一个ASK解调输出波形:
```matlab
% 设置初始参数
fc = 1000; % 载波频率
fs = 10000; % 采样频率
T = 1/fs; % 采样间隔
t = 0:T:1; % 时间轴
m = [1 0 1 1 0 1 0 0]; % 调制信号
Ac = 2; % 载波幅度
Am = 1; % 调制信号幅度
% 产生ASK调制信号
c = Ac*sin(2*pi*fc*t); % 载波信号
s = m.*c; % ASK调制信号
% 进行ASK解调
r = s.*c; % 解调信号
[b,a] = butter(6,fc*2/fs); % 设计低通滤波器
y = filter(b,a,r); % 低通滤波
% 绘制输出波形
subplot(3,1,1)
plot(t,m,'LineWidth',2)
xlabel('时间 (s)')
ylabel('幅度')
title('调制信号')
subplot(3,1,2)
plot(t,s,'LineWidth',2)
xlabel('时间 (s)')
ylabel('幅度')
title('ASK调制信号')
subplot(3,1,3)
plot(t,y,'LineWidth',2)
xlabel('时间 (s)')
ylabel('幅度')
title('ASK解调输出波形')
```
上述代码首先生成了一个1秒钟的时间轴,然后定义了一个基于二进制序列的调制信号。接下来,它使用正弦波载波信号对调制信号进行ASK调制,并产生解调信号。最后,代码使用一个Butterworth低通滤波器对解调信号进行滤波,并绘制输出波形。
阅读全文