《基于FPGA的直接扩频通信系统设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的直接扩频通信系统设计.docx(8页珍藏版)》请在第一文库网上搜索。
1、基于FPGA的直接扩频通信系统设计目录导读1?扩频通信1?M序列2?伪随机码概述2?伪随机码选型2?m序列产生3?汉明码4?系统结构7导读本篇适用于有一定通信基础的大侠,本篇使用的理论不仅仅是扩频通信。为 了便于学习,本篇只把设计中使用的理论进行说明讲解。包括扩频通信、m序 列的产生、汉明码和补充说明,各位大侠可依据自己的需要进行阅读,参考学习。 第一篇内容摘要:本篇会介绍“理论基础”,包括扩频通信、M序列、汉明码等 内容,还会介绍系统结构。扩频通信香农(EShannon)在1945年、1948年和1949年连续发表了有关信息论和 通信加密以及系统安全性等3篇论文。最后给出信道容量的数学计算公
2、式:C=B l2 (1+S/N )(C:信道容量;B:带宽大小;S:信号能量;N:噪声能量)根据香农最后给出的信道容量公式(C=Blog2 (1+S/N)可知,信道容量 与带宽大小正好成正比,不论信噪比(S/N)有多小(但不会为零),只要带宽足够大, 信道容量就足够大。根据这个结论,引出了扩频通信技术。扩频通信,即扩展频谱通信技术(SPreadSPeCtrUmeommUniCation),通过扩 频调制用一个更高频率的伪随机码将基带信号扩展到一个更宽的频带内,使发射 信号的能量被扩展到一个更宽的频带内,从而看来如同噪声一样,使该系统更具 隐藏性和抗干扰性。接收端则采用相同的伪随机码进行解扩,从
3、而恢复出原始信 息数据。按照频谱扩展的方式的不同,现有的扩频通信系统可以分为直接序列扩 频(DireCt Sequence SPeeITUm)工作方式(简称直接扩频方式)、跳变频率(FreqUenCy HOPPing)方式(简称跳频方式)和混合方式四种。本文所设计的使用直接序列扩 频方式。直接序列扩频通信是将带传输的二进制信息数据用高速的伪随机码(PN码) 直接调制,实现频谱扩展后传输,在接收端使用相逆方式进行解扩,从而可以恢 复信源的信息。最能体现扩频通信的特点就是它具有优异的抗干扰能力。所以它 常常被运用于一些干扰性很强的通信领域中。比如无线通信。M序列伪随机码概述伪随机码也称为伪随机序列
4、。是模仿随机序列的随机特性而产生的一种码 字,也称为伪噪声序列或者伪噪声吗。直接扩频通信的性能取决于其伪随机序列 的性能,伪随机码序列是一种规律难以发现、具有类似白噪声统计特性的编码信 号。所以,伪随机序列通常有以下要求:0和1的个数基本相等,具有良好的随机性(由于数字通信通常以二 进制位多,所以要0的概率和的概率基本相等);具有尖锐的自相关特性,以保证通过同步伪随机序列完成扩频信号的解扩; 不同的PN序列具有很小的互相关特性,以防止通过不同的PN序列扩频 后的信号被此干扰;不同的PN序列具有很小的互相关特性,以防止通过不同的PN序列扩频 后的信号被此干扰;e.PN序列总量大,以满足多用尸需求
5、伪随机码选型根据上述要求,常用的序列有包括:m序列、gold序列和Walsh序列等, m序列通常容易硬件直接硬件实现;gold序列自相关性差;Walsh序列一般使 用写入双口 RAM中,然后启动读取逻辑序列产生,但耗费大量的硬件逻辑单元。故本设计选用了 m序列作为系统的伪随机码。m序列产生m序列是最长线性反馈移位寄存器序列的简称,它是最常用的一种伪随机 序列。由n级串联寄存器组成,通过反馈逻辑的移位寄存器设定初始状态后, 在时钟的触发下,每次移位后各级寄存器状态会发生变化。从任何一个寄存器输 出得到的一串序列,该序列称为移位寄存器。其框图如图1所示为一个时钟触 发下的时序电路。图1图中使用n个
6、寄存器,通常将a作为输出信号产生m序列。从上图也 可以看出,一个完成的n级m序列是由一个相应的线性反馈逻辑表达式,即 为:Qn=Clelml e CQg Cgg Cn0(其中,代表异或运算或叫模2加运算,Cn 0,l)由上式可知,只有当Cn=I时,对应的多项式才有效。为了便于表示,通常 将上式与本原多项式对应。本原多项式的数学表达式如下:nF(X) = g(C*jr-0仅当该多项式为本原多项式时才能产生m序列,以下列出部分本原多项式 表Io表1 2-10阶本原多项式n代数式备注2石+13+14*r+5s+iT2+l6g力177+y+8于以+了7+199+l4+l10,o+y+其中,n阶m序列具
7、有如下特点:序列长度为2n-l;0和1个数相当,即1的个数比0的个数多且仅多1个。本原多项式是由多位科学家及其科学工作者最终得来,关于它们的具体得 来,这里不作多解释。本文设计采用的是5阶m序列作为系统的伪随机码发生器,其对应的硬 件框图如图2o由于级联的寄存器初始状态不能全为Oo本设计中规定初始状态为:a4a3a2ala = 5, bl0000oa 输出的得到的 m 序列为:0000101011101100011111001101001o 从左 到右顺序输出。图2根据以上m序列的拓扑结构图,我们就很容易使用FPGA的资源来设计5 阶的m序列,只要5个触发器和1个异或门就可以完成该设计。而Ve
8、rilog HDL语言更容易完成设计。具体内容,参考coder模块。?.汉明码数字信号在传输过程中常常因干扰而发生损坏。接收端接收到数据后可能错 误的判决。乘性干扰引起的码间串扰可以采用均衡的办法纠正。而加性干扰的影 响则需要其他办法解决。对于加性干扰,本文考虑使用差错控制措施。差错控制措施,即在数据中间添加必要的监督位,达到可以对错误数据的监 督和纠错能力。对于差错控制措施,前辈科学家和科学工作者也设计出多种方法, 各有各的优劣。本设计使用的是汉明码亿4),其中7为码组的总长度,4为原 始信息位数,则监督位为3位。故每发送4比特信息需要添加3比特的监督 位,监督位是根据信息位既定约束关系得到
9、。汉明码是一种能纠错1比特错误 的特殊的线性分组码。由于它的编译码简单,在数据通信和计算机存储系统中广 泛应用,如蓝牙通信技术和硬盘阵列等。本设计所使用的汉明码的最小码距为3,可以纠正1为错误,检测2位错 误。但对2位错误码并不能正确的纠错。尽管发生1位错的概率相对最高,但 在一些比较高的应用中汉明码不能满足要求。码距是指两个不同码组间对应位不 同的个数,例如1000111和10001100的码距为3o对于以上介绍比较乏味,以下使用另一种角度来对亿4)码进行介绍汉明码的 原理与设计过程。我们可以把添加纠错码作为一个系统,即输入4比特原始信息位 (a6,a5,Ma3)而输出带有3比特监督位(a2
10、,al,a)的码组。对于3个监督位,有以下规则:51 .监督位a2作为a6 a5和a4的偶校验码,即a2Aa6Aa5Aa4=0;52 .监督位al作为a6 a5和a3的偶校验码,即a2Aa6Aa5Aa3=0;53 .监督位a作为a6 a4和a3的偶校验码,即a2Aa6Aa4Aa3=0; ( 表示异或或者表示模2力口)对应以上3个监督位的规则,可以列出其对应的全 部码组,如表2o表2原始信息位监督位a6,a5,a4,a3)a2,al,a0000000010110010101111100100110010110101100110111000原始信息位监督位a6,a5,a4,a3a2,al,a100
11、0Ill1001100101001010111Iloo111010101110100IlllIll从上表中,不难看出,纠错码产生系统输出由a6a5a4a3a2ala构成,而每发送一个码组,只发送4比特的原始信息。从上表中,也不能直观的说明该编 码方式可以纠错1位码元,而不能纠错2位,而图3正好可以解释。图3图中3个大圆圈对应3个监督位的三个规则,可以这么理解,如下:1如果接收到的信息只不符合规则“S1”,则对应图中a2;如果接收到的信息只不符合规则“S2”,则对应图中al;如果接收到的信息只不符合规则“S3”,则对应图中aO;如果接收到的信息不符合规则“S1”和“S2”,则对应图中a2al;如
12、果接收到的信息不符合规则“S1”和“S3”,则对应图中a2a;如果接收到的信息不符合规则“S2”和“S3”,则对应图中ala;如果接收到的信息不符合规则“SI”、“S2”和“S3”,则对应图中的a2ala0从图3中,可以给出一个结论,只要错误码只有1位,系统就可以纠正错 误;而如果错误码达到2位,就无法纠正错误。根据以上两表对应关系可以推出以下错误规则和误码位置关系的结论,列出如表3所示。表3Sl S2 S3误码位置Sl S2 S3误码位置001a101a4010al110a5100a2111a6Olla30无错(注明:对应的1表示错误,例如Sl S2 S3等于OOL表示接收到的数据违反规则S
13、3)从以上对汉明码的原理,到设计使用(7,4)码的设计,设计中的3个监督位 都可以使用异或操作完成。具体内容将在后面介绍。?.系统结构对于该系统,我们最注重的是原始码元汉明码编码、扩频、信道编码、频解 码和纠错码系统。当然,由于设计仿真需要模拟一些关于加性干扰,不得不在模拟发送过程中添加干扰源。加上测试平台的模块构成了整个系统的通信方式,便图中包括整个设计的构架,也是数字信号传输的基本模型。包括信源、汉明 码编码、m序列发生器、解扩器、m序列同步器、汉明码解码器和信宿等。 Testbench平台会把信源和信宿进行比对,输出传输的结果,并且打印到屏幕上 供查看。其中,发送端和接收端才可综合,其它模块均用于测试,不可综合。噪 声发送器为模拟信道传输过程中的干扰。加法器表示加性干扰。各个模块的代码 对应如表4所示。表4模块与代码文件对应关系序号模块代码文件1信源mcu2汉明码编码、m序列编码、异或门coder3噪声发生器、加法器add_noise4m序列同步器、解扩decoder5汉明码解码correct6信宿slave还有一些相关的文件,将在中篇详细说明。本篇到此结束,后续带来直接扩频通信(中),关于系统的VeriIogHDL实 现相关内容。