基于MATLAB的2FSK系统仿真.docx
- 文档编号:10707605
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:16
- 大小:433.67KB
基于MATLAB的2FSK系统仿真.docx
《基于MATLAB的2FSK系统仿真.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的2FSK系统仿真.docx(16页珍藏版)》请在冰点文库上搜索。
基于MATLAB的2FSK系统仿真
基于MATLAB的2FSK系统仿真
摘要
本文是matlab与simulink环境下对信号的2FSK系统调制与解调过程的仿真。
通过理论与仿真结果的比较,并绘制出解调前后的时域波形。
用MATLAB/simulink实现2FSK仿真,不论对于理论还是实践都是好的材料。
关键字:
matlab;simulink;2FSK;调制;解调
1背景知识.....................................................................................................................................................................1
1.1MATLAB简介.....................................................................................................................................................1
1.22FSK简介............................................................................................................................................................2
1.2.12FSK的产生.................................................................................................................................................3
1.2.22FSK相关原理.............................................................................................................................................3
2仿真系统模型的设计................................................................................................................................................4
2.1仿真思路.............................................................................................................................................................4
2.2程序和仿真结果.................................................................................................................................................5
2.3SIMULINK仿真模型图........................................................................................................................................11
2.4结果分析...........................................................................................................................................................17
2.4.1Matlab仿真结果分析.................................................................................................................................17
2.4.2simulink仿真结果分析...............................................................................................................................18
3心得与体会...............................................................................................................................................................18
1背景知识
1.1MATLAB简介
在70年代中期,CleveMoler博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库.EISPACK是特征值求解的FOETRAN程序库,LINPACK是解线性方程的程序库.在当时,这两个程序库代表矩阵运算的最高水平.到70年代后期,身为美国NewMexico大学计算机系系主任的CleveMoler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的接口程序.CleveMoler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合.在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传.1983年春天,CleveMoler到Standford大学讲学,MATLAB深深地吸引了工程师JohnLittle.JohnLittle敏锐地觉察到MATLAB在工程领域的广阔前景.同年,他和CleveMoler,SteveBangert一起,用C语言开发了第二代专业版.这一代的MATLAB语言同时具备了数值计算和数据图示化的功能.
1984年,CleveMoler和JohnLittle成立了MathWorks公司,正式把MATLAB推向市场,并继续进行MATLAB的研究和开发.
在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类.一类是数值计算型软件,如MATLAB,Xmath,Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,Mathematica,Maple等,这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低.MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件MATLAB.经过多年的国际竞争,MATLAB以经占据了数值软件市场的主导地位.在MATLAB进入市场前,国际上的许多软件包都是直接以FORTRANC语言等编程语
1
言开发的。
这种软件的缺点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。
MATLAB的出现,为各国科学家开发学科软件提供了新的基础。
在MATLAB问世不久的80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。
时至今日,经过MathWorks公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大大大型软件。
在国外,MATLAB已经经受了多年考验。
在欧美等高校,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。
在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。
在国内,特别是工程界,MATLAB一定会盛行起来。
可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。
1.22FSK简介
数字信号的传输方式分为基带传输与带通传输。
然而,实际中的大多数信道因具有带通特性而不能直接传送基带信号。
为了使数字信号在通带系统中传输,必须用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。
这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。
在接收端,通过解调器把带通信号还原为数字基带信号的过程称为数字解调。
数字调制的基本方式有三种:
振幅键控(ASK)、频移键控(FSK)、相移键控(PSK)。
本文介绍的就是二进制数字频移键控系统(2FSK)。
移频键控(FSK)是数据通信中最常用的一种调制方式。
FSK方法简单,易于实现,并且解调不需要恢复本地载波,可以异步传输,抗噪声和抗衰落性能较强。
缺点是占用频带较宽,频带利用不够经济。
FSK主要应用于低中速数据传输,以及衰落信道和频带较宽的信道中。
2
1.2.12FSK的产生
2FSK信号的产生方法主要有两种。
一种可以采用模拟调频电路来实现;另一种可以采用键控法来实现,即在二进制基带矩形脉冲序列的控制下通过开关电路对两个不同的独立频率源进行选通,使其在每一个码元Ts期间输出f1或f2两个载波之一。
两种方法的差异在于:
由调频法产生的2FSK信号在相邻码元之间的相位是连续变化的。
而键控法产生的2FSK信号,是由电子开关在两个独立的频率源之间转换而成,故相邻码元之间的相位不一定连续。
1.2.22FSK相关原理
2FSK
信号的常用解调方法是采用如图所示的非相干解调(包络检波)和相干解调。
其解调
图1
非相干解调
图2相干解调
原理是将2FSK信号分解为上下两路2ASK信号分别进行解调,然后进行判决。
这里的抽样判决是直接比较两路信号的抽样值的大小,可以不专门设置门限。
判决规则应与调制规则相呼应,调制时若规定“1”符号对应载波频率f1,则接收时上支路的样值较大,应
3
判为“1”;反之则判为“0”。
除此之外,2FSK信号还有其他解调方法,比如鉴频法、差分检测法、过零检测法等。
过零检测法的原理基于2FSK信号的过零点数随不同频率而异,通过检测过零点数目的多少,从而区分两个不同频率的信号码元。
2FSK在数字通信中应用较为广泛。
国际电信联盟(ITU)建议在数据率低于1200b/s时采用2FSK体制。
2FSK可以采用非相干接收方式,接收时不必利用信号的相位信息,因此特别适合应用于衰落信道/随参信道(如短波无线电信道)的场合,这些信道会引起信号的相位和振幅随机抖动和起伏。
2仿真系统模型的设计
2.1仿真思路
先确定采样频率fs和两个载波频率的值f1,f2,产生2FSK信号,然后进行调制与解调。
1)写出输入已经信号的表达式S(t)。
由于S(t)中有反码的存在,则需要将信号先反转后在从原信号和反转信号中进行抽样。
写出已调信号的表达式S(t)。
2)在2FSK的解调过程中,信号首先通过带通滤波器,设置带通滤波器的参数,后用一维数字滤波函数filter对信号S(t)的数据进行滤波处理。
输出经过带通滤波器后的信号波形。
由于已调信号中有两个不同的载波(ω1,ω2),则经过两个不同频率的带通滤波器后输出两个不同的信号波形H1,H2。
3)经过带通滤波器后的2FSK信号再经过相乘器(cosω1,cosω2),两序列相乘的MATLAB表达式y=x1.*x2→SW=Hn.*Hn,输出得到相乘后的两个不同的2FSK波形h1,h2。
4)经过相乘器输出的波形再通过低通滤波器,设置低通滤波器的参数,用一维数字滤波韩式filter对信号的数据进行新的一轮的滤波处理。
输出经过低通滤波器后的两个波形(sw1,sw2)。
5)将信号sw1和sw2同时经过抽样判决器,分别输出st1,st2。
其抽样判决器输出的波形为最后的输出波形st。
对抽样判决器经定义一个时间变量长度i,当st1(i)>=st2(i)
4
时,则st=0,否则st=st2(i).其中st=st1+st2。
6)使用MATLAB编程(m文件)完成系统的仿真
2.2程序和仿真结果
程序如下:
fs=2000;%抽样频率
dt=1/fs;
f1=20;%载波1频率
f2=50;%载波2频率
a=round(rand(1,10));%随机信号g1=a;
g2=~a;%信号反转,和g1反向g11=(ones(1,2000))'*g1;%抽样
g1a=g11(:
)';
g21=(ones(1,2000))'*g2;
g2a=g21(:
)';
t=0:
dt:
10-dt;
t1=length(t);
fsk1=g1a.*cos(2*pi*f1.*t);
fsk2=g2a.*cos(2*pi*f2.*t);
fsk=fsk1+fsk2;%产生的信号no=0.01*randn(1,t1);%噪声
sn=fsk+no;
subplot(311);
plot(t,no);%噪声波形
title('噪声波形')
5
ylabel('幅度')
subplot(312);
plot(t,fsk);
title('产生的波形')
ylabel('幅度')
subplot(313);
plot(t,sn);
title('将要通过滤波器的波形')
ylabel('幅度的大小')
xlabel('t')
figure
(2)%FSK解调
b1=fir1(101,[1/80020/800]);
b2=fir1(101,[40/80060/800]);%设置带通参数
H1=filter(b1,1,sn);
H2=filter(b2,1,sn);%经过带通滤波器后的信号subplot(211);
plot(t,H1);
title('经过带通滤波器f1后的波形')
ylabel('幅度')
subplot(212)
plot(t,H2);
title('经过带通滤波器f2后的波形')
ylabel('幅度')
xlabel('t')
sw1=H1.*H1;
sw2=H2.*H2;%经过相乘器figure(3)
subplot(211);
6
plot(t,sw1);
title('经过相乘器h1后的波形')
ylabel('幅度')
subplot(212);
plot(t,sw2);
title('经过相乘器h2后的波形')
ylabel('幅度')
xlabel('t')
bn=fir1(101,[2/80010/800]);%经过低通滤波器figure(4)
st1=filter(bn,1,sw1);
st2=filter(bn,1,sw2);
subplot(211);
plot(t,st1);
title('经过低通滤波器sw1后的波形')
ylabel('幅度')
subplot(212);
plot(t,st2);
title('经过低通滤波器sw2后的波形')
ylabel('幅度')
xlabel('t')%判决
fori=1:
length(t)
if(st1(i)>=st2(i))
st1(i)=0;
elsest1(i)=st2(i);
end
end
7
figure(5)
st=st1+st2;
subplot(211);
plot(t,st);
title('经过抽样判决器后的波形')ylabel('幅度')
subplot(212);
plot(t,sn);
title('原始的波形')
ylabel('幅度')
xlabel('t');
仿真图像如下:
图3
8
图
4图5
9
图
6图7
10
2.3simulink仿真模型图
2FSK信号的simulink
仿真模型图如下:
图8
其中sinwave和sinwave1是两个频率分别为f1和f2的载波,PulseGenerator模块是信号源,NOT实现反相,再经过相乘器和相加器生成2FSK信号,然后接带通滤波器与低通滤波器完成调制与解调,又接入ErrorRatecalculation实现误码率的计算。
参数设置
载波f1的参数设置:
11
图9
其中幅度为1,f1=25Hzf2的参数设置:
12
图10
载波是幅度为1,f2=45Hz
信号源参数设置:
本来信号源s(t)序列是用随机的01信号产生,在此为了方便仿真就选择了基于采样的PulseGenerator信号模块其参数设置如下:
13
图11
其中脉冲幅度为1,周期为3,占1比为1/2的基于采样的信号。
两个带通滤波器分别将2FSK信号上下分频f1和f2,各参数设置如下:
14
图
12图13
15
两低通滤波器的参数设置如下:
图
14
图15
16
经过以上参数的设置后就可以进行系统的仿真,其各点的时间波形如下:
图16
由仿真系统中的误码率计算可知,此系统的误码率为0。
2.4结果分析
2.4.1Matlab仿真结果分析
本实验对信号2FSK采用相干解调进行解调。
2FSK信号的调制解调原理是通过带通滤波器将2FSK信号分解为上下两路2FSK信号后分别解调,然后进行抽样判决输出信号。
设“1”符号对应载波频率f1,“0”符号对应载波频率f2。
采用两个带通滤波器来区分中心频率分别为f1和f2的信号。
中心频率为f1的带通滤波器之允许中心频率为f1的信号频谱成分通过,滤除中心频率为f2的信号频谱成分。
接收端上下支路两个带通滤波器的输出波形中H1,H2。
在H1,H2波形中在分别含有噪声
17
n1,n2,其分别为高斯白噪声ni经过上下两个带通滤波器的输出噪声——窄带高斯噪声,其均值同为0,方差同为(σn)2,只是中心频率不同而已。
其抽样判决是直接比较两路信号抽样值的大小,可以不专门设置门限。
判决规制应与调制规制相呼应,调制时若规定“1”符号对应载波频率f1,则接收时上支路的抽样较大,应判为“1”,反之则判为“0”。
2.4.2simulink仿真结果分析
本次课程设计实现了2FSK的调制与解调过程。
通过误码率为0的分析,可能是系统自身的原因造成的或者系统没有多大的误差,但根据示波器的波形看出初始的时候有一些失真原因可能是初始信号不稳定造成的。
本实验用一个逻辑比较器替代抽样判决模块,简化了模块。
3心得与体会
课程设计是在课程学习与实验完成之后的又一次关于所学知识的深入探讨。
课程设计要求在掌握了基本的原理与仿真软件的基础上去实现想要达到的目的。
所谓“工欲善其事,必先利其器”,掌握到好的资料素材是对前期的工作很重要的,如图书馆、网上或是向同学借等等都是不错的。
刚接触的软件还是有一些困难,熟练是慢慢培养起来的,如一些元件的调用在simulink中的实现需要慢慢了解,又如滤波器的选择都不是刚接触就能掌握的。
充分的利用好网络资源应该是完成这次课程设计的关键。
对于在matlab中实现编程对于我来说确实是有一些困难的,受限于这样的原因,所以只好从网上找到与其对应的程序,但会通过自己改一改程序的或多或少的错误,参照着做收获的只有实现的波形,如果有能力、充足的时间,完成自己的编程还是有机会的。
在simulink中连接电路时设置的参数一开始是根据网上的参数设置的,后来对各种元件有所了解之后,设置的参数也能根据自己的判断做决定。
电路图是参考书上的原理图并在同学的帮助下完成的。
实验中的讨论总会帮助自己找到一种解决办法,解决当前的问题,所以要经常的请教会的同学。
18
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB FSK 系统 仿真