CN106134519B - 星上高效率实现多路扩频加扰及成型滤波的*** - Google Patents
星上高效率实现多路扩频加扰及成型滤波的***Info
- Publication number
- CN106134519B CN106134519B CN201010047806.8A CN201010047806A CN106134519B CN 106134519 B CN106134519 B CN 106134519B CN 201010047806 A CN201010047806 A CN 201010047806A CN 106134519 B CN106134519 B CN 106134519B
- Authority
- CN
- China
- Prior art keywords
- road
- code
- read
- factor
- orthogonal variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
星上高效率实现多路扩频加扰及成型滤波的***,在单片FPGA上实现,包括***控制器、n路处理模块、两个合路器和两个成型滤波器;所述的***控制器内部含有用来预存各种初始值的RAM,初始值包括正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号以及复扰码的初始相位;所述的n路处理模块每路包括子控制单元、存储待处理数据的RAM、串并转换器、扩频码生成器、复扰码生成器、扩频调制器和复扰码调制器;本发明克服现有技术的不足,在满足卫星选用FPGA芯片规模及数量限制的条件下,可以高效率地实现多路信道扩频、加扰及成型滤波处理。
Description
技术领域
本发明涉及通信***中多信道的扩频、加扰及成型滤波处理领域,特别是涉及在卫星***上高效率地使用FPGA实现的方法。
背景技术
在通信***中,扩频处理是用一个高速数字序列与数字信号相乘,把一个数据符号转换成一系列码片,提高数字符号的速率,增加信号带宽,提高信号的抗噪声能力。加扰处理就是用一个伪随机序列与扩频之后的序列相乘,对信号起到加密、扰乱作用,并且能够用于区分用户、小区和信道。对于基带的数字信号,需要经过成型滤波进行波形变换之后才能够进行调制发射。可见,扩频、加扰以及成型滤波都是通信***中重要的处理操作。
当今,FPGA在数字电路设计中应用广泛,具有功能强大、集成度高、设计研发周期短、设计成本低以及质量稳定等诸多优点,越来越多的通信***使用FPGA来实现。但是,在实现过程中当需要处理多路通信***的时候,得占用很多的FPGA资源,因此就必须选用更大规模的FPGA芯片来实现。
由于卫星的工作环境特殊,FPGA在太空中使用容易受到多种宇宙射线辐射的影响,会导致FPGA的工作时序发生错误的翻转。逻辑资源越多的FPGA受到辐射影响工作发生错误的可能性也越大,所以为了保证卫星在轨工作的可靠性,在卫星上不宜使用逻辑资源过多的FPGA,也不宜使用较多的FPGA芯片。但是,在实际应用中又不能因为使用了小规模的FPGA而降低卫星的处理能力。
因此,在满足卫星选用FPGA规模限制的条件下,通过改进通信***处理的实现方法以提高小规模FPGA的处理能力,是非常有现实意义的。
发明内容
本发明的技术解决问题是:克服现有技术的不足,在满足卫星选用FPGA芯片规模及数量限制的条件下,提供了一种只使用单片小规模的FPGA即可以高效率地实现多路信道扩频、加扰及成型滤波处理的***。
本发明的技术解决方案是:星上高效率实现多路扩频加扰及成型滤波的***,在单片FPGA上实现,包括***控制器、n路处理模块、两个合路器和两个成型滤波器;所述的***控制器内部含有用来预存各种初始值的RAM,初始值包括正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号以及复扰码的初始相位;所述的n路处理模块每路包括子控制单元、存储待处理数据的RAM、串并转换器、扩频码生成器、复扰码生成器、扩频调制器和复扰码调制器;n≥2;
***控制器接收控制指令和初始值,按照该控制指令指定的时机从存储初始值的RAM中读取出预存的初始值,并将读取的初始值解析成每路处理模块可以识别的形式,根据控制指令产生用于控制每路处理模块协调工作的时序控制信号;***控制器根据控制指令分辨出解析后的初始值是属于哪一路的处理模块并通过多路选择器直接发给相应路的处理模块,其中正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号被发送给相应路处理模块中的扩频码生成器,复扰码的初始相位被发送给相应路处理模块中的复扰码生成器,并把所产生的时序控制信号也通过多路选择器发送给相应路的子控制单元;
子控制单元对接收的时序控制信号进行延迟处理,并在***预先设定的各个时刻,将经过延迟的时序控制信号作为启动信号发送给扩频码生成器、扩频调制器、复扰码生成器、复扰码调制器;
每路处理模块将物理信道中的待处理数据在存储待处理数据的RAM中进行缓存,待处理数据经过串并转换器后被分成两路信号输入给扩频调制器;
扩频码生成器设置有两个输入接口,分别用于接收***控制器传送来的经过解析后的正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号,对接收的扩频因子的编号进行查表转换处理,生成正交可变频因子码,并将生成的正交可变频因子码发送给扩频调制器;
扩频调制器将正交可变频因子码与串并转换后的两路信号分别实时地进行I路扩频调制和Q路扩频调制,并将两路扩频调制结果发送给复扰码调制器;
复扰码生成器,分为I路和Q路两个支路,根据***控制器传来的复扰码初始相位生成由实部和虚部组成的复扰码,并将该复扰码发送给复扰码调制器;
复扰码调制器,分别将I路扩频调制结果、Q路扩频调制结果按照复扰码的实部、虚部进行复加扰处理,得到I路、Q路两路复加扰后的序列,并分别输入给I、Q两路的合路器合成一路;每路合路的结果各通过一个成型滤波器进行脉冲成型处理,得到I、Q路两路成型输出。
所述的***控制器由一个状态机来实现,共有5个状态,分别是:idle、read_SF、read_k、read_scambl和read_xinxi,分别表示空闲状态、读取正交可变扩频因子码的扩频因子的编号状态、读取正交可变扩频因子码的码字序号状态、读取复扰码初始相位状态和读取待处理数据状态,各个状态之间的转移过程如下:
在idle状态,状态机产生读存储初始值的RAM的首地址,该首地址对应于扩频因子的编号的存储段的首地址;同时,产生对应于扩频因子的编号的存储段的终止地址,当控制指令到来后,把读存储初始值的RAM的起始地址和终止地址都传递到read_SF状态,之后状态机从idle状态转移到read_SF状态;
在read_SF状态,首先判断idle状态产生的地址范围是否正确,如果发生地址溢出,则状态机将回到idle状态,等待控制指令再次到来而启动状态机;如果地址范围正确,则状态机从存储初始值的RAM中的指定地址读取出扩频因子的编号,并把读到的编号锁存起来;当扩频因子的编号读取并存贮完毕之后,状态机产生***所使用的正交可变扩频因子码的码字的序号的存储范围,记录正交可变扩频因子码码字序号存储的起始和终止地址,并将记录的地址传递给read_k状态,之后状态机跳转到read_k状态;
在read_k状态,首先判断从read_SF状态传来的地址范围是否发生溢出,如果发生地址溢出则状态机回到idle状态,等待控制指令的再次到来;如果接收的地址正确,则从存储初始值的RAM中读取***所使用的正交可变扩频因子码的码字的序号,并把读到的序号锁存起来,之后状态机跳转到read_scambl状态;
在read_scambl状态中,状态机直接读取预存的复扰码的初始相位并锁存;并且,产生在存储待处理数据的RAM中存储的待处理数据的首地址,之后状态机跳转到read_xinxi状态;
在read_xinxi状态,首先分别判断得到的正交可变扩频因子码的扩频因子的编号、***所使用的正交可变扩频因子码的码字的序号和复扰码的初始相位是否符合规定的格式,如果不符合状态机则回到idle状态,如果符合则从锁存的正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号中提取出扩频码生成器可以识别并能使用的代表扩频因子的编号和扩频因子码码字序号的二进制序列,提取完成之后,把经提取后的扩频因子的编号、码字序号以及复扰码初始相位同时从***控制器中输出,并分别送往扩频码生成器和复扰码生成器,此时,状态机产生一个时序控制信号,并将该时序控制信号发送给子控制单元,子控制单元能够控制n路处理模块根据read_scambl状态产生的首地址从存储待处理数据的RAM中依次读取待处理的数据。
所述的扩频码生成器包括一个加法计数器、一个多位宽寄存器、一组模二加法器和查找表;加法计数器的宽度和多位宽寄存器的宽度都与用于表示正交可变扩频因子码码字序号的二进制序列的宽度一致,具体实现步骤如下:
首先,查找表将***控制器传来的扩频因子的编号进行查表转换生成对应的扩频因子,扩频码生成器把接收到的表示正交可变扩频因子码的码字序号的二进制序列按照从低位到高位的顺序依次存入多位宽寄存器中;之后,加法计数器按照所述的扩频因子设定计数范围,该计数范围对应于扩频因子的数值;
然后,加法计数器按照子控制单元传来的时序控制信号启动计数器,并且在每个时钟上升沿到来的时候自增一个数值,加法计数器的数值按位与寄存器中表示码字序号的二进制序列进行与运算,当达到计数范围之后计数器清零,计数器开始重新计数;
最后,在每个时钟节拍内,通过模二加法器组把所有位与运算的结果进行模二累加,累加的结果即为正交可变频因子码。
所述的复扰码生成器分为I、Q两路,每一路都由一个18级的反馈移位寄存器构成,每一路的反馈移位寄存器设计成不同的反馈逻辑,能够产生一对m序列,两个m序列之间满足优选对条件,二者相加结果构成一个Gold码序列,复扰码的实部是由I、Q两路反馈移位寄存器的输出序列直接模二加得到,而该复扰码的虚部则是由I路输出序列移位131072位之后与Q路输出的序列模二加得到。
所述的I路序列移位采用下列方式实现:每次反馈移位寄存器在时钟上升沿到来的时候按照反馈逻辑循环移动一位后,把I路的反馈移位寄存器的第5、第7和第16级上的数值通过模二加法器按位相加,同时把Q路的反馈移位寄存器的第6、第7、第9、第10、第11、第12、第13、第14、第15和第16级上的数值也通过模二加法器按位相加;之后,把这两个模二加法器相加得到的结果再都送往另一个模二加法器进行模二加,得到的结果就是复扰码的虚部。
所述的复加扰处理具体步骤如下:
复扰码调制器首先同时分别完成I路扩频调制结果和Q路扩频调制结果实数加、复扰码的实部和复扰码的虚部实数加以及复扰码的虚部与复扰码的实部实数减,并把以上的三个结果锁存起来;之后,同时分别把I路扩频调制结果和Q路扩频调制结果实数加得到的和与复扰码的实部进行实数乘,得到的结果记为乘积1,把复扰码的实部和复扰码的虚部实数加得到的和与Q路扩频调制结果进行实数乘,得到的结果记为乘积2,把复扰码的虚部与复扰码的实部实数减得到的差与I路扩频调制结果进行实数乘,得到的结果记为乘积3,并把以上的三个积锁存起来;最后,同时分别把乘积1与乘积2做实数减,得到的差就是I路复加扰后的序列,把乘积1与乘积3做实数加,得到的和就是Q路复加扰后的序列。
本发明与现有技术相比有益效果为:
(1)本发明分两个层次来实现多路信道间的控制。本发明设计有一个***控制器用于接收控制指令和各种初始值,同时***控制器与每一路的子控制单元相连。***控制器接收到控制指令和各种初始值后不进行存储,而是按照控制指令解析各种初始值,并根据控制指令区分出解析后的初始值是属于哪一路的处理模块,然后通过多路选择器把解析后的初始值直接发往相应路的处理模块;同时***控制器能根据控制指令产生时序控制信号,用于控制各路处理模块协调工作,之后通过多路选择器把时序控制信号直接发往相应路的子控制单元。***控制器由一个状态机构成,***控制器接收控制指令,并根据控制指令解析每路的初始值,状态机按照控制指令的帧结构,从帧的第一个信息段依次解析到最后一个信息段。在每一路处理模块中,都分布有与***控制器相联的子控制单元。子控制单元把从***控制器接收到的时序控制信号和各种初始值分配给相应路的处理模块,控制各路的处理模块按照指定的方式和时序协调同步工作。每路的子控制单元由一个加法计数器和一个移位寄存器组成,用来分配各种初始值和在指定的时刻分配时序控制信号。本发明设计的分布式控制方法不必耗费资源存储控制指令和初始值,并且每一路的处理模块只需要接收与自己有关的控制指令和初始值,逻辑简单,使用的资源少。
(2)本发明直接、实时地生成指定的扩频因子和指定的码字序号的正交可变扩频因子码,避免了使用存储单元,硬件实现结构非常简明,速度快,节省资源。
(3)根据复数乘法的原理,普通的复数乘法需要4个实数乘法器才能组成一个复数乘法器。但是,由于在FPGA中实数乘法器占用的资源比较多,并且本发明针对的是多路处理的应用场景,设法减少实数乘法器的个数就可以有效减少FPGA占用的资源。本发明设计的复数乘法算法,只需要使用3个实数乘法器就可以完成复数乘法运算。虽然本发明增加了一个加法器,但是与实数乘法器相比加法器占用的FPGA资源要小得多,因此所付出的代价是值得的。
(4)本发明能够实现对每一个处理通路都进行成型滤波处理。每一个处理通路经复数加扰之后,都分为实部和虚部两个部分,如果每部分都要分别完成成型滤波处理,对于n路处理通路来说,就需要2*n个成型滤波器。但是,在FPGA中成型滤波器无论是使用已有的IP核实现还是自行搭建实现都是非常耗费资源的,尤其是对于本发明所针对的小规模FPGA芯片应用场景来说,如果这样进行成型滤波处理最终将会导致无法在单片小规模FPGA上实现多路处理。本发明在设计时通过分析,证明:对于所有的通路来说,成型滤波和多路合路都是线性处理,而线性处理满***换律,因此对于整个***先把每路复加扰得到的结果按照实部和虚部分别进行合路,合路器由一个多位宽的实数加法器实现。然后,实部和虚部合路之后的结果再分别送往成型滤波器。在本发明中成型滤波器使用IP核来实现。经过这样布局之后,整个***只需要两个成型滤波器就可以实现整个***的成型滤波处理,节省了大量的成型滤波器所占用的FPGA资源。
(5)本发明整体节省了FPGA的资源,使得在单片小规模FPGA内实现多路扩频、加扰及成型滤波处理成为现实。
附图说明
图1为本发明的多路扩频、加扰及成型滤波处理框图;
图2为本发明的***控制器的状态转移图;
图3为本发明的正交可变扩频因子码生成原理图;
图4为本发明的复数加扰方法原理图。
具体实施方式
如图1所示,星上高效率实现多路扩频加扰及成型滤波的***,在单片小规模的FPGA上实现(例如可以使用Xilinx的Virtex2系列型号为XC2V40的FPGA实现本设计的方法,在并行处理32路的条件下,Slice的占用率是58%,总的4 input LUT占用率只有50%,其他资源占用率均不超过30%。),包括***控制器、n路处理模块、两个合路器和两个成型滤波器;所述的n路处理模块每路包括子控制单元、存储待处理数据的RAM、串并转换器、扩频码生成器、复扰码生成器、扩频调制器和复扰码调制器;n≥2;下面具体介绍每个部分的实现。
一、***控制器
***控制器接收控制指令和初始值。***控制器能够按照该控制指令指定的时机从存储初始值的RAM中读取出预存的正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号以及复扰码的初始相位等初始值。***控制器把以上的各种初始值解析成每路的处理模块可以识别的形式,并且根据控制指令在合适的时机产生用于控制每路处理模块协调工作的时序控制信号。***控制器根据控制指令分辨出解析后的初始值是属于哪一路的处理模块并通过多路选择器直接发给相应路的处理模块,其中正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的序号被发送给相应路处理模块中的扩频码生成器,复扰码的初始相位被发送给相应路处理模块中的复扰码生成器,并把所产生的时序控制信号也通过多路选择器发送给相应路的子控制单元;
***控制器由一个状态机来实现,共有5个状态,分别是:idle、read_SF、read_k、read_scambl和read_xinxi,分别表示空闲状态、读取正交可变扩频因子码的扩频因子的编号状态、读取正交可变扩频因子码的码字序号状态、读取复扰码初始相位状态和读取待处理数据状态,各个状态之间的转移过程如图2所示,具体如下:
在idle状态,状态机产生读存储初始值的RAM的首地址,该首地址对应于扩频因子的编号的存储段的首地址;同时,产生对应于扩频因子的编号的存储段的终止地址,当控制指令到来后,把读存储初始值的RAM的起始地址和终止地址都传递到read_SF状态,之后状态机从idle状态转移到read_SF状态;
在read_SF状态,首先判断idle状态产生的地址范围是否正确,如果发生地址溢出,则状态机将回到idle状态,等待控制指令再次到来而启动状态机;如果地址范围正确,则状态机从存储初始值的RAM中的指定地址读取出扩频因子的编号,并把读到的编号锁存起来;当扩频因子的编号读取并存贮完毕之后,状态机产生***所使用的正交可变扩频因子码的码字的序号的存储范围,记录正交可变扩频因子码码字序号存储的起始和终止地址,并将记录的地址传递给read_k状态,之后状态机跳转到read_k状态;
在read_k状态,首先判断从read_SF状态传来的地址范围是否发生溢出,如果发生地址溢出则状态机回到idle状态,等待控制指令的再次到来;如果接收的地址正确,则从存储初始值的RAM中读取***所使用的正交可变扩频因子码的码字的序号,并把读到的序号锁存起来,之后状态机跳转到read_scambl状态;
在read_scambl状态中,状态机直接读取预存的复扰码的初始相位并锁存;并且,产生存储待处理数据的RAM中存储待处理数据的首地址,之后状态机跳转到read_xinxi状态;
在read_xinxi状态,首先分别判断得到的正交可变扩频因子码的扩频因子的编号、***所使用的正交可变扩频因子码的码字的序号和复扰码的初始相位是否符合规定的格式,如果不符合状态机则回到idle状态,如果符合则从锁存的正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号中提取出扩频码生成器可以识别并能使用的扩频因子的编号和扩频因子码码字序号,提取完成之后,把提取后的扩频因子的编号的序列、码字序号以及复扰码初始相位同时从***控制器输出,并分别送往扩频码生成器和复扰码生成器,此时,状态机产生一个时序控制信号,并将该时序控制信号发送给子控制单元,子控制单元控制n路处理模块根据read_Scambl状态产生的首地址从存储待处理数据的RAM中依次读取待处理的数据。
二、子控制单元
在每路的处理模块中,都分布有子控制单元。每个子控制单元由一个加法计数器和一个移位寄存器组成。子控制单元把接收到的***控制器在read_xinxi状态时产生的时序控制信号首先送往移位寄存器,移位寄存器在每当时钟的上升沿到来时,就把时序控制信号向后延迟一位。同时,子控制单元接收到时序控制信号后,就启动加法计数器。子控制单元中预存有多个在***设计时事先固定的计数范围(每个计数范围对应于扩频码生成器、扩频调制器、复扰码生成器、复扰码调制器在处理流程中出现的先后顺序。因为处在前级的处理单元处理数据需要一定的时间,所以处在后级的处理单元必须等前级处理得到输出结果后才能够开始工作),并且子控制单元会不断地把加法计数器的值和计数范围相比较。每当加法计数器与其中的某一个计数范围相等时,子控制单元就会把此时移位寄存器中被延迟的时序控制信号输出,送往相应的子处理单元,作为该子处理单元的启动信号。当加法计数器计数到最大的计数范围后,计数器清零,子控制单元等待下一个时序控制信号的到来。
本例中扩频码生成器在时序控制信号之后,延迟一个时钟周期;扩频调制器、复扰码生成器二者同时启动,但是比时序控制信号延迟三个时钟周期;复扰码调制器比时序控制信号延迟六个时钟周期启动。这些就是对应的计数范围。
三、处理模块
处理模块将物理信道中的待处理数据在存储待处理数据的RAM中进行缓存,经串并转换器转换后分成两路信号输入给扩频调制器。
四、扩频码生成器
为了适应不同速率的业务需求并获得不同的扩频增益,本发明在扩频调制中使用正交可变扩频因子码作为信道化码。
本发明中的扩频码生成器设有两个输入接口,一个用于接收***控制器传来的经提取过的正交可变扩频因子码的扩频因子的编号,另一个用于接收***控制器传来的经提取过的正交可变扩频因子码的码字序号。
本发明的扩频码生成器由一个加法计数器、一个多位宽寄存器和一组模二加法器组成。其中加法计数器的宽度和寄存器的宽度都与用于表示正交可变扩频因子码码字序号的二进制序列的宽度一致。
首先,扩频码生成器首先接收***控制器传来的经提取过的正交可变扩频因子码的扩频因子和正交可变扩频因子码的码字序号,之后把接收到的表示码字序号的二进制序列按照从低位到高位的顺序依次存入多位宽寄存器中;之后,加法计数器按照接收到的扩频因子设定计数范围,该计数范围对应于扩频因子的数值。
在本发明中,输入的正交可变扩频因子码的扩频因子的编号是一个长度为3bit的一组二进制序列,用于表示本发明的***所选用的8种长度的正交可变扩频因子。而在扩频码生成器中,需要利用扩频因子编号所代表的实际的扩频因子的数值来对计数器设置相应的计数范围。因此,在扩频码生成器内部设置了一个查找表,扩频码生成器通过这个查找表把输入的扩频因子的编号映射成其实际代表的扩频因子的数值。查找表中存储有8种扩频因子编号所实际对应的8个数值的二进制序列,查找表把输入的3bit的扩频因子的编号作为其存储的数据的地址,通过该地址找到该编号所对应的数值的二进制序列,之后把相应的二进制序列输出。
然后,加法计数器按照子控制单元传来的时序控制信号启动计数器,并且在每个时钟上升沿到来的时候自增一个数值,加法计数器的数值按位与寄存器中表示码字序号的二进制序列进行与运算,当达到计数范围之后计数器清零,计数器开始重新计数。
用于生成扩频码的计数器每次计数出的数值,都要按对应位分别与寄存器中存储的正交可变扩频因子码的码字序号的二进制序列进行与运算。在每个时钟节拍内,通过模二加法器组把所有位与运算的结果进行模二累加,累加的结果就产生了指定扩频因子和指定序号的正交可变扩频因子码码字。
当对扩频后的序列的长度有规定时,可以在扩频码生成计数器的外部另外设置有一个帧长度计数器,计数器的范围设置为上述规定的长度。当帧长度计数器小于规定长度的时候,正交可变扩频因子码生成计数器工作,并且正交可变扩频因子码生成计数器以扩频因子对应的长度为周期不断的循环生成正交可变扩频因子码,具体的生成框图如图3所示。
五、扩频调制器
生成的正交可变扩频因子码不存储,而是直接送往扩频调制器,由扩频调制器,在时序控制信号的控制下,将正交可变频因子码与串并转换后的两路信号分别实时进行I路扩频调制和Q路扩频调制,并将两路扩频调制结果发送给复扰码调制器。
六、复扰码生成器
复扰码生成器,分为实部和虚部两部分,根据***控制器输出的复扰码初始相位生成由实部和虚部组成的复扰码,并将该复扰码发送给复扰码调制器;
本发明中的复扰码生成器分为I、Q两路,每一路都由一个18级的反馈移位寄存器构成,并且每一路的反馈移位寄存器设计成不同的反馈逻辑产生一对m序列,两个m序列之间满足优选对条件,二者相加结果构成一个Gold码序列。
本发明设计的扰码生成器没有使用固定的复扰码初始相位,而是专门设有接收复扰码初始相位的输入接口,使得所述复扰码生成器可以生成任意指定初始相位的复扰码序列。
所述复扰码生成器生成的复扰码的实部是由I、Q两路反馈移位寄存器的输出序列直接模二加得到,复扰码的虚部则是由I路输出序列移位131072位之后与Q路输出的序列模二加得到。由于I路需要移位131072位,为了节省资源,本方法设计的复扰码生成器不是先产生131072个符号并存储、移位之后再与Q路序列模二加,而是利用I、Q两路满足优选对的特性和m序列的伪随机特性,分别从I、Q两路的不同级的移位寄存器上引出组合逻辑,把引出的码序列按位模二相加就能实现码序列移位的作用。
具体的移位实现方法是:每次反馈移位寄存器在时钟上升沿到来的时候按照反馈逻辑循环移动一位后,把复扰码生成器的I支路的第5、第7和第16级寄存器上的数值通过模二加法器按位相加,同时把复扰码生成器的Q支路的第6、第7、第9、第10、第11、第12、第13、第14、第15和第16级寄存器上的数值也通过模二加法器按位相加。之后,把这两个模二加法器相加得到的结果再都送往另一个模二加法器进行模二加,得到的结果就是复扰码的虚部。
本发明生成复扰码的速度快,移位和产生扰码同时进行,不用存储已产生的扰码序列,资源占用率低。
七、复扰码调制器
复扰码调制器,分别对I路扩频调制结果、Q路扩频调制结果按照复扰码的实部、虚部进行复数加扰处理,得到I路、Q路两路复加扰后的序列,并分别输入给两个合路器分别与其余通路复加扰处理得到的I路、Q路复加扰后的序列合成一路;合路后的结果各通过一个成型滤波器进行脉冲成型处理,得到I、Q路两路成型输出。
复加扰处理器由一个复数乘法器实现。I、Q两个支路上的已扩频调制的序列分别作为复数乘法的一个因子的实部和虚部,而复扰码的实部和虚部则作为复数乘法的另外一个因子的实部和虚部分别输入复数乘法器。
本发明对复数乘法的算法做了专门设计,与普通的复数乘法相比增加了一个加法器而减少了一个实数乘法器,由于在FPGA里加法器占用的资源远比乘法器少,因此在扩展到多路之后,节省的***资源是相当可观的。
具体的复数乘法设计算法如下:设有三个复数m、a和b,三者之间满足m=a×b。其中,m=mr+i·mi,a=ar+i·ai,b=br+i·bi。
普通的复数乘法表示为:
m=a×b=(ar+i·ai)·(br+i·bi)=(arbr-aibi)+i·(arbi+aibr),可见普通的复数乘法需要4个实数乘法器和2个实数加法器。
本发明设计的复数乘法表示为:m=a×b=mr+i·mi,
其中mr=ar(br+bi)-bi(ar+ai),mi=ar(br+bi)+br(ai-ar)。从本发明设计的算法可以看出,ar(br+bi)是一个公用项可以复用。因此,本发明设计的复数乘法算法需要3个实数乘法器和3个实数加法器。按照本发明算法实现的复加扰框图如图4所示。
具体的实现方法是:首先同时分别完成I路扩频调制结果和Q路扩频调制结果实数加、复扰码的实部和复扰码的虚部实数加以及复扰码的虚部与复扰码的实部实数减,并把以上的三个结果锁存起来;之后,同时分别把I路扩频调制结果和Q路扩频调制结果实数加得到的和与复扰码的实部进行实数乘(得到的结果记为乘积1),把复扰码的实部和复扰码的虚部实数加得到的和与Q路扩频调制结果进行实数乘(得到的结果记为乘积2),把复扰码的虚部与复扰码的实部实数减得到的差与I路扩频调制结果进行实数乘(得到的结果记为乘积3),并把以上的三个积锁存起来;最后,同时分别把乘积1与乘积2做实数减,得到的差就是I路复加扰后的序列,把乘积1与乘积3做实数加,得到的和就是Q路复加扰后的序列。
本发明未详细说明的部分属于本领域技术人员公知常识。
Claims (6)
1.星上实现多路扩频加扰及成型滤波的***,其特征在于:在单片FPGA上实现,包括***控制器、n路处理模块、两个合路器和两个成型滤波器;所述的***控制器内部含有用来预存各种初始值的RAM,初始值包括正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号以及复扰码的初始相位;所述的n路处理模块每路包括子控制单元、存储待处理数据的RAM、串并转换器、扩频码生成器、复扰码生成器、扩频调制器和复扰码调制器;n≥2;
***控制器接收控制指令和初始值,按照该控制指令指定的时机从存储初始值的RAM中读取出预存的初始值,并将读取的初始值解析成每路处理模块可以识别的形式,根据控制指令产生用于控制每路处理模块协调工作的时序控制信号;***控制器根据控制指令分辨出解析后的初始值是属于哪一路的处理模块并通过多路选择器直接发给相应路的处理模块,其中正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号被发送给相应路处理模块中的扩频码生成器,复扰码的初始相位被发送给相应路处理模块中的复扰码生成器,并把所产生的时序控制信号也通过多路选择器发送给相应路的子控制单元;
子控制单元对接收的时序控制信号进行延迟处理,并在***预先设定的各个时刻,将经过延迟的时序控制信号作为启动信号发送给扩频码生成器、扩频调制器、复扰码生成器、复扰码调制器;
每路处理模块将物理信道中的待处理数据在存储待处理数据的RAM中进行缓存,待处理数据经过串并转换器后被分成两路信号输入给扩频调制器;
扩频码生成器设置有两个输入接口,分别用于接收***控制器传送来的经过解析后的正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号,对接收的扩频因子的编号进行查表转换处理,生成正交可变频因子码,并将生成的正交可变频因子码发送给扩频调制器;
扩频调制器将正交可变频因子码与串并转换后的两路信号分别实时地进行I路扩频调制和Q路扩频调制,并将两路扩频调制结果发送给复扰码调制器;
复扰码生成器,分为I路和Q路两个支路,根据***控制器传来的复扰码初始相位生成由实部和虚部组成的复扰码,并将该复扰码发送给复扰码调制器;
复扰码调制器,分别将I路扩频调制结果、Q路扩频调制结果按照复扰码的实部、虚部进行复加扰处理,得到I路、Q路两路复加扰后的序列,并分别输入给I、Q两路的合路器合成一路;每路合路的结果各通过一个成型滤波器进行脉冲成型处理,得到I、Q路两路成型输出。
2.根据权利要求1所述的星上实现多路扩频加扰及成型滤波的***,其特征在于:所述的***控制器由一个状态机来实现,共有5个状态,分别是:idle、read_SF、read_k、read_scambl和read_xinxi,分别表示空闲状态、读取正交可变扩频因子码的扩频因子的编号状态、读取正交可变扩频因子码的码字序号状态、读取复扰码初始相位状态和读取待处理数据状态,各个状态之间的转移过程如下:
在idle状态,状态机产生读存储初始值的RAM的首地址,该首地址对应于扩频因子的编号的存储段的首地址;同时,产生对应于扩频因子的编号的存储段的终止地址,当控制指令到来后,把读存储初始值的RAM的起始地址和终止地址都传递到read_SF状态,之后状态机从idle状态转移到read_SF状态;
在read_SF状态,首先判断idle状态产生的地址范围是否正确,如果发生地址溢出,则状态机将回到idle状态,等待控制指令再次到来而启动状态机;如果地址范围正确,则状态机从存储初始值的RAM中的指定地址读取出扩频因子的编号,并把读到的编号锁存起来;当扩频因子的编号读取并存贮完毕之后,状态机产生***所使用的正交可变扩频因子码的码字的序号的存储范围,记录正交可变扩频因子码码字序号存储的起始和终止地址,并将记录的地址传递给read_k状态,之后状态机跳转到read_k状态;
在read_k状态,首先判断从read_SF状态传来的地址范围是否发生溢出,如果发生地址溢出则状态机回到idle状态,等待控制指令的再次到来;如果接收的地址正确,则从存储初始值的RAM中读取***所使用的正交可变扩频因子码的码字的序号,并把读到的序号锁存起来,之后状态机跳转到read_scambl状态;
在read_scambl状态中,状态机直接读取预存的复扰码的初始相位并锁存;并且,产生在存储待处理数据的RAM中存储的待处理数据的首地址,之后状态机跳转到read_xinxi状态;
在read_xinxi状态,首先分别判断得到的正交可变扩频因子码的扩频因子的编号、***所使用的正交可变扩频因子码的码字的序号和复扰码的初始相位是否符合规定的格式,如果不符合状态机则回到idle状态,如果符合则从锁存的正交可变扩频因子码的扩频因子的编号和***所使用的正交可变扩频因子码的码字的序号中提取出扩频码生成器可以识别并能使用的代表扩频因子的编号和扩频因子码码字序号的二进制序列,提取完成之后,把经提取后的扩频因子的编号、码字序号以及复扰码初始相位同时从***控制器中输出,并分别送往扩频码生成器和复扰码生成器,此时,状态机产生一个时序控制信号,并将该时序控制信号发送给子控制单元,子控制单元能够控制n路处理模块根据read_scambl状态产生的首地址从存储待处理数据的RAM中依次读取待处理的数据。
3.根据权利要求1所述的星上实现多路扩频加扰及成型滤波的***,其特征在于:所述的扩频码生成器包括一个加法计数器、一个多位宽寄存器、一组模二加法器和查找表;加法计数器的宽度和多位宽寄存器的宽度都与用于表示正交可变扩频因子码码字序号的二进制序列的宽度一致,具体实现步骤如下:
首先,查找表将***控制器传来的扩频因子的编号进行查表转换生成对应的扩频因子,扩频码生成器把接收到的表示正交可变扩频因子码的码字序号的二进制序列按照从低位到高位的顺序依次存入多位宽寄存器中;之后,加法计数器按照所述的扩频因子设定计数范围,该计数范围对应于扩频因子的数值;
然后,加法计数器按照子控制单元传来的时序控制信号启动计数器,并且在每个时钟上升沿到来的时候自增一个数值,加法计数器的数值按位与寄存器中表示码字序号的二进制序列进行与运算,当达到计数范围之后计数器清零,计数器开始重新计数;
最后,在每个时钟节拍内,通过模二加法器组把所有位与运算的结果进行模二累加,累加的结果即为正交可变频因子码。
4.根据权利要求1所述的星上实现多路扩频加扰及成型滤波的***,其特征在于:所述的复扰码生成器分为I、Q两路,每一路都由一个18级的反馈移位寄存器构成,每一路的反馈移位寄存器设计成不同的反馈逻辑,能够产生一对m序列,两个m序列之间满足优选对条件,二者相加结果构成一个Gold码序列,复扰码的实部是由I、Q两路反馈移位寄存器的输出序列直接模二加得到,而该复扰码的虚部则是由I路输出序列移位131072位之后与Q路输出的序列模二加得到。
5.根据权利要求4所述的星上实现多路扩频加扰及成型滤波的***,其特征在于:所述的I路序列移位采用下列方式实现:每次反馈移位寄存器在时钟上升沿到来的时候按照反馈逻辑循环移动一位后,把I路的反馈移位寄存器的第5、第7和第16级上的数值通过模二加法器按位相加,同时把Q路的反馈移位寄存器的第6、第7、第9、第10、第11、第12、第13、第14、第15和第16级上的数值也通过模二加法器按位相加;之后,把这两个模二加法器相加得到的结果再都送往另一个模二加法器进行模二加,得到的结果就是复扰码的虚部。
6.根据权利要求1所述的星上实现多路扩频加扰及成型滤波的***,其特征在于:所述的复加扰处理具体步骤如下:
复扰码调制器首先同时分别完成I路扩频调制结果和Q路扩频调制结果实数加、复扰码的实部和复扰码的虚部实数加以及复扰码的虚部与复扰码的实部实数减,并把以上的三个结果锁存起来;之后,同时分别把I路扩频调制结果和Q路扩频调制结果实数加得到的和与复扰码的实部进行实数乘,得到的结果记为乘积1,把复扰码的实部和复扰码的虚部实数加得到的和与Q路扩频调制结果进行实数乘,得到的结果记为乘积2,把复扰码的虚部与复扰码的实部实数减得到的差与I路扩频调制结果进行实数乘,得到的结果记为乘积3,并把以上的三个积锁存起来;最后,同时分别把乘积1与乘积2做实数减,得到的差就是I路复加扰后的序列,把乘积1与乘积3做实数加,得到的和就是Q路复加扰后的序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010047806.8A CN106134519B (zh) | 2010-03-25 | 2010-03-25 | 星上高效率实现多路扩频加扰及成型滤波的*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010047806.8A CN106134519B (zh) | 2010-03-25 | 2010-03-25 | 星上高效率实现多路扩频加扰及成型滤波的*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106134519B true CN106134519B (zh) | 2013-07-31 |
Family
ID=57251424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010047806.8A Active CN106134519B (zh) | 2010-03-25 | 2010-03-25 | 星上高效率实现多路扩频加扰及成型滤波的*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106134519B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107358165A (zh) * | 2017-06-15 | 2017-11-17 | 深圳市泰和安科技有限公司 | 基于fft滤波的方法、终端设备及计算机可读存储介质 |
CN109100747A (zh) * | 2018-07-20 | 2018-12-28 | 西安空间无线电技术研究所 | 一种适用于多路随机接入信号的快速捕获***及方法 |
CN109756291A (zh) * | 2019-03-22 | 2019-05-14 | 重庆邮电大学 | 一种基于查表法的混沌扩频码生成方法及*** |
CN112532207A (zh) * | 2020-11-19 | 2021-03-19 | 浙江集速合芯科技有限公司 | 一种片上可变滤波器快速调谐的方法 |
CN116614339A (zh) * | 2023-07-17 | 2023-08-18 | 天地信息网络研究院(安徽)有限公司 | 一种mc-cdma***的papr抑制发射机 |
-
2010
- 2010-03-25 CN CN201010047806.8A patent/CN106134519B/zh active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107358165A (zh) * | 2017-06-15 | 2017-11-17 | 深圳市泰和安科技有限公司 | 基于fft滤波的方法、终端设备及计算机可读存储介质 |
CN109100747A (zh) * | 2018-07-20 | 2018-12-28 | 西安空间无线电技术研究所 | 一种适用于多路随机接入信号的快速捕获***及方法 |
CN109756291A (zh) * | 2019-03-22 | 2019-05-14 | 重庆邮电大学 | 一种基于查表法的混沌扩频码生成方法及*** |
CN112532207A (zh) * | 2020-11-19 | 2021-03-19 | 浙江集速合芯科技有限公司 | 一种片上可变滤波器快速调谐的方法 |
CN112532207B (zh) * | 2020-11-19 | 2024-01-26 | 浙江集速合芯科技有限公司 | 一种片上可变滤波器快速调谐的方法 |
CN116614339A (zh) * | 2023-07-17 | 2023-08-18 | 天地信息网络研究院(安徽)有限公司 | 一种mc-cdma***的papr抑制发射机 |
CN116614339B (zh) * | 2023-07-17 | 2023-10-03 | 天地信息网络研究院(安徽)有限公司 | 一种mc-cdma***的papr抑制发射机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106134519B (zh) | 星上高效率实现多路扩频加扰及成型滤波的*** | |
CN104393854B (zh) | 基于fpga的时分复用级联积分梳状抽取滤波器及其实现方法 | |
CN100369074C (zh) | 一种实现sms4密码算法中加解密处理的方法 | |
CN1162153A (zh) | 用于自定时算法执行的装置和方法 | |
CN103731822B (zh) | 一种祖冲之算法的实现***及其方法 | |
CN105227259A (zh) | 一种m序列并行产生方法和装置 | |
CN103888147A (zh) | 一种串行转并行转换电路和转换器以及转换*** | |
WO2006109240A2 (en) | Fast fourier transform architecture | |
CN105354008A (zh) | 一种随机数生成器的输出电路及输出方法 | |
CN104777456B (zh) | 可配置的雷达数字信号处理器及其处理方法 | |
CN109375897A (zh) | 伪随机序列的生成方法 | |
CN110211031A (zh) | 基于递归划分的多类散点图采样方法、***、存储介质及设备 | |
CN105141558B (zh) | 加扰装置及加扰配置方法 | |
CN109033596A (zh) | 基于fpga的并行伪随机序列发生器设计方法 | |
CN103002561B (zh) | 辅同步信号序列处理方法及装置 | |
Kayaer et al. | A new approach to emulate CNN on FPGAs for real time video processing | |
CN104158648B (zh) | 用于生成哈希值的方法和装置 | |
CN103914277B (zh) | 一种基于改进的Montgomery模乘算法的可扩展模乘器电路 | |
CN105634439A (zh) | 一种异步成形滤波器设计方法 | |
CN103490785B (zh) | 高速串并转换方法及转换器 | |
CN103377690A (zh) | 数据发送、接收装置、用于数据传输的***和方法 | |
Behl et al. | Design and implementation of fast booth-2 multiplier on artix FPGA | |
CN104935338B (zh) | 一种扩展dds输出信号频率范围的方法和*** | |
CN116781041B (zh) | 一种具有高资源利用率的多速率变换滤波器 | |
RU2736704C1 (ru) | Счетчик групповой структуры с сохранением количества единиц в группах |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR03 | Grant of secret patent right | ||
GRSP | Grant of secret patent right | ||
DC01 | Secret patent status has been lifted | ||
DCSP | Declassification of secret patent |