基于MATLAB的FSK调制解调实现完整版.docx
- 文档编号:28727568
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:11
- 大小:197.51KB
基于MATLAB的FSK调制解调实现完整版.docx
《基于MATLAB的FSK调制解调实现完整版.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的FSK调制解调实现完整版.docx(11页珍藏版)》请在冰豆网上搜索。
基于MATLAB的FSK调制解调实现完整版
一.FSK理论知识…………………………………………………
1.1FSK概念…………………………………………………………………
1.22FSK信号的波形及时间表示式…………………………………………
1.32FSK信号的产生方法……………………………………………………
1.42FSK信号的功率谱密度…………………………………………………
1.52FSK信号的解调…………………………………………………………
1.6FSK的误码性能……………………………………………………………
二.用MATLAB进行FSK原理及误码性能仿真………
三、结论……………………………………………
四、参考文献…………………………………………、
五、源程序……………………………………………
1、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.3-1图1.3-2
1.4、2FSK信号的功率谱密度
这里我们仅介绍一种常用的近似方法,即把二进制频移键控信号看成是两个幅移键控信号相叠加的方法
如果s1(t)的功率谱密度为Ps1(f);s2(t)的功率谱密度为Ps2(f),利用平稳随机过程经过乘法器的结论,上式可以整理为如下形式,
核心问题:
Ps1(f)=?
与2ASK信号表达式中的s(t)相同,
根据上面的公式,2FSK信号的功率谱密度如图下图所示。
图1.4-1
根据以上总结:
2FSK功率谱密度的特点如下,
1)、2FSK信号的功率谱由连续谱和离散谱两部分构成,离散谱出现在f1和f2位置;
2)、功率谱密度中的连续谱部分一般出现双峰。
若两个载频之差|f1-f2|≤fs,则出现单峰。
3)、所需传输带宽BFSK=|f1-f2|+2fs。
二2FSK信号的解调
2FSK信号的解调方法有很多,如鉴频器法、相干法、包络检波法、过零检测法等等。
根据要求这里我将用相干解调的方法对其进行解调。
FSK在MATLAB环境下过程与结果
FSK的模拟仿真是采用的MATLAB软件,其在电脑运行环境如图3-1所示。
实验过程是在窗口点击MATLAB快捷方式,使其运行,将FSK调制与解调的程序输入框中,点击回车即可运行,运行结果后面进行分析。
图1.5-1
在MATLAB环境下调制与解调的程序如下:
(百分号后为程序注释)
functionFSK
Fc=10;%载频
Fs=40;%系统采样频率
Fd=1;%码速率
N=Fs/Fd;
df=10;
numSymb=25;%进行仿真的信息代码个数
M=2;%进制数
SNRpBit=60;%信噪比
SNR=SNRpBit/log2(M);
seed=[1234554321];
numPlot=15;%产生25个二进制随机码
x=randsrc(numSymb,1,[0:
M-1]);%产生25个二进制随机码
figure
(1)
stem([0:
numPlot-1],x(1:
numPlot),'bx');
title('二进制随机序列')
xlabel('Time');
ylabel('Amplitude');%调制
y=dmod(x,Fc,Fd,Fs,'fsk',M,df);
numModPlot=numPlot*Fs;
t=[0:
numModPlot-1]./Fs;
figure
(2)
plot(t,y(1:
length(t)),'b-');%画出经过信道的实际信号
axis([min(t)max(t)-1.51.5]);
title('加入高斯白噪声后的已调信号')
xlabel('Time');
ylabel('Amplitude');%相干解调
figure(4)
plot(t,y(1:
length(t)),'b-');
axis([min(t)max(t)-1.51.5]);
title('调制后的信号')
xlabel('Time');
ylabel('Amplitude');%在已调信号中加入高斯白噪声
randn('state',seed
(2));
y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');%在已调信号中加入高斯白噪声
figure(3)
stem([0:
numPlot-1],x(1:
numPlot),'bx');
holdon;
stem([0:
numPlot-1],z2(1:
numPlot),'ro');
holdoff;
axis([0numPlot-0.51.5]);
title('非相干解调后的信号')
legend('原输入二进制随机序列','非相干解调后的信号')
xlabel('Time');
ylabel('Amplitude');%误码率统计
[errorSymratioSym]=symerr(x,z1);
figure(8)
程序的运行过程是:
首先产生25个随机序列码(如图1.5-1所示注:
此序列为随机序列,每一次运行程序所产生的序列都不同),然后通过调用函数对该序列进行调制(如图1.5-2所示)。
相干解调后的误码率统计(如图1.5-3所示)。
在通过调用函数让函数通过相干解调方式进行解调,解调信号与原信号的比较(如图1.5-4所示)。
在通过调用函数让调制信号
图1.5-1图1.5-2
图1.5-3图1.5-4
(注释:
图1.5-3中右上角的意思为,TheoreticalSER理论软件错误率;TheoreticalBER理论二进制误码率;SimulatedSER模拟软件错误率;SimulatedBER模拟二进制误码率。
)
下图为用MATLAB进行FSK原理及误码性能仿真图:
图1.5-5
三.心得体会
通过本次专业课程设计,进一步加深了我对FSK方面知识的理解,也更深刻的体会到MATLAB在信号与先行系统等方面的应用的重要性。
由于设计时间较短,在设计过程考虑问题不全面,专业知识水平不足,编程工具MATLAB是英文版,帮助系统也全是英文,对有些函数在功能和使用还不是特别的清楚,也只能是别学习边实践,以至在设计过程中出现了不少问题,这只是一个开始,只要有更多的时间,相信我能见任务完成得更好。
以至于仿真出来的图象没有打点,这是这次课程设计出现的不足之处。
四.参考文献
[1]、《通信原理》樊昌信主编国防工业出版社2001年6月
[2]、《移动通信》覃团发等编重庆大学出版社2005年5月
[3]、《MATLAB图形图象处理应用教程》郝文化主编中国水利水电出版社
2002年4月
[4]、《MATLAB实用教程》徐金明主编清华大学出版社
✧MATLAB信息工程工具箱技术手册魏巍国防工业出版社
✧MATLAB与通信仿真王立宁人民邮电出版社2000年
✧MATLAB通信仿真开发手册李妍国防工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB FSK 调制 解调 实现 完整版
![提示](https://static.bdocx.com/images/bang_tan.gif)