2FSK设计实验报告.docx

上传人:b****5 文档编号:27641906 上传时间:2023-07-03 格式:DOCX 页数:36 大小:947.66KB
下载 相关 举报
2FSK设计实验报告.docx_第1页
第1页 / 共36页
2FSK设计实验报告.docx_第2页
第2页 / 共36页
2FSK设计实验报告.docx_第3页
第3页 / 共36页
2FSK设计实验报告.docx_第4页
第4页 / 共36页
2FSK设计实验报告.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

2FSK设计实验报告.docx

《2FSK设计实验报告.docx》由会员分享,可在线阅读,更多相关《2FSK设计实验报告.docx(36页珍藏版)》请在冰豆网上搜索。

2FSK设计实验报告.docx

2FSK设计实验报告

二进制数字频带传输系统设计——2FSK系统

1技术要求

设计一个2FSK数字调制系统,要求:

(1)设计出规定的数字通信系统的结构;

(2)根据通信原理,设计出各个模块的参数(例如码速率,滤波器的截止频率等);

(3)用Matlab或SystemView实现该数字通信系统;

(4)观察仿真并进行波形分析;

(5)系统的性能评价。

2基本原理

2.1二进制频率键控及其调制原理与框图

频移键控是利用载波的频率变化来传递数字信息。

在2FSK中,载波的频率随二进制基带信号在f1和f2两点间变化,其表达式为:

efsk(t)=

Acos(w1+o1)当发送“1”时

Acos(w2+o2)当发送“0”时

由图可见,2FSK信号的波形(a)可以分解为波形(b)和波形(c),也就是说,一个2FSK信号可以看成是两个不同载频的2ASK信号的叠加。

因此,2FSK信号的时域表达式也可写成:

式中:

g(t)为单个矩形脉冲,宽度等于Ts

的反码。

二进制移频键控信号的产生,可以采用模拟调频电路来实现,也可以采用数字键控的方法来实现.图2-3是数字键控法实现二进制移频键控信号的原理图,图中两个振荡器的输出载波受输入的二进制基带信号控制,在一个码元Ts期间输出f1或f2两个载波之一。

图2.12FSK信号的时域波形

图2.2键控法产生2FSK信号的原理图

2.22FSK系统的解调原理与框图

2FSK解调方法有两种,即相干解调法和非相干解调法。

另外还有鉴频法、过零检测法、差分检测法。

相干解调法是利用载波与已调信号进行相乘后滤波输出得到,在上面的2FSK中要两个载波,所以解调也要两个载波,分别与已调信号相乘后利用低通,最后相加即可得到我们的滤波输出,最后判压输出得到解调信号。

非相干解调也是利用包络检波法检测得到的。

过零检测法是基于2FSK信号的过零点数随不同频率而异,通过检测零点数目多少,从而区分两个频率的码元。

原理框图如下:

带通滤波器w1

包络检波器

带通滤波器w2

包络检波器

抽样判决器

输入

定时脉冲

输出

图2.32FSK非相干解调原理图

带通滤波器w1

相乘器

带通滤波器w2

相乘器

抽样判决器

输出

输入

定时脉冲

低通滤波器

低通滤波器

载波一

载波二

图2.42FSK相干解调原理图

限幅

微分

整流

脉冲展宽

低通

输入

输出

图2.52FSK过零检测法原理图

3建立模型描述

3.1用Matlab实现2FSK的调制与解调

3.1.1Matlab函数

Matlab函数编程方法是利用2fsk调制公式:

来实现其调制的,它先通过rand(1,n)<=P随机产生n个二进制序列,其中P为产生1的概率;然后通过

来产生调制信号,noise是高斯白噪声信号函数,加在

后为接受到的调制信号,利用相干解调原理,通过滤波器后便可得到解调信号。

3.1.2Simulink模块

如图是利用simulink模块实现2fsk的原理框图:

图3.1Simulink系统模块

BernoulliBinaryGenerator模块用来产生二进制随机码;两个M-FSK分别是调制与解调模块;Discrete-TimeEyeDiagramScope用来观察调制信号通过带有噪声信道的眼图;ErrorRateCalculation用来统计接受到的二进制序列的差错率。

