CN115133953B - 一种基于pmf-fft算法在fpga上实现信号捕获的方法 - Google Patents
一种基于pmf-fft算法在fpga上实现信号捕获的方法 Download PDFInfo
- Publication number
- CN115133953B CN115133953B CN202210606368.7A CN202210606368A CN115133953B CN 115133953 B CN115133953 B CN 115133953B CN 202210606368 A CN202210606368 A CN 202210606368A CN 115133953 B CN115133953 B CN 115133953B
- Authority
- CN
- China
- Prior art keywords
- value
- fft
- pmf
- partial
- frequency offset
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000015654 memory Effects 0.000 claims abstract description 35
- 238000001914 filtration Methods 0.000 claims abstract description 21
- 238000013461 design Methods 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 13
- 230000007480 spreading Effects 0.000 claims description 10
- 230000001502 supplementing effect Effects 0.000 claims description 6
- 238000001228 spectrum Methods 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 241001442055 Vipera berus Species 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 1
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/70751—Synchronisation aspects with code phase acquisition using partial detection
- H04B1/70752—Partial correlation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/709—Correlator structure
- H04B1/7093—Matched filter type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
- H04B7/18513—Transmission in a satellite or space-based system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/713—Spread spectrum techniques using frequency hopping
- H04B1/7156—Arrangements for sequence synchronisation
- H04B2001/71563—Acquisition
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于PMF‑FFT算法在FPGA上实现信号捕获的方法,所述方法包括:将带有频率偏移和码元相位偏移的信号输入到部分匹配滤波模块,得到部分匹配滤波相关值;将每个部分匹配滤波相关值按规定的顺序保存在存储器队列中,并进行N点补零操作;依次将每个存储器补零后的数据输送到FFTIP核中进行FFT运算,输出运算数据;对运算数据取模的平方;对取模的平方的数值进行最值比较,并获取最大峰值及其坐标K;最大峰值和预设门限阈值进行比较,若超出预设门限阈值,则计算出频偏估计值。
Description
技术领域
本发明涉及一种基于PMF-FFT算法在FPGA上实现信号捕获的方法,属于卫星通信系统信号捕获技术领域。
背景技术
在卫星通信高动态的环境下,较大的多普勒频偏及多普勒频偏变化率对捕获的性能和时间造成了很大影响,而PMF-FFT算法在搜索多普勒频偏范围和捕获时间具有较大优势。基于部分匹配滤波器与FFT结构的捕获算法,是一种时频二维并行搜索算法,既能克服多普勒频偏较大时,串行搜索和并行码相位搜索速度慢的缺点,又能克服单采用匹配滤波器捕获方式相关峰值衰减严重的不足,既能快速完成码相位搜索,又能在多普勒频偏较大时精确估计出频偏。
然而,虽然PMF-FFT捕获算法以及其改进算法的理论日益完善,但却没有一个体系的通用的硬件实现方法。PMF-FFT算法包括多个部分匹配滤波器、FFT运算和门限判断等主要模块。如果设计中,总的匹配滤波器的长度过长,采用直接型匹配滤波器设计法的话,就会消耗过多的寄存器资源和乘法器和加法器资源,是设计难点。FFT运算采用硬件实现时,是需要运算时间的,在运算时间期间内FFT模块不能处理数据,但是部分匹配滤波器还在不间断产生数据,如何保证数据不丢失也是设计难点。
发明内容
本发明的目的在于提供一种基于PMF-FFT算法在FPGA上实现信号捕获的方法,以解决现有技术缺陷。
一种基于PMF-FFT算法在FPGA上实现信号捕获的方法,所述方法包括:
将带有频率偏移和码元相位偏移的信号输入到部分匹配滤波模块,得到部分匹配滤波相关值;
将每个部分匹配滤波相关值按规定的顺序保存在存储器队列中,并进行N点补零操作;
依次将每个存储器补零后的数据输送到FFT IP核中进行FFT运算,输出运算数据;
对运算数据取模的平方;
对取模的平方的数值进行最值比较,并获取最大峰值及其坐标K;
最大峰值和预设门限阈值进行比较,若超出预设门限阈值,则计算出频偏估计值。
进一步地,所述方法还包括:
设置PMF-FFT算法的参数,包括总相关长度M和部分匹配滤波长度X,根据扩频码速率fc、扩频码的采样速率fs以及用于匹配滤波的伪码长度为L,得出总的相关长度M;
匹配滤波器的长度X根据系统实际的频偏范围进行确定,算法估计的频偏范围为Δfwidth,根据频偏估计范围Δfwidth得出频率分辨率Δfunit=Δfwidth/N;
M=L*(fs/fc)
M为总相关长度,L为用于匹配滤波的伪码长度,fc为扩频码速率,fs为扩频码的采样速率。
Δfwidth=fs/X
Δfwidth为PMF-FFT算法能估计的频偏范围,fs为扩频码的采样速率,X为部分匹配滤波器的系数长度;
Δfwidth>Δfd
Δfwidth为PMF-FFT算法能估计的频偏范围,Δfd为接收系统实际应对的频偏范围;
Δfunit=Δfwidth/N
Δfunit为PMF-FFT算法的频率分辨率,Δfwidth为PMF-FFT算法能估计的频偏范围,N为部分匹配滤波器的个数。
进一步地,所述部分匹配滤波模块的设计采用串并匹配滤波器结合乒乓操作。
进一步地,所述串并匹配滤波器结合乒乓操作的方法包括:
步骤1:构建一个接收数据移位寄存器和两个匹配滤波移位寄存器;
步骤2:创建一个只读存储器ROM,用于存放采样后的本地伪码:
步骤3:对两个匹配滤波移位寄存器进行乒乓操作实现两个匹配滤波移位寄存器实现轮换;
步骤4:部分匹配滤波器与接收数据移位寄存器进行部分相关运算,X个接收数据对应X个本地码,对应位置先相乘再相加,实现一次部分相关运算,接收数据每隔一个采样率时钟fs在接收数据移位寄存器里移进一个数据,再每个一个时钟周期,输出一个部分相关值。
进一步地,所述部分匹配滤波模块由接收数据移位寄存器、ROM、部分匹配滤波器一、部分匹配滤波器二和相关运算模块组成。
进一步地,将每个部分匹配滤波相关值按规定的顺序保存在存储器队列中的方法包括:
根据部分匹配滤波相关值所处的部分匹配滤波器以及在该部分匹配滤波器中输入数据所处的相位这两个依据,得出每个输出结果保存在存储器队列中的位置。
进一步地,依次将每个存储器补零后的数据输送到FFT IP核中进行FFT运算方法包括:
先将第一个存储器中的N个相关值补零后送到FFT IP核中进行FFT运算,再按顺序将剩余的存储器存取的值补零后输送到FFT IP核中进行FFT运算。
进一步地,所述N点补零操作包括:
创建一个深度为N,值为0的存储器;
将N个0值补在N个部分相关值构成2N个点,即完成N点补零操作。
进一步地,获取最大峰值及其坐标K的方法包括:
对于FFT运算,2N点的时域信号对应2N点的频域信号输出;
将2N点虚数的模的平方进行比较,得到最大值,并记录最大值对应的坐标K值。
进一步地,计算出频偏估计值的方法包括:
将最大峰值与预设的门限值进行比较;
若低于门限阈值,则没有捕获成功;若高于门限阈值,则捕获成功,此时取峰值的对应坐标的K值,即可得到频偏估计值:
fd_estimate=K*Δfunit
fd_estimate为频偏估计值,K为峰值对应坐标,Δfunit为PMF-FFT算法的频率分辨率。
与现有技术相比,本发明所达到的有益效果:
1、本文采用FPGA芯片作为硬件设计平台,将算法和FPGA融合起来,充分结合PMF-FFT算法在搜索多普勒频偏范围和捕获时间具有的较大优势和FPGA设计资源丰富、高速并行数据处理的优点,提出了一种基于PMF-FFT算法在FPGA上实现信号捕获的方法。
2、本文采用串并匹配滤波器法结合乒乓操作的设计方法设计部分匹配滤波器,节省了大量的硬件资源。
3、保证了数据不丢失。PMF-FFT算法包括多个部分匹配滤波器、缓存、FFT运算和门限判断等主要模块;本设计巧妙地控制各个模块工作,使各模块之间协同配合,保证数据有序地进行处理,保证数据传输的正确性。
附图说明
图1为PMF-FFT捕获算法结构图;
图2为串并匹配滤波器结合乒乓操作的结构图;
图3为部分相关运算结果存放位置及顺序;
图4为FPGA硬件实现模块图;
图5加法器树结构;
图6为硬件实现RTL图;
图7为工程仿真验证。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
PMF-FFT捕获系统中的参数包括系统实际的频偏范围fd,扩频码速率fc,采样速率fs,用于匹配滤波的伪码长度为L,总相关长度M,部分匹配滤波器的长度X,部分匹配滤波器的个数N,算法的频偏估计范围Δfwidth,频率分辨率Δfunit。
如图1-图4所示,为本发明一种基于PMF-FFT算法在FPGA上实现信号捕获的方法,具体步骤为:
步骤1:接收信号经过正交载波下变频后,输出I、Q两路基带信号。I、Q两路基带信号经过N个部分匹配滤波器(PMF_1~PMF_N),每个部分滤波器输出一个部分相关值,N个部分匹配滤波器就输出N个部分相关值。
步骤2:将N个部分匹配滤波器输出的N个部分相关值缓存起来。缓存的原因是FFT运算从开始运算到输出结果需要时间,为了防止FFT运算期间部分相关值的丢失,所以需要缓存部分相关值。
步骤3:补N点0。在上一步骤中的N点部分相关值后边补N点0值,构成2N点。
步骤4:进行2N点FFT运算。将N点部分相关值和N点0值构成的2N点数据,对其进行2N点FFT运算。
步骤5:取模的平方。FFT运算输出的结果是虚数,包括实部和虚部。工程中需要FFT运算结果的幅值,对虚数进行取模运算就相当于计算幅值。之后再进行平方操作,进行平方操作的原因有两点:(1)取模的平方的数值大小与取模的数值大小正相关,不影响峰值判断。(2)根号操作在硬件实现中相对复杂。
若虚数为x=a+jb,则模(也就是幅值)模的平方x2=a2+b2。
其中a为虚数的实部,b为虚数的虚部。
步骤6:最值比较并获取最值大小及其坐标K。对于FFT运算,2N点的时域信号对应2N点的频域信号输出。将2N点虚数的模的平方进行比较,得到最大值,并记录最大值对应的坐标K值。
步骤7:门限判决。将上一步骤中得到的最大峰值与预设的门限值进行比较。如果大于门限阈值,则代表捕获成功。反之小于门限阈值,则代表未捕获成功。
步骤8:多普勒频偏估计。如果捕获成功,则将步骤6中获取的最大值对应的坐标K值来得到多普勒频偏估计。
fd_estimate=K*Δfunit
fd_estimate为多普勒频偏估计值,K为峰值对应坐标,Δfunit为PMF-FFT算法能估计的频率分辨率。
对于PMF-FFT系统中的参数进行分析,他们之间的关系如下:
M=L*(fs/fc)
扩频码的速率fc,L为用于匹配滤波的伪码长度,采样速率fs,M为总相关长度。
PMF-FFT算法能估计的频偏范围要大于接收系统实际应对的频偏范围,这样PMF-FFT捕获系统才能在接收系统各种频偏情况下捕获到接收信号。
Δfwidth>Δfd
Δfwidth为PMF-FFT算法的频偏捕获范围,Δfd为实际情况下接收信号的频偏范围。
Δfwidth=fs/X
Δfwidth为PMF-FFT算法的频偏捕获范围,fs为扩频码采样速率,X为部分匹配滤波器系数的长度。
Δfunit=Δfwidth/N
Δfunit为PMF-FFT算法的频率分辨率,Δfwidth为PMF-FFT算法的频偏捕获范围,N为部分匹配滤波器的个数。
如图2所示,为串并匹配滤波器结合乒乓操作的结构图,具体步骤如下:
步骤1:构建一个接收数据移位寄存器,移位寄存器长度为L1
L1=X*L_rec
X为部分匹配滤波器系数的长度,L_rec为接收数据的数据位宽。
步骤2:构建两个匹配滤波移位寄存器,两个匹配滤波移位寄存器长度相同,都为L2
L2=X*L_native
X为部分匹配滤波器系数的长度,L_native为本地码的数据位宽。
步骤3:创建一个ROM(只读存储器),用于存放采样后的本地伪码。ROM的深度为总相关长度M,ROM的数据宽度为本地码的数据位宽L_native。
步骤4:乒乓操作。两个匹配滤波移位寄存器实现轮换。时钟频率为扩频码采样率fs,在X个时钟周期内,一个匹配滤波移位寄存器作为部分匹配滤波器和接收数据移位寄存器进行部分相关匹配滤波的时候,另外一个匹配滤波移位寄存器则负责从ROM中读取本地码;在下一个X个时钟周期内,两者工作任务交换,刚才在存本地码的匹配滤波移位寄存器现在作为部分匹配滤波器来使用,另外一个现在则负责更换存取本地码。两者循环工作,即可读取ROM里所有的本地码,共需读取N次,每次读取X个本地码,即实现了N的长度为X的部分匹配滤波器。二者的交替采用控制使能的方式来实现。
步骤5:部分匹配滤波器与接收数据移位寄存器进行部分相关运算。X个接收数据对应X个本地码,对应位置相乘,最后再相加,就实现了一次部分相关运算。接收数据每隔一个采样率时钟fs就往接收数据移位寄存器里移进一个数据,所以每个一个时钟周期,就会输出一个部分相关值。
如图3所示,为部分相关运算结果存放位置及顺序,具体步骤如下:
步骤1:第一个部分相关结果r(1,1)存放在第一个存储器的mem(1,1)处,第二个部分相关结果r(2,1)放在第二个存储器的mem(2,1)处,第三个部分相关结果r(2,1)放在第三个存储器的mem(3,1)处,依次类推,第X个部分相关结果放在第X个存储器的mem(x,1)处;
步骤2:第X+1个部分相关结果放在第一个存储器的mem(1,2)处,第X+2个部分相关结果放在第二个存储器的mem(2,2)处,第2*X个部分相关结果放在第X个存储器的mem(X,2)处;
步骤3:依次类推,第N*X个部分相关结果放在第X个存储器的mem(X,N)处。
可以发现存储器阵列一共X个存储器,每个存储器存N个部分相关值。
如图4所示,为FPGA硬件实现模块图。根据实例的工程需求,设计参数,进行了FPGA硬件实现,编写代码为Verilog。这个实例工程设计可以作为参考,旨在解释本发明,不能理解为对本发明的限制。表1为工程参数表格。
表1
步骤1:构建一个部分匹配滤波模块,它由接收数据移位寄存器、ROM、部分匹配滤波器1、部分匹配滤波器2、相关运算模块组成。接下来详细介绍各个模块,以及它们之间的配合。
(1)构建一个接收数据移位寄存器,长度为L1=X*L_rec=16*12=192。
(2)构建两个匹配滤波移位寄存器1、2,长度都为L2=X*L_native=16*2=32。
(3)构建一个ROM,用来存采样后的本地码。深度为M=8192,数据宽度为L_native=2。
接收移位寄存器:每经过一个时钟频率,一个12位的接收数据就会串行输入到接收数据移位寄存器中。
ROM:每经过一个时钟频率,ROM的地址加1,读出一个本地码。
串并匹配滤波器结合乒乓操作:在X个时钟周期内,作为部分匹配滤波器的匹配滤波移位寄存器1的系数保持不变,用于和接收数据移位寄存器进行相关运算,匹配滤波移位寄存器2则用来从ROM中读取本地码,每过一个时钟周期,读取一个2位的本地码,这样X个时钟周期后,匹配滤波移位寄存器2就读入了X个数据宽度为L_native的本地码,即构成了下一个的部分匹配滤波器。在X个时钟周期后,匹配滤波移位寄存器2作为部分匹配滤波器,而匹配滤波移位寄存器1则每隔一个时钟周期从ROM中读取一个本地码,来更换下一个部分匹配滤波器的系数。依次类推,经过N*X个时钟周期后,就遍历了全部N个部分匹配滤波器。
相关运算:将接收移位寄存器的X个位宽为L_rec的数据与对应位置部分匹配滤波器X个位宽为L_native的本地码进行相乘(相乘运算),得到X个相乘结果,最后再相加(相加运算),即输出一个部分相关值。给每个部分相关值都标号,对应身份,之后根据标号将其输送到对应的存储器中。接下来对相乘运算、相加运算进行优化,并给出部分相关值输出的数据位宽确定以及每个部分相关值对应的标号。
相乘运算:如果接收移位寄存器的X个位宽为L_rec的数据与对应位置部分匹配滤波器X个位宽为L_native的本地码直接使用乘法器相乘,就会在FPGA中消耗大量的资源。
优化:我们采用加法器代替乘法器,因为±1有符号数表示,+1为01,-1为11,它们最高位不同,所以通过判断最高位来选择加法器还是减法器,当最高位为0时,使用加法器。当最高位为1时,使用减法器。
相加运算:部分相关运算会同时产生X个相乘结果,然后再将X个相乘结果相加,即输出一个部分相关值。在进行硬件实现时,如果在一个时钟周期内,对X个数同时相加势必造成组合逻辑过长,影响电路设计的时序问题。
优化:采用如图5所示的加法器数来实现。采用多级加法器以及插入流水线(寄存器)。
部分相关值数据位宽:接收移位寄存器的X个位宽为L_rec的数据与对应位置部分匹配滤波器X个位宽为L_native的本地码进行相乘,得到X个相乘结果,在将X个相乘结果相加。相乘结果的位宽=Lrec+L_native=12+2=14。X个相乘结果相加,需要扩增log2 X=log216=4个位数。最后得出部分相关值的位宽为Lrec+L_native+log2 X=14+4=18。
部分相关值标号:为了下一步骤中部分相关值能正确输送到对应的存储器中,采用标号的方法给每个部分相关值确定身份。标号实现方法,创建一个计数周期为X的循环计数器,将计数器的值作为标号,在计数器不同值的时候,分别对应不同的部分相关值,即计数器1~X,分别对应标号为1~X,分别对应标号1~X的部分相关值。为后来一路分X路的分流模块做准备。
步骤2:构建数据缓存模块,将部分相关运算结果按规定顺序存入存储器阵列中。数据缓存模块包括分流模块、16个RAM(Random Access Memory)模块。接下来详细介绍各个模块以及它们之间的配合。
(1)构建一个一分X路模块。根据上一步骤中部分相关值以及相对应的标号,将其分成X路。在标号为1的时钟周期内,将该时钟点的部分相关值输送到第一路;在标号为2的时钟周期内,将此时的部分相关值输送到第二路;依次类推,在标号为X的时钟周期内,将部分相关值输送到第X路。
(2)构建16个RAM,每个RAM深度为N,数据宽度为部分相关值数据位宽,即18。分流模块输出的第一路的数据输送到第一个RAM(RAM1),第二路数据输送到RAM2,依次类推,将第X路的数据输送到RAMX。
步骤3:补零模块。补零模块由补零ROM组成。它的作用是在N点部分相关值后补N个零。构建一个ROM,ROM深度为N,数据宽度为部分相关值数据位宽,即18。ROM里存取N个18位宽的有符号零值。
步骤4:构建FFT运算模块,它由FFTIP核组成。
(1)FFT IP核配置:单通道,变换长度:1024点,运行时钟:250MHz,结构:Radix-4,Burst I/O。数据格式:Fixed Point,归一化选项:Unscale,四舍五入模式:Truncation,精度选项:输入数据位宽:18,输出选项:输出X值。存储器选项:Black RAM,优化选项:复杂乘法器:Use 4-multiplier structure。
(2)FFT IP核输入数据核输出数据的控制。FFT IP核的主要输入端口有输入数据、输入数据valid、输入数据ready。主要输出端口有输出数据、输出数据valid,输出数据ready以及输出数据K值标号。它的运作机制是,以FFT IP核的前一模块为主机,FFT IP核为从机,主机给出输入数据并且输入数据valid拉高,从机把ready拉高,就可以完成FFT IP核和上游模块的数据传输。同理以FFT IP核的下一模块为从机,FFT IP核为主机,主机给出数据并且把数据valid信号拉高,从机把ready拉高,可以完成FFT IP核和下游模块的数据传输。由于FFT IP核在接收了N点数据后,会进行运算,此时不再接收数据,输入数据ready会拉低,直至运算完成,才会重新拉高输入数据ready信号。根据这个设计原则,16个RAM的数据和补零ROM的数据作为上游模块,取模的平方作为下游模块,通过合理的设计控制信号来实现数据的正确传输。
(3)FFT IP核的输入数据位宽为18位,输出数据实部数据位宽为28位,虚部数据位宽为28位。
步骤5:构建模的平方模块,包括两个乘法器模块和一个加法器模块。
(1)创建两个乘法器IP核,作用是实现FFT IP核实部的平方核虚部的平方。IP核设置:乘法器类型:Parallel Multiplier;输入选项A和B都是有符号数,数据位宽都为28位;输出数据位宽为56位。
(2)创建一个加法器IP核,作用是实现实部平方和虚部平方的相加。IP核设置:A和B为有符号数,数据位宽为56位;相加模式:Add;输出数据位宽:56;延迟:1。
步骤6:将FFT IP核模的平方值依次与预设门限值进行比较,如果大于,则记录此时对应的K值标号。
步骤7:将K值标号乘以PMF-FFT算法频率分辨率Δfunit即可得到频偏估计。
如图6所示,为电路设计的RTL图,该图可以大致看出上述步骤中的各个模块。
如图7所示,为本次实例的仿真图。根据表1的工程参数,再根据
Δfwidth=fs/X
可以得到工程的频偏估计范围为9600Hz。再根据
Δfunit=Δfwidth/N
可以得到工程的频率分辨率为9.375Hz。
将频偏为468.75Hz(50*9.375Hz)的接收数据传输到PMF-FFT捕获工程,来进行仿真测试系统的性能。图7(a)为频偏为468.75Hz的接收数据的波形图,图7(b)为捕获结果,从图中可以看出在K值标号为50的时候,出现峰值,从而根据
fd_estimate=K*Δfunit
计算出频偏估计为468.75Hz,等于接收数据的频偏,证明了PMF-FFT算法的FPGA硬件设计符合要求。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种基于PMF-FFT算法在FPGA上实现信号捕获的方法,其特征在于,所述方法包括:
将带有频率偏移和码元相位偏移的信号输入到部分匹配滤波模块,得到部分匹配滤波相关值;
将每个部分匹配滤波相关值按规定的顺序保存在存储器队列中,并进行N点补零操作;
依次将每个存储器补零后的数据输送到FFT IP核中进行FFT运算,输出运算数据;
对运算数据取模的平方;
对取模的平方的数值进行最值比较,并获取最大峰值及其坐标K;
最大峰值和预设门限阈值进行比较,若超出预设门限阈值,则计算出频偏估计值;
所述部分匹配滤波模块的设计采用串并匹配滤波器结合乒乓操作;
所述串并匹配滤波器结合乒乓操作的方法包括:
步骤1:构建一个接收数据移位寄存器和两个匹配滤波移位寄存器;
步骤2:创建一个只读存储器ROM,用于存放采样后的本地伪码:
步骤3:对两个匹配滤波移位寄存器进行乒乓操作实现两个匹配滤波移位寄存器实现轮换;
步骤4:部分匹配滤波器与接收数据移位寄存器进行部分相关运算,X个接收数据对应X个本地码,对应位置先相乘再相加,实现一次部分相关运算,接收数据每隔一个采样率时钟fs在接收数据移位寄存器里移进一个数据,再每个一个时钟周期,输出一个部分相关值。
2.根据权利要求1所述的基于PMF-FFT算法在FPGA上实现信号捕获的方法,其特征在于,所述方法还包括:
设置PMF-FFT算法的参数,包括总相关长度M和部分匹配滤波长度X,根据扩频码速率fc、扩频码的采样速率fs以及用于匹配滤波的伪码长度为L,得出总的相关长度M;
匹配滤波器的长度X根据系统实际的频偏范围进行确定,算法估计的频偏范围为Δfwidth,根据频偏估计范围Δfwidth得出频率分辨率Δfunit=Δfwidth/N;
M=L*(fs/fc)M为总相关长度,L为用于匹配滤波的伪码长度,fc为扩频码速率,fs为扩频码的采样速率;
Δfwidth=fs/X
Δfwidth为PMF-FFT算法能估计的频偏范围,fs为扩频码的采样速率,X为部分匹配滤波器的系数长度;
Δfwidth>Δfd
Δfwidth为PMF-FFT算法能估计的频偏范围,Δfd为接收系统实际应对的频偏范围;
Δfunit=Δfwidth/N
Δfunit为PMF-FFT算法的频率分辨率,Δfwidth为PMF-FFT算法能估计的频偏范围,N为部分匹配滤波器的个数。
3.根据权利要求1所述的基于PMF-FFT算法在FPGA上实现信号捕获的方法,其特征在于,所述部分匹配滤波模块由接收数据移位寄存器、ROM、部分匹配滤波器一、部分被匹配滤波器二和相关运算模块组成。
4.根据权利要求1所述的基于PMF-FFT算法在FPGA上实现信号捕获的方法,其特征在于,将每个部分匹配滤波相关值按规定的顺序保存在存储器队列中的方法包括:
根据部分匹配滤波相关值所处的部分匹配滤波器以及在该部分匹配滤波器中输入数据所处的相位这两个依据,得出每个输出结果需要保存在存储器队列中的位置。
5.根据权利要求1所述的基于PMF-FFT算法在FPGA上实现信号捕获的方法,其特征在于,依次将每个存储器补零后的数据输送到FFT IP核中进行FFT运算方法包括:
先将第一个存储器中的N个相关值补零后送到FFT IP核中进行FFT运算,再按顺序将剩余的存储器存取的值补零后输送到FFT IP核中进行FFT运算。
6.根据权利要求1所述的基于PMF-FFT算法在FPGA上实现信号捕获的方法,其特征在于,所述N点补零操作包括:
创建一个深度为N,值为0的存储器;
将N个0值补在N个部分相关值构成2N个点,即完成N点补零操作。
7.根据权利要求6所述的基于PMF-FFT算法在FPGA上实现信号捕获的方法,其特征在于,获取最大峰值及其坐标K的方法包括:
对于FFT运算,2N点的时域信号对应2N点的频域信号输出;
将2N点虚数的模的平方进行比较,得到最大值,并记录最大值对应的坐标K值。
8.根据权利要求1所述的基于PMF-FFT算法在FPGA上实现信号捕获的方法,其特征在于,计算出频偏估计值的方法包括:
将最大峰值与预设的门限值进行比较;
若低于门限阈值,则没有捕获成功;若高于门限阈值,则捕获成功,此时取峰值的对应坐标的K值,即可得到频偏估计值:
fd_estimate=K*Δfunit;
fd_estimate为频偏估计值,K为峰值对应坐标,Δfunit为PMF-FFT算法的频率分辨率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606368.7A CN115133953B (zh) | 2022-05-31 | 2022-05-31 | 一种基于pmf-fft算法在fpga上实现信号捕获的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606368.7A CN115133953B (zh) | 2022-05-31 | 2022-05-31 | 一种基于pmf-fft算法在fpga上实现信号捕获的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115133953A CN115133953A (zh) | 2022-09-30 |
CN115133953B true CN115133953B (zh) | 2024-02-20 |
Family
ID=83378702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210606368.7A Active CN115133953B (zh) | 2022-05-31 | 2022-05-31 | 一种基于pmf-fft算法在fpga上实现信号捕获的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115133953B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987326B (zh) * | 2022-12-12 | 2024-09-10 | 成都飞机工业(集团)有限责任公司 | 一种适用于扩频通信系统的高效捕获方法 |
CN116660825A (zh) * | 2023-05-11 | 2023-08-29 | 安徽宇疆科技有限公司 | 基于低成本fpga实现pmf-fft捕获算法的方法 |
CN116647251B (zh) * | 2023-07-27 | 2023-10-03 | 天地信息网络研究院(安徽)有限公司 | 适合mc-cdma系统的信号捕获方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7221696B1 (en) * | 2003-03-03 | 2007-05-22 | Itt Manufacturing Enterprises, Inc. | Communication system and method for acquiring pseudonoise codes or carrier signals under conditions of relatively large chip rate uncertainty |
CN101174850A (zh) * | 2006-11-06 | 2008-05-07 | 中科院嘉兴中心微系统所分中心 | 一种短型部分匹配快捕相关器 |
CN105301608A (zh) * | 2015-10-30 | 2016-02-03 | 西安烽火电子科技有限责任公司 | 高动态接收机及其对北斗卫星信号b1频点的捕获方法 |
CN109100747A (zh) * | 2018-07-20 | 2018-12-28 | 西安空间无线电技术研究所 | 一种适用于多路随机接入信号的快速捕获系统及方法 |
CN112910498A (zh) * | 2021-01-25 | 2021-06-04 | 上海航天电子通讯设备研究所 | Pmf-fft测控信号捕获装置和方法 |
CN113938157A (zh) * | 2021-12-03 | 2022-01-14 | 重庆两江卫星移动通信有限公司 | 基于pmf-fft的短突发信号快速捕获方法及系统 |
CN113972929A (zh) * | 2021-10-26 | 2022-01-25 | 上海无线电设备研究所 | 一种高动态多普勒下扩频信号的捕获方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324210B1 (en) * | 1999-12-17 | 2001-11-27 | Golden Bridge Technology Incorporated | Sliding matched filter with flexible hardware complexity |
US20110241937A1 (en) * | 2010-04-02 | 2011-10-06 | Electronics And Telecommunications Research Institute | Apparatus and method for signal acquisition in global navigation satellite system receiver |
CN109085630B (zh) * | 2018-08-20 | 2021-04-30 | 北京邮电大学 | 一种信号捕获方法及装置 |
CN110501729B (zh) * | 2019-06-18 | 2023-03-31 | 山东大学 | 一种基于fpga分步码相位细化的gnss信号的捕获方法 |
-
2022
- 2022-05-31 CN CN202210606368.7A patent/CN115133953B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7221696B1 (en) * | 2003-03-03 | 2007-05-22 | Itt Manufacturing Enterprises, Inc. | Communication system and method for acquiring pseudonoise codes or carrier signals under conditions of relatively large chip rate uncertainty |
CN101174850A (zh) * | 2006-11-06 | 2008-05-07 | 中科院嘉兴中心微系统所分中心 | 一种短型部分匹配快捕相关器 |
CN105301608A (zh) * | 2015-10-30 | 2016-02-03 | 西安烽火电子科技有限责任公司 | 高动态接收机及其对北斗卫星信号b1频点的捕获方法 |
CN109100747A (zh) * | 2018-07-20 | 2018-12-28 | 西安空间无线电技术研究所 | 一种适用于多路随机接入信号的快速捕获系统及方法 |
CN112910498A (zh) * | 2021-01-25 | 2021-06-04 | 上海航天电子通讯设备研究所 | Pmf-fft测控信号捕获装置和方法 |
CN113972929A (zh) * | 2021-10-26 | 2022-01-25 | 上海无线电设备研究所 | 一种高动态多普勒下扩频信号的捕获方法 |
CN113938157A (zh) * | 2021-12-03 | 2022-01-14 | 重庆两江卫星移动通信有限公司 | 基于pmf-fft的短突发信号快速捕获方法及系统 |
Non-Patent Citations (5)
Title |
---|
A_novel_L_band_satellite_beacon_receiver_based_on_Zero_IF_converter;Laiding Zhao;IEEE;全文 * |
一种高动态扩频测控信号捕获方法;顾杰;王勇;蒋开创;;制导与引信;20171215(第04期);全文 * |
北斗接收机B1信号改进捕获算法研究;王尔申;张双阳;曲萍萍;别玉霞;庞涛;胡志明;;沈阳航空航天大学学报(第02期);全文 * |
基于PMF-FFT的高动态长伪码捕获实现;孙大元;王宪平;;无线电工程(第08期);全文 * |
基于补零PMF-FFT的北斗快速精频捕获算法研究;邱文旗;信息科技;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115133953A (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115133953B (zh) | 一种基于pmf-fft算法在fpga上实现信号捕获的方法 | |
Dang et al. | High-speed hardware architectures and FPGA benchmarking of CRYSTALS-Kyber, NTRU, and Saber | |
CN110765709B (zh) | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 | |
CN102298570A (zh) | 一种点数可变的混合基 fft/ifft实现装置及其方法 | |
CN101763338A (zh) | 一种点数可变的混合基fft/ifft实现装置及其方法 | |
CN101149730A (zh) | 使用主要因素算法的最佳离散傅利叶转换方法及装置 | |
CN105701068A (zh) | 基于分时复用技术的cholesky矩阵求逆系统 | |
CN106330276A (zh) | 基于sor算法的大规模mimo线性检测方法及装置 | |
US6611936B2 (en) | Programmable delay elements for source synchronous link function design verification through simulation | |
CN111694029A (zh) | 一种生成b1c信号伪随机噪声码的硬件实现方法 | |
CN111679123B (zh) | 适用于多模调制体制的符号边沿与频率估计方法与系统 | |
US8301933B2 (en) | Multi-clock asynchronous logic circuits | |
US11522680B2 (en) | Method and apparatus for computing hash function | |
CN101136882B (zh) | 无线通信基带处理的系统矩阵计算方法和装置 | |
CN114185014B (zh) | 一种应用于雷达信号处理的并行卷积方法及装置 | |
Borlenghi et al. | An FPGA-accelerated testbed for hardware component development in MIMO wireless communication systems | |
CN102571171B (zh) | 一种多输入多输出无线通信系统信道模型的硬件实现方法 | |
Ayoubi et al. | FPGA implementation of generalized maximal ratio combining receiver diversity | |
CN103926567B (zh) | 高速实时脉冲压缩算法 | |
Fite et al. | Speed-Optimized Implementation of Fast Chirplet Decomposition Algorithm on FPGA-SoC | |
US20240143524A1 (en) | Processor for a cryptosystem | |
Xu et al. | Bit precision study of a non-orthogonal iterative detector with FPGA modelling verification | |
CN114244460B (zh) | 一种异构加速的多径信道信号实时生成方法 | |
Brunda et al. | Design and Implementation of High-Speed Variable Point Pipelined FFT Processor for OFDM System using Verilog | |
CN108429573A (zh) | 一种基于时间隐藏的mmse检测电路的控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |