2ASK信号的仿真设计.docx
- 文档编号:5382177
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:10
- 大小:241.65KB
2ASK信号的仿真设计.docx
《2ASK信号的仿真设计.docx》由会员分享,可在线阅读,更多相关《2ASK信号的仿真设计.docx(10页珍藏版)》请在冰豆网上搜索。
2ASK信号的仿真设计
1需求分析
现代通信系统要求通信距离远、通信容量大、传输质量好。
作为其关键技术之一的调制解调技术一直是人们研究的一个重要方向。
从最早的模拟调幅调频技术的日臻完善,到现在数字调制技术的广泛运用,使得信息的传输更为有效和可靠。
二进制数字振幅键控是一种古老的调制方式,也是各种数字调制的基础。
2ASK是20世纪初最早运用于无线电报中的数字调制方式之一。
但是ASK传输技术受噪声影响很大。
噪声电压和信号一起改变了振幅。
在这种情况下,“0”可能变为“1”,“1”可能变为“0”。
由于ASK是受噪声影响很大的调制技术,现已很少应用,不过,2ASK常常作为研究其他数字调制的基础,因此了解它很必要。
2概要设计
2.12ASK调制原理
振幅键控是正弦载波的幅度随数字基带信号而变化的数字调制。
当数字基带信号为二进制时,则为二进制振幅键控。
设发送的二进制符号序列由0、1序列组成,发送0符号的概率为P,发送1符号的概率为1-P,且相互独立。
该二进制符号序列可表示为
其中:
二进制振幅键控信号时间波形如图1所示。
由图1可以看出,2ASK信号的时间波形e2ASK(t)随二进制基带信号s(t)通断变化,所以又称为通断键控信号(OOK信号)。
图1二进制振幅键控信号时间波形
在二进制数字振幅调制中,载波的幅度随着调制信号的变化而变化,实现这种调制的方式有两种:
(1)模拟相乘法:
通过相乘器直接将载波和数字信号相乘得到输出信号,这种直接利用二进制数字信号的振幅来调制正弦载波的方式称为模拟相乘法,其电路如图2所示。
在该电路中载波信号和二进制数字信号同时输入到相乘器中完成调制。
(2)数字键控法:
用开关电路控制输出调制信号,当开关接载波就有信号输出,当开关接地就没信号输出,其电路如图3所示。
图2
图3
2.22ASK解调原理
2ASK/OOK信号有两种基本的解调方法:
非相干解调(包络检波法)和相干解调(同步检测法),相应的接收系统如图4、图5所示。
图4非相干解调方式
图5相干解调方式
抽样判决器的作用是:
信号经过抽样判决器,即可确定接收码元是“1”还是“0”。
假设抽样判决门限为b,当信号抽样值大于b时,判为“1”码;信号抽样值小于b时,判为“0”码。
当本实验为简化设计电路,在调制的输出端没有加带通滤波器,并且假设信道时理想的,所以在解调部分也没有加带通滤波器。
图62ASK信号非相干解调过程的时间波形
3运行环境
硬件:
笔记本电脑;
软件:
windows7操作系统;
4开发工具和编程语言
MATLABR2011A
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个随机数组
fori=1:
1:
B_number%将10个码元进行归一成二进制0、1
ifrandom_buffer(i)<0.5
random_buffer(i)=0;
else
random_buffer(i)=1;
end
end
fori=1:
1:
B_number%产生基带信号
forj=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.22ASK调制信号的产生
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);%画出二进制基带信号
holdon;gridon;%保持图像,使其能和下一个图像一起显示
xlabel('时间/s');ylabel('幅值/v');title('二进制基带信号');%简单的配置
axis([0,5,-0.2,1.2]);%定义坐标区间
subplot(6,1,2);%图形分为6行1列,目前画第二个
plot(t,CarrySignal,'r','linewidth',2);%画出载波信号
holdon;%保持图像,使其能和下一个图像一起显示
xlabel('时间/s');ylabel('幅值/v');title('载波信号');%简单的配置
axis([0,5,-1.2,1.2]);%定义坐标区间
subplot(6,1,3);%图形分为6行1列,目前画第三个
plot(t,Signal_2ASK,'r','linewidth',1.5);%画出调制信号
holdon;%保持图像
gridon;%显示格点
xlabel('时间/s');ylabel('幅值/v');title('调制信号');%简单的配置
axis([0,5,-1.2,1.2]);%定义坐标区间
5.4信道传输(加入噪声)
Gaussian_Noise=randn(1,N)/5;%加上高斯白噪声
Signal_2ASK=Signal_2ASK+Gaussian_Noise;
subplot(6,1,4);%图形分为6行1列,目前画第四个
plot(t,Gaussian_Noise,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('高斯噪声');%简单的配置
holdon;
subplot(6,1,5);%图形分为6行1列,目前画第五个
plot(t,Signal_2ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('加噪调制信号');%简单的配置
holdon;
5.5带通滤波器
Fp=5;Rp=3;%53
Fs=15;Rs=60;%1560
Wp=2*pi*Fp/800;%800
Ws=2*pi*Fs/800;
[n,Wp]=ellipord(Wp,Ws,Rp,Rs);
[b,a]=ellip(n,Rp,Rs,Wp);
BPF_ASK=filter(b,a,Signal_2ASK);%带通滤波器输出
subplot(6,1,6);%图形分为6行1列,目前画第六个
plot(t,BPF_ASK,'r','linewidth',1.5);
xlabel('时间/s');ylabel('幅值/v');title('带通滤波后的信号');%简单的配置
holdon;
5.6相干解调
Coherent_ASK=BPF_ASK.*CarrySignal;
5.7低通滤波器
Fp=25;Rp=3;%53
Fs=45;Rs=50;%1560
Wp=2*pi*Fp/10000;%800
Ws=2*pi*Fs/10000;
[n,Wp]=ellipord(Wp,Ws,Rp,Rs);
[b,a]=ellip(n,Rp,Rs,Wp);
Coherent_ASK=0-Coherent_ASK;
LPF_ASK=filter(b,a,Coherent_ASK);%低通滤波器输出
5.8抽样判决
Judge_value=max(LPF_ASK)/2;
Coherent_ASK_Out=zeros(1,N);
fori=1:
1:
B_number%抽样判决
ifLPF_ASK(i*B_Sample_Point-B_Sample_Point/2)>Judge_value
Coherent_ASK_Out((i-1)*B_Sample_Point+1:
i*B_Sample_Point)=1;else
Coherent_ASK_Out((i-1)*B_Sample_Point+1:
i*B_Sample_Point)=0;end
end
5.9绘制相干解调的波形
figure
(2);%打开第二个显示窗
figure('toolbar','none',...%设置是否显示工具栏:
否
'menu','none',...%设置是否显示菜单栏:
否
'name','2ASK相干解调过程',...%设置对话框名称
'NumberTitle','off',...%设置是否显示图形窗口编号:
否
'color','w',...%设置背景颜色
'Resize','on');%设置是否可以改变窗口大小
subplot(4,1,1);%图形分为6行1列,目前画第六个
plot(t,BPF_ASK,'r','linewidth',1.5);
xlabel('时间/s');ylabel('幅值/v');title('带通滤波后的信号');%简单的配置
holdon;
subplot(4,1,2);
plot(t,Coherent_ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('与载波相乘');%简单的配置
holdon;
subplot(4,1,3);
plot(t,LPF_ASK,'r','linewidth',1);
xlabel('时间/s');ylabel('幅值/v');title('低通滤波器滤波');%简单的配置
holdon;
subplot(4,1,4);
plot(t,Coherent_ASK_Out,'r','linewidth',3);%画出相干解调实验
xlabel('时间/s');ylabel('幅值/v');title('相干解调结果');%简单的配置
holdon;
6调试分析
在程序的设计过程中,主要存在的问题是带通和低通滤波器的取值问题,需要经过精细的计算,不然最后程序的仿真达不到理想的效果。
7测试结果
参考文献
[1]樊昌信,曹丽娜.通信原理(第六版)[m].北京:
国防工业出版社,2007.
[2]邵玉斌.Matlab/Simulink通信原理建模与仿真实例分析[m].北京:
清华大学出版社,2008.
[3]贾秋玲,袁冬莉,栾云凤.MATLAB7.X/Simulik/Stateflow系统仿真、分析及设计[m].西安:
西北工业大学出版社,2006.
[4]张圣勤.MATLAB7.0实用教程[m].北京:
机器工业出版社,2006.
心得体会
通过这次的课程设计,将原先的通讯原理的知识好好复习了一遍,让我受益匪浅。
同时,在课程设计初期,想了两个方案:
一个是通过matlab编程;一个是基于matlab中的simulink实现。
为了树立整体的框图感,我先设计了simulink的仿真,并查阅了相关的知识,还请教了不少同学与其相关的问题,熟悉了simulink的大体使用方法,并完成了课题仿真。
最后,在simulink框图的基础下,又在matlab上用程序语言完成了2ASK的仿真设计。
通过学习软件使用以及运用软件仿真过程,我了解了更多MATLAB的知识,为以后的学习和工作打下了坚实的基础。
在编写论文过程中,意识到自己在运用word的不足之处,以后定要不断学习不断提高。
本次设计的时间仓促,难免有不完善之处,望老师谅解,感谢老师的批阅指导!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASK 信号 仿真 设计