目 录
一. FSK理论知识…………………………………………………
1.1 FSK概念…………………………………………………………………
1.2 2FSK信号的波形及时间表示式…………………………………………
1.3 2FSK信号的产生方法……………………………………………………
1.4 2FSK信号的功率谱密度…………………………………………………
1.5 2FSK信号的解调…………………………………………………………
1.6 FSK的误码性能……………………………………………………………
二. 用MATLAB进行FSK原理及误码性能仿真………
三、结论……………………………………………
四、参考文献…………………………………………、
五、源程序……………………………………………
1、FSK理论知识
频率调制的最简单形式是二进制频率键控(FSK,frequency-shift keying)。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|+2 fs 。
二 2FSK信号的解调
2FSK信号的解调方法有很多,如鉴频器法、相干法、包络检波法、过零检测法等等。根据要求这里我将用相干解调的方法对其进行解调。
FSK在MATLAB环境下过程与结果
FSK的模拟仿真是采用的MATLAB软件,其在电脑运行环境如图3-1所示。实验过程是在窗口点击MATLAB快捷方式,使其运行,将FSK调制与解调的程序输入框中,点击回车即可运行,运行结果后面进行分析。
图1.5-1
在MATLAB环境下调制与解调的程序如下: (百分号后为程序注释)
function FSK
Fc=10; %载频
Fs=40; %系统采样频率
Fd=1; %码速率
N=Fs/Fd;
df=10;
numSymb=25; M=2; SNRpBit=60; SNR=SNRpBit/log2(M);
seed=[12345 54321];
numPlot=15; x=randsrc(numSymb,1,[0:M-1]); figure(1)
stem([0:numPlot-1],x(1:numPlot),'bx');
title('二进制随机序列')
%进行仿真的信息代码个数
%进制数
%信噪比
%产生25个二进制随机码
%产生25个二进制随机码
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.5 1.5]);
title('加入高斯白噪声后的已调信号')
xlabel('Time');
ylabel('Amplitude'); %相干解调
figure(4)
plot(t,y(1:length(t)),'b-');
%画出经过信道的实际信号
axis([min(t) max(t) -1.5 1.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');
hold on;
stem([0:numPlot-1],z2(1:numPlot),'ro');
hold off;
axis([0 numPlot -0.5 1.5]);
title('非相干解调后的信号')
legend('原输入二进制随机序列','非相干解调后的信号')
xlabel('Time');
ylabel('Amplitude'); %误码率统计
[errorSym ratioSym]=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中右上角的意思为,Theoretical SER 理论软件错误率;Theoretical BER 理论二进制误码率 ;Simulated SER 模拟软件错误率; Simulated BER 模拟二进制误码率。)
下图为用MATLAB进行FSK原理及误码性能仿真图:
图1.5-5
三.心得体会
通过本次专业课程设计,进一步加深了我对FSK方面知识的理解,也更深刻的体会到MATLAB在信号与先行系统等方面的应用的重要性。
由于设计时间较短,在设计过程考虑问题不全面,专业知识水平不足,编程工具MATLAB是英文版,帮助系统也全是英文,对有些函数在功能和使用还不是特别的清楚,也只能是别学习边实践,以至在设计过程中出现了不少问题,这只是一个开始,只要有更多的时间,相信我能见任务完成得更好。以至于仿真出来的图象没有打点,这是这次课程设计出现的不足之处。
四.参考文献
[1]、《通信原理》 樊昌信 主编 国防工业出版社 2001年6月
[2]、《移动通信》 覃团发等编 重庆大学出版社 2005年5月
[3]、《MATLAB图形图象处理应用教程》 郝文化 主编 中国水利水电出版社
2002年4月
[4]、《MATLAB实用教程》 徐金明 主编 清华大学出版社
MATLAB信息工程工具箱技术手册 魏巍 国防工业出版社
MATLAB与通信仿真 王立宁 人民邮电出版社 2000年
MATLAB通信仿真开发手册 李妍 国防工业出版社
因篇幅问题不能全部显示,请点此查看更多更全内容