2ASK信号的仿真设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 需求分析
现代通信系统要求通信距离远、通信容量大、传输质量好。作为其关键技术之一的调制解调技术一直是人们研究的一个重要方向。从最早的模拟调幅调频技术的日臻完善,到现在数字调制技术的广泛运用,使得信息的传输更为有效和可靠。二进制数字振幅键控是一种古老的调制方式,也是各种数字调制的基础。
2ASK是20世纪初最早运用于无线电报中的数字调制方式之一。但是ASK传输技术受噪声影响很大。噪声电压和信号一起改变了振幅。在这种情况下,“0”可能变为“1”,“1”可能变为“0”。由于ASK是受噪声影响很大的调制技术,现已很少应用,不过,2ASK常常作为研究其他数字调制的基础,因此了解它很必要。
2 概要设计
2.1 2ASK调制原理
振幅键控是正弦载波的幅度随数字基带信号而变化的数字调制。当数字基带信号为二进制时,则为二进制振幅键控。设发送的二进制符号序列由0、1序列组成,发送0符号的概率为P,发送1符号的概率为1-P,且相互独立。该二进制符号序列可表示为
2
()()cos()[()]cos ASK c n s c
n
e t s t w t a g t nT w t
==-
∑
其中:
二进制振幅键控信号时间波形如图1 所示。由图1 可以看出,2ASK信号的时间波形e2ASK(t)随二进制基带信号s(t)通断变化,所以又称为通断键控信号(OOK信号)。
图1 二进制振幅键控信号时间波形
在二进制数字振幅调制中,载波的幅度随着调制信号的变化而变化,实现这种调制的方式有两种:(1)模拟相乘法:通过相乘器直接将载波和数字信号相乘得到输出信号,这种直接利用二进制数字信号的振幅来调制正弦载波的方式称为模拟相乘法,其电路如图2所示。在该电路中载波信号和二进制数字信号同时输入到相乘器中完成调制。(2)数字键控法:用开关电路控制输出调制信号,当开关接载波就有信号输出,当开关接地就没信号输出,其电路如图3所示。
图2
图3
2.2 2ASK解调原理
2ASK/OOK信号有两种基本的解调方法:非相干解调(包络检波法)和相干解调(同步检测法),相应的接收系统如图4、图5所示。
图4 非相干解调方式
图5 相干解调方式
抽样判决器的作用是:信号经过抽样判决器,即可确定接收码元是“1”还是“0”。假设抽样判决门限为b ,当信号抽样值大于b 时,判为“1”码;信号抽样值小于b 时,判为“0”码。当本实验为简化设计电路,在调制的输出端没有加带通滤波器,并且假设信道时理想的,所以在解调部分也没有加带通滤波器。
图6 2ASK 信号非相干解调过程的时间波形
11100000101
a b
c d
3 运行环境
硬件:笔记本电脑;
软件:windows7操作系统;
4 开发工具和编程语言
MATLAB R2011A
5 详细设计
Simulink下的仿真框架
5.1信号以及仿真相关参数的设置
dt=0.001; %时间采样间隔,即仿真步长
fc=10; %载波中心频率
B_number = 10; %设码元数目为10个
T=5; %信号时长
N=T/dt; %采样点数,即仿真点数
B_Sample_Point = N/B_number; %一个码元所对应的采样点数
B_Sample_array = zeros(1,N); %建立一个码元采样的空数组
t=0:dt:(N-1)*dt; %所有采样点数的时间组成的数组的自变量random_buffer = rand(1,B_number);%生成10个随机数组
for i=1:1:B_number %将10个码元进行归一成二进制0、1 if random_buffer(i) < 0.5
random_buffer(i) = 0;
else
random_buffer(i) = 1;
end
end
for i = 1:1:B_number %产生基带信号
for j = 1:1:B_Sample_Point
B_Sample_array((i-1)*B_Sample_Point + j) = random_buffer(i);
end
end
CarrySignal = cos(2*pi*fc*t);%载波信号表达式
5.2 2ASK调制信号的产生
Signal_2ASK = CarrySignal .* B_Sample_array;
5.3 进行绘制调制曲线
figure('toolbar','none',... %设置是否显示工具栏:否
'menu','none',... %设置是否显示菜单栏:否
'name','2ASK调制过程',...%设置对话框名称
'NumberTitle','off',... %设置是否显示图形窗口编号:否
'color','w',... %设置背景颜色
'Resize','on'); %设置是否可以改变窗口大小
subplot(6,1,1); %图形分为6行1列,目前画第一个
plot(t,B_Sample_array,'r','linewidth',3); %画出二进制基带信号
hold on; grid on; %保持图像,使其能和下一个图像一起显示xlabel('时间/s');ylabel('幅值/v');title('二进制基带信号');%简单的配置
axis([0,5,-0.2,1.2]); %定义坐标区间
subplot(6,1,2); %图形分为6行1列,目前画第二个
plot(t,CarrySignal,'r','linewidth',2); %画出载波信号
hold on; %保持图像,使其能和下一个图像一起显示xlabel('时间/s');ylabel('幅值/v');title('载波信号');%简单的配置