版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、水声通信原理课程设计姓名: 班级: 学号:摘要本次设计以水下语音通信为背景,建立一个数字通信系统,首先通过分析设计要求了解了课题背景,从课本、图书馆、网络获取一定的资料,进行整理之后,先大致建立多个方案想法并比较其优缺点,结合各个方案想法的优缺点进行结合分析,然后选择其中之一重点分析确定该系统原理为:信源经过码激励线性预测语音编码(CELP)编码。再用卷积码对水声信道进行编码,然后用QPSK的方式进行调制。 在水声信道中,由于水介质的吸收使得可利用的工作频率较低,信道带宽较窄,因而通信速率也较低。要想在水中进行数字语音通信就必须对语音信息进行大幅度压缩,降低传输所需的比特率。本论文对数字语音压
2、缩算法进行研究,采用码激励线性预测语音编码(CELP)对原始语音进行编码,并采用带宽利用率较高的相位调制技术对压缩语音进行传输,同时结合自适应均衡等技术来有效地克服信道多途传播产生的码间干扰,纠错编码技术进一步降低系统的误码率。在设计过程中,先确定整个的流程框架,对该系统进行大致设计,画出整个设计的流程图,并初步分析系统画出系统框架图,对整个系统建立模型,并且运用具体知识分块设计,在每一步中进行设计,在给定参数的条件下完成系统设计,反复核查系统的可行性与可靠性,为了使系统能够正常运转,还运用了Matlab软件进行仿真,具体的分析仿真结果,依据仿真的结果进行综合性能分析与误差分析,以便更好的了解
3、此系统的整体性能。然后对于系统的结构可行性和最后的综合性能分析以及误差分析对系统进行总体评价。最后通过一段时间的准备与设计,对这次课程设计进行了总结,总结这次设计中出现的问题以及自己的收获,了解问题出现的原因并进行解决,并分析自己的收获,争取在下次的设计或者其他工作中取得更好的成绩关键字:水声数字通信 CELP matlab QPSK调制 Viterbi译码一 引言4二 原理介绍6三 方案选择8四 方案设计13五 仿真及结果13六 方案总结39七心得体会40八参考文献40一引言设计要求期望达到如下指标:平均传输速率:4kbitss传输距离:4千米左右误码率: 0.001以下带宽:3kHz,载频
4、60k。 假设信道中心频率f,带宽f的恒参信道。在假设信源的条件下,误码率是=f.设计计算系统各环节参数,包括参数计算,性能估计,实现框图,波形等。话音信号的标准带宽为300hz3400hz,此处我们假定中心频率为500,带宽f=3000hz。假设SNR=10db,由香农公式 算出信道容量C=10.38Kb/s课题背景海洋是人类生存活动十分重要的领域。海啸的准确预警,资源开发方面的水下自动生产系统,以及与国家安全有关的多种监控与观通等,它们要求现代的通信系统是:组成陆一海一空三维空间移动互联通信网。三维移动互联通信网的组成,当前主要制约于水下通信。通常我们往往都是通过连接电缆来实现水下通信。但
5、有缆通信在应用中存在着很多弊端。比如,在深海、极地海域或恶劣海况下就很难开展工作,而电缆的“纠缠”问题更限制了潜器的机动灵活性,这些决定了水下通信要想摆脱这种类似“脐带”的束缚,必须向无缆的方向发展。在陆地上,我们通常都是利用无线电方式进行无缆通信,但在水下,无线电波的吸收和衰减都很大,只能以极低的发射频率(30 Hz300 Hz)、大型天线和很高的发射功率进行工作,传输距离很短,无法完成水下通信任务。最新研究发展的蓝绿激光技术已取得了相当的进展,但因其造价昂贵,且作用距离小,不适用于大规模、长距离地水下通信。相比较看来,在我们所熟知的各种能量形式中,只有声波在水下的传播性能为最好,这使得以声
6、波为载体的水声通信成为水下通信的主流。但是水声信道有如下特点:1有限通信带宽由于声波在传播过程中的几何扩展及介质的粘滞、散射、反射、热传导等物理吸收,引起声波能量的损失。这种传播过程中的能量损失随着通信系统作用距离和工作频率的增加而增加,其中声吸收损失系数与声波频率的平方成正比这些限制了水声通信系统的最大作用距离和最高频率,进而限制了系统的通信带宽。2多途效应水声信道是缓慢时变的相干多途信道,在相干时间长度内,可简化为相干多途信道,仅存在多途效应。多途的形成与海洋环境和码元频率有关,其产生的机理有两种情况:在浅海信道,由于界面(海底、海面及目标)反射造成;而在深海,则主要由不同发射角的声线在传
7、播过程中产生的弯曲造成,在某个区域,多条声线的相位达到一致,可形成会聚区。多途传播引起信号时问扩展。在浅海,多途扩展时间可达几百毫秒,而在深海扩展时间可至几秒。在所传送的码元间隔小于多途时间扩展的情况下,水声信道的多途效应将导致水声通信系统接收端信号中出现码间干扰ISI(Intersymbol Interference),从而引起误码,降低系统的可靠性。多途效应是水声通信系统设计中最难克服的障碍,也是限制水声通信系统性能的主要因素。3海洋环境噪声和本地噪声海洋环境噪声和本地噪声是水声通信的主要干扰背景,影响系统的接收信噪比,从而影响通信距离和可靠性。噪声和多途效应在远程和近程通信中对可靠性的影
8、响不同:远程通信中,噪声和多途效应共同影响通信可靠性,而在近程通信中,多途效应的影响是主要的。4空变、时变、随机性信道可被看为空变、时变的梳状滤波器,由若干子通带构成,每个子通带宽度只有几十几百赫,其形状随时间和空间而变化。只有接收端实时感知信道的变化,才能有效的译码,所以,译码过程必需与信道的变化相匹配。信道编码也需考虑信道的空变、时变性。5多普勒效应信道的时变、空变性,以及接收机与发射机之间的相对运动均可导致多普勒频移效应,它与收发点相对运动的速度及工作的频率成正比例关系。由于信号的多普勒频移,导致解码时系统检测能力降低,在某些情况下,为考虑多普勒容限,甚至还要降低系统的通信速率。概括地说
9、,水声信道是一个带宽严重受限的缓慢时变、空变相干多途信道,传输条件十分恶劣,这些给水声通信的研究带来很大的难度。Matlab简介:Matlab是一种交互式的、以矩阵为基础的软件开发环境,它用于科学和工程的计算与可视化。Matlab的编程功能简单,并且很容易扩展和创造新的命令与函数。应用Matlab可方便地解决复杂数值计算问题。Matlab具有强大的Simulink动态仿真环境,可以实现可视化建模和多工作环境间文件互用和数据交换。Simulink支持连续、离散及两者混合的线性和非线性系统,也支持多种采样速率的多速率系统;Simulink为用户提供了用方框图进行建模的图形接口,它与传统的仿真软件包
10、用差分方程和微分方程建模相比,更直观、方便和灵活。用户可以在Matlab和Simulink两种环境下对自己的模型进行仿真、分析和修改。用于实现通信仿真的通信工具包(Communication toolbox,也叫Commlib,通信工具箱)是Matlab语言中的一个科学性工具包,提供通信领域中计算、研究模拟发展、系统设计和分析的功能,可以在Matlab环境下独立使用,也可以配合Simulink使用。另外,Matlab的图形界面功能GUI(Graphical User Interface)能为仿真系统生成一个人机交互界面,便于仿真系统的操作。因此,Matlab在通信系统仿真中得到了广泛应用,本文
11、也选用该工具对数字通信系统进行仿真。二通信系统原理介绍 信号可用来传输信息,是消息或数据的电磁编码。信息可用语言、文字、图象等表达,但在很多情况下,这些表达信息的语言文字不便于直接传输。因此在近代科学技术中,常用电信号来传送各种信息,即利用一种变换设备把各种信息转换为随时间作相应变化的电流或电压进行传输。这种随信息作相应变化的电压或电流就是电信号 通信系统可按照信道中传输的是模拟信号还是数字信号而分为模拟通信系统和数字通信系统。数字通信以其抗干扰能力强、无噪声累积、便于计算处理、便于加密、易于小型化、集成化等优势,成为当代通信领域的主流技术。 数字通信较之模拟通信有以下优点:1、 抗干扰能力强
12、,无噪声积累 电信号在信道中传送时,会受到各种各样的电气干扰。在模拟通信中,这种干扰是很难消除的,使得通信质量变坏。而数字通信在接收端是根据收到的“ 1 ”和“ 0 ”这两个数码来判别的,一般不会影响通信质量。2、 保密性强,易于实现检错纠错 模拟信号在传送过程中能量会逐渐发生衰减使信号变弱,为了延长通信距离,要在线路上设立一些增音放大器。但增音放大器会把有用的信号和无用的杂音一起放大,杂音经过一道道放大以后,就会越来越大,甚至会淹没正常的信号,限制了通信距离。数字通信可采取“整形再生”的办法,把受到干扰的电脉冲再生成原来没有受到干扰的那样,使失真和噪音不易积累。3、 便于建立综合通信网 模拟
13、通信传送的电信号,加密比较困难。而数字通信传送的是离散的电信号,很难听清。为了密上加密,还可以方便地进行加密处理。加密的方法是,采用随机性强的密码打乱数字信号的组合,敌人即使窃收到加密后的数字信息,在短时间内也难以破译。4、 设备可集成,微型化 数字通信的电路主要由电子开关组成,很容易采用各种集成电路,体积小、耗电少。5、 占用频带宽 数字通信的缺点是数字信号占用的频带比模拟通信要宽。一路模拟电话占用的频带宽度通常只有 4 千赫,而一路高质量的数字电话所需的频带远大于 4 千赫。但随着光纤等传输媒质的采用,数字信号占用较宽频带的问题将日益淡化。 数字通信将向超高速、大容量、长距离方向发展,新的
14、数字化智能终端将产生。数字通信系统首先将模拟的语音信号经过模数转换为数字信号,其中经过抽样-量化-编码的过程。再对信号进行ASK调制,经过功率放大器后进行传输,接收端再进行相应的解调和译码,最终恢复出原始信号。信息源发送设备信道接收设备受信者噪声源通信系统的一般模型图中,信息源(也称发终端)可以把需要传输的消息经过转换变成原始电信号。信息源输出的信号我们通常称为基带信号。所谓基带信号是指没有经过调制(进行频谱搬移和变换)的原始电信号,其特点是频率较低,信号频谱从零频附近开始,具有低通形式。根据原始电信号的特征,基带信号可分为数字基带信号和模拟基带信号(相应地,信源也分为数字信源和模拟信源。)其
15、由信源决定。发送设备的功能是将信息和信道连接起来,即将信息源转换产生原始电信号(基带信号)再一次变换,使之可以在信道中传输。变换方式是多种多样的,比如调制适用于在需要频谱搬移的场合;对传输数字信号来说,发送设备又常常包含信源编码和信道编码等。 信道是指传送信号的物理性通道,可以是有线的,也可以是无线的,甚至还可以包含某些设备。图中的噪声源,是信道中的所有噪声以及分散在通信系统中其它各处噪声的集合。 在接收端,当接收设备收到由信道中传输的信号进行解调、译码、解码等。它的任务其实是发送设备的一个反过程,从带有干扰的接收信号中恢复出相应的原始电信号来。 受信者(也称信宿或收终端)是将复原的原始电信号
16、转换成相应的消息,同样他也是信息源工作的一个反过程。图中给出的是通信系统的一般模型,按照信道中所传信号的形式不同,可进一步具体化为模拟通信系统和数字通信系统。三方案选择1)信源编码语音信号的数字化,最简单的方法是对其直接进行模数转换;只要采样率足够高,量化每个样本的比特数足够多,则可以保证解码恢复的语音信号有很好的音质,不会丢失用用信息。然而对语音信号直接数字化所需的码率太高,例如,普通电话通信中采用8kHz采样,8比特进行量化,数据率则达到64kbitss。这样大的数据率即使对很大容量的传输信道也是难以承受的。尤其是在水声信道中,由于水介质的吸收使得可利用的工作频率较低,信道带宽较窄,因此,
17、要想在水中获得高质量的数字语音通信就必须对语音信息进行大幅度的压缩,降低传输所需的比特率,这对实时语音通信尤为重要。目前,在语音编码领域,低速率语音编码体制(码速率在48Kbs以下)因其广泛的需求而得到国内外研究者的重视。从技术角度讲,现代中低速语音编码体制主要有码本激励线性预测编码(CELP)和多带激励编码(MBE)。本系统采用CELP编码。CELP是Code Excited Linear Prediction的缩写。CELP是近10年来最成功的语音编码算法。CELP语音编码算法用线性预测提取声道参数,用一个包含许多典型的激励矢量的码本作为激励参数,每次编码时都在这个码本中搜索一个最佳的激励
18、矢量,这个激励矢量的编码值就是这个序列的码本中的序号。但是由于其非常复杂,所以在此对A律13折线的PCM编码进行了仿真。2)信道编码方式我们所掌握的信道编码方式有两种,线性分组码和分组码。线性分组码是把k个比特的序列编成n个比特的码组,每个码组的(n-k)个校验位仅与本码组的k个信息位有关,而与其他码组无关。为了达到一定的纠错能力和编码效率,分组码的码组长度通常都比较大。编译时会产生延时,随着n的增加而现行增加。卷积码把k个信息比特编成n个比特,但k和n通常很小,特别适宜于以串行形式传输信息,延时小。编码后的k个码元既与前段信息有关,还与其余各段信息有关。卷积码的纠错能力随N增大而增大,但差错
19、率降低。在编码器复杂性相同的情况下,卷积码的性能优于线性分组码。故本设计中采用卷积码来进行信道编码。3)调制方式水声信道的复杂特性是水声通信系统区别于其它通信系统,如无线电通信系统的最主要原因,它决定了水声通信系统的设计和性能。因而设计一个高效可靠的水声通信系统必须要考虑水声信道的特性。由于水声传播中信号的相位起伏较大,以往的水声通信系统都是采用非相干的调制方式,通过降低传输速率以获得较小的ISI,从而降低误码率,使用最多的是频移键控(FsK)调制方式。然而要在带宽严重受限的水声信道获得高传输速率,从理论上看这种非相干方式,无论系统的其他部分做得多么完善,在误码率容许的范围内,传输速率和带宽永
20、远是一对无法调和的矛盾,从而大大制约了水声通信的质量。在这种情况下,人们不得不寻求能更有效利用带宽的调制方式。近年来的最新研究向人们展示了一个可喜的成果:相位相干调制法不仅能满足系统对数据率的要求,至少可获得十倍以上的增益,而且随着数据率的提高,信道的相干性变好,自适应接收器对信道的跟踪误差下降,从而有效地改善了接收性能。下表列出了一些利用相位相于调制技术的水声通信系统的最新研究成果(来源于网络)。在各种相移键控方式中,用得较多且各方面性能都较好的是四相相移键控(QPSK),其原理介绍如下: 上图就是QPSK信号矢量图。图中的QPSK采用了格雷码编码方式,使得相邻相位所对应的码元只有一个比特不
21、同,这样,发生误码时,一般情况下只会有一个比特发生差错。本系统采用右图pi4方式,载波相位共有四个可能的取值,即pi4、3pi4、5pi4、7pi4。载波的4个可能相位中的任一个代表着两个bit的数据。这样每个符号代表两个bit,所以QPSK的符号速率是数据速率的一半,与BPSK相比,同样的信道带宽下,QPSK能传输两倍的信息量。换句话说,在保证一定的数据传输速率的基础上,QPSK将占用更小的带宽。这对于水下高速通信具有极其重要的意义。4)自适应均衡技术信道均衡技术是近年来在水声通信领域兴起的又一研究热点,使用以对抗水声信道多途传播效应的有效途径之一。均衡的目的是在接收端对于信道非理想特性造成
22、的信号畸变进行补偿,抑制接收信号之间的符号间干扰,从而尽可能的恢复发射波形。均衡器技术可以分为两类:线性均衡和非线性均衡。非线性均衡器包括判决反馈均衡器(DFE,Decision Feedback Equalizer)、最大似然符号检测器和最大似然系列估值器(MLSE,Maximum Likehood Sequence Estimator)。均衡器的结构有横向滤波器型和格型等等。均衡器的算法有最小均方误差算法(LMS,Least Mean Square Error)、递归最小二乘法(RLS,Recursive LeastSquare)、快速递归最小二乘法、平方根递归最小二乘法和递度最小二乘法等
23、等。下图就是一个简单的均衡器模型:5) 匹配滤波器匹配滤波器使滤波器输出信噪比在某一特定时刻上达到最大。其冲击响应函数h(t)=Kx(T-t),并且在T时刻进行采样。为了方便设计,有一种与匹配滤波器等效的最佳接收结构,即相关器。相乘与积分完成相关器的功能,在t=Ts时刻抽样值与匹配滤波器在t=Ts时刻的输出值是相等的。相关器的结构如下所示:积分x(t) ys(t) s(t)匹配滤波器的作用是为了修正码间串扰带来的信号畸变,在此处可以采用根升余弦滤波器。余弦滚降是指具有奇对称升余弦形状的过渡特性。升余弦滚降信号用来消除码间串扰,实际实现时采用的方式是由发送端的基带成行滤波器和接收端的匹配滤波器两
24、个环节公共实现。传输系统的传递函数二者的乘 积,所以每个环节均为平方根升余弦滚降滤波器。这样可以降低滤波器的实现难度数字通信中,实际发射出的信号是各个离散样值序列通过成形滤波器后的成形脉冲序列。 匹配滤波器是为了使得在抽样时刻信噪比最大。 当发送端成形滤波器用根升余弦滤波器,接收端同样用根升余弦滤波器匹配滤波时,既能够使得抽样时刻信噪比最高(即完成匹配滤波器的作用),又能够在一定的带限平坦信道中不引入码间干扰(满足Nyquist无码间干扰准则)。码间干扰是指除当前码元外其他码元波形在当前抽样判决时刻的抽样值总和非0,对判决起着干扰作用。6)信道译码由于信道编码采用的卷积码,卷积码的译码方式有三
25、种:维特比译码,序列译码和门限译码。维特比译码具有最佳性能,但是硬件实现较复杂,在应用中可以用维特比译码器来实现,近年来,已制造出单片维特比译码器,广泛应用于卫星通信中。维特比译码是建立在最大似然译码的基础上的。它的基本思想是将接受序列R与卷积码网格图上的路径逐分支的比较,比较的长度一般取(56)mn,然后留下与R距离最小的路径,称为幸存路径,而去掉其余可能路径,并将这些幸存路径逐分支的延长并存储起来。维特比译码器包括以下几个部分:1.输入与同步单元2.支路量度计算3.路径量度的存储与更新4.信息序列的存储与更新5.判决与输出单元四方案设计总体框图发送端与接收端均需要有各自的时钟,并两者是同步
26、的。信源编码:CELP信道编码:用卷积码进行编码。数字调制:QPSK 信道:加性高斯白噪声信道 数字解调:QPSK解调 信道译码器:Viterbi译码五仿真实现1)信源假定频率f为500hz,带宽f为1000hz假设信源是语音模拟信号x(t)=cos(2*f*t)的正弦信号。采用正弦发生器,产生幅度为1,频率为500的正弦信号: 仿真结果如下:2)信源编码(仿真PCM编码)信源编码的主要作用有两个,一是进行模数转换,二是降低信号的数码率。将模拟信号转换为数字信号必须用信源编码器对其进行模数转换,PCM编码分为三个步骤,分别为抽样-量化-编码。抽样:根据奈奎斯特抽样定理知,采样频率必须大于等于原
27、信号频率的二倍,即fs=2f.这里取十倍采样频率为fs=5000hz,Ts=1/5000s.抽样的目的是使模拟信号在幅度上连续,时间上不连续的信号。抽样信号为g(t)=(t-nTs). 量化:使时间上不连续,幅度上连续的抽样信号变为时间与幅度都不连续的信号量化分为线性量化和非线性量化。均匀量化是把输入的取样值的范围划分为若干等距离的小间隔,每个小间隔叫做一个量化级。当某一输入的取样值落在某一间隔内时,就用这个间隔内的中间值来近似的表示这个取样值的大小,并以此值输出。非均匀量化就是使用不等的量化间隔。此处采用非线性量化方法。非均匀量化的实际方法是将抽样值通过压缩再进行均匀量化。非均匀量化是根据信
28、号的不同区间来确定量化间隔的。对于信号取值小的区间,其量化间隔也小;反之,量化间隔就大。它与均匀量化相比,有两个突出的优点。首先,当输入量化器的信号具有非均匀分布的概率密度(实际中常常是这样)时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例。因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的量化信噪比。模拟入量化器量化值在simulink中进行仿真,仿真图为:抽样信号为:抽样后信号为:去极性后为:A律13折线压缩后如下图:量化后如下:表1-2段落码 表1-3段内码编码:(即把整数转换为二进制数)用整数-位转
29、换器完成,其产生的是8路信号复用的信号。我们拿出其中一路来观察:3)信源解码:仿真图如下:到了接受端信号进过位-整数转换器(bit to integer converter )后得到如下波形:再经过A律扩编器(A-Law Expander)得到如下波形:再与极性码相乘,并进过零阶保持器(Zero-Order Hold)就得到了最终的结果,如下图所示:可以看到,较好的恢复了原有信号。4)信道编码信道编码是为了使误比特律进一步降低满足指标要求的手段。具体做法是:在发送端被传输的信息序列上附加一些监督码元,这些多余的码元与信息码元之间以某种确定的规则相互关联。接收端按照既定的规则检验信息码元与监督码
30、元之间的关系,一旦传输过程中发生差错,则信息码元和监督码元之间的关系将受到破坏,从而可以发现错误,乃至纠正错误。设计中采用卷积码,卷积码的性能优于线性分组码。卷积编码器的一般形式包括:一个由N段组成的输入移位寄存器,每段有k级,共有Nk级;一组n个模2和相加器;一个由n级组成的输出移位寄存器。对应于每段k个比特的输入序列,输出n个比特。整个编码过程可以看成是输入信息序列与移位寄存器和模2的连接方式所决定的另一序列的卷积。卷积码(n,k,m) 主要用来纠随机错误,它的码元与前后码元有一定的约束关系,编码复杂度可用编码约束长度m*n来表示。一般地,最小距离d表明了卷积码在连续m段以内的距离特性,该
31、码 可以在m个连续码流内纠正(d-1)/2个错误。相关Matlab程序如下:%主程序%卷积码的性能,(7,5), R=1/2clear all;close all;R=1/2;EbN0dB = 0:1:6;%BPSK调制EsN0dB = EbN0dB + 10*log10(R);N0 = 10.(-EsN0dB/10); %求AWGN信道的单边功率谱密度sigma = sqrt(N0/2);%卷积码的结构trellis = poly2trellis(3,7,5);error = zeros(1,length(N0);for k=1:length(N0)n = 0;while n100 %每个信
32、噪比下,仿真100帧%信源产生d1 = (sign(randn(1,1000)+1)/2;d = d1 zeros(1,2); %添加尾比特使编码后状态归0%卷码编码s = convencoder(d,trellis);%BPSK、经过AWGN信道r = (2*s-1) + sigma(k)*randn(1,length(s);%译码dd = viterbi(r,trellis);%误码计数error(k) = error(k) + sum( abs( dd(1:length(d1) - d1) )n = n+1 %计数仿了多少帧endber(k) = error(k)/(n*1000);en
33、dsemilogy(EbN0dB,ber);%程序2function out = convencoder(din,trellis)%卷积码编码器%输入:din 0,1序列码流% trellis Matlab格式网格结构(可以用poly2trellis获得)%初态为0curState = 0;for k=1:length(din)d(k) = trellis.outputs( curState+1,din(k)+1 );curState = trellis.nextStates( curState+1, din(k)+1 );endN = floor( log2(trellis.numOutpu
34、tSymbols) );out = dec2bin(d,N)-48;out = reshape(out,1,N*length(din);%程序3function out = viterbi(r,trellis)%软判决译码方式,2PSK,N = log2(trellis.numOutputSymbols);L = length(r)/N;numStates = trellis.numStates;numInputs = trellis.numInputSymbols;mem = log2(numStates);cur_metric= zeros(1,numStates)+Inf;cur_met
35、ric(1)=0;next_metric = -ones(1,numStates);path = zeros(numStates,L);sur_path = zeros(numStates,L);for k=1:L %译码时刻for st = 1:numStates %状态for i=0:numInputs-1 %输入dout = dec2bin( trellis.outputs(st,i+1),N )- 48;dout = 2*dout-1;dist = sum( (r(k-1)*N+1:k*N) - dout ).2 ); %计算欧式距离nextState = trellis.nextSt
36、ates(st,i+1) +1;x = cur_metric(st) + dist;if next_metric(nextState)0 %判断下一状态是否新写入?next_metric(nextState) = x;sur_path(nextState,1:k) = path(st,1:k-1) i;elseif x 0.5; % 调用一个随机函数(0 or 1),输出到一个1*100的矩阵datanrz=data.*2-1; % 变成极性码data1=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵for q=1:nb data1(q-1)/delta
37、_T+1:q/delta_T)=datanrz(q); % 将极性码变成对应的波形信号end % 将基带信号变换成对应波形信号data0=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵for q=1:nb data0(q-1)/delta_T+1:q/delta_T)=data(q); % 将极性码变成对应的波形信号end % 发射的信号data2=abs(fft(data1);% 串并转换,将奇偶位数据分开idata=datanrz(1:ml:(nb-1); % 将奇偶位分开,因此间隔m1为2 qdata=datanrz(2:ml:nb);% QPSK
38、信号的调制ich=zeros(1,nb/delta_T/2); % 创建一个1*nb/delta_T/2的零矩阵,以便后面存放奇偶位数据for i=1:nb/2 ich(i-1)/delta_T+1:i/delta_T)=idata(i);endfor ii=1:N/2 a(ii)=sqrt(2/T)*cos(2*pi*fc*t(ii); endidata1=ich.*a; % 奇数位数据与余弦函数相乘,得到一路的调制信号qch=zeros(1,nb/2/delta_T);for j1=1:nb/2 qch(j1-1)/delta_T+1:j1/delta_T)=qdata(j1);endfo
39、r jj=1:N/2 b(jj)=sqrt(2/T)*sin(2*pi*fc*t(jj);endqdata1=qch.*b; % 偶数位数据与余弦函数相乘,得到另一路的调制信号s=idata1+qdata1; % 将奇偶位数据合并,s即为QPSK调制信号ss=abs(fft(s); % 快速傅里叶变换得到频谱% 瑞利衰落信道ray_ich=raylrnd(0.8,1,nb/2/delta_T);ray_qch=raylrnd(0.8,1,nb/2/delta_T);Ray_idata=idata1.*ray_ich;Ray_qdata=qdata1.*ray_qch;Ray_s=Ray_ida
40、ta+Ray_qdata;% 高斯信道 s1=awgn(s,SNR); % 通过高斯信道之后的信号s11=abs(fft(s1); % 快速傅里叶变换得到频谱 s111=s1-s; % 高斯噪声曲线Awgn_s=awgn(Ray_s,SNR); % 通过高斯信道再通过瑞利衰落信道%QPSK 解调部分% 解调部分(高斯信道)idata2=s1.*a; % 这里面其实隐藏了一个串并转换的过程qdata2=s1.*b; % 对应的信号与正余弦信号相乘idata3=zeros(1,nb/2); % 建立1*nb数组,以存放解调之后的信号qdata3=zeros(1,nb/2);% 抽样判决的过程,与0
41、作比较,data=0,则置1,否则置0for n=1:nb/2% A1(n)=sum(idata2(n-1)/delta_T+1:n/delta_T); if sum(idata2(n-1)/delta_T+1:n/delta_T)=0 idata3(n)=1; else idata3(n)=0; end% A2(n)=sum(qdata2(n-1)/delta_T+1:n/delta_T); if sum(qdata2(n-1)/delta_T+1:n/delta_T)=0 qdata3(n)=1; else qdata3(n)=0; endend % 为了显示星座图,将信号进行处理idat
42、a4=zeros(1,nb/2);qdata4=zeros(1,nb/2);for n=1:nb/2 Awgn_ichsum(n)=sum(idata2(n-1)/delta_T+1:n/delta_T)*delta_T; if Awgn_ichsum(n)=0 idata4(n)=1; else idata4(n)=0; end Awgn_qchsum(n)=sum(qdata2(n-1)/delta_T+1:n/delta_T)*delta_T; if Awgn_qchsum(n)=0 qdata4(n)=1; else qdata4(n)=0; endend% 将判决之后的数据存放进数组
43、demodata=zeros(1,nb);demodata(1:ml:(nb-1)=idata3; % 存放奇数位demodata(2:ml:nb)=qdata3; % 存放偶数位%为了显示,将它变成波形信号(即传输一个1代表单位宽度的高电平)demodata1=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵for q=1:nb demodata1(q-1)/delta_T+1:q/delta_T)=demodata(q); % 将极性码变成对应的波形信号end % 累计误码数% abs(demodata-data)求接收端和发射端% 数据差的绝对值,累
44、计之后就是误码个数Awgn_num_BER=sum(abs(demodata-data) % 解调部分(瑞利+高斯)Ray_idata2=Ray_s.*a; % 这里面其实隐藏了一个串并转换的过程Ray_qdata2=Ray_s.*b; % 对应的信号与正余弦信号相乘% Ray_idata3=zeros(1,nb/2); % 建立1*nb数组,以存放解调之后的信号% Ray_qdata3=zeros(1,nb/2);% 抽样判决的过程,与0作比较,data=0,则置1,否则置0% for n=1:nb/2% if Ray_sum(Ray_idata2(n-1)/delta_T+1:n/delt
45、a_T)=0% Ray_idata3(n)=1;% else Ray_idata3(n)=0; % end% if Ray_sum(Ray_qdata2(n-1)/delta_T+1:n/delta_T)=0% Ray_qdata3(n)=1;% else Ray_qdata3(n)=0;% end% end % 为了显示星座图,将信号进行处理Ray_idata4=zeros(1,nb/2);Ray_qdata4=zeros(1,nb/2);for n=1:nb/2 Ray_ichsum(n)=sum(idata2(n-1)/delta_T+1:n/delta_T)*delta_T; if R
46、ay_ichsum(n)=0 Ray_idata4(n)=1; else Ray_idata4(n)=0; end Ray_qchsum(n)=sum(qdata2(n-1)/delta_T+1:n/delta_T)*delta_T; if Ray_qchsum(n)=0 Ray_qdata4(n)=1; else Ray_qdata4(n)=0; endend % 将判决之后的数据存放进数组Ray_demodata=zeros(1,nb);Ray_demodata(1:ml:(nb-1)=Ray_idata4; % 存放奇数位Ray_demodata(2:ml:nb)=Ray_qdata4;
47、 % 存放偶数位%为了显示,将它变成波形信号(即传输一个1代表单位宽度的高电平)Ray_demodata1=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵for q=1:nb Ray_demodata1(q-1)/delta_T+1:q/delta_T)=Ray_demodata(q); % 将极性码变成对应的波形信号end % 累计误码数% abs(demodata-data)求接收端和发射端% 数据差的绝对值,累计之后就是误码个数Ray_num_BER=sum(abs(Ray_demodata-data) % % 误码率计算% 调用了cm_sm32(
48、);和cm_sm33()函数%作用: cm_sm32()用于瑞利信道误码率的计算% cm_sm33()用于高斯信道误码率的计算% ecoh on/off 作用在于决定是否显示指令内容%SNRindB1=0:1:6;SNRindB2=0:0.1:6;% 瑞利衰落信道 for i=1:length(SNRindB1), pb,ps=cm_sm32(SNRindB1(i); % 比特误码率 smld_bit_ray_err_prb(i)=pb; smld_symbol_ray_err_prb(i)=ps; disp(ps,pb); echo off; end;% 高斯信道 echo on;for i
49、=1:length(SNRindB1), pb1,ps1=cm_sm33(SNRindB1(i); smld_bit_awgn_err_prb(i)=pb1; smld_symbol_awgn_err_prb(i)=ps1; disp(ps1,pb1); echo off;end;% 理论曲线echo on;for i=1:length(SNRindB2), SNR=exp(SNRindB2(i)*log(10)/10); % 信噪比 theo_err_awgn_prb(i)=0.5*erfc(sqrt(SNR); % 高斯噪声理论误码率 theo_err_ray_prb(i)=0.5*(1-1/sqrt(1+1/SNR); % 瑞利衰落信道理论误码率 echo off;end;%h = spectrum.welch; % 第一部分(理想)figure(1)subplot(3,2,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行工作总结勇攀高峰无往不胜
- 金融行业管理顾问工作心得
- 互联网金融行业销售工作总结
- 体验式餐厅设计师的文化体验与美食创新
- 家居用品采购心得体会
- 骨科护士长的工作总结
- 《消化道常见症状》课件
- 《健康食品排行榜》课件
- 2021年河北省张家口市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2022年四川省自贡市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2024年时政热点知识竞赛试卷及答案(共四套)
- 幼儿园后勤主任年终总结
- 除颤仪使用护理查房
- 初级消防设施操作员实操题库 (一)
- 2024版《糖尿病健康宣教》课件
- CURTIS1232-1234-1236-SE-SERIES交流控制器手册
- 2024年邮政系统招聘考试-邮政营业员考试近5年真题集锦(频考类试题)带答案
- 交接试验合同模板
- 医学教案SPZ-200型双向道床配碴整形车操作保养维修手册
- 期末 (试题) -2024-2025学年人教PEP版英语四年级上册
- 小流域水土保持综合治理项目工程施工设计方案
评论
0/150
提交评论