1.本发明属于卫星通信技术领域,具体涉及基于双相关算法实现
信号到达检测的方法及系统。
背景技术:
2.近几年,卫星通信领域快速发展,卫星制造发射成本和带宽成本降低,高通量同步卫星和低轨卫星也进入了普通大众的视野。低轨卫星的运行角速度为3.6度每分钟,也就是轨道速率约为7.8公里每秒。但是低轨卫星的高速运动带来的多普勒频移问题,给卫星通信的信号到达检测带来了挑战。
3.目前已有到达检测方法是单相关运算,也就是接收端信号与已知本地独相关,但会随着频偏的增大而导致检测精度的降低。为了解决这一问题,技术人员提出了双相关算法,但是并未被广泛的使用。究其原因,是该方法计算过于复杂,需要对滤波信号不同长度进行复乘再和本地独相关后的结果相乘,得出的结果再根据不同的数值求和取模,最终再将求和的结果累加算出当前滤波信号的相关值。因此这种方法不仅会带来大量的资源需求,而且会增加处理时间,其对时序的要求也会提高。
4.故需要一种新的技术来解决上述问题。
技术实现要素:
5.发明目的:提供一种基于双相关算法实现信号到达检测的方法,以解决现有技术存在的上述问题。并进一步提供一种实现上述方法的系统。
6.技术方案:一种基于双相关算法实现信号到达检测的方法,包括以下步骤:s1、接收独信号,对独信号进行分路,其中一路进行滤波,获得滤波信号;s2、构建自相关
模块,对滤波信号进行信号自相关运算,输出预设数量的存储结果,并进行存储;s3、取预设的存储结果,先后进行异或运算、求和运算,获得信号相关值;s4、构建
判决模块,接收信号相关值,判定信号是否达到,输出判决结果;s5、对判决结果进行延时,输出结果。
7.进一步地,s2中具体步骤包括:s21、至少使用符号延时模块、复乘模块和存储模块组合成所述自相关模块;s22、使用符号延时模块将先前时刻的采样点修正为当前时刻的采样点;s23、将先前时刻的采样点、当前时刻的采样点输入给复乘模块进行运算,输出存储结果;s24、所述存储结果输入至存储模块进行存储。
8.进一步地,所述先前时刻的采样点、当前时刻的采样点基于双相关算法获得;所述双相关算法的公式为:
其中,为已知参数,uw*(k)为选取的独信号,r(n)为滤波信号,参数n表示接收信号的过采样倍数,d表示最大相关间隔,l表示独信号的长度, r*(n+kn+nd)为当前时刻采样点,r(n+kn)为先前时刻采样点,*表示共轭,丨丨表示取模。
9.进一步地,s3的具体步骤包括:s31、选取步骤s24中存储后的
数据,组成一组新的数据,与已知参数中对应的数据进行异或运算,输出异或运算结果;s32、统计异或运算结果中0的个数,通过将l个数的累加变成了判断0的个数,减少计算量,求和计算的结果为num0-(l-num0)+n_padding(d);s33、计算完成后生成预定数量的数据,按照预定的计算方法再次计算,获得对应时刻的采样点的信号相关值。
10.进一步地,所述判决模块的判决过程包括:s41、将s33中的信号相关值输出至判决模块,所述判决模块至少包括滑动窗模块和比较模块;s42、滑动窗模块判断当前窗口内信号相关值的最大值的位置是否位于窗口的末尾位置;如果处于末尾位置,比较模块将判断其值与窗口起始位置即0处的值之间的比例,满足预设的比例关系后,判定信号到达。
11.基于双相关算法实现信号到达检测的系统,基于如上述所述的基于双相关算法实现信号到达检测的方法的应用,至少包括射频接收模块、滤波模块、信号自相关模块、uw模块、判决模块、延时模块,其中射频接收模块的输出端分别与匹配滤波模块输入端和延时模块的输入端连接,匹配滤波模块输出给信号自相关运算模块,信号自相关模块的结果输出给uw模块,uw模块进行异或、求和运算,uw模块与判决模块相连,当uw当前时刻输出的结果满足判决模块的判决条件,判定为信号到达,并将判决结果反馈给延时模块,完成信号到达的检测。
12.相关模块的功能和工作数据如上述实施例所述。
13.有益效果:1. 对于高频偏信号的信号,通过使用双相关算法来进行信号到达检测,第一层信号自相关运算消除频偏的影响,第二层信号自相关结果与本地独自相关结果相关运算,得出相关值并加以判决。
14.2. 本发明针对第一层信号自相关运算进行优化,减少了存储资源的消耗,减少了处理时间,可适用于高符号速率的数据处理;针对第二层相关运算,将数据的累加求和转变为求寄存器中0的个数,大大减少了计算复杂度,同样减少资源消耗,处理时间也大大降低。
15.3. 针对相关值的判决,给出了一种的判决方式,处理时间取决于滑动窗口lw的长度。总的来说,除判决模块外,所有模块的处理时间大约在3d个采样周期,对于高符号速率
而言,处理时间远小于公式中l个数据累加和的时间,此外还降低了资源的消耗,简化了计算量。
附图说明
16.图1为本发明的发送端物理帧结构模型示意图。
17.图2为本发明的算法实现框图。
18.图3为本发明的信号自相关模块的流程图。
19.图4为本发明的判决模块的流程图。
具体实施方式
20.下面结合附图对本发明作更进一步地说明。
21.本发明通过卫星通信中一种基于双相关算法实现信号到达检测的方法,实现抵抗收发端高速运动带来的多普勒频移的影响,在此基础上,优化双相关算法的实现过程,降低资源消耗,减少处理时间。下面通过实施例,并结合附图对本方案做进一步具体说明。
22.主要的步骤为:对接收信号进行分路,一路延时,一路滤波;对滤波信号进行信号自相关运算;本地独运算和求和运算;信号相关值判决。
23.如图1所示,在本发明中,提出了一种基于双相关算法实现信号到达检测的方法,其中包含了发送端的物理帧结构的模型示意图。发送端的物理帧结构由同步码(独)和发送数据组成。其中独采用具有良好相关性的m序列,m序列由多级移位寄存器通过线性反馈产生,本发明采用的m序列的本原多项式为:其初始状态为:0000_0001,周期长度为255,为了保证0、1等概率出现,本发明采用的独长度为256bit (l=256),由一个周期的m序列加一个0组成 uw=[m,0]。物理帧经过成型滤波器发送给射频发送端,过采样倍数n=4。在接收端,双相关算法中最大的相关间隔d=8,如图2所示,描述接收端的双相关算法的实现原理。射频接收模块的输出端分别与匹配滤波模块输入端和延时模块的输入端连接。匹配滤波模块输出给信号自相关运算模块,信号自相关模块将计算出来的2d=16个信号自相关值优化并存储,信号自相关模块的结果输出给uw模块,uw模块进行异或、平和、求和运算。uw模块与判决模块相连,当uw当前时刻输出的结果满足判决模块的判决条件,即可以判定为信号到达,并将判决结果反馈给延时模块,至此,信号到达检测完成。
[0024]
具体为包括以下步骤:步骤一:对接收信号进行分路,一路延时,一路滤波:不论是单相关计算还是双相关计算,都需要将接收到完整的同步码信号也就是本地独信号后才可以判决出信号是否到达,当判决信号达到时,接收到的独信号数
据在时间上已经过去了,这不便于后续模块根据接收的独信号的其他计算,比如频偏估计,所以需要加以延时,延时的时间最低要大于判决信号到达的时间。同时,为了降低噪声对检测结果的影响,接收信号要经过匹配滤波器后,再进行信号到达检测。
[0025]
匹配滤波器的系数和发送端成型滤波器的系数相同。延时模块由fifo组成,fifo的深度为2048bit,fifo的写使能由valid驱动,读使能由valid、阈值和判决模块的反馈使能共同决定。当读使能有效时,从fifo读出来的数据开始计数,samplecount[31:0]加1。当延时模块fifo内的数据大于阈值,仍未接收到判决模块的反馈使能,fifo读使能由valid驱动,读出的数据均无效,不用传给下一模块,直至接收到判决模块的反馈,反馈的计数和samplecount相等时,读出的数据才有效。此时的数据可以传输给下一个模块。
[0026]
步骤二:对滤波信号进行信号自相关运算:如图3所示,信号自相关模块的输入信号由主时钟clk、复位信号reset、i路数据idat[11:0]、q路数据qdat[11:0]、数据使能组成valid组成。
[0027]
正常工作时,每当一个valid脉冲到来,rth_counter[31:0]加1,用来表示当前采样点的序号。符号延时模块中延时器总共有8个,每个延时器延时4个valid,延时器的输入输出位数为24bit,第一个延时的输入为{-qdat,idat},因为为共轭复乘运算,在此做共轭。延时器的延时靠valid驱动。复乘模块内的复数乘法器的数量有8个,同样由valid驱动。每当valid及数据到来,第一个复数乘法器由{qdat,idat}和第一个延时器的输出相乘,第二个复数乘法器由{qdat,idat}和第二个延时器的输出相乘,同样第八个复数乘法器由{qdat,idat}和第八个延时器的输出相乘。复数乘法器的输入位数为24bit,分别取输出结果的实部和虚部的符号位,存于对应的1024bit的移位寄存器中。存储模块中共有16个1024bit的移位寄存器。移位的方法为,例如reg_i1[1023:0]的值右移1位,第一个复数乘法器的输出结果result1[32]存于寄存器reg_i1[1023]中,reg_q1[1023:0]的值右移1位,第一个复数乘法器的输出结果result1[72]存于寄存器reg_q1[1023]中。存储模块依旧靠valid驱动,每当valid及数据到来,移位寄存器右移一位,同时将对应的符号位存于移位寄存器的高位。
[0028]
整个信号自相关模块的处理时间包括复数乘法器的处理时间和存储的1个采样点的延时。复数乘法器的pipeline=6,所以整个延时为7个采样点的时间。
[0029]
步骤三:本地独运算和求和运算:发送信号由同步码也就是本地独和发送数据组成。本地独是已知的具有良好相关性的m序列,也就是uw(k)是已知的由0,1组成的序列。所以双相关算法公式中的可以直接作为已知参数存储在uw模块中,可以表示为d个l位宽的寄存器记作uw
reg(d)
。其中有些无效的位,计算其个数n_padding(d)并将无效位对应的值置1。
[0030]
每来一个采样点,取信号自相关模块中每个存储器中[0:4:nl-1]的数据组成一组新的数据与uw
reg(d)
中相同d值对应的寄存器进行异或运算,i路和q路的数据进行异或运算的uw
reg(d)
值相同。1个主时钟周期即可完成异或运算,异或运算的输出结果总共有2d个。
[0031]
uw序列已知,可以根据直接计算出独自相关运算的结果。例如在d=1时,会产生255个数据,d=2时,会产生254个数据。类似得,在d=8时,会产生248个数据,与独本身256个数据相比,少的数据为无效数据,这些数据全部
置为1,并将其数量记录其数值等于d。将这8行256列的数据用8个256bit的寄存器uw1[255:0]、uw2[255:0]、......uw8[255:0]表示,k=1时的数据在低位,k为最大值时的数据在高位。
[0032]
将信号自相关模块的16个1024bit寄存器按照0:4:1023的方式抽取数据,组成16个新的数据reg_i1_256[255:0]、reg_q1_256[255:0]、......reg_q8_256[255:0]。相同d值对应的寄存器reg_ix_256与uwx进行异或运算,i路和q路的数据进行异或运算的uwx相同。1个主时钟周期即可完成异或运算,为了统一,异或运算同样由valid驱动。异或运算的输出结果总共有16个,用uw_sx[255:0]表示,x从1到16。延时1个采样周期。
[0033]
接下来是求和运算,可以统计异或运算输出的结果寄存器中0的个数,由步骤二中可知,0代表正数,1带个负数。所以通过步骤二中的优化,将l个数的累加变成了判断0的个数,大大减少计算量。所有的求和运算可以同时进行,在计算完成后,生成2d个数据。再将2d个数据平方再求和,即可算出对应时刻采样点的信号相关值。需要注意的是算出的信号相关值与对应时刻的采样点存在时间差异,差异的时间由处理时间决定,需要确定好对应关系。
[0034]
例如,w_sx中0的个数,由步骤二中可知,0代表正数,1带个负数。实际求和结果为:num0-(256-num0)+d,因为在无效的位置1,相当于增加了1的个数,所以在实际计算中需要弥补。所有的求和运算可以同时进行,在计算完成后,生成16个数据。再将16个数据平方再求和,即可算出对应时刻采样点的信号相关值rth[21:0]。求和和平方运算同样由valid驱动,总共的延时为9个采样周期。所以此时当前时刻的valid对应的rth_counter与rth对应的rth_counter有17个计数的差距。
[0035]
步骤四:信号相关值判决:确定好采样点和其对应的信号相关值后,信号相关值输出给判决模块。判决模块由滑动窗模块和比较模块组成。滑动窗口的长度为lw(奇数),每来一个采样点,窗口滑动一次,并判断一次当前窗口内信号相关值的最大值的位置是否位于窗口的末尾位置即lw处。如果处于末尾,比较模块将判断其值与窗口起始位置即0处的值之间的比例,满足一定比例关系后,即可判定信号到达,此时的处理时间为lw个采样点时间。
[0036]
例如,步骤三中的rth值和对应的rth_counter发送给判决模块的滑动窗模块。滑动窗口的长度为33,每来一个valid,窗口滑动一次,并判断一次当前窗口内信号相关值的最大值rth_max和当前rth的大小,如果rth_max 》 rth,那么最大值位置的计数max_cnt[5:0]加1,rth_max 值保持不变;相反,如果rth_max ≤ rth,那么max_cnt[5:0]的值变为1,rth_max= rth。比较完成后,确认max_cnt的值是否为33,如果为33,那么进入比较模块将判断其值与窗口新的valid来时,rth_max和rth之间的比例,满足rth_max 》 4*rth后,即可判定信号到达,整个判决流程如图4所示。此时的处理时间为34个采样点时间,当前时刻的valid对应的rth_counter与实际信号到达的采样点有51个采样计数的差距。那么实际的独起始采样点的计数rth_valid_count[31:0] = rth_counter
ꢀ‑ꢀ
51
‑ꢀ
255*4。此时输出反馈使能rth_valid和rth_valid_count的值给延时模块。
[0037]
总之,为提高检侧精度,本发明给出一种基于双相关算法的检测信号到达的方法,通过使用双相关算法来进行信号到达检测,第一层信号自相关运算消除频偏的影响,第二层信号自相关结果与本地独自相关结果相关运算,得出相关值并加以判决。本发明针对第一层信号自相关运算进行优化,减少了存储资源的消耗,减少了处理时间,可适用于高
符号速率的数据处理;针对第二层相关运算,将数据的累加求和转变为求寄存器中0的个数,大大减少了计算复杂度,同样减少资源消耗,处理时间也大大降低;针对相关值的判决,给出了一种的判决方式,处理时间取决于滑动窗口lw的长度。
[0038]
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.基于双相关算法实现信号到达检测的方法,其特征在于,包括以下步骤:s1、接收独信号,对独信号进行分路,其中一路进行滤波,获得滤波信号;s2、构建自相关模块,对滤波信号进行信号自相关运算,输出预设数量的存储结果,并进行存储;s3、取预设的存储结果,先后进行异或运算、求和运算,获得信号相关值;s4、构建判决模块,接收信号相关值,判定信号是否达到,输出判决结果;s5、对判决结果进行延时,输出结果。2.如权利要求1所述的基于双相关算法实现信号到达检测的方法,其特征在于,s2中具体步骤包括:s21、至少使用符号延时模块、复乘模块和存储模块组合成所述自相关模块;s22、使用符号延时模块将先前时刻的采样点修正为当前时刻的采样点;s23、将先前时刻的采样点、当前时刻的采样点输入给复乘模块进行运算,输出存储结果;s24、所述存储结果输入至存储模块进行存储。3.如权利要求2所述的基于双相关算法实现信号到达检测的方法,其特征在于,所述先前时刻的采样点、当前时刻的采样点基于双相关算法获得;所述双相关算法的公式为:其中,为已知参数,其中uw(k)为选取的独信号,r(n)为滤波信号,参数n表示接收信号的过采样倍数,d表示最大相关间隔,l表示独信号的长度,r*(n+kn+nd)为当前时刻采样点,r(n+kn)为先前时刻采样点,*表示共轭,丨丨表示取模。4.如权利要求3所述的基于双相关算法实现信号到达检测的方法,其特征在于,s3的具体步骤包括:s31、选取步骤s24中存储后的存储结果,组成一组新的数据,与已知参数中对应的数据进行异或运算,输出异或运算结果;s32、统计异或运算结果中0的个数,通过将l个数的累加变成了判断0的个数,减少计算量,求和计算的结果为num0-(l-num0)+n_padding(d);s33、计算完成后生成预定数量的数据,按照预定的计算方法再次计算,获得对应时刻的采样点的信号相关值。5.如权利要求4所述的基于双相关算法实现信号到达检测的方法,其特征在于,所述判决模块的判决过程包括:s41、将s33中的信号相关值输出至判决模块,所述判决模块至少包括滑动窗模块和比较模块;s42、滑动窗模块判断当前窗口内信号相关值的最大值的位置是否位于窗口的末尾位置;如果处于末尾位置,比较模块将判断其值与窗口起始位置即0处的值之间的比例,满足
预设的比例关系后,判定信号到达。6.基于双相关算法实现信号到达检测的系统,以实现如上述权利要求1-5任意一项所述的方法,其特征在于,至少包括射频接收模块、滤波模块、信号自相关模块、uw模块、判决模块和延时模块,其中射频接收模块的输出端分别与匹配滤波模块输入端和延时模块的输入端连接,匹配滤波模块输出给信号自相关运算模块,信号自相关模块的结果输出给uw模块,uw模块进行异或、求和运算,uw模块与判决模块相连,当uw当前时刻输出的结果满足判决模块的判决条件,判定为信号到达,并将判决结果反馈给延时模块,完成信号到达的检测。
技术总结
本发明公开了一种基于双相关算法实现信号到达检测的方法及系统。该方法包括接收独信号,对独信号进行分路,其中一路进行滤波,获得滤波信号;构建自相关模块,对滤波信号进行信号自相关运算,输出预设数量的存储结果,并进行存储;取预设的存储结果,先后进行异或运算、求和运算,获得信号相关值;构建判决模块,接收信号相关值,判定信号是否达到,输出判决结果;对判决结果进行延时,输出结果。本发明降低了算法复杂度,给出了信号相关值的阈值的判决方法,有效降低了虚警概率和漏检概率,减少了处理时间。少了处理时间。少了处理时间。
技术研发人员:
朱庆浩 沈金海
受保护的技术使用者:
南京控维通信科技有限公司
技术研发日:
2022.11.14
技术公布日:
2022/12/12