1、武汉理工大学《专业课程设计3(通信原理)》课程设计说明书 目 录 1 技术要求 1 2 基本原理 1 2.1 频带传输的意义 1 2.2 2ASK调制 1 2.2.1 基本原理 1 2.2.2 两种调制法 2 2.2.3 功率谱密度 3 2.3 2ASK解调 3 3 建立模型描述 4 3.1 使用SystemView实现2ASK模型仿真 4 3.2 使用Simulink实现2ASK模型仿真 5 3.3 使用Matlab编程实现2ASK模型仿真 6 4 模型组成模块功能描述或程序注释 7 4.1 使用SystemView实现2ASK模型
2、仿真 7 4.1.1 调制模块 7 4.1.2 信道模块 8 4.1.3 解调模块 8 4.2 使用Simulink实现2ASK模型仿真 9 4.2.1 调制及信道模块 9 4.2.2 解调模块 10 4.3 使用Matlab编程实现2ASK模型仿真 11 5 调试过程及结论 13 5.1 使用SystemView编程实现2ASK模型仿真 13 5.1.1 采用模拟相乘法调制,及信道加噪后各点输出波形 13 5.1.2 采用非相干解调各点输出波形 13 5.1.3 采用相干解调各点输出波形 14 5.1.4 模拟调制法与键控法比较 15 5
3、1.5 波形分析 15 5.2 使用Simulink编程实现2ASK模型仿真 16 5.2.1 模拟调制,相干解调各点输出波形 16 5.2.2 模拟调制,非相干解调各点输出波形 17 5.3 使用Matlab编程实现2ASK模型仿真 18 6 心得体会 18 7 参考文献 19 二进制数字频带传输系统设计 ——2ASK系统 1 技术要求 设计一个2ASK数字调制系统,要求: (1)设计出规定的数字通信系统的结构; (2)根据通信原理,设计出各个模块的参数(例如码速率,滤波器的截止 频率等); (3)用Matla
4、b或SystemView 实现该数字通信系统; (4)观察仿真并进行波形分析; (5)系统的性能评价。 2 基本原理 2.1 频带传输的意义 实际生活中,大多数信道因具有带通特性而不能直接传输基带信号,因为基带信号往往含有丰富的低频分量。因此必须用数字基带信号对载波进行调制,即完成频谱搬移,以使信号与信道的特性相匹配。常用的调制方法有振幅键控(2ASK),频移键控(2FSK),相移键控(2PSK)。这里使用二进制振幅键控(2ASK)。 2.2 2ASK调制 2.2.1 基本原理 2ASK是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。 其信号表达式
5、为: ,S (t)为单极性数字基带信号。 其调制过程如图1所示: 图1 2ASK调制过程 2.2.2 两种调制法 2ASK信号的产生方法通常有两种:模拟调制法和键控法。 模拟调制法使用乘法器实现,如图2所示。键控法使用开关电路实现,如图3所示。 乘法器 S( t ) e0( t ) 滤波器 cosωc t 图2 模拟调制法 也称 OOK 信号 开关 K 的动作由S( t ) 决定,当S( t ) = 1 0 e0( t ) cosωc t K 0 K 接0 1 K 接
6、1 图3 键控法 2.2.3 功率谱密度 若设S(t)的功率谱密度为Ps(f),2ASK信号的功率谱密度为,则 由图4可见,2ASK信号的功率谱是基带信号功率谱的线性搬移,由连续谱和离散谱组成。 fc - fs fc fc + fs fc - fs fc + fs fc 图4 2ASK功率谱密度 2.3 2ASK解调 2ASK有两种基本解调方法:相干解调法(同步检测法)和非相干解调法(包络检波法)。相干解调需要将载频位置的已调信号频谱重新搬回原始基带位置,因此用相乘器与载波相乘来实现。为确保无失真还原信号,必须在接收端
7、提供一个与调制载波严格同步的本地载波,这是整个解调过程能否顺利完好进行的关键。解调过程如图5所示。 fc S( t ) 定时脉冲 带通 相乘 低通 抽样 判决 eo( t ) cosωc t 2fs 图5 相干解调 包络检波器通常由整流器和低通滤波器组成,可以直接从已调波中提取原始基带信号,结构简单,如图6所示。经过各个模块后波形变化如图7所示。 带通 整流 低通 抽样判决 判决 定时脉冲 S( t ) eo( t ) a b c d 图6 非相干解调
8、 图7 非相干解调过程的时间波形 3 建立模型描述 3.1 使用SystemView实现2ASK模型仿真 SystemView是美国ELANIX公司推出的,基于Windows环境下运行的用于系统仿真分析的可视化软件工具,它使用功能模块(Token)去描述程序,无需与复杂的程序语言打交道,不用写一句代码即可完成各种系统的设计与仿真,快速地建立和修改系统、访问与调整参数,方便地加入注释。 利用SystemView,可以构造各种复杂的模拟、数字、数模混合系统,各种多速率系统,因此,它可用于各种线性或非线性控制系统的设计和仿真。用户在进行系统设计时,只需从SystemV
9、iew配置的图标库中调出有关图标并进行参数设置,完成图标间的连线,然后运行仿真操作,最终以时域波形、眼图、功率谱等形式给出系统的仿真分析结果。 在此次设计中,使用SystemView实现两种调制方法和两种解调方法(相干解调和非相干解调),同时在信道传输中加入高斯噪声。在结果分析中,对使用模拟相乘法调制的信号所进行的两种不同解调方式的误码率,眼图,功率谱密度做了比较。原理图如图8所示。 图8 SystemView仿真原理图 3.2 使用Simulink实现2ASK模型仿真 Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境,丰富的可扩充的
10、预定义模块库。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。 在此次设计中,使用Simulink实现模拟调制法和两种解调方法(
11、相干解调和非相干解调),同时在信道传输中加入高斯噪声。原理图如图9所示。 图9 Simulink仿真原理图 3.3 使用Matlab编程实现2ASK模型仿真 在此次设计中,由于对Matlab编程不是特别熟练,仅实现了模拟调制,信道加噪,相干解调(仅使用低通滤波)。这里用到的主要函数有:rand随机数产生函数,ellipord椭圆滤波器阶数选择函数,ellip椭圆滤波器产生函数,filter滤波函数。使用编程主要是信号的产生和滤波器的编写,而重中之重是滤波器的设计,如果能设计出较好的滤波器,基本上编程不存在难度。 4 模型组成模块功能描述或程序注释 4.1 使用System
12、View实现2ASK模型仿真 4.1.1 调制模块 模拟调制法和键控法在SystemView上使用的元件如图10所示。各元器件编号,图符,名称,功能及参数如表1所示。通过参数可以发现,1000HZ的基带信号由2000HZ的载波进行调制。模拟调制法中,直接将载波与基带信号相乘,这里载波输出为COS波形。键控法中,设门限为0.5V,由基带信号控制键的方向。当基带信号值大于0.5V,则输出载波;否则输出0(阶跃信号值设为0)。 图10 SystemView调制模块 表1 SystemView调制模块元件参数表 编号 图符 名称 功
13、能 参数 21 伪随机序列 (PN Seq) 产生一个按设定速率、由不同电平幅度脉冲组成的伪随机序列(PN)信号 Amp=0.5,Off=0.5,Rate=1000,NO=2 1 正弦波 (Sinusoid) 产生一个正弦波:y(t)=Asin(2*PI*f+*) Amp=1,Fre=2000 续表1 SystemView调制模块元件参数表 编号 图符 名称 功能 参数 2 乘法器 39 阶跃函数(StepFct) 产生一个阶跃信号 Amp=0,Sta=0,Off=0 5,40,41 系统观察 SystemVie
14、w SystemView的标准观察窗口,可在系统运行结束后于系统窗口中显示输出波形 4.1.2 信道模块 在信道中加入高斯噪声,如图11所示。其中编号7为加法器,编号8为高斯噪声,参数为Con=Std,Std=0.3V 图11 信道模块 4.1.3 解调模块 解调使用了相干解调和非相干解调两种方式,如图12所示。相干解调经过带通—相乘—低通—抽样判决后输出。非相干解调经过带通—全波整流—低通—抽样判决后输出。 图12 SystemView解调模块 各元件具体情况见表2。 表2 SystemView解调元件参数表
15、 编号 图符 名称 功能 参数 10 带通滤波器 BP=3,LOW=1000,HI=3000 1 正弦波 (Sinusoid) 提供同步载波 Amp=1,Fre=2000 23 乘法器 22 缓冲器 Buffer 判决 Gate=0,Thr=0,True=1,False=0 12,24 低通滤波器 BP=3,LOW=3000 18,25 采样器 Sample 按设定的采样率采样,输出的结果是输入信号在采样宽度内的线性组合 Sam=1000000 20,27 分析 Analysis
16、SystemView的基本信号接收器。该接收器平时无显示,必须进入系统分析窗口才能观察和分析输出结果。 32,34 系统观察 SystemView SystemView的标准观察窗口,可在系统运行结束后于系统窗口中显示输出波形 4.2 使用Simulink实现2ASK模型仿真 4.2.1 调制及信道模块 仿真模块实现模拟调制法:基带信号与载波相乘,以及信道加高斯噪声,模块图如图13所示。各元件参数如表3所示。 图13 Simulink调制及信道模块 表3 Simulink调制元件参数表 元件名 参数 脉冲发生器(Pulse Generator1) Pu
17、l=Time,Amp=1,Per=1,Pulse=50 正弦波(Sine Wave) Type=time,Amp=2,Fre=100,Pha=pi/2,Sam=0.01 乘法器(Product) 高斯噪声发生器(Gaussian Noise Generator) Var=0.1,Ini=41,Sam=0.005,Out=double 4.2.2 解调模块 解调模块中,相干解调法经过相乘器—低通—抽样判决后输出;非相干解调经过整流—低通—抽样判决后输出。这里调制信号省略了经过带通滤波器这一环节,影响不大。低通滤波器后面整个部分是抽样判决器。其中,抽样由同步冲激信号与解调信号相
18、乘实现,信号值与开关门限值进行比较后,若信号值较大,则输出1,否则输出0,这样就实现了判决功能。原理图如图14所示,参数表如表4所示。 图14 Simulink解调模块 表4 Simulink解调元件参数表 元件名 参数 乘法器(Product1,Product2,Procuct3) 整流器(Abs1) 默认 续表4 Simulink解调元件参数表 元件名 参数 数字低通滤波器(Digital Filter Design) Type=Low,Des=FIR(Win),Spec=10,Win=Kaiser,Units=Nor,wc=0.167 开关(Swi
19、tch1,Switch2) Threshold=0.3 4.3 使用Matlab编程实现2ASK模型仿真 clear;close all; %%%%%%%%%%%%%%%%%随机生成原始信号 t=0:0.0001:1-0.0001; %取10000个采样点 f=100; %载波参数设置 carrier=cos(2*pi*f*t); M=500; p=length(t)/M; %每500个点分成一份,共20份 randNum=rand(1,p); %产生20个随机数 Signa
20、l=zeros(1,length(t)); %产生10000个全0序列 for i=1:p %将随机数判为1或0 if randNum(i)>=0.5 randNum(i)=1; else randNum(i)=0; end end for j=0:p-1; %产生原始信号,共20个码元 for n=1:M; Signal(j*M+n)=randNum(j+1); end end %%%%%%%%%%%%%%%%%%%%%调制过程 ASK
21、Signal=carrier.*Signal; % 调制信号 %%%%%%%%%%%%%%%%%%%%信道 noise=randn(1,10000)/5; %噪声生成 ASK1=ASK_Signal+noise; %加噪处理 %%%%%%%%%%%%%%%%%%%%%解调过程 ASK2=ASK_Signal.*carrier; %与本地载波相乘 %低通椭圆滤波器 fp=20;fs=80;Fs=8000; %通带截止频率,阻带截止频率 rp=1;rs=40; %通
22、带波动,阻带衰减 wp=2*pi*fp/Fs; ws=2*pi*fs/Fs; [N,Wn]=ellipord(wp,ws,rp,rs); %椭圆滤波器阶数选择函数 [b,a]=ellip(N,rp,rs,Wn); %椭圆模拟滤波器原型 ASK_out=filter(b,a,ASK2); %滤波 %%判决器 panjue=max(ASK_out)/2; for i=0:p-1 if ASK_out(i*M+M/2)>panjue ASK_out1(i*M+1:i*M+M)=1; %判决输出1
23、else ASK_out1(i*M++1:i*M+M)=0; %判决输出0 end end %%%%%%%%%%%%%%%%%%%%%%%%%%绘图 figure(1) subplot(5,1,1);plot(t,Signal);axis([0,1,-0.1,1.1]);grid on; xlabel('时间/s');ylabel('幅值');title('原始信号'); subplot(5,1,2);plot(t,ASK_Signal);grid on; xlabel(' 时间/s');ylabel('幅值');title('调制信号');
24、subplot(5,1,3);plot(t,ASK1);grid on; xlabel('时间/s');ylabel('幅值');title('加噪信号'); subplot(5,1,4);plot(t,ASK_out);axis([0,1,-0.1,1.1]);grid on; xlabel('时间/s');ylabel('幅值');title('滤波器输出'); subplot(5,1,5);plot(t,ASK_out1);axis([0,1,-0.1,1.1]);grid on; xlabel('时间/s');ylabel('幅值');title('解调信号'); 5 调
25、试过程及结论 5.1 使用SystemView编程实现2ASK模型仿真 5.1.1 采用模拟相乘法调制,及信道加噪后各点输出波形 图15中显示的是调制及信道模块,三个波形分别为基带信号,模拟调制信号,加噪信号。可以发现经过调制后,以载波的“有”和“无”分别表示基带信号的“1“和“0”。 经过信道后,出现杂波。为了看清楚,这里对波形图进行了放大,只截取了部分。 图15 模拟调制及信道模块各点输出波形 5.1.2 采用非相干解调各点输出波形 图16中显示的是非相干解调模块的输出,5个波形分别为基带信号,解调信号,带通滤波输出,整流输出,低通滤波输出。可以发现解调各点波形与原理
26、中叙述的完全一致,当然具有一定的延迟。从基带信号与最后解调输出对比中可以明显看出,具有延时,但根据坐标轴显示为这是0.01秒内的波形,因此经过估计延时绝对不大于0.5毫秒。 图16 非相干解调模块各点输出波形 5.1.3 采用相干解调各点输出波形 图17显示的是相干解调模块输出,5个波形分别为基带信号,解调输出信号,带通滤波输出,乘法器输出,低通滤波输出。与非相干解调不同的是,相干解调经过乘法器,和低通滤波器后,仍存在幅值小于0的点;而非相干解调经过整流后,波形幅值全部为正。同样,解调输出波形存在延时,但延时不会大于0.5毫秒。 图17 相干解
27、调模块各点输出波形 5.1.4 模拟调制法与键控法比较 图18显示的是对相同的基带信号进行模拟调制和键控法的对比图,3个波形分别为基带信号,模拟调制输出,键控法调制输出。可以明显发现,两种调制方法输出完全一致,说明使用这两种调制方法就效果而言没有差别。 图18 模拟调制和键控法输出波形 5.1.5 波形分析 图19是两种解调方式四次不同基带输入的误码率比较,这里设置了测试比特数为2500bit。从中可以发现,采用相干解调误码率较非相干解调要小许多,而这种情况实现的前提是相干解调在接收端能提供一个与调制载波严格同步的本地载波。 图19 两种解调
28、方式的四组误码率比较 图20是两种解调方式各自通过低通滤波器的眼图,上面的是非相干解调的,下面的是相干解调的。 “眼睛”张开程度基本一致,且都比较端正,可见码间串扰比较小。 图20 两种解调方式的眼图 图21是分别为非相干解调和相干解调的经过低通滤波后的功率谱密度。 图21 两种解调方式的功率谱密度 5.2 使用Simulink编程实现2ASK模型仿真 5.2.1 模拟调制,相干解调各点输出波形 图22所示为使用相干解调仿真波形,从上到下依次为基带信号,调制信号,加噪信号,相乘器输出,低通滤波输出,抽样判决输出。基本上不存在错判和延时,可见整个系统设计的比
29、较完美。 图22 模拟调制,相干解调波形 5.2.2 模拟调制,非相干解调各点输出波形 图23所示为非相干解调波形,从上到下依次为基带信号,整流输出,低通滤波输出,抽样判决输出。基本无延时,仿真效果较好。 图23 模拟调制,非相干解调波形 5.3 使用Matlab编程实现2ASK模型仿真 图24是使用Matlab编程仿真图,波形依次为原始信号,调制信号,加噪信号,低通滤波输出,判决输出。由于使用的系统和信号都比较简单,故整个过程不存在额外的干扰。可以看出,除了低通滤波后波形存在衰减,系统仿真结果比较不错。这也有编程实现本身的特点在里面。 图24 Matlab编程
30、仿真图 6 心得体会 这是我们第三次做课程设计了,这次我们要在两个星期内完成两个课程设计和一个能力拓展训练,即三份报告,而且要使用基本不会操作的Matlab,SystemView,LabView三种不同的软件,压力还是不小的。但是俗话说得好,有压力就有动力。尽管时间匆忙,但在同学帮助,图书馆借阅相关书籍,网上查阅资料和自己努力下,就2ASK设计而言,我成功实现了使用Matlab编程,Simulink仿真,SystemView仿真三种不同的方法,也可以说有些小小的成就感。 巅峰棋牌 1pk1棋牌 联兴棋牌 这次课程设计,给我影响最深的就是Matlab的强大功能和广泛应
31、用。无论是学习信号与系统,通信原理,数字信号处理,数字图像处理,发现这些课程的应用都要大力借助于Matlab来实现。可以说没学好Matlab对于我这种准备往信息发面发展的人来说就跟没有轮子的汽车一样,是个摆设。经过这次学习,我略通Matlab的使用,对信号处理常用的函数和基本的编程思想有了一定的认识和提高。另外还发现,Matlab并不仅仅只能枯燥的编程,还可以通过Simulink组件自带的元件库轻松实现基本通信系统的搭建和仿真,而这也是我们这次课程设计的一种方法。SystemView作为一种我第一次接触的软件,也让我印象深刻。现在的软件,越来越向着可视化,通俗化,易操作化方向发展。作为一款通信
32、领域的专用软件,它的功能强大是毋庸置疑的。比如这次,除了搭建完整的2ASK传输系统外,还可以对信号的功率谱,眼图,传输误码率的特性进行查看比较,只是很多功能我们都不会用,当然英语基本功不扎实也妨碍了我们使用它。 自我感觉这次设计的难点是在参数设置上。无论是貌似枯燥的编程,亦或是貌似极易上手可视化操作,参数设置不好,外观搭建的在漂亮也无济于事。只有对系统各个模块的原理分析透彻,有扎实的基本功,加上一定的实践能力,才可能正确设置。一旦能自主设置参数,我认为这是真正掌握了这个系统的精华。可以说,这个设计过程困扰我最长时间的就是滤波器的参数设计,原因在于其参数多,而且我们平时根本没有好好研究过它的原理,仅仅知道可以滤波的功效。 总的来说,这次课程设计学到了不少实用的东西,也真正体会到了各门课程之间的紧密联系。一句话,将所学的所有知识联系起来,融会贯通,必将发现,原来一切并不难,难在我们没有这样的意识。 7 参考文献 [1] 樊昌信,曹丽娜.通信原理(第6版).国防工业出版社,2007 [2] 王力宁.MATLAB与通信仿真.人民邮电出版社,1999 [3] 陈亚勇等.MATLAB信号处理详解.人民邮电出版社,2001 19
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818