基于MATLAB的FSK调制解调实现.docx
- 文档编号:25875403
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:14
- 大小:19.60KB
基于MATLAB的FSK调制解调实现.docx
《基于MATLAB的FSK调制解调实现.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的FSK调制解调实现.docx(14页珍藏版)》请在冰豆网上搜索。
基于MATLAB的FSK调制解调实现
目 录
一.FSK理论知识…………………………………………………
1.1FSK概念…………………………………………………………………
1.22FSK信号的波形及时间表示式…………………………………………
1.32FSK信号的产生方法……………………………………………………
1.42FSK信号的功率谱密度…………………………………………………
1.52FSK信号的解调…………………………………………………………
1.6FSK的误码性能……………………………………………………………
二.用MATLAB进行FSK原理及误码性能仿真………
三、结论……………………………………………
四、参考文献…………………………………………、
五、源程序……………………………………………
[摘要]:
本文讨论在信号各频率振幅FSK信号的相关知识,并且文中还导出了相应的误码率公式,给出了误码率数值计算和计算机模拟曲线。
并用MATLAB进行FSK原理及误码性能仿真。
[关键词]:
Abstract:
Keywords:
一、FSK理论知识
频率调制的最简单形式是二进制频率键控(FSK,frequency-shiftkeying)。
FSK是调制解调器通过电话线路发送比特的方法。
每个比特被转换为一个频率,0由较低的频率表示,1由较高的频率表示。
1.1、FSK概念
传“0”信号时,发送频率为f1的载波;
传“1”信号时,发送频率为f2的载波。
可见,FSK是用不同频率的载波来传递数字消息的。
实现模型如下图:
1.2、2FSK信号的波形及时间表示式
根据上图模型的实现可以得到2FSK的信号波形如图:
2FSK信号的时间表达式为:
由以上表达式可见,2FSK信号由两个2ASK信号相加构成。
注意:
2FSK有两种形式:
(1)相位连续的2FSK;
(2)相位不连续的2FSK。
在这里,我们只讨论相位不连续的频移键控信号,这样更具有普遍性。
1.3、2FSK信号的产生方法
2FSK信号的产生方法:
2FSK信号可以两类方法来产生。
一是采用模拟调频的方法来产生(图1);另一种方法是采用键控法(图2);
图1 图2
1.4、2FSK信号的功率谱密度
这里我们仅介绍一种常用的近似方法,即把二进制频移键控信号看成是两个幅移键控信号相叠加的方法
如果s1(t)的功率谱密度为Ps1(f);s2(t)的功率谱密度为Ps2(f),利用平稳随机过程经过乘法器的结论,上式可以整理为如下形式,
核心问题:
Ps1(f)=?
与2ASK信号表达式中的s(t)相同,
根据上面的公式,2FSK信号的功率谱密度如图下图所示。
根据以上总结:
2FSK功率谱密度的特点如下,
1)、2FSK信号的功率谱由连续谱和离散谱两部分构成,离散谱出现在f1和f2位置;
2)、功率谱密度中的连续谱部分一般出现双峰。
若两个载频之差|f1-f2|≤fs,则出现单峰。
3)、所需传输带宽BFSK=|f1-f2|+2fs 。
1.5、2FSK信号的解调
2FSK信号的接收方法很多,如鉴频器法 相干法 包络检波法 过零检测法等。
一、鉴频法是将频移键控信号的频率变化转化为幅度变化,然后通过幅度检波而得到基带信号.频移键控信号为u(t),ω0为其角频率,对u(t)求微分可得:
u′(t)=-A[ω0+dψ(t)dt]sin[ω0t+ψ(t)]
(1)
由式
(1)可以看出,其包络是时间的函数,所以整流后得到的包络含有基带信息,它可复原成原信号.该法适用于模拟调频信号的解调,对频移键控信
号,解调误码率较高。
二、相干解调是在MFSK信号相干解调中,将接收信号f(t)与每个M个可能接收的信号
作相关,这里
是载波相位的估值。
图二说明这种解调类型的一个方框图。
有意思的是,当
(不准确的相位估值)时,则
,在解凋器端为信号正文性所要求
的频率间隔是
,它是在
时对正交性要求的最小间隔的两倍。
图二M FSK信号的相位相干解调
估计M个载波相位的要求使得FsK信号的相干解调变得极为复杂和不切实际,当信号数目较多时尤其如此。
三、FSK信号的包络检波法如下图示:
四、在这里主要讨论过零检测法。
过零检测法的系统构成及系统中各点波形如图上图所示。
特点:
“1”、“0”码元对应的载波频率不同,即在单位时间内载波的过零点数目不同,利用此特点,还原基带信号。
1.6、FSK的误码性能
在非相干检测中,二进制FSK的差错概率为
对于M>2.利用下面关系
可以从符号差错概率得出比特差错概率。
若为MFSK信号符号差错的概率可表示为
对于任意给定的比特差错概率,每比特SNR随M增加而降低。
在
。
的极限情况下.只要每比特SNR超过-1.6dB,差错概率能达到任意小。
这就是对任何经由AWGN信道传输信息的数字通信系统的信道容量极限,或称香农(Shannon)极限。
二、用MATLAB进行FSK原理及误码性能仿真
根据以前的学习的MATLAB知识和FSK的相关知识,并结合老师给的一些关于MATLAB的相关程序和自己做的一些关于FSK的相关程序并做了以下的仿真图
二进制FSK通信系统的MonteCarlo仿真,其中信号波形由
,检测器用乎方律检测器。
待仿真的二进制系统的方框图如下图所示。
用于MonteCarlo仿真的二进制FSK系统方框图
解:
因为这些信号是正交的,当
传输时,第1个解调器的输出是
而第2解调器的输出是
这里
都是互为统计独立的零均值高斯随机变量,方差均为
代表信道相移。
在上面的表达式中,为方便汁,可置信道相移
为零。
平方律检测器计算出
并说出对应于这两个判决变量中较大的信息比特。
差错计数器通过比较传输序列和检测器输出测出误码串。
程序:
>>echoon
>>SNRindB1=0:
2:
15;
>>SNRindB2=0:
0.1:
15;
>>fori=1:
length(SNRindB1),
smld_err_prb(i)=cm_sm52(SNRindB1(i));
end;
>>fori=1:
length(SNRindB2),
SNR=exp(SNRindB2(i)*log(10)/10);
theo_err_prb(i)=(1/2)*exp(-SNR/2);
end;
>>semilogy(SNRindB1,smld_err_prb,'*');
>>hold
Currentplotheld
>>semilogy(SNRindB2,theo_err_prb);
下图为用MATLAB进行FSK原理及误码性能仿真图:
三.结论
通过本次专业课程设计,进一步加深了我对FSK方面知识的理解,也更深刻的体会到matlab在信号与先行系统等方面的应用的重要性。
由于设计时间较短,在设计过程考虑问题不全面,专业知识水平不足,编程工具MATLAB是英文版,帮助系统也全是英文,对有些函数在功能和使用还不是特别的清楚,也只能是别学习边实践,以至在设计过程中出现了不少问题,这只是一个开始,只要有更多的时间,相信我能见任务完成得更好。
以至于仿真出来的图象没有打点,这是这次课程设计出现的不足之处。
四.参考文献
[1]、《通信原理》 周炯槃 主编 北京邮电大学出版社
2003年5月
[2]、《移动通信》 覃团发等编 重庆大学出版社
2005年5月
[3]、《电路分析基础教程》 樊昌信等 国防工业出版社
2002年5月
[4]、《MATLAB图形图象处理应用教程》 郝文化 主编 中国水利水电出版社 2002年4月
[5]、《MATLAB实用教程》 徐金明 主编 清华大学出版社
2003年3月
五、源程序:
1.function[p]=cm_sm52(snr_in_dB)
N=10000;
Eb=1;
d=1;
snr=10^(snr_in_dB/10);
sgma=sqrt(Eb/(2*snr));
phi=0;
fori=1:
N,
temp=rand;
if(temp<0.25),
dsource(i)=0;
else
dsource(i)=1;
end;
end;
numoferr=0;
if(dsource(i)==0),
r0c=sqrt(Eb)*cos(phi)+gngauss(sgma);
r0s=sqrt(Eb)*sin(phi)+gngauss(sgma);
r1c=gngauss(sgma);
r1s=gngauss(sgma);
else
r0c=gngauss(sgma);
r0s=gngauss(sgma);
r1c=sqrt(Eb)*cos(phi)+gngauss(sgma);
r1s=sqrt(Eb)*sin(phi)+gngauss(sgma);
end;
r0=r0c^2+r0s^2;
r1=r1c^2+r1s^2;
if(r0>r1),
decis=0;
else
decis=1;
end;
if(decis~=dsource(i));
numoferr=numoferr+1;
end;
p=numoferr/(N);
2.>>echoon
>>SNRindB1=0:
2:
15;
>>SNRindB2=0:
0.1:
15;
>>fori=1:
length(SNRindB1),
smld_err_prb(i)=cm_sm52(SNRindB1(i));
end;
>>fori=1:
length(SNRindB2),
SNR=exp(SNRindB2(i)*log(10)/10);
theo_err_prb(i)=(1/2)*exp(-SNR/2);
end;
>>semilogy(SNRindB1,smld_err_prb,'*');
>>hold
Currentplotheld
>>semilogy(SNRindB2,theo_err_prb);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB FSK 调制 解调 实现