完整word版8PSK调制解调技术的设计与仿真.docx
《完整word版8PSK调制解调技术的设计与仿真.docx》由会员分享,可在线阅读,更多相关《完整word版8PSK调制解调技术的设计与仿真.docx(23页珍藏版)》请在冰豆网上搜索。
完整word版8PSK调制解调技术的设计与仿真
摘要
在数字信号的调制方式中8PSK是目前最常用的一种数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为简单。
调制技术是通信领域里非常重要的环节,一种好的调制技术不仅可以节约频谱资源而且可以提供良好的通信性能。
8PSK调制是一种具有较高频带利用率和良好的抗噪声性能的调制方式,在数字移动通信中已经得到了广泛的应用。
本次设计在理解8PSK调制解调原理的基础上应用MATLAB语言来完成仿真,仿真出了8PSK的调制以及解调的仿真图,包括已调信号的波形,解调后的信号波形,眼图和误码率。
在仿真的基础上分析比较了各种调制方法的性能,并通过比较仿真模型与理论计算的性能,证明了仿真模型的可行性。
关键字:
8PSK调制解调MATLAB分析与仿真
前言
信息化的社会,数字技术快速发展,数字器件也广泛的利用,数字信号的处理技术也越来越重要.进入20世纪以来,随着晶体管、集成电路的出现与普及、无线通信迅速发展.特别是在20世纪后半叶,随着人造地球卫星的发射,大规模集成电路、电子计算机和光导纤维等现代技术成果的问世,通信技术在不同方向都取得了巨大的成功.随着技术的进步,特别是超大规模集成电路和数字信号处理技术的发展,使得复杂的电路设计得以用少量的几块即成电路模块实现,有些硬件电路的功能还可以用软件代替实现。
因此使得一些较复杂的调制技术能够容易地实现并投入使用.这方面的条件使得新的更复杂的调制体制迅速地不断涌现。
8PSK的调制与解调具有一系列独特的优点,已经广泛应用于无线通信中,成为现代通信中一种十分重要的调制解调方式。
根据所处理基带信号的进制不同,分为二进制和多进制,多进制与二进制相比较,其频带利用率更高。
现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;这就要借助于功能强大的计算机辅助分析设计技术和工具才能实现。
MATLAB完成仿真,它由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面.包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器.随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
本设计主要研究数字通信过程中的调制解调过程.从原理上说受调载波可以是任意的,只要已调信号适合心动的传输就可以了,但是实际上,大多数通信系统中,都选择正弦信号作为载波。
这是因为正弦信号简单,便于产生和接收。
1.信道
1.1信道概念
信道:
信道就是信号的通道。
在数字通信系统模型中,可将其分为狭义信道和广义信道。
狭义信道:
用来传输电(光)信号,介于发送设备和接收设备之间的传输媒介;
广义信道:
凡信号经过的路径就称之为信道。
按所传输信号的形式,可分为调制信道和编码信道(是数字信道).
【注】如无特殊说明,通信领域中提起信道,应理解为广义信道。
发送方调制器的输出端到接收方解调器的输入端,称为调制信道,分为恒参信道和随参信道;
恒参信道:
信道传递函数与时间t无关的信道,如有线电缆、光纤、微波等;
随参信道:
信道传递函数与时间t有关的信道,如短波电离层反射、超短波流星余迹散射等;
发送方编码器的输出端到接收方译码器的输入端,称为编码信道;分为无记
忆信道和有记忆信道;
无记忆信道:
若每个输出的符号只取决于当前的输入符号,而与前后其他的输入符号无关时,称为无记忆信道。
(即前后码元的接收概率不存在关联性,概率是统计独立的。
)
有记忆信道:
若前后码元的接收概率存在关联性,则称为有记忆的编码信道。
1.2信道分类
信道可按不同的方式进行分类:
按用途分:
电话信道、电视信道等;
按传输的信号分:
模拟信道、数字信道;
按传输媒介分:
有线信道、无线信道;
按传输信号频谱分:
基带信道、载波信道;
按使用方式分:
专用信道、公共信道。
就总体而言,信道应看作一个线性系统,满足线性叠加原理。
信号在信道中传输,存在衰耗和时延,信道中总是存在噪声,信号在实际信道中传输,将会产生失真,任何信道都有一定的频率带宽,信道不可能传送功率无限大的信号。
2.8PSK的原理
2。
1基本原理
在八相调相中,把载波相位的一个周期0-2π等分成8种相位,已调波相邻相位之差为2π/8=π/4.二进制信码的三比码组成一个八进制码元,并与一个已调波的相位对应。
所以在调制时必须将二进制的基带串行码流经过串/并变换,变为三比特码元,然后进行调相.三比特码元的组合不同,对应的已调波的相位就不同。
8PSK信号可用正交调制法产生,方法如图2.1所示.输入的二进制信息序列经串/并变换后,分为三路并行序列BAC,每一组并行的BAC称为三比特码元。
每路的码元速率是输入数据速率的1/3。
A和C送入同相支路的2/4电平变换器,输出的电平幅度值为ak;B和C送入正交支路的2/4电平变换器,输出的电平幅度值为bk。
将ak和bk这两个幅度不同而相互正交的矢量合成后就能得到8PSK信号。
在图2。
1中,A用于决定同相支路信号的极性(A为“1”码时,ak为正;A为“0”码时,ak为负).B用于决定正交支路信号的极性(B为“1”码时,bk为正;B为“0”码时,bk为负)。
C则用于确定同相支路和正交支路信号的幅度(C为“1"码时,|ak|〉|bk|;C为“0”码时,|ak|<|bk|)。
图2.1正交调制法产生8PSK信号方框图
8PSK绝对移相调制利用载波的8种不同相位来表征数字信息.它把输入的二进制信号序列经过串并变换每次把一个3位的码组映射为一个符号的相位,因此符号率为比特率的1/3,它们与载波相位的映射关系如图2。
2所示
图2。
2位信息比特到8PSK符号的映射关系图
系统根据映射后的相位,计算出I,Q两路的数值,经过成形滤波,送入信道传输。
在接收端,首先经过匹配滤波滤除带外噪声和干扰,然后经过抽样相位判决,相位解码,并串变换,恢复出原始的数据流。
整个8PSK调制解调系统的基带仿真框图如下图2.3所示
图2.38PSK的调制解调原理图
由于8PSK存在相位模糊问题,因此可采用差分编码技术,将3位码组映射的相位值作为实际相位的增加量;在接收端,抽样判决后的相位值也须先经过相应的差分解码,恢复出原始相位值,之后再进行相位解码和并串转换就可恢复出原始数据流。
采用这样的带差分编码的8PSK(即D8PSK.)就可解决相位模糊的问题设计原理
2。
28PSK的调制
八进制移相键控(8PSK)调制。
由于8PSK将GMSK的信号空间从2扩展到8,因此每个符号可以包括的信息是原来的4倍.8PSK的符号率保持在271kbps,每个时隙可以得到69.2kbps的总速率,并且仍然能够完成GSM频谱屏蔽。
对于高速传输,为了提高频带利用率,多采用多进制调制方法,在一个波形周期(0,TS)内发送多个二进制符号.频带利用率能成倍增加。
8PSK,载波有(0,/4,/2,3/4,,5/4,3/2,7/4)八种不同的初相,可以在一个波形周期(0,TS)内发送3个二进制符号(000,001,010,011,100,101,110,111)。
频带利用率能达到6b/S/HZ。
由于8PSK信号幅度不是恒定的,因此,被调制信号将不再保持恒定幅度,它必须能够从任何起点到达任何相位位置。
这意味着8—PSK信号的幅度变化很大,这给RF放大器带来了较大压力,而且可能会导致进一步失真。
通过8PSK设计的增强功能,即3π/8旋转则能够降低较大的幅度变化。
所以,经过符号映射后的符号,应再按照F式进行3π/8弧度的符号旋转.
矢量图见图:
图2。
38PSK矢量图
函数首先将产生的二进制序列送入,在串并变换处分成3个电平,b1,b2和b3,其中b1用于决定同相路信号的极性,当其为1时,同路信号的极性为1,当其为0时,同路信号的极性为-1.b2用于确定正交路信号的极性,当其为1时,正交路信号的极性为1,当其为0时,正交路信号的极性为-1.
b3用于确定同相路和正交路的幅度,当8PSK信号幅度为1时,若b3为1时同相路的基带信号幅度应为0.924,而正交路幅度为0.383;若b3为0时,同相路信号幅度为0。
383,而正交路信号幅度为0.924。
求出I和Q以后就分别与相位相反的载波叠加。
最后相加就得到了调制后的8PSK信号.原理图见图:
图2.48PSK的调制原理图
2。
38PSK的解调采用双正交相干解调
8PSK信号与信道中的噪声叠加后输入解调器,首先将信号分解成四个独立的信号,然后分别与相位不同的载波相叠加,然后就是判决电路,当不对时,计数器加1。
判决出以后的信号就是b1,b2,b3最后将3个信号叠加起来就得到了输出信号。
蒙特卡罗分析就是分析信号信噪比的误码率和误比特率,然后对信号进行分析,与理论的误码率和误比特率进行对比。
原理图见图2.5。
图2.58PSK的双正交相干解调
2。
4眼图
眼图是信号由垂直扫描进入与同周期的水平扫描锯齿波叠加到示波器上时到得图案。
眼图能够反映信号在传输过程中受到的信道噪声影响的强度,眼图越模糊,眼睛越闭合,则说明噪声越强,反之,则说明噪声强度弱,也能说明信道性能更优良.
3.设计及仿真
3。
1MATLAB软件的介绍
MATLAB软件是美国Mathworks公司的产品,MATLAB是英文MATrixLABoratory(矩阵实验室)的缩写。
MATLAB软件系列产品是一套高效强大的工程技术数值运算和系统仿真软件,广泛应用于当今的航空航天、汽车制造、半导体制造、电子通信、医学研究、财经研究和高等教育等领域,被誉为“巨人肩膀上的工具"。
研发人员借助MATLAB软件能迅速测试设想构想,综合评测系统性能,快速设计更好方案来确保更高技术要求。
同时MATLAB也是国家教委重点提倡的一种计算工具.
MATLAB主要由C语言编写而成,采用LAPACK为底层支持软件包.
MATLAB的编程非常简单,它有着比其他任何计算机高级语言更高的编程效率、更好的代码可读性和移植性,以致被誉为“第四代”计算机语言,MATLAB是所有MathWorks公司产品的数值分析和图形基础环境.此外MATLAB还拥有强大的2D和3D甚至动态图形的绘制功能,这样用户可以更直观、更迅速的进行多种算法的比较,从中找出最好的方案。
从通信系统分析与设计、滤波器设计、信号处理、小波分析、神经网络到控制系统、模糊控制等方面来看,MATLAB提供了大量的面向专业领域的工具箱。
通过工具箱,以往需要复杂编程的算法开发任务往往只需一个函数就能实现,而且工具箱是开放的可扩展集,用户可以查看或修改其中的算法,甚至开发自己的算法。
目前,MATLAB已经广泛地应用于工程设计的各个领域,如电子、通信等领域;它已成为国际上最流行的计算机仿真软件设计工具.现在的MATLAB不再仅仅是一个矩阵实验室,而是一种实用的、功能强大的、不断更新的高级计算机编程语言。
现在从电子通信、自动控制图形分析处理到航天工业、汽车工业,甚至是财务工程.MATLAB都凭借其强大的功能获得了极大的用武之地.广大学生可以使用MATLAB来帮助进行信号处理、通信原理、线性系统、自动控制等课程的学习;科研工作者可以使用MATLAB进行理论研究和算法开发;工程师可以使用MATLAB进行系统级的设计与仿真。
3。
28PSK调制部分
本设计采用相位选择法进行8PSK调制。
其三位二进制序列与对应控制相位对应如下表
表1三位二进制序列与对应控制相位
111——--——π/8
110--—-—-3π/8
010———-——5π/8
011—--—--7π/8
001—-----9π/8
000—-—--—11π/8
100---———13π/8
101--—-——15π/8
对应上表,首先生成对应相位的同频载波,再根据输入二进制序列对每连续三位进行判决,输出相应相位的载波即可。
其MATLAB程序如下:
f=120%抽样频率
g=(sign(rand(1,150)-0。
5)+1)/2%产生二进制序列
sn=randn(1,50*length(g));%产生加性高斯白噪声
dt=2*pi/149;
t=0:
dt:
2*pi;
si=[];co=[];%si为正交分量,co为同相分量
sit=[];sqt=[];%sit为同相分量幅度,sqt为正交分量幅度
sb2=[];%输入二进制序列
%8PSK调制过程
forn=1:
3:
length(g);%一次取3个二进制数
ifg(n)==0&&g(n+1)==0&&g(n+2)==0
%b1b2b3=000时正交分量和同相分量的幅值
it=—0.383*ones(1,150);
qt=—0.924*ones(1,150);
b2=[zeros(1,50)zeros(1,50)zeros(1,50)]
elseifg(n)==0&&g(n+1)==0&&g(n+2)==1%b1b2b3=001时
it=-0.924*ones(1,150);
qt=—0。
383*ones(1,150);
b2=[zeros(1,50)zeros(1,50)ones(1,50)]
elseifg(n)==1&&g(n+1)==0&&g(n+2)==0
it=0。
383*ones(1,150);
qt=-0。
924*ones(1,150);
b2=[ones(1,50)zeros(1,50)zeros(1,50)]
elseifg(n)==1&&g(n+1)==0&&g(n+2)==1
it=0.924*ones(1,150);
qt=-0。
383*ones(1,150);
b2=[ones(1,50)zeros(1,50)ones(1,50)]
elseifg(n)==0&&g(n+1)==1&&g(n+2)==0
it=—0.383*ones(1,150);
qt=0。
924*ones(1,150);
b2=[zeros(1,50)ones(1,50)zeros(1,50)]
elseifg(n)==0&&g(n+1)==1&&g(n+2)==1
it=—0。
924*ones(1,150);
qt=0。
383*ones(1,150);
b2=[zeros(1,50)ones(1,50)ones(1,50)]
elseifg(n)==1&&g(n+1)==1&&g(n+2)==1
it=0。
924*ones(1,150);
qt=0.383*ones(1,150);
b2=[ones(1,50)ones(1,50)ones(1,50)]
elseifg(n)==1&&g(n+1)==1&&g(n+2)==0
it=0.383*ones(1,150);
qt=0.924*ones(1,150);
b2=[ones(1,50)ones(1,50)zeros(1,50)]
end
sb2=[sb2b2];
c=cos(f*t);s=sin(f*t);
sit=[sitit];sqt=[sqtqt];
co=[coc];si=[sis];
end
psk=sit.*co+sqt。
*si;%调制后的8PSK信号
仿真结果如下图:
图3.1二进制序列
图3。
28PSK调制
3.38PSK解调部分
采用双正交相干解调。
这里有四个不周相位的本地载波,分别分0,π/2,-π/4,π/4,其频率与发送端载波一样.四个不同相位的载波分别与一个周期的已调信号作乘法运算,然后进行判决。
具体判决方法是,把所乘结果的离散数据相累加,如果其和大于0,则相应判决码输出1,否则输出0。
实际上,由于作乘法运算之后的离散也为一对称的正弦离散信号,故只需取出此信号内的最大值与最小值,进行相加并判断其正负即可,这样减少了运算量。
对应2,b2对应于输入二进制序列的第一位,b1对应于输入二进制序列的第二位,b3和b4则对应于第三位,第三位的取值是b3b4求同或的值.
因此,程序首先生成四种相位的本地载波,然后对输入的已调信号的每一个周期内作乘法,再进行上述的判决。
程序如下:
rpsk=psk+sn;%加入加性高斯白噪声
rs=[];%rs用来存放解调后的二进制序列
form=1:
150:
50*length(g)—150;
rpsk1=rpsk(m:
m+149);%取一个码元
sit=rpsk1.*cos(f*t);
it=cumtrapz(sit)*dt;
it=it(end);%相关后得的I路电平
ifit〉0%对得到的电平进行判决
rs=[rsones(1,50)];
elseifit<0
rs=[rszeros(1,50)];
end
sqt=rpsk1.*sin(f*t);
qt=cumtrapz(sqt)*dt;
qt=qt(end);%相关后得的Q路电平
ifqt>0%对得到的电平进行判决
rs=[rsones(1,50)];
elseifqt〈0
rs=[rszeros(1,50)];
end
sb3=rpsk1。
*cos(f*t-pi/4);
b3=cumtrapz(sb3)*dt;
b3=b3(end);
sb4=rpsk1.*sin(f*t-pi/4);
b4=cumtrapz(sb4)*dt;
b4=b4(end);
b5=abs(b3+b4);%得到b3的电平并判决
ifb5<2
rs=[rsones(1,50)];
elseifb5>2
rs=[rszeros(1,50)];
end
仿真结果如下图:
图3.38PSK解调输出
图3.4比较图形
3.4高斯噪声、眼图
直接调用MATLAB的函数RANDN产生均值为0,方差为1的加性高斯随机噪声,眼图用MATLAB系统的函数EYEDIAGRAM对加入噪声的已调信号进行眼图观察。
误码统计中,对每一次加入噪声后解调输出的二进制序列与输入的二进制序列进行对比,计算解调后的误码数及其比率。
程序如下:
EsNodb=2:
0。
5:
12;%设置信噪比范围
Es=1;
No=10。
^(-EsNodb/10);
sigma=sqrt(No/2);%噪声功率,其值随信噪比而变
error=zeros(1,length(EsNodb));%错误计数
sdata=zeros(1,length(EsNodb));%进行比较判决抽样值的总的计数
fori=1:
length(EsNodb)
error(i)=0;
sdata(i)=0;
whileerror(i)<1000%误码数〈1000
d=ceil(rand(1,10000)*8);%产生信源10000个,返回大于或者等于指定表达式的最小整数
s=sqrt(Es)*exp(j*2*pi/8*(d—1));%复基带形式
r=s+sigma(i)*(randn(1,length(d))+j*randn(1,length(d)));
form=1:
8
rd(m,:
)=abs(r—sqrt(Es)*exp(j*2*pi/8*(m-1)));%rd有m行,每行对应r与m的差值,8*10000的二维数组
end
form=1:
length(s)
dd(m)=find(rd(:
,m)==min(rd(:
,m)));%找到rd的m列中最小的值的行序号(与之相对的判决电平值),%dd(m)即为接收到的m值,find()函数返回的是行号
ifdd(m)~=d(m)%与发送的m相比,进行误码计数
error(i)=error(i)+1;
end
end
sdata(i)=sdata(i)+10000;
end
end
pe=error./sdata;%仿真得的误码率
figure(5);
semilogy(EsNodb,pe,'b*:
’);holdon;
axis([2,12,10^(-2),10^0]);
gridon
xlabel('Es/No(db)’);ylabel(’误码率');
legend(’仿真结果’);
%绘眼图
tt=0:
150-1;%显示1个码元周期内的眼图
figure(6);
fork=1:
9
eyeprsk=rpsk(k*150:
(k+1)*150-1);%rpsk为接收到的8PSK信号
drawnow
plot(tt,eyeprsk);holdon;
axis([040-55]);
end
仿真结果如下图:
图3。
5误码率分析
从图中可以看出,此调制解调在没有加入噪声的情况下没有误码率,没有延迟,误码率为0,符合要求,性能良好.
眼图模块采用simulink仿真,模块连接如下图:
图3。
6眼图模块连接图
仿真结果如3。
7图和3。
8图:
3。
7未加高斯白噪声的眼图
图3.8加入高斯白噪声的眼图
由上图可知,眼图越模糊,眼睛越闭合,则说明噪声越强,反之,则说明噪声强度弱,也能说明信道性能更优良.
4.总结
在通信和信息传输系统、工业自动化或电子工程技术中,调制和解调应用最为广泛。
本设计研究了8PSK的调制和解调原理,以及利用MATLAB对其调制和解调进行了编程和编译仿真,得到的结论和理论上是一致的.简单而且快捷。
同时利用MATLAB中的8PSK的通信系统进行了仿真研究了其传输的特性,及传输中噪声对系统的影响。
而调制和解调的基本原理是利用信号与系统的频域分析和傅里叶变换的基本性质,将信号的频谱进行搬移,使之满足一定需要,从而完成信号的传输或处理。
调制与解调又分模拟和数字两种,在现代通信中,调制器的载波信号几乎都是正弦信号,数字基带信号通过调制器改变正弦载波信号的幅度、频率或相位,产生幅度键控(ASK)、相位键控(PSK)、频率键控(FSK)信号,或同时改变正弦载波信号的几个参数,产生复合调制信号。
本课程设计主要介绍基于Matlab对8PSK进制的调制仿真实现。
本研究具有可对比性,对比2PSK和4PSK的通信原理和星座图可发现其中的不同点,但是频谱图近似相同。
通信中信道的信噪比设置越大信噪传输越理想,与理论上是相符合的。
2PSK和4PSK的传输系统也具有对比性,本研究在文中列出了仿真过程中每个元件的仿真参数的设置。
比较其中不同点我们发现其中参数基本相似。
也说明了他们的传输原理基本相同,都利用了相位的不同表示了不同的码元传输。
通过这次课程设计,培养了我综合运用所学知识,发