ASK信号的仿真分析matlab课程设计报告.docx
《ASK信号的仿真分析matlab课程设计报告.docx》由会员分享,可在线阅读,更多相关《ASK信号的仿真分析matlab课程设计报告.docx(15页珍藏版)》请在冰豆网上搜索。
ASK信号的仿真分析matlab课程设计报告
课程设计任务书
学生姓名:
_________专业班级:
____通信0803班______
指导教师:
____魏洪涛____工作单位:
_____信息工程学院____
题目:
ASK信号的仿真分析
课程设计目的:
1.较全面的了解常用的数据分析与处理原理及方法;
2.能够运用相关软件进行模拟分析;
3.掌握基本的文献检索和文献阅读的方法;
4.提高正确的撰写论文的基本能力。
课程设计内容和要求
1.内容:
ASK信号的调制和解调
2.要求:
调制信号:
300Hz正弦信号,经过μ律PCM编码;载波频率:
100kHz;解调方式:
同步解调;画出调制信号、已调信号、解调信号的波形、频谱以及误码率与输入信噪比的关系曲线;
初始条件
.matlab仿真平台
时间安排
第18周,安排任务
第18周,程序设计与计算
第21周,完成(答辩,提交报告,演示)
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
摘要
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
关键字:
matlab,软件,编程,计算
Abstract
MATLABisahigh-leveltechnicalcomputinglanguageandinteractiveenvironmentforalgorithmdevelopment,datavisualization,dataanalysis,andnumericcomputation.UsingMATLAB,youcansolvetechnicalcomputingproblemsfasterthanwithtraditionalprogramminglanguages,suchasC,C++,andFortran.
YoucanuseMATLABinawiderangeofapplications,includingsignalandimageprocessing,communications,controldesign,testandmeasurement,financialmodelingandanalysis,andcomputationalbiology.Add-ontoolboxes(collectionsofspecial-purposeMATLABfunctions,availableseparately)extendtheMATLABenvironmenttosolveparticularclassesofproblemsintheseapplicationareas.
MATLABprovidesanumberoffeaturesfordocumentingandsharingyourwork.YoucanintegrateyourMATLABcodewithotherlanguagesandapplications,anddistributeyourMATLABalgorithmsandapplications.
Keywords:
matlab,applications,algorithmdevelopment
1.2ASK系统介绍
1.1.2ASK系统的意义、主要功能
数字幅度调制又称幅度键控,二进制幅度键控记作2ASK。
2ASK是利用代表数字信息“0”或“1”的基带矩形脉冲去键控一个连续的载波,使载波时断时续的输出。
有载波输出时表示发送“1”,无载波输出时表示发送“0”。
本设计主要采用相乘法来产生2ASK信号,实现2ASK的数字调制,采用相干解调法对2ASK信号进行解调。
1.2.调制解调原理、系统性能分析
(1)2ASK调制原理
ASK基带信号经过电压比较器(LM339),输出高/低电平驱动模拟开关(74HC4066)导通/关闭,ASK载波通过电压跟随电路(TL082)提高带负载能力,然后通过模拟开关电路选择通过/截止,最后得到ASK调制信号输出。
(2)2ASK解调原理
本实验采用的是包络检波法,ASK调制信号经过RC组成的耦合电路,输出波形可从OUT1观察,然后通过半波整流器(由1N4148组成),输出波形可从OUT2观察,半波整流后的信号经过低通滤波器(由TL082组成),滤波后的波形可从OUT3观察,再经过电压比较器(LM339)与参考电位比较后送入抽样判决器(74HC74)进行抽样判决,最后得到解调输出的二进制信号。
标号为“ASK判决电压调节”的电位器用来调节电压比较器的判决电压。
判决电压过高,将会导致正确的解调结果的丢失;判决电压过低,将会导致解调结果中含有大量错码,因此,只有合理选择判决电压,才能得到正确的解调结果。
抽样判决用的时钟信号就是ASK基带信号的位同步信号。
(3)系统性能分析
在相同的信噪比下,2ASK信号相干解调时的总误码率低于包络检波法时的总误码率,但两者的误码性能相差并不大,且两者的最佳判决门限电平都依赖于接收信号的包络值,这个特性使得2ASK不适用于变参信道,只能用在像电缆一类的恒参信道中。
2.设计流程
2.1.产生2ASK信号产生
本设计采用300Hz的正弦信号,通过μ律PCM编码。
调制有两种方法:
其中一种是对载波的通和断的键控,用一个模拟开关作为调制载波的输出通、断控制门,由二进制序列S(t)控制门的通断,S(t)=1时开关导通,即输出载波信号;S(t)=0时开关截止,即输出零电平;另一种是,2ASK信号可视为S(t)与载波的乘积,其调制的数学原理为:
e(t)=S(t)cosωct,其中e(t)就是调制后的信号,s(t)是随时间变化的二进制序列,就是调制信号;cosωt是时间连续的余弦函数,也就是载波信号;因此2ASK原理可理解为:
用二进制数字信号与一个余弦函数相乘,当二进制为1时,输出载波信号;当二进制为0时,输出零电平,产生信号就是2ASK信号。
为了窗口的美观,我们取200为单位画出坐标,同时,当遇到1时,输出200个值为1的点,当遇到0时,输出200个值为0的点,并让这些点相连,使之连续,形成直线。
2.2.功率谱分析
由于二进制序列一般为随机序列,其频域分析的对象为信号功率谱密度,S(t)则为二进制随机单极性矩形脉冲序列,且任意码元为0的概率为p,二进制序列码元速率Rs在数值上相等,2ASK信号的双边功率谱密度表达式为:
上式表明,2ASK信号的功率谱密度由两部分组成:
(1)由g(t)经线性幅度调制所形成的双边带连续谱;
(2)由被调载波分量确定的载频离散谱。
2.3.对已调信号的相干解调
其实,我们先对信号进行频域分析,主要目的是要确定信号的带宽,进而才能设计相应的滤波器对已调信号进行解调。
用本地产生一个频率、相位都与载波相同的余弦信号与接收到的信号相乘,其他部分相同,然后设计低通滤波器进行解调。
3.源程序
3.1.μ律PCM编码
functionf=pcmcode(y)
%8位二进制PCM编码
%y为输入抽样值
f=zeros(length(y),8);
z=sign(y);
y=y*128;
y=fix(y);
y=abs(y);
fori=1:
length(y);
ify(i)==128;
y(i)=127.999;
end
end
fori=1:
length(y);
forj=6:
-1:
0;
f(i,8-j)=fix(y(i)/(2^j));
end
end
fori=1:
length(y);
ifz(i)==-1;
f(i,1)=0;
else
f(i,1)=1;
end
end
图1.300Hz正弦信号
图2.调制信号经量化后的波形
3.2.信号的调制
由于不可能将每个二进制序列都进行调制,因此,本文选用随机的二进制序列作为测试用例,对其进行调制解调。
%signal=[00011111];
%bitRate=100000;
%fc=100000;
%N=32;
t=linspace(0,1/bitRate,N);
c=sin(2*pi*t*fc);
transmittedSignal=[];
fori=1:
length(signal)
transmittedSignal=[transmittedSignal(i).*c];
end
figure
(2)
plot(1:
length(transmittedSignal),transmittedSignal);title('调制后波形');
gridon;
figure(3)
m=0:
length(transmittedSignal)-1;
F=fft(transmittedSignal);
gridon;
end
图3.输入的二进制序列
图4.调制后波形
.图5.已调信号频谱
3.3.信道加噪
functionsignal=gussian(transmittedSignal,noise)
signal=sqrt
(2)*transmittedSignal;
signal=awgn(signal,noise);
figure(5)
plot(1:
length(signal),signal);
title('加噪后的波形');
gridon;
end
图6.加噪后的波形
3.4.信号的解调
functionbitstream=demoASK(receivedSignal,bitRate,fc,n,N)
t=linspace(0,1/bitRate,N);
f=cos(2*pi*fc*t);
loadnum
signal1=receivedSignal;
signal2=signal1.*f;
signal3=filter(num1,1,signal2);
IN=fix(length(num1)/2);
bitstream=[];
LL=fc/bitRate*N;
i=IN+LL/2;
while(i<=length(signal3))
bitstream=[bitstream,signal3(i)>=0.5];
i=i+LL;
end
figure(6)
plot(1:
length(signal3),signal3);
title('WaveofLPF');
gridon;
bit=[];
fori=1:
length(bitstream)
ifbitstream(i)=0
bit1=zeros(1,N);
else
bit1=ones(1,N);
end
bit=[bit,bit1];
end
figure(7)
plot(bit);
title('解调后波形');
gridon;
axis([0,N*length(bitstream),-2.5,2.5]);
end
图7.解调后的波形
图8.经低通滤波器的波形
3.5.ASK的误码率
loadPeRate;
loadPeRatep;
fpeask(15)=le-3;
fpefsk(9)=le-3;
figure(12)
semilogy(-6:
length(fpefsk)-7,fpeask);gridon;
title('BitErrotRateOfASK');
xlabel('r/dB');
ylabel('PeASK');
图9.ASK误码率曲线
4.心得体会
通过此次的课程设计,感触颇深,因为让我认识到了MATLAB的强大功能,同时也对通信方面的信号处理等知识有了进一步的加深。
对于时间连续的信号,利用傅里叶变换可以把信号从时域转换到频域,能在频域上进行分析,对于时间离散的信号,信号是用序列表示的,相应的又离散傅里叶变换算法,经过变换后的结果也是一个序列,在通信技术中,由于数字通信有抗干扰性强,易于加密等优点而得到广泛的应用,数字通信中信号的调制方式有2ASK,2FSK,2PSK三种。
2ASK信号的解调,总的来说有两种基本方法,相干解调和非相干解调,不过此设计相求的是相干解调法,此设计中,关键的是如何选择合适的滤波器带宽等参数,才能准确的滤出信号,这也是本人在设计过程中遇到的问题,由于没有选择合适的参数,导致设计过程中,无法准确滤波。
个人觉得2ASK和2FSK的调整有些共同点,我们可以把2ASK的零电平看做又一个载波信号,于是就相当于两个频率的调制,这和2FSK有点类似,调制时,如果用离散傅里叶变换先对调制信号进行分析,然后再判断不同频率的幅值是否满足一定条件,进而判断出该位的数字逻辑,就可以很轻松的实现对信号的解调。
5.参考文献
【1】樊昌信,《通信原理》,国防工业出版社,2001
【2】吕跃广,《通信系统仿真》,电子工业出版社,2009
【3】陶亚雄,《现代通信原理与技术》,电子工业出版社,2008
【4】王福昌,《通信原理学习辅导》,华中科技大学出版社,2008
【5】李杰,《信号处理MATLAB》,北京大学出版社,2007