3.2用systemview实现2FSK的调制与解调

3.2.1相干解调模块

图3.2Systemview系统相干解调模块

其中模块65输出随机的0、1方波序列,经模块4与一定频率的正弦波(模块0)相乘,即得到模拟调制的二进制振幅键控(2ASK)信号,模块37和模块38为带通滤波器,模块35和模块50为低通滤波器,模块22是与模块23同步的载波,用于同步检测,模块68产生高斯噪声信号,模块44、67、69为输出窗口。

3.2.2非相干解调模块

图3.3Systemview系统相干解调模块

其中模块0输出随机的0、1方波序列,经模块6与一定频率的正弦波(模块8)相乘,即得到模拟调制的二进制振幅键控(2ASK)信号,模块17和模块18为带通滤波器,模块19和模块20为低通滤波器,模块28产生高斯噪声信号,模块11、27、29为输出窗口。

4模块功能描述及源程序代码

4.1MATLAB源程序代码

functionFSK

A=1;

Eb=A^2;

EbN0=30;

N0=Eb*10^(-EbN0/10);

noiseVar=N0/2;

noiseRoot=sqrt(noiseVar);%噪声功率

n=8;%8个二进制码

final=zeros(1,n);

P=0.4;

src=rand(1,n)<=P;%产生8个二进制随机序列

src1=src;

src2=ones(1,n)-src;%取源码的反码

m=0:

n-1;

w1=1000;w2=2000;          %载波频率

t=0:

0.01:

n;

%画原始信号

figure

(1)

subplot(3,1,1);

stairs(m,src1);

holdon

plot(m+0.5,src1,'o');

axis([0,n-1,-0.5,1.5]);

title('原始信号src1');

xlabel('Time');

ylabel('Amplitude');

holdoff

subplot(3,1,2);

stairs(m,src2);

holdon

plot(m+0.5,src2,'o');

title('原始信号src2');

xlabel('Time');

ylabel('Amplitude');

axis([0,n-1,-0.5,1.5]);

holdoff

%画调制信号

fori=1:

n-1

efsk=cos(w1*t).*src1(i)+cos(w2*t).*src2(i);

n=7;figure

(2)

subplot(n,2,2*i-1)

plot(t,efsk);

axis([0,1,-1.1,1.1]);

noise=noiseRoot.*randn(1,length(t));    %噪声信号

Noise_fsk=cos(w1*t).*src1(i)+cos(w2*t).*src2(i)+noise;

figure

(2)

subplot(n,2,2*i)

plot(t,Noise_fsk);

axis([0,1,-1.3,1.3]);

mm=0:

0.001:

0.5;grid;

noise=noiseRoot.*randn(1,length(mm));

Noise_fsk=cos(w1*mm).*src1(i)+cos(w2*mm).*src2(i)+noise;

efsk1=Noise_fsk.*cos(w1*mm);

efsk2=Noise_fsk.*cos(w2*mm);

efsk11=filtfilt(ones(1,10),7,efsk1);

efsk22=filtfilt(ones(1,10),7,efsk2);

%画低通滤波器后的时域波形

figure(3)

subplot(2,n,i)

plot(mm,efsk11)

axis([-0.1,0.6,-0.4,1.5]);

%用w1相干解调后的波形

figure(3)

subplot(2,n,i+n)

plot(mm,efsk22);

axis([-0.1,0.6,-0.4,1.5]);

%抽样判决结果判定

ave1=sum(abs(efsk11))/length(mm);

ave2=sum(abs(efsk22))/length(mm);

ifave1>ave2

final(i)=1;

elsefinal(i)=0;

end

end

figure

(1)

subplot(3,1,3)

stairs(m,final);

holdon

plot(m+0.6,final,'o')

axis([0,n,-0.5,1.5]);

title('已调信号');

xlabel('Time');

ylabel('Amplitude');

holdoff

%信噪比和差错率的关系

clearall;

rand('state',sum(100*clock));

randn('state',sum(100*clock));

minTestLength=1000;

maxTestLength=50000;

A=1;Eb=A*A;

EbN0=10;

index=1;

