ASK调制解调matlab代码
时间: 2023-11-18 18:05:41 浏览: 81
以下是ASK调制解调的Matlab代码示例:
%ASK调制
fc = 10; %载波频率
fs = 1000; %采样频率
t = 0:1/fs:1; %时间向量
Am = 1; %调制信号幅值
Ac = 2; %载波幅值
m = Am*cos(2*pi*fc*t); %调制信号
c = Ac*cos(2*pi*fc*t); %载波信号
s = m.*c; %ASK调制信号
subplot(3,1,1);
plot(t,m);
title('调制信号');
xlabel('时间');
ylabel('幅值');
subplot(3,1,2);
plot(t,c);
title('载波信号');
xlabel('时间');
ylabel('幅值');
subplot(3,1,3);
plot(t,s);
title('ASK调制信号');
xlabel('时间');
ylabel('幅值');
%ASK解调
s1 = s.*c; %ASK解调信号
[b,a] = butter(6,fc/(fs/2)); %6阶低通滤波器
y = filter(b,a,s1); %滤波后的信号
subplot(2,1,1);
plot(t,s1);
title('ASK解调信号');
xlabel('时间');
ylabel('幅值');
subplot(2,1,2);
plot(t,y);
title('解调后信号');
xlabel('时间');
ylabel('幅值');
这段代码实现了ASK调制解调。首先定义了载波频率和采样频率,然后生成了调制信号和载波信号,并将它们相乘得到ASK调制信号。接着使用一个6阶低通滤波器对ASK解调信号进行滤波,得到解调后的信号。最后使用subplot函数将各个信号的波形图绘制在同一张图上,方便比较。
阅读全文