基于FPGA实现PN序列发生器的设计

时间:2025-11-02  作者:Diven  阅读:0

近年来,扩频通信技术在移动通信、个人通信、室内无线通信以及卫星通信中得到越来越的应用。对于DS-CDMA(Direct Sequence-Code Division Multiple Access,直接序列-码分多址)移动通信系统,因其具有较好的抗干扰性能而成为军事通信、民用通信以及宇宙通信的重要的通信体制。扩频通信的一项关键技术是扩频信号的设计,以及对捕捉和跟踪。在DS-CDMA移动通信中,也正是利用扩频码来实现用户多址,从而使多用户能同时共享同一频带进行通信。

基于FPGA实现PN序列发生器的设计

在扩频通信中,通常在伪随机序列(Pseudo-random Noise,PN)的基础上产生扩频码。扩频码(PN序列)的生成一直是通信工程师最关心的问题。随着FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)技术的发展,很多人采用FPGA来实现PN序列发生器。通常情况下应用FPGA来实现PN码生成器所采用的方法是利用触发器逻辑门来组成线性反馈移位寄存器,从而产生所需的PN序列。然而这种方法会占用大量的触发器资源,不利于缩小芯片面积及制造成本。SRL16 E是Xilinx公司Virtex II等系列FPGA的SlICe中的基本单元,应用来实现PN码生成器可以大大降低FPGA中专用触发器的使用量,从而减少FPGA片上面积的占用。

基本原理

PN码生成器的核心是LFSR(Linear Feedback Shift Regisiter,线性反馈移位寄存器),LFSR序列共有(2N-1)种状态(其中N为LFSR中寄存器的个数),寄存器中的数据在每个触发时钟周期右移一位。反馈由预先确定的寄存器引出,共同经过异或逻辑后,加到LFSR的左端。通常寄存器的个数越多生成的PN序列的长度就越长,其中生成的最长的序列成为M序列。

要实现LFSR序列的填充,需要在LFSR的反馈路径中加入一个多路复用器,利用这个多路复用器将实现期望的状态加载进去。需要注意的是在用一个特定的序列来填充时必须事先知道合适新填充的第一位从LFSR中输出。新的填充序列必须在相同的时钟周期内加载到LFSR中,并且新序列的第一位必须在并行加载完成后的第一个时钟周期被移出。如图1所示PN码生成器的原理图,共有17种寄存状态。下面来看并行加载是如何实现的。如果一个并行加载发生在T=0时钟周期,那么在T=17时钟周期时,通过fillsel指示反馈加入。这时,移位寄存器包含反馈加入前的长度为17位原序列,这17位的原序列在反馈加入时并未受影响。在接下来的17个时钟周期(即从T=17到T=0),原序列被移出,新的序列被移出,在T=0周期,新的序列移入完毕,反馈路径被断开,并在下一个时钟周期开始驱动新序列的第一位。这样,就如同新序列在一个单个的时钟周期T=0被并行加载一样。

图1 PN码生成器的原理图

PN码生成器的实现

SRL16E是基于查找表的移位寄存器,可以非常方便地配置成多个触发器级联输出的形式,因此应用SRL16E来实现PN序列,是非常高效的,并且能够很大程度地减少FPGA资源的占用。原先SRL16E由于在配制时需要注册而被认为比ASIC(Application Specific Integrated Circuit,特定用途集成电路)开销更大。现在,已成为FPGA中LUT(Look Up Table,查找表)配制模式的基本单元,可以非常方便地应用。并且这些基本单元在设计中应用得越多,那么设计所占用的专用触发器资源就越少。如图2所示为Xilinx公司Virtex II系列FPGA中的基本Slice结构示意图。

图2 Virtex II中的Slice结构示意图

应用SRL16E来实现LFSR时,一个Slice就可以生成一个16阶的LFSR,而用触发器来实现时,所用Slice的数量激增为16个。由此可见,应用SRL16E可以大大降低FPGA资源的占用。

假设LFSR多项式为g(x)=1+x5+x17,即图1所示的PN码生成器,则应用SRL16E来实现PN码生成器的电路图如图3所示。

图3 SRL 16E构成PN码生成器的电路图

图4为以SRL16E为基本单元,使用ISE软件设计的PN码生成器所得到的模块图。其中输出pn_out_i对应的LFSR多项式为:

图4 PN码生成器模块图

输出pn_out_q对应的LSFR多项式为:

对于图4所示PN码生成器,我们应用ISE软件内嵌的XST(Xilinx Synthesis Technology)综合工具对其进行综合,得到的仿真波形如图5所示。

图5 PN码生成器的XST仿真波形图

根据ISE生成的综合报告可得到图4所示PN码生成器仅仅占用4个Xilinx公司Virtex II系列FPGA的基本Slice单元,可见应用SRL16E来设计PN码生成器可以非常有效地节省FPGA资源。

应用SRL16E来实现PN码生成器的方法可以大大节省FPGA资源的占用量,并且由于SRL16E是被优化设计的模块,相较于传统的方法可提高所设计PN码生成器的效率。SRL16E还可以用来实现滤波器、除法器以及波形发生器等,在大的系统中,例如整个CDMA系统,通过使用SRL16E可有效降低整个FPGA资源的占用量,从而使功耗及成本等得到进一步的降低。

猜您喜欢

贴片电阻的阻值计算主要通过其表面标识来确定。常见的标识方法有三位数代码、四位数代码和EIA代码。三位数代码:前两位数字表示有效数字,第三位数字表示10的幂次方。...
2024-11-26 11:29:29

你是否想过,你的手机、笔记本电脑、电动汽车是如何将电池提供的直流电转换成不同电压等级,从而为各种元件供电的呢?这其中的奥秘,就隐藏在一个小小的电子元件——DC转...
2024-11-15 00:00:00

采样电阻作为电流检测和信号采集的重要组成部分,有着着关键作用。AVX作为全球知名的电子元件制造商,其采样电阻以高精度、高稳定性和多样化的型号广受欢迎。本文将围绕...
2016-05-03 02:24:30

贴片电阻上的522并不是直接表示阻值大小,而是采用数字编码的形式来表示。其中,前两位数字52代表有效数字,第三位数字2代表10的幂次方。具体来说,522的阻值计...
2024-11-29 10:25:57

在电子领域,贴片电阻是不可或缺的元件。而对于初学者来说,区分颜色相近的电阻值,比如蓝色和黑色,常常让人感到困惑。本文将提供一些简单实用的方法,帮助您快速识别蓝色...
2024-11-26 11:30:02

Intel公司的Stratix 10 SoC FPGA系列采用14nm三栅极(FinFET)和异构三维封装系统工艺技术,比以前高性能SoC FPGA提供2x核性...
2018-05-22 11:19:00

制冷系统和制冷机一样吗制冷系统和制冷机不完全相同,它们有一些区别。制冷机是指用于制冷的设备或机器,它们通过吸收热量并将其转移到其他地方,以将物体或空间的温度...
2023-08-18 16:21:00

在超高速数据采集方面,FPGA(现场可编程门阵列)有着单片机和DSP所无法比拟的优势。FPGA时钟频率高,内部时延小,目前器件的最高工作频率可达300MHz;硬...
2020-08-24 17:01:00

2017-02-17 00:00:00

电路保护元件的重要性日益凸显。WMDA自恢复保险丝作为高效、可靠的过流保护器件,因其自动复位的特性,应用于各类电子产品中。本文将围绕WMDA自恢复保险丝的大小规...
2024-09-20 05:24:30