2FSK数字调制系统的设计与仿真.docx
《2FSK数字调制系统的设计与仿真.docx》由会员分享,可在线阅读,更多相关《2FSK数字调制系统的设计与仿真.docx(15页珍藏版)》请在冰豆网上搜索。
2FSK数字调制系统的设计与仿真
摘要
2FSK是信息传输中使用得较早的一种调制方式.本文主要简述了2FSK的设计原理,设计步骤和设计结果及分析.设计原理包括了2FSK的介绍,调制原理和解调原理;设计步骤包括了2FSK信号的产生,调制和解调;设计结果及分析则包括了2FSK信号产生,调制和解调每一步的结果分析和用matlab实现上述的结果.2FSK在中低速数据传输中得到了广泛的应用。
所谓FSK就是用数字信号去调制载波的频率。
关键词:
2FSK基带信号载波调制解调
1、引言
本文主要利用matlab来实现2FSK数字调制系统解调器的设计。
该设计模块包含信源调制、发送滤波器模块、信道、接收滤波器模块、解调以及信宿,并对各个模块进行相应的参数设置。
在此基础上熟悉matlab的功能及操作,最后通过观察仿真波形进行波形分析及系统的性能评价。
2FSK信号的产生方法主要有两种:
一种是模拟调频法,另一种是键控法,即在二进制基带矩形脉冲序列的控制下通过开关电路对两个不同的独立频率源进行选通,使其在每一个码元Ts期间输出f1或f2两个载波之一。
这两种方法产生2FSK信号的差异在于:
由调频法产生的2FSK信号在相邻码元之间的相位是连续变化的,而键控法产生的2FSK信号是由电子开关在两个独立的频率源之间转换形成,故相邻码元之间的相位不一定连续。
本实验采用的是模拟调频法产生2FSK信号。
2FSK信号的接受也分相干和非相干接受两种,非相干接收方法不止一种,他们都不利用信号的相位信息。
故本设计采用相干解调法。
在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化。
因此,一个2FSK信号的波形可以看成是两个不同载频的2ASK信号的叠加。
可以利用频率的变化传递数字基带信号,通过调制解调还原数字基带信号,实现课程设计目标。
2、2fsk的基本原理和实现
2.12FSK信号介绍
2FSK是利用数字基带信号控制在波的频率来传送信息。
例如,1码用频率f1来传输,0码用频率f2来传输,而其振幅和初始相位不变。
故其表示式为
(1)
(1)式中,假设码元的初始相位分别为
和
;
和
为两个不同的码元的角频率;幅度为A为一常数,表示码元的包络为矩形脉冲。
2FSK信号的产生方法有两种:
模拟法,即用数字基带信号作为调制信号进行调频。
键控法,用数字基带信号
及其反
相分别控制两个开关门电路,以此对两个载波发生器进行选通。
2FSK的典型波形图如图1:
图12fsk波形图
2.22FSK信号的调制原理
12FSK的调制
在2FSK信号中,当载波频率发生变化时,载波的相位一般来说是不连续的,这种信号称为不连续2FSK信号。
相位不连续的2FSK通常用频率选择法产生。
2FSK调制就是使用两个不同的频率的载波信号来传输一个二进制信息序列。
可以用二进制“1”来对应于载频w1,而“0”用来对应于另一相载频w2的已调波形,而这个可以用受矩形脉冲序列控制的开关电路对两个不同的独立的频率源w1、w2进行选择通。
如下原理图:
图22FSK调制原理框图
22FSK的解调
本设计采用相干解调法。
根据已调信号由两个载波f1、f2调制而成,则先用两个分别对f1、f2带通的滤波器对已调信号进行滤波,然后再分别将滤波后的信号与相应的载波f1、f2相乘进行相干解调,再分别低通滤波、用抽样信号进行抽样判决器即可。
原理图如下:
图32FSK的解调原理图
3、详细设计步骤
3.1信号产生:
二进制随机序列和两列频率不等的载波
1)利用matlab库函数产生10个二进制随机数,也就是我们的基波调制信号a。
并画出其波形。
2)产生两列余弦波tuf1和tuf2,频率分别为f1=20hz,f2=100hz;并画出其波形。
3.2信号调制:
产生2FSK信号和加入高斯噪声后的2FSK信号
1)用二进制序列a去调制f1和f2,产生2fsk信号,具体做法是用以a生成的方波信号g1a直接与tuf1相乘,用a取反后的方波g2a与tuf2相乘,再将两列信号相加。
并画出其波形。
2)调用matlab库函数产生高斯噪声no,并与2fsk信号相加得到加入噪声后的sn信号。
并画出其波形。
3.3解调
1)对于两列让sn通过两个带通滤波器H1和H2,他们分别以f1和f2为中心频率,并画出经过带通滤波器后的波形。
2)对这两列波形分别相干解调乘以与他们同频同相的余弦波tuf1和tff2,画出此时的波形。
3)让这两列波形再通过低通滤波器sw1和sw2得到这两列基带调制波形g1a和g2a.画出其波形。
4)最后将两列波g1a和g2a通过抽样判决器,画出其波形st,并与之前调制后的波形sn做对比。
4、设计结果及分析
4.1信号产生
第一幅图设置二进制序列是1011011011,第二和第三幅图片是频率为20hz的载波f1和频率为100hz的载波f2的波形。
图4信号产生时的各参数
图5调制信号的频谱图
图6载波1的频谱图
图7载波2的频谱图
4.2信号调制
由于产生的随即序列是1011011011,对比上面图3可以看出,波形较疏的是f1,波形较密的是f2,上图呈现的序列是:
1011011011,与调制波相符。
图8信号调制时的各参数
图9已调信号的频谱图
4.3信号解调
经过带通滤波器之后滤出了频率为f1和f2的载波,从图3和图7的对比可以看出这一步做对了。
图10两列信号经过带通滤波器后的波形
下图两列信号经过相干解调乘以同频同相的载波之后得到的波形,可以看出图10比图9的波形更密了。
图11两列信号经过相干解调乘以同频同相的载波后的波形
经过低通滤波器之后,调制信号被滤出来了,第一幅为f1,滤波后的序列为:
1011011011,与之前的调制信号相同。
第二幅图为:
010*******,与调制信号相反,这是因为在程序中队调制信号取反之后才和f2相乘的。
图12两列信号经过低通滤波器后的波形
经过抽样判决之后,恢复出来的基带信号是:
1011011011,与调制信号一样,从原始波形也可以看出,解调后的波形与调制信号相同。
2FSK调制解调实现。
图13信号经过抽判后的波形及原始波形
图13信噪比与误码率关系图
由图可以看出随着信噪比的增大,误码率在降低
4.4课程设计程序
fs=2000;%抽样频率
fd=1;
M=2;
df=10;
dt=1/fs;
f1=20;%定义两列载波的频率
f2=100;
a=round(rand(1,10));%产生二进制随机序列
g1=a;
g2=~a;
g11=(ones(1,2000))'*g1;%产生方波信号
g1a=g11(:
)';
g21=(ones(1,2000))'*g2;
g2a=g21(:
)';
t=0:
dt:
10-dt;
t1=length(t);
tuf1=cos(2*pi*f1.*t)
tuf2=cos(2*pi*f2.*t)
subplot(311)
n=0:
9;
x=square(1,50);
stem([0:
9],a*x);
grid;
xlabel('二进制随机序列')
ylabel('幅度')
subplot(312);
plot(t,tuf1);
title('频率为f1的余弦波')
ylabel('幅度')
subplot(313);
plot(t,tuf2);
title('频率为f2的余弦波')
ylabel('幅度')
figure
(2)
fsk1=g1a.*tuf1;
fsk2=g2a.*tuf2;
fsk=fsk1+fsk2;
no=0.01*randn(1,t1);%噪声
sn=fsk+no;
subplot(211);
plot(t,fsk);
title('2fsk波形')
ylabel('幅度')
subplot(212);
plot(t,sn);
title('加入高斯噪声后的2fsk波形')
ylabel('幅度的大小')
xlabel('t')
figure(3)%FSK解调
b1=fir1(101,[10/80020/800]);
b2=fir1(101,[90/800110/800]);%设置带宽参数
H1=filter(b1,1,sn);%b1为分子,1为分母,sn为滤波器输入序列
H2=filter(b2,1,sn);%噪声信号同时通过两个滤波器
subplot(211);
plot(t,H1);
title('经过带通滤波器H1后的波形')%画出经过H1滤波器后的波形
ylabel('幅度');
subplot(212);
plot(t,H2);%画出经过滤波器二后的波形
title('经过带通滤波器H2后的波形')
ylabel('幅度')
xlabel('t')
sw1=H1.*H1;%相干解调乘以同频同相的载波
sw2=H2.*H2;%经过相乘器
figure(4)
subplot(211);
plot(t,sw1);
title('经过相乘器h1后的波形')%画出乘以同频同相载波后的波形
ylabel('幅度')
subplot(212);
plot(t,sw2);
title('经过相乘器h2后的波形')
ylabel('.幅度')
xlabel('t')
bn=fir1(101,[2/80010/800]);%经过低通滤波器
figure(5)
st1=filter(bn,1,sw1);
st2=filter(bn,1,sw2);
subplot(211);
plot(t,st1);
title('经过低通滤波器sw1后的波形')%经过低通滤波器,滤出频率
ylabel('幅度')%为f1,f2的基带调制信号波形
subplot(212);
plot(t,st2);
title('经过低通滤波器sw2后的波形')
ylabel('幅度')
xlabel('t')
%判决
fori=1:
length(t)
if(st1(i)>=st2(i))
st(i)=0;
elsest(i)=st2(i);
end
end
figure(6)
st=st1+st2;
subplot(211);
plot(t,st);
title('经过抽样判决器后的波形')%画出经过抽样判决的波形
ylabel('幅度')
subplot(212);
plot(t,sn);
title('原始的波形')
ylabel('幅度')
xlabel('t')
figure(7)
y1=fftshift(a);%对调制信号进行傅里叶变换
plot(abs(fft(y1)));
grid;
title('调制信号的频谱图');
axis([0,125,1,5]);
figure(8)
y2=fftshift(tuf1);%对载波信号进行傅里叶变换
plot(abs(fft(y2)));
grid;
title('载波1的频谱图');
axis([0,1000,0,0.0000000001]);
figure(9)
y3=fftshift(tuf2);
plot(abs(fft(y3)));
grid;
title('载波2的频谱图');
axis([500,1500,0,0.000000001]);
figure(10)
y4=fftshift(st);%对已调信号进行傅里叶变换
plot(abs(fft(y4)));
grid;
title('已调信号的频谱图');
axis([0,1000,0,1000]);
figure(11)
z1=ddemod(sn,f1,fd,fs,'fsk/eye',M,df);%相干解调
title('相干解调后的信号的眼图')
[errorSymratioSym]=symerr(a,z1);%误码率统计
figure(12)
simbasebandex([0:
1:
5]);
title('相干解调后误码率统计')
5、心得体会
两周的课程设计在忙忙碌碌中一晃而过。
经历了一次次的困惑,却积累了一定的知识。
在整个课程设计中的过程中遇到的问题主要有以下三点:
第一,基础知识的不牢固,主要表现在一些常用的电路的形式和功能不清楚,对书本上的内容理解不够透彻;第二,对一些常用的应用软件缺少应用,体现在华电路图和系统仿真的时候,对这些软件操作的不熟练,浪费了很多时间。
第三,相关知识掌握不够全面,缺少系统设计额仿真的经验。
这次课程设计进一步端正了我的学习态度,学会了实事求是,严谨的作风,提高了动手能力。
对自己要严格要求,不能够一知半解要力求明明白白。
急于求成是不好的,不仅会浪费时间还会适得其反。
在我看来,懂得少并不可怕,可怕的是不向别人虚心学习。
没有人生下就知道什么,也没有人生下来就很聪明。
即使是天才,也要通过后天的努力,才获得成功的。
我觉得动手之前,头脑里必须清楚怎么做,通过我的不懈努力,在这方面我总会得到提高,这一点我坚信。
因为别人能做到的,我也一定能做到。
在此次的课程设计中我最大的体会就是进一步认识到了理论联系实践的重要性。
一份耕耘一分收获。
通过一个星期的实习,让我明白科学的思维方法和学习方法是多么重要,只有这样才能够让自己工作更完美。
总而言之,在此次课程设计让我学到了好多平时在课堂上学不到得东西,增加了我的知识运用能力,为我走向社会奠定了一个号的基础。
通过对matlab这个软件的学习,使我对通信原理又有了进一步的认识。
在以往的学习中我多是注重理论知识没注重实践,这次实践使我对课本知识有了新的理解。
参考文献
[1]李建新.现代通信系统分析与仿真-MATLAB通信工具箱.西安:
西安电子科技大学出版社,2000.
[2]樊昌信.通信原理.北京:
国防工业出版社.2002.
[3]刘敏.MATLAB通信仿真与运用.北京.国防工业出版社.
[4]曹志刚等著.现代通信原理.北京:
清华大学出版社.2001.5
[5]吴伟陵等著.移动通信原理.北京:
电子工业出版社.2005