MFSK的调制与解调解析.docx
《MFSK的调制与解调解析.docx》由会员分享,可在线阅读,更多相关《MFSK的调制与解调解析.docx(16页珍藏版)》请在冰豆网上搜索。
MFSK的调制与解调解析
前言
MFSK——多进制数字频率调制,简称多频制,是2FSK方式的推广。
它是用不同的载波频率代表各种数字信息。
在数字通信系统中,数字调制与解调技术占有非常重要的地位。
随着MATLAB技术的发展,数字通信技术与MATLAB的结合体现了现代数字通信系统发展的一个趋势。
文中介绍了MFSK调制解调的原理,并基于MATLAB实现MFSK调制解调的程序代码设计,仿真结果表明设计方案是可行的。
正文
2.1课程设计的目的及意义
本次课程设计我所做的课题是一个多进制频移键控MFSK的调制与解调项目,这就要求我们需要完成信号的调制解调以及抗噪声性能的分析等问题。
通过我们对这次项目的学习和理解,综合运用课本中所学到的理论知识完成一个多进制频移键控MFSK的调制与解调项目的课程设计。
以及锻炼我们查阅资料、方案比较、团结合作的能力。
学会了运用MATLAB编程来实现MFSK调制解调过程,并且输出其调制及解调过程中的波形,并且讨论了其调制和解调效果,分析了抗噪声性能,增强了我的动手能力,为以后学习和工作打下了基础。
2.2多进制数字调制
二进制键控调制系统中,每个码元只传输1b信息,其频带利用率不高。
而频率资源是极其宝贵和紧缺的。
为了提高频带利用率,最有效的办法是使一个码元传输多个比特的信息。
这就是将要讨论的多进制键控体制。
多进制键控体制可以看作是二进制键控体制的推广。
这时,为了得到相同的误码率,和二进制系统相比,接要用更大的发送信号功率。
这就是为了传输更多信息量所要付出的代价。
由二进制数字调制系统的性能比较可得知,各种键控体制的误码率都决定于信噪比:
(r表示信号码元收信号信噪比需要更大,即需码元功率
和噪声功率
之比)。
现在,设多进制码元的进制数为M,一个码元中包含信息K比特,则有
;若想把码元功率
平均分配给每比特,则每比特分得的功率为
;这样每比特的信噪功率比为:
;在M进制中,由于每个码元包含的比特数K和进制数M有关,所以在研究不同M值下的错误率时,适合用
为单位来比较不同体制的性能优劣。
所谓多进制数字调制,就是利用多进制数字基带信号去调制高频载波的某个参量,如幅度、频率或相位的过程。
根据被调参量的不同,多进制数字调制可分为多进制幅度键控(MASK)、多进制频移键控(MFSK)以及多进制相移键控(MPSK或MDPSK)。
也可以把载波的两个参量组合起来进行调制,如把幅度和相位组合起来得到多进制幅相键控(MAPK)或它的特殊形式多进制正交幅度调制(MQAM)等。
2.3MFSK简介
多进制数字频率调制(MFSK)简称多频制,是2FSK方式的推广。
它是用不同的载波频率代表不同种数字信息。
多进制频移键控(MFSK)的基本原理和2FSK是相同的,其调制可以用频率键控法和模拟调频电路来实现,不同之处在于使用键控法的时候供选的频率有M个。
MFSK(多进制频移键控),是一种在各种频率离散音频脉冲爆发传送数字信息的信号调制方法。
它原来是欧洲和英国政府机构在20世纪中叶使用。
在那时它叫做Piccolo,一种乐器的名字,这种乐器的声音音调很高,就像一个MFSK信号经过收音机的喇叭时发出的声音。
MFSK的主要缺点是信号占用较宽的频带,信道频带利用率不高。
因此MFSK一般用于调制速率(
)不高的衰落信道传输场合。
2.4MFSK信号的频谱、带宽及频带利用率
键控法产生的MFSK信号,可以看作由M个幅度相同、载频不同、时间上互不重叠的2ASK信号叠加的结果。
设MFSK信号码元的宽度为
,即传输速率
(Baud),则MFSK信号的带宽为
;式中为
最高选用载频,
为最低选用载频。
为单个码元的带宽。
MFSK信号功率谱
如图2-4所示:
图2-4MFSK信号的功率谱
若相邻载频之差等于
,即相邻频率的功率谱主瓣刚好互不重叠,这时的MFSK信号的带宽及频带利用率分别为:
式中
,K=2,3,……。
可见,MFSK信号的带宽随频率数的增大而线性增宽,频带利用率明显下降。
因此,MFSK多用于调制速率较低及多径延时比较严重的信道,如无线短波信道。
2.5MFSK调制与解调的原理
图2-5多进制数字频率调制系统的组成方框图
MFSK调制原理和2FSK的基本相同。
串/并变换器和逻辑电路1将一组组输入的二进制码(每K个码元为一组)对应地转换成有M(
)种状态的一个个多进制码。
这M个状态分别对应M个不同的载波频率(f1,f2……fm)。
要求载频之间的距离足够大,以便用滤波器分离不同频率的谱。
当某组K位二进制码到来时,逻辑电路1的输出一方面接通某个门电路,让相应的载频发送出去,另一方面同时关闭其余所有的门电路。
于是当一组二进制码元输入时,经相加器组合输出的便是一个M进制调频波形。
多进制频移键控的解调部分由M个带通滤波器BPF、包络检波器及一个抽样判决器、逻辑电路2组成。
各带通滤波器的中心频率分别对应发送端的各个载波频率。
因而,当某一已调信号到来时,在任一码元持续时间内,只有与发送端频率相应的一个带通滤波器能收到信号,其它带通滤波器只有噪声通过。
抽样判决器的任务是比较所有检波器输出的电压,并选出最大者作为输出,这个输出是一位与发送端载波频率相应的进制数M。
逻辑电路2把这个M进制数译成K位二进制并行码,并进一步做并/串变换恢复二进制信息输出,从而完成数字信号的传输。
3仿真结果与分析
3.1八进制的随机序列
在本次课程设计中M=8,所以是每3个码元为一组,这8个状态分别对应8个不同的载波频率。
8FSK采用8种不同的频率分别表示三比特信息。
如图3-1所示:
图3-1二进制随机序列的产生
程序的运行过程是:
首先产生随机序列码(如图3-1所示注:
此序列为随机序列,每一次运行程序所产生的序列都不同。
)
对应表3-1,当时间等于某一值时,可根据纵坐标码元的值对照表3-1得出其信息序列。
码元
0
1
2
3
4
5
6
7
比特
000
001
010
011
100
101
110
111
表3-1M=8时的码元
3.2调制后的信号
图3-2-1调制后的信号
已调信号的眼图如3-2-1图所示
图3-2-2未加入高斯白噪声已调信号的眼图
由图3-2-2可知眼图的线迹是比较清晰的带状的线,线条较细,清晰,“眼睛”张开的大,说明未加入高斯白噪声的已调信号码间串扰比较小。
3.3加入高斯白噪声后的已调信号
然后通过调用函数对随机序列进行调制,如图3-3-1所示。
在调制信号中加入高斯白噪声如图6所示。
图3-3-1加入高斯白噪声的已调信号
在实际中,只要噪声的功率谱均匀分布的频率范围远远大于通信系统的工作频带,我们就可以把它视为白噪声。
如果白噪声取值的概率服从高斯分布,则称为高斯白噪声。
加入高斯白噪声后已调信号的眼图如下图3-3-2所示:
图3-3-2加入高斯白噪声后已调信号的眼图
由图可知眼图的线迹是比较模糊的带状的线,线条较粗,模糊,“眼睛”张开的小,说明加入高斯白噪声的已调信号噪声大,码间串扰比较大。
3.4MFSK的解调
3.4.1滤除高斯白噪声
图3-4-1升余弦滤波器前后波形比较
图3-4-1中红线表示:
加入高斯白噪声的已调信号;蓝线表示:
经过升余弦滤波器后的已调信号。
升余弦滤波器本质上是一个低通滤波器,滤除了高频成分,减小了码间串扰和噪声。
只不过是他的滚降因子会对波形的幅度产生一定影响,一般是降低了波形的幅度并且低通。
减小了码间串扰和噪声。
3.4.2相干解调后的信号
在通过调用函数让函数通过相干解调方式进行解调,解调信号如图3-4-2所示
图3-4-2相干解调后的信号原序列比较
因为MFSK信号占用较宽的带宽,频带利用率不高,所以MFSK一般用于调制速率不高的衰落信号的传输场合,这些信道会引起信号的相位和振幅随机抖动和起伏。
余弦滚降滤波器只能减小码间串扰和定时误差的影响,不能完全消除噪声,所以相干解调后的信号与原信号存在误差。
3.4.3非相干解调后的信号
在通过调用函数让函数通过非相干解调方式进行解调,解调信号如图3-4-3所示
图3-4-3非相干解调后的信号原序列比较
因为MFSK信号占用较宽的带宽,频带利用率不高,所以MFSK一般用于调制速率不高的衰落信号的传输场合,这些信道会引起信号的相位和振幅随机抖动和起伏。
余弦滚降滤波器只能减小码间串扰和定时误差的影响,不能完全消除噪声,所以非相干解调后的信号与原信号也存在误差。
3.5MFSK系统的抗噪声性能
3.5.1相干解调时的误码率
图3-5-1相干解调后误码率统计
注释:
图3-5-1中右上角的意思为:
绿线表示二进制误码率和信噪比之间的关系,红线表示八进制误码率和信噪比之间的关系。
在相同误码率的情况下,随着进制数M的增大信噪比减小;在相同信噪比的情况下,随着进制数M的增大误码率减小。
MFSK信号采用相干解调(相干检波器)时系统的误码率为上界公式为:
;
可以看出,多频制误码率随M增大而减小,但与多电平调制相比增加的速度要小的多。
所以MFSK信号在相干解调时的设备复杂,应用较少。
3.5.2非相干解调时的误码率
图3-5-2非相干解调后误码率统计
注释:
图3-5-2中右上角的意思为:
绿线表示二进制误码率和信噪比之间的关系,红线表示八进制误码率和信噪比之间的关系。
在相同误码率的情况下,随着进制数M的增大信噪比减小;在相同信噪比的情况下,随着进制数M的增大误码率减小。
MFSK信号采用非相干解调时(包络检波器)系统的误码率为:
;式中r为平均信噪比。
为每比特的信噪功率比。
M=8,K=3,如表3-1所示,在任一一列中均有4个“0”和4个“1”。
所以在给定的比特位置上的信息和其他
种码元在同一位置上的信息相同,和其他
种码元在同一位置上的信息则不同。
所以比特错误率
和码元错误率
之间的关系为:
;当K很大时,
。
对于给定的误码率,所需的信号功率随M的增大而下降。
但是由于M的增大,MFSK信号占据的带宽也随之增大,频带利用率下降。
比较相干和非相干解调的误码率,当
时,误码率的上界都可以表示为:
课程设计总结
本次课程设计我做的课题是多进制频移键控MFSK的调制与解调项目,并且通过运用Matlab语言进行实现,通过这次课程设计,让我重新复习了MFSK的调制与解调技术,并通过编程Matlab语言的实现让我也加深了对调制与解调的理解,与此同时,在程序的运行和实现的一遍又一遍的重复中,也让我基本熟悉掌握了Matlab的使用方法。
通过这次的练习,不仅让我加深了对课本内容的理解,让课本内容与实践相结合,更重要的是又让我提高了动手与思考的能力。
这也是我在以后的的学习和生活中所需要和慢慢培养的。
通过这次课程设计,我们学会了很多,收获了很多,并且加强了我们的自主能力、动手能力和独立思考、团结协作的能力。
致谢
通过这次为期一周的通信课程设计,我的题目是多进制频移键控MFSK的调制与解调。
这就要求我们需要完成信号的调制解调以及抗噪声性能的分析等问题。
通过我们对这次项目的学习和理解,综合运用课本中所学到的理论知识完成一个多进制频移键控MFSK的调制与解调项目的课程设计。
以及锻炼我们查阅资料、方案比较、团结合作的能力。
学会了运用MATLAB编程来实现MFSK调制解调过程,并且输出其调制及解调过程中的波形,并且讨论了其调制和解调效果,分析了抗噪声性能,增强了我的动手能力,为以后学习和工作打下了基础。
在设计中也得到很多见识,获得或理解知识时的欣喜与在一个问题上的纠结都是很宝贵的,在这种情绪的反复中,认识到学习就是这样一个过程。
不管过程怎样,以小见大的反射出以后学习的态度。
互相交流可以加深学习,找出问题,相互弥补不足,在资料的采集方面提高了不少效率,也提高的每个个体的兴奋度,真切体会集体学习给我们带来的益处,学习是快乐的。
这次课程设计带给我的不仅仅是学识上的精进还有个人能力素养的提升,也督促培养了个人独立思考、善于查阅并应用相关资料书籍的能力。
经过这次课程设计,我收获很多。
我会在以后的学习生活中继续保持这种求真务实的精神,努力学好理论知识,更好的为实践服务。
最后也感谢蒋霞老师和张树艳老师的指导!
参考文献
[1]樊昌新,曹丽娜.通信原理.国防工业出版社,2011
[2]郭文彬桑林编.通信原理-基于MATLAB的计算机仿真.北京邮电大学出版社.2006.2
[3]王华李有军编.MATLAB电子仿真与应用教程(第二版).国防工业出版社.2007.3
附录
Fc=10;%载频
Fs=40;%系统采样频率
Fd=1;%码速率
N=Fs/Fd;
df=10;
numSymb=25;%进行仿真的信息代码个数
M=8;%进制数
SNRpBit=60;%信噪比
SNR=SNRpBit/log2(M);
seed=[1234554321];%seed是产生随机数的一个种子,如果不设置seed那么,rand每次产生的随机数都是一样的,因为种子是一样的,所以要想产生不一样的随机数就要设置seed
numPlot=15;
%产生八进制随机码(对应表1,当时间等于某一值时,可根据纵坐标码元的值对照表一得出其信息序列)
x=randsrc(numSymb,1,[0:
M-1]);%产生八进制随机码
figure
(1)
stem([0:
numPlot-1],x(1:
numPlot),'bx');
title('八进制随机序列')
xlabel('Time');
ylabel('码元');
%调制
y=dmod(x,Fc,Fd,Fs,'fsk',M,df);%dmod是数字调制函数,这句就是实现fsk调制的
numModPlot=numPlot*Fs;
t=[0:
numModPlot-1]./Fs;
figure
(2)
plot(t,y(1:
length(t)),'b-');
axis([min(t)max(t)-22]);
title('调制后的信号')
xlabel('Time');
ylabel('Amplitude');
%在已调信号中加入高斯白噪声
randn('state',seed
(2));%matlab是伪随机数生成器seed设置的是种子根据这个种子生成第一个随机数,state是设置的随机数
y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');%在已调信号中加入高斯白噪声,awgn:
在某一信号中加入高斯白噪声
figure(3)
plot(t,y(1:
length(t)),'b-');%画出经过信道的实际信号
axis([min(t)max(t)-22]);
title('加入高斯白噪声后的已调信号')
xlabel('Time');
ylabel('Amplitude');
%相干解调
figure(4)
z1=ddemod(y,Fc,Fd,Fs,'fsk/eye',M,df);%带输出波形的相干M元频移键控解调,函数dmod实现数字调制,相应的解调函数为:
ddemod
stem([0:
numPlot-1],x(1:
numPlot),'bx');
holdon;
stem([0:
numPlot-1],z1(1:
numPlot),'ro');
holdoff;
axis([0numPlot08]);
title('相干解调后的信号原序列比较')
legend('原输入二进制随机序列','相干解调后的信号')
xlabel('Time');
ylabel('Amplitude');
%非相干解调
figure(5)
z2=ddemod(y,Fc,Fd,Fs,'fsk/eye/noncoh',M,df);%ddemod(x,Fc,Fd,Fs,'fsk',M,df),x是一个随机序列,Fd为码元速率,Fc为载频,Fs为采样频率,fsk表示为频移键控调制。
stem([0:
numPlot-1],x(1:
numPlot),'bx');
holdon;
stem([0:
numPlot-1],z2(1:
numPlot),'ro');
holdoff;
axis([0numPlot08]);
title('非相干解调后的信号')
legend('原输入二进制随机序列','非相干解调后的信号')
xlabel('Time');
ylabel('Amplitude');
%误码率统计
[errorSymratioSym]=symerr(x,z1);%求误码率函数symerr和simbasebandex求出误码率和信噪比并画出其图像
figure(6)
simbasebandex([0:
1:
5]);
title('相干解调后误码率统计')
[errorSymratioSym]=symerr(x,z2);
figure(7)
simbasebandex([0:
1:
5]);
title('非相干解调后误码率统计')
%滤除高斯白噪声
Delay=3;R=0.5;PropD=0;%滞后3s
[yf,tf]=rcosine(Fd,Fs,'fir',R,Delay);%rcosine是升余弦函数
[yo2,to2]=rcosflt(y,Fd,Fs,'filter',yf);%表示不进行过采样的直接滚降滤波
%加入高斯白噪声后的已调信号和经过升余弦滤波器后的已调信号
t=[0:
numModPlot-1]./Fs;
figure(8)
plot(t,y(1:
length(t)),'r-');
holdon;
plot(to2,yo2,'b-');
holdoff;
axis([030-1.51.5]);
xlabel('Time');
ylabel('Amplitude');
legend('加入高斯白噪声后的已调信号','经过升余弦滤波器后的已调信号')
title('升余弦滤波前后波形比较')
eyediagram(yo2,N);%眼图函数
title('加入高斯白噪声后的已调信号的眼图')