新疆理工学院通信原理-2FSK
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
新疆理工学院
新疆理工学院
通信原理课程设计
(2FSK的调制与解调)
学号: 20173453001
姓名:陶博文
指导老师:王世强
学期:2019-2020第一学期
日期: 2019.12.27
一、M ATLAB软件简介
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、
连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
二、理论分析
1、2FSK调制原理
1.12FSK信号的产生:
二进制频移键控(2FSK)是利用载波的频率变化来传递数字信息的,而其振幅和相位保持不变。
2FSK是利用数字基带信号控制在波的频率来传送信息。
例如,1码用频率f1来传输,0码用频率f2来传输,而其振幅和初始相位不变。
故其表示式为
式中,假设码元的初始相位分别为和;和为两个不同的码元的角频率;幅度为A为一常数,表示码元的包络为矩形脉冲。
2FSK信号的产生方法有两种:
(1)模拟法,即用数字基带信号作为调制信号进行调频。
如图 1-1(a)所示。
(2)键控法,用数字基带信号 g(t) 及其反 g(t) 相分别控制两个开关门电路,以此对两个载波发生器进行选通。
如图1-1(b)所示。
这两种方法产生的 2FSK 信号的波形基本相同,只有一点差异,即由调频器产生的 2FSK 信号在相邻码元之间的相位是连续的,而键控法产生的 2FSK 信号,则分别有两个独立的频率源产生两个不同频率的信号,故相邻码元的相位不一定是连续的。
由键控法产生原理可知,一位相位离散的 2FSK 信号可看成不同频率交替发送的两个2ASK 信号之和,即
其中g(t)是脉宽为Ts 的矩形脉冲表示的NRZ数字基带信号。
其中,为 an 的反码,即若an = 1 ,则 = 0 ;若 an = 0 ,则 = 1 。
1.2 2FSK 信号的频谱特性:
由于相位离散的 2FSK 信号可看成是两个2ASK 信号之和,所以,这里可以直接应用 2ASK 信号的频谱分析结果,比较方便,即
2、2FSK解调原理
仿真是基于非相干解调进行的,即不要求载波相位知识的解调和检测方法。
其非相干检测解调框图如下
当k=m时检测器采样值为:
当k≠m时在样本和中的信号分量将是0,只
要相继频率之间的频率间隔是 ,就与相移值无关了,于是其余相关器的输出仅有噪声组成。
其中噪声样本{}和
{}都是零均值,具有相等的方差对于平方
律检测器而言,即先计算平方包络并取其最大值信号。
二进制FSK系统的理论误码率与信噪比的关系给出如下
三、程序分析
3.1 MATLAB代码:
Fc=10; %载频
Fs=100; %系统采样频率
Fd=1; %码速率
N=Fs/Fd;
df=10;
numSymb=25;%进行仿真的信息代码个数
M=2; %进制数
SNRpBit=60;%信噪比
SNR=SNRpBit/log2(M);
seed=[12345 54321];
numPlot=25; %产生 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.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)
plot(t,y(1:length(t)),'b-');%画出经过信道的实际信号axis([min(t) max(t) -1.5 1.5]);
title('加入高斯白噪声后的已调信号')
xlabel('Time'); ylabel('Amplitude'); %相干解调
z1=ddemod(y,Fc,Fd,Fs,'fsk',M,df); %带输出波形的相干 M 元频移键控解调
figure(4)
stem([0:numPlot-1],x(1:numPlot),'bx');
hold on;
stem([0:numPlot-1],z1(1:numPlot),'ro');
hold off;
axis([0 numPlot -0.5 1.5]);
title('相干解调后的信号原序列比较')
legend('原输入二进制随机序列','相干解调后的信号') xlabel('Time'); ylabel('Amplitude'); %误码率统计[errorSym ratioSym]=symerr(x,z1);
figure(6)
simbasebandex([0:1:5]);
title('相干解调后误码率统计')
3.2 Simulink仿真
2FSK调制模型
2FSK非相干解调模型
2FSK相干解调
四、2FSK的仿真结果分析
五、课程设计总结
2FSK信号的调制解调原理是通过带通滤波器将2FSK信号分解为上下两路2FSK信号后分别解调,然后进行抽样判决输出信号。
本实验对信号2FSK采用相干解调进行解调。
对于2FSK 系统的抗噪声性能,本实验采用同步检测法。
设“1”符号对应载波频率f1,“0”符号对应载波频率f2。
在原理图中采用两个带通滤波器来区分中心频率分别为f1和f2的信号。
中心频率为f1的带通滤波器之允许中心频率为f1的信号频谱成分通过,滤除中心频率为f2的信号频谱成分。
接收端上下支路两个带通滤波器的输出波形中H1,H2。
在H1,H2波形中在分别含有噪声n1,n2,其分别为高斯白噪声ni 经过上下两个带通滤波器的输出噪声——窄带高斯噪声,其均值同为 0,方差同为(σ n)2,只是中心频率不同而已。
其抽样判决是直接比较两路信号抽样值的大小,可以不专门设置门限。
判决规制应与调制规制相呼应,调制时若规定“1”符号对应载波频率f1,则接收时上支路的抽样较大,应判为“1”,反之则判为“0”。
在(0,Ts)时间内发送“1”符号(对应ω1),则上下支路两个带通滤波器输出波形H1,H2。
H1,H2分别
经过相干解调(相乘—低通)后,送入抽样判决器进行判决。
比较的两路输入波形分别为上支路st1=a+n1,下支路st2=n2,其中a为信号成分;n1和n2均为低通型高斯噪声,其均值为零,方差为(σn)2。
当st1的抽样值st1(i)小于st2 的抽样值st2(i),判决器输出“0”符号,造成将“1”判为“0”的错误。