forEbN0=0:

1:

10

N0=Eb*10^(-EbN0/10);

noiseVar=N0/2;

noiseRoot=sqrt(noiseVar);

errorCount=0;

testCount=0;

w1=1000;w2=2000;

mm=0:

0.001:

0.4;

while

(1)

src=rand

(1)<=0.5;

src1=src;src2=1-src;

noise=noiseRoot.*randn(1,length(mm));

Noise_fsk=cos(w1*mm).*src1+cos(w2*mm).*src2+noise;

efsk1=Noise_fsk.*cos(w1*mm);

efsk2=Noise_fsk.*cos(w2*mm);

efsk11=filtfilt(ones(1,10),9.7675,efsk1);

efsk22=filtfilt(ones(1,10),9.7675,efsk2);

ave1=sum(abs(efsk11))/length(mm);

ave2=sum(abs(efsk22))/length(mm);

ifave1>1/2&ave2>1/2errorCount=errorCount+1

elseifave1<1/2&ave2<1/2errorCount=errorCount+1

end

testCount=testCount+1;

if(testCount

continue;

end

tempBER=errorCount/testCount;

if(tempBER>0)

thresholdTestLength=1/tempBER;

else

thresholdTestLength=maxTestLength;

end

if(testCount>=thresholdTestLength)

myTestLength(index)=testCount;

myBER(index)=tempBER

myEbN0(index)=EbN0

index=index+1;

break;

end

end

end

figure(4);semilogy(myEbN0,myBER,'r+-');

xlabel('Eb/N0indB');

ylabel('biterrorrate');

holdon

EbN0_R=10.^(myEbN0/10);

thBER=0.5*erfc(sqrt(EbN0_R/2));

semilogy(myEbN0,thBER,'*-');

Legend('simulationresults','theoreticresults');

grid

4.2Simulink模块功能分析

图4.2.1Simulink系统模块

FSK基带调制仿真系统的框图由伯努利二进制随机数产生器,基带M-FSK调制与解调器,加性高斯白噪声信道,眼图观察仪,差错率计算器,延时器及显示器构成。

主要参数设置如下:

1.BernoulliRandomBinaryGenerator(伯努利二进制随机数产生器):

控制二进制随机码的产生,其中占空比为0.5,采样时间为1/50;

图4.1BernoulliRandomBinaryGenerator参数设置

2.AWGNChannel(加性高斯白噪声信道):

模拟加性高斯白噪声环境,使传输环境相同,FSK的信噪比为10dB,输出功率为1瓦。

图4.2AWGNChannel参数设置

3.M-FSKModulatorBaseband(基带M-FSK调制器):

产生与原始基带信号对应的调制信号,频率设置为1000HZ。

图4.3M-FSKModulatorBaseband参数设置

4.MSKDemodulatorBaseband(基带MSK解调器):

解调接收到的信号,其中频率设置为1000HZ。

图4.4MSKDemodulatorBaseband参数设置

5.Discrete-TimeEyeDiagramScope(离散时间眼图观察仪):

用于观察接收信号的眼图

图4.5Discrete-TimeEyeDiagramScope参数设置

6.ErrorRateCalculation(差错率计算器):

用来计算误码率,并用示波器来显示;

图4.6ErrorRateCalculation参数设置

4.3Systemview模块功能分析

4.3.1相干解调模块功能分析

1.调制模块

图4.7Systemview相干解调调制模块

模块65:

信号源,幅度为1V,频率为1HZ,偏移量为1,相位为0,点平数为2。

见下图

图4.8信号源参数设置

模块4、39、9:

乘法器

模块0:

正弦载波幅度为1V,频率20HZ,相位为0。

见下图:

模块1:

正弦载波幅度为1V,频率40HZ,相位为0。

见下图:

图4.9正弦载波1参数设置图4.10正弦载波2参数设置

 

2.解调模块

图4.11Systemview相干解调解调模块

模块68:

用来产生高斯噪声,基本参数设置如下图:

图4.12高斯噪声参数设置图4.13带通滤波器37幅频和相频曲线

模块37、38:

带通滤波器,其中心频率分别为20HZ和40HZ,带宽均为2HZ,幅频和相频曲线分别如下:

模块35、50:

低通滤波器,带宽为1HZ,具有相同的幅频和相频曲线,如下图:

图4.14带通滤波器38幅频和相频曲线图4.15低通滤波器幅频和相频曲线

 

4.3.2非相干解调模块功能分析

1.调制模块

图4.16Systemview非相干解调调制模块

模块65:

信号源,幅度为1V,频率为10Z,偏移量为0相位为0,点平数为2。

见下图

图4.17信号源参数设置

模块2、5:

半波整流器;

模块4:

反相器;

模块8、9:

正弦载波幅度为1V,频率分别为40HZ和80HZ,相位为0;

 

2.解调模块

图4.18Systemview非相干解调解调模块

模块28:

高斯噪声,产生一个具有高斯分布的随机信号

模块37、38:

带通滤波器,其中心频率分别为40和80,带宽均为20HZ,幅频和相频曲线分别如下:

图4.19带通滤波器37幅频和相频曲线图4.20带通滤波器38幅频和相频曲线

模块19、20:

低通滤波器,带宽为10HZ,具有相同的幅频和相频曲线,如下图:

图4.21低通滤波器幅频和相频曲线

5调试过程及结论

5.1基于MATLAB程序的2ASK调制解调仿真过程及结论

5.1.1调试过程中各点的波形

5.1基带信号和调制信号5.2调制信号和带噪声的调制信号

5.3频谱图5.4误码率随信噪比的变化关系

5.1.2调试结论及改进

根据调制和解调原理,利用Matlab编好程序生成.m文件并运行后,生成图,经过比较后知道,编写的程序基本实现了2FSK的调制与解调过程,解调后的二进制序列与原随机序列一致。

但是,它的缺点是随机二进制序列较少,不能真正意义上说明它就能完成调制与解调的功能。

不过,它的优点可以从图看出来,因为我们对每一个代码可以作出它通过带有噪声的信道后的频谱图,从而知道它有没有发生跳变,简单地说,可以进行纠错。

以下是n=100时的原始基带信号和解调信号图:

5.5n=100时的原始基带信号和解调信号图

5.2基于Simulink模块的2ASK调制解调仿真过程及结论

5.2.1调试过程中各点的波形

5.6原始基带信号和解调信号图

5.7眼图

5.2.2调试结论及改进

对比图可以看出,此框图基本上实现了2FSK的调制与解调过程。

图中的第三个小图是一条为0的直线,说明它无差错地解调出原基带波形,但是,高斯噪声是否在模型中起到加入噪声的作用,我们还不能妄加推断。

观察眼图,看出它是由一系列杂乱的线段形成的,所以信号受到了干扰。

为了使‘高斯噪声是在模型中起到加入噪声的作用’更具有说服力,我们增加高斯噪声的强度,将inputsignalpower的大小由原有的2W增加到50W,得到的波形图及眼图如下,发现此时的差错率大小为0.025(发送400个码元接收到10个错误的码元),眼图变得更加杂乱无序,这很好地说明了高斯噪声是在模型中起到了加入噪声的作用。

5.8增加噪声信号图5.9增加噪声后的眼图

5.3基于Systemview的2ASK调制解调仿真过程及结论

5.3.1相干解调

5.3.1.1调试过程中各点的波形

5.10调制过程图5.11全过程图

5.12判决过程图5.13无噪声频谱图

5.14有噪声频谱图

5.15噪声功率密度为0.002时的眼图5.16噪声功率密度为0.02时的眼图

5.3.1.2调试结论

对比图可以看出,此框图基本上实现了2FSK的调制与解调过程。

解调信号相对于原始基带信号有大约0.6s的延迟,这是由于带通滤波器和低通滤波器延迟特性所造成的,可以通过修改滤波器的参数加以减小。

此外抽样判决模块可以直接由一个逻辑比较器替代,这样做简化了模块,但是会增加误判的可能性。

分析功率谱可以看出噪声信号明显地加在了调制信号之上,对调制信号有着明显的影响。

5.3.2非相干解调

5.3.2.1调试过程中各点的波形

5.17调制过程图5.18全过程图

5.19判决过程图5.20无噪声频谱图

5.21有噪声频谱图

5.22噪声功率密度为0.001时的眼图5.23噪声功率密度为0.01时的眼图

5.3.2.2调试结论

对比图可以看出,此框图基本上实现了2FSK的调制与解调过程。

同相干解调一样解调信号相对于原始基带信号有大约0.065s的延迟,抽样判决模块仍直接由一个逻辑比较器替代。

分析功率谱可以看出,此模块受噪声的影响较小

6心得体会

本次课程设计主要涉及到Matlab和systemview在通信系统方面的应用,加深了我们对数字基带传输系统的理解和掌握。

在Matlab编程方面,知道了如何用函数的方法,实现2FSK的调制与解调,并且生成频谱图,以此来判断高斯噪声对信号的影响。

在Simulink建模上,学会了用Matlab自带的调制与解调模块完成设计,并观察眼图和分析噪声对误码率的影响。

另外,专用在通信方面的软件Systemview作为完成设计的第三种方法也被很好的运用,在这方案中,我采用了相干解调和非相干解调两种解调方法,比较用Matlab实现2FSK的调制与解调,这种方法比较简单,不过,有两处需要注意,一个是滤波器的设置,这个我花了比较长的时间,通过上网搜索和自己一次一次的设置,终于选取了较好的基带频率和载波频率,解调出了原始波形;另一个需要注意的是抽样判决的实现,最初以为需要引入定时脉冲,后来才知道只需要加一个比较器便可实现。

在对比基带信号和解调信号后发现解调信号相对于基带信号有比较大的延迟,后来改变了一下滤波器参数,减小了延迟时间。

本次课设是由自己独立完成,原以为会很简单,但做起来花了不少时间,遇到了很多困难,当工作涉及到对原件参数设置上时,每一个小器件都经过了反复设置的过程,种种原因的限制不能做到尽善尽美。

总之,本次课设完成得比较顺利,通过这次课设,我对数字基带信号的调制与解调原理有了更加深刻的理解,掌握了运用Matlab技术完成通信系统的工作,此外,还学会了使用Systemview软件,搭建模型并调试出结果。

7参考文献

[1]孙屹.SystemView通信仿真开发手册.国防工业出版社,2004

[2]樊昌信.通信原理.国防工业出版社,2001

[3]薛鹏骞.《电子与通信电路计算机仿真》.煤炭工业出版社,2003

[4]钦笙.数字通信系统,北京邮电大学出版社,1995

[5]福昌,潘晓明.通信原理实验.清华大学出版社,2007

 

本科生课程设计成绩评定表

姓名

邹新龙

性别

专业、班级

光信息科学与技术0802班

课程设计题目:

二进制数字频带传输系统设计——2FSK系统

课程设计答辩或质疑记录:

1说一下2FSK调制与解调的基本方法?

调制方法:

一个是用VCO振荡器实现,另一个是用键控方法来实现;解调方法:

相干解调法,包络检波法,过零检测法,差分检测法

2相干检波有什么优势?

相干检波适用于线性网络,不会因为信号过小而产生门限效应

3抽样判决如何工作?

抽样判决是在抽样脉冲到达时,对两端的样值进行比较。

判决准则是当抽样值满足上边路>下边路,判为f1,f1代表数字基带信号1;当满足下边路>上边路,判为f2,f2代表数字基带信号0。

4过零检测各部分的组成及作用?

整形—微分—整流—宽脉冲发生器—低通—判决

整形是将正弦波整合成方波;微分是将输入的方波整合成宽度较窄的脉冲;整流是将负脉冲整合成正脉冲;宽脉冲发生器是将窄脉冲还原成窄方波;低通作用是滤除噪声;判决作用是还原基带信号。

成绩评定依据:

评定项目

考察点

分数

所占比例

折合分数

总成绩(百分制)

方案设计

及预答辩

设计方案的合理性

答辩

30%

程序设计

及调试

程序设计的合理性

程序的调试

30%

说明书

及答辩

说明书撰写的规范性

答辩

40%

最终评定成绩(以优、良、中、及格、不及格评定)

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1