一种功率谱数据的扫频处理系统的制作方法

文档序号:33701262发布日期:2023-03-31 19:15阅读:24来源:国知局
一种功率谱数据的扫频处理系统的制作方法

1.本发明属于雷达处理领域领域,具体涉及一种功率谱数据的扫频处理系统。


背景技术:

2.基于fpga(片上可编程门阵列)对雷达信号进行采集,并进行扫频处理,其框图如图1所示。
3.扫频处理在雷达处理应用广泛,对于高带宽信号,adc无法直接进行全带宽采集,需要通过变频器来切换频点,将高带宽信号分成若干个小带宽信号,并通过频谱拼接技术将每次采集的片段进行拼接,完成整个频带的采集。现阶段功率谱计算已成熟,其目的是将时域信号转换为频域信号,便于上位机进行分析。对功率谱数据处理在fpga中主要需要计算实时值、最大值、平均值,便于抓取瞬时信号。其中,实时值是当前频点采集的信号;最大值是在当前频点经历若干个时间段采集的信号最大值保持,目的为了找出藏匿或突发信号;平均值计算是在当前频点经历若干个时间段采集的信号做平滑处理,减少信号毛刺或杂散信号;打包将数据进行封装,保证数据传输的正确性。
4.现阶段扫频处理方式有:
5.国家知识产权局公布的申请号为“202110240465.4”的“一种基于高速采集的fft频谱数据处理方法”,其揭露了对频谱数据进行余晖处理的方法,用于解决在固定频点下对功率谱数据进行实时值、最大值、平均值计算。其步骤如下:
6.定频处理,输入数据频点固定,设定需处理的帧数;
7.计算最大值、平均值、实时值;
8.在达到设定次数后,通过反馈机制,暂停功率谱计算;
9.对实时值、最大值、平均值进行打包;
10.等待打包结束,然后进行手动频点切换,再进行循环操作,达到扫频目的。
11.如图2所示,横向表示每个模块经历时间,纵向表示模块间并行处理。频点切换通过反馈机制对变频器进行控制,功率谱计算通过对fft后数据进行平方和再进行对数运算得到,输出位宽为16bit。此处最大值、平均次数以3为例,频点表示变频器变频后信号频率,

framen’表示输入功率谱密度,其长度为8-65536点,数字n表示对功率谱密度输入包计数,

average’表示平均值计算结果,

max’表示最大值保持结果,h表示包头(head),e表示包尾(tail)。
12.为解决定频处理效率低下的问题,通过在打包之前添加ram来满足功率谱数据流水输入,且防止数据计算过程中数据被覆盖的问题,其步骤如下:
13.设定初始频点,功率谱数据流水输入;
14.上位机设定需处理的帧数,然后计算最大值、平均值、实时值;
15.在达到设定次数后,切换频点,同时将计算的数据存入ram(随机存取存储器);
16.分别控制ram将最大值、平均值、实时值轮训进行读操作并进行打包处理。
17.如图3所示,横向表示每个模块经历时间,纵向表示模块间并行处理。
18.由图2可知,对于定频处理,在打包完成后通过反馈控制变频器频点切换,处理效率低下,同时信号采集是非连续的,在扫频过程中可能会丢失有用信息。由图3可知,对采集信号通过流水输入,通过计数fft运算次数来控制变频器频点切换,进行数据连续采集,但是在计算均值、与最大值保持,由于数据连续输入,在组包过程中需要将计算均值、最大值保持与实时值在ram中进行保存,防止输入数据对ram内存进行覆盖。然而fpga内存资源是有限的,fft处理数据点数为8-65536点,对于输入位宽为16bit的数据,因此至少需预留5个16*64k大小的内存,对于fpga内部资源消耗是不友好的。同时需增加控制信号控制ram读写操作,导致系统操作繁琐。


技术实现要素:

19.(一)要解决的技术问题
20.本发明要解决的技术问题是如何提供一种功率谱数据的扫频处理系统,以解决定频处理处理效率低下,采集信号通过流水输入的方式对于fpga内部资源消耗是不友好的问题。
21.(二)技术方案
22.为了解决上述技术问题,本发明提出一种功率谱数据的扫频处理系统,该系统包括:位宽转换模块、均值计算模块、最大值计算模块、第1真双口ram、第2真双口ram和控制模块;
23.该系统的输入包括16bit的数据frame_din,1bit数据有效指示frame_din_vld,1bit数据帧起始标志frame_din_first,1bit数据帧结尾标志frame_din_last,通过位宽转换模块,将输入的16bit数据转为64bit,输出到均值计算模块和最大值计算模块;
24.均值计算模块完成求和和除法运算,输出14bit地址addra和98bit的求和后数据dina到第1真双口ram,以及输出66bit均值mean_dout到控制模块;
25.第1真双口ram对求和后数据dina进行存储,并输出98bit的douta到均值计算模块和最大值计算模块,并且输出98bit的doutb到第2真双口ram的dinb口,同时作为real_dout输出至控制模块;
26.最大值计算模块完成最大值计算,输出14bit地址和66bit的比较后数据到第2真双口ram的的addra口和dina口;
27.第2真双口ram完成计算的最大值进行存储,并输出douta到最大值计算模块,输出doutb作为max_out输入到控制模块;
28.控制模块是对ram进行读写控制,以及对数据进行打包,控制模块除了需要接入real_dout、max_out、mean_dout外,控制模块的输入还包括clk、mean_max_time和fft_num,输出信号到第1真双口ram的wea和addrb,第1真双口ram的dinb和web接地;输出信号到第2真双口ram的wea、web、addrb;输出包有效指示package_dout_vld、64bit的数据包输出package_dout、包起始标志package_first和包结尾标志package_last。
29.进一步地,该系统输入的16bit的数据为功率谱密度数据。
30.进一步地,该系统对频谱实时数据、最大值数据、平均值数据进行打包处理,实时值即为当前功率谱密度数据直接输出,对于多个帧进行最大值或平均值计算时,选择一帧作为实时值进行输出,平均值计算是将多帧数据每个点相加后再除以帧数,最大值计算将
多个数据帧每个点大小比较,获得最大值。
31.进一步地,该系统的处理过程分为处理1帧和处理大于1帧两种情况。
32.进一步地,在对1帧数据进行均值、最大值计算,计算数据与输入帧一样,在进行ram存储时,将最大值和均值都存在一个ram中,读两次即为最大值和均值。
33.进一步地,在处理1帧数据时,在1帧的时间内完成对实时数据、最大值、均值的打包。
34.进一步地,在处理1帧数据时,该系统的处理过程如下:
35.s11、上位机发送包头信息,fpga进行功率谱计算得到16bit数据;
36.s12、16bit数据转为64bit;
37.s13、64bit数据输入均值计算模块,根据din_vld有效生成地址addra,以及拉高wea信号,输出数据到第1真双口ram的dina端口;
38.s14、等待一段时间,通过控制模块输出地址addrb,读取第1真双口ram数据;
39.s15、将第1真双口ram输出的数据存入第2真双口ram,同时将第1真双口ram数据输出到控制模块,作为实时值数据;
40.s16、控制模块检测实时值的last标志,来控制第2真双口ram地址addrb,通过两次计数对第2真双口ram读取,获得最大值、均值结果;
41.s17、将实时值、均值、最大值输入到控制模块,然后进行打包处理;
42.s18、对于下一帧处理,返回s11进行循环操作。
43.进一步地,在第s14步中,在对第1真双口ram进行读取时,需等待输入数据达到3/4*l后将第1真双口ram数据读出,l表示fft点数。
44.进一步地,在处理大于1帧数据时,该系统的处理过程如下:
45.s21、上位机发送包头信息,fpga进行功率谱计算得到16bit数据;
46.s22、16bit数据转为64bit;
47.s23、第1帧的数据输入均值计算模块,根据din_vld有效生成地址addra,以及拉高wea信号并将数据输出到第1真双口ram的dina管脚;
48.s24、等待一段时间,通过控制模块输出地址addrb,第1真双口ram输出信号real_data作为实时值输出;
49.s25、在均值计算模块中,根据din_vld有效生成地址addra,以及拉高wea信号,读取第1真双口ram数据,将第2帧的输入数据与第1真双口ram的douta端的输出相加,相加后结果通过端口dina输入第1真双口ram;同时,在最大值计算模块中,根据din_vld有效生成地址addra,以及拉高wea信号,读取第2真双口ram数据,将第1真双口ram的douta端的输出与第2帧输入数据每个点进行大小比较,将最大值存入第2真双口ram中;
50.s26、将第3帧的数据与第1真双口ramdouta端的输出相加,相加后结果通过端口a输入第1真双口ram;同时将第2真双口ramdouta端的输出与第3帧的数据每个点进行大小比较,将最大值存入第2真双口ram中;
51.s27、重复步骤s26,在达到设计要求次数,读取第1真双口ramdouta端的输出与最后一帧求和后并进行除法运算,得到均值,输出到控制模块;同时,读取第2真双口ramdouta端的输出与最后一帧大小比较,将最大值通过douta端存入第2真双口ram,等待均值计算完,然后从第2真双口ram中doutb端口读出,即为最大值,输出到控制模块;
52.s28、将实时值、均值、最大值输入到控制模块,然后进行打包处理;
53.s29、返回s21进行循环处理。
54.进一步地,在第s24步中,在对第1真双口ram进行读取时,需等待输入数据达到3/4*l后将第1真双口ram数据读出,l表示fft点数。
55.(三)有益效果
56.本发明提出一种功率谱数据的扫频处理系统,本发明对结构进行优化,将打包与计算进行合并,将多级控制模块集成,本发明通过真双口ram的设计及复用,以及对ram的读写控制优化。本发明的优点在于,首先,对现有结构进行优化,将打包与计算进行合并,多级控制模块进行集成,减少了中间步骤的繁琐控制,资源对比如表1所示。然后,在对最大值、均值打包过程中,通过对ram进行复用,不仅减少资源的消耗,同时提高了处理效率。最后,整体框架数据流通过上位机控制,并对数据包头、包尾进行控制,同时组包数据支持实时值、最大值、均值任意组合输出。
附图说明
57.图1为扫频处理整体框图;
58.图2为定频处理,待打包完成再进行下一次扫频;
59.图3为通过增加ram来实现流水处理;
60.图4为本发明功率谱数据的扫频处理系统示意图;
61.图5为本发明对1帧数据处理的情况示意图;
62.图6为本发明的位宽转换时序图;
63.图7为本发明的大于1帧的处理情况(以3为例)示意图。
具体实施方式
64.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
65.本发明的目的是提供一种功率谱数据的扫频处理系统,对采集的数据打包并连续上传到上位机。通过对ram的复用,提升数据处理的效率,以及减少了fpga的ram逻辑资源消耗。
66.实时值即为当前功率谱密度数据直接输出,对于多个帧进行最大值或平均值计算时,选择一帧作为实时值进行输出。平均值计算是将多帧数据每个点相加后再除以帧数。最大值计算将多个数据帧每个点大小比较,获得最大值,即为最大值计算。
67.本发明需要对频谱实时数据、最大值数据、平均值数据进行打包处理,数据包包括包头、数据和包尾,包头、包尾参数信息通过上位机进行下发。通过对平均值,最大值ram复用,来减少ram使用,减少模块间的繁琐操作。
68.本发明的系统如图4所示,该系统包括:位宽转换模块、均值计算模块、最大值计算模块、第1真双口ram、第2真双口ram和控制模块;
69.图4中输入为上层模块计算的功率谱密度数据,以帧的格式进行输入,包括16bit的数据frame_din,1bit数据有效指示frame_din_vld,1bit数据帧起始标志frame_din_first,1bit数据帧结尾标志frame_din_last,通过位宽转换模块,将输入的16bit数据转为
64bit,输出到均值计算模块和最大值计算模块;
70.均值计算模块完成求和和除法运算,输出14bit地址addra和98bit的求和后数据dina到第1真双口ram,以及输出66bit均值mean_dout到控制模块;
71.第1真双口ram对求和后数据dina进行存储,并输出98bit的douta到均值计算模块和最大值计算模块,并且输出98bit的doutb到第2真双口ram的dinb口,同时作为real_dout输出至控制模块;
72.最大值计算模块完成最大值计算,输出14bit地址和66bit的比较后数据到第2真双口ram的的addra口和dina口;
73.第2真双口ram完成计算的最大值进行存储,并输出douta到最大值计算模块,输出doutb作为max_out输入到控制模块;
74.控制模块是对ram进行读写控制,以及对数据进行打包,控制模块除了需要接入real_dout、max_out、mean_dout外,控制模块的输入还包括clk、mean_max_time和fft_num,输出信号到第1真双口ram的wea和addrb,第1真双口ram的dinb和web接地;输出信号到第2真双口ram的wea、web、addrb;输出包有效指示package_dout_vld、64bit的数据包输出package_dout、包起始标志package_first和包结尾标志package_last。
75.本发明为满足向上与向下兼容,便于设计,故将数据处理分为处理1帧和处理大于1帧两种情况。设计思路大致相同,只修改控制模块输出控制信号约束。在对1帧数据进行均值、最大值计算,计算数据与输入帧一样,在进行ram存储时,为了防止ram中数据被覆盖,因此将最大值和均值都存在一个ram中,读两次即为最大值和均值。处理过程如下:
76.由图5可知,横向表示每个模块经历时间,纵向表示模块间并行处理。frame(f)表示输入功率谱密度,数据位宽为16bit,长度(l)为8-65536点,可通过上位机进行配置,average(a)表示平均值计算结果,max(m)表示最大值保持结果,h表示包头(head),e表示包尾(tail)。处理1帧数据(实时值、最大值、均值结果相同),在对数据进行打包时,为满足流水线处理要求,需在1帧的时间内完成对实时数据、最大值、均值进行打包。处理步骤如下:
77.s11、上位机发送包头信息,fpga进行功率谱计算得到16bit数据;
78.s12、16bit数据转为64bit,为满足后续的ram提速处理,对连续输入位宽转换时序图如图6所示;
79.s13、64bit数据输入均值计算模块,根据din_vld有效生成地址addra,以及拉高wea信号,输出数据到第1真双口ram的dina端口;
80.s14、等待一段时间,通过控制模块输出地址addrb,读取第1真双口ram数据;
81.s15、将第1真双口ram输出的数据存入第2真双口ram,同时将第1真双口ram数据输出到控制模块,作为实时值数据;
82.s16、控制模块检测实时值的last标志,来控制第2真双口ram地址addrb,通过两次计数对第2真双口ram读取,获得最大值、均值结果;
83.s17、将实时值、均值、最大值输入到控制模块,然后进行打包处理;
84.s18、对于下一帧处理,返回s11进行循环操作。
85.注:在第s14步中等待一段时间将第1真双口ram数据写入第2真双口ram中,由于数据16bit转为64bit处理,以面积来节约时间,因此在对第1真双口ram进行读取时,需等待输入数据达到3/4*l(l表示fft点数)后将第1真双口ram数据读出,防止出现读空现象。
86.由上图7可知,对大于1帧的数据进行最大值、均值计算。其处理步骤如下:
87.s21、上位机发送包头信息,fpga进行功率谱计算得到16bit数据;
88.s22、16bit数据转为64bit,为满足后续的ram提速处理。对连续输入位宽转换时序图如上图6;
89.s23、第1帧的数据输入均值计算模块,根据din_vld有效生成地址addra,以及拉高wea信号并将数据输出到第1真双口ram的dina管脚;
90.s24、等待一段时间,通过控制模块输出地址addrb,第1真双口ram输出信号real_data作为实时值输出;
91.s25、在均值计算模块中,根据din_vld有效生成地址addra,以及拉高wea信号,读取第1真双口ram数据,将第2帧的输入数据与第1真双口ram的douta端的输出相加,相加后结果通过端口dina输入第1真双口ram;同时,在最大值计算模块中,根据din_vld有效生成地址addra,以及拉高wea信号,读取第2真双口ram数据,将第1真双口ram的douta端的输出与第2帧输入数据每个点进行大小比较,将最大值存入第2真双口ram中;
92.s26、将第3帧的数据与第1真双口ramdouta端的输出相加,相加后结果通过端口a输入第1真双口ram;同时将第2真双口ramdouta端的输出与第3帧的数据每个点进行大小比较,将最大值存入第2真双口ram中;
93.s27、重复步骤s26,在达到设计要求次数,读取第1真双口ramdouta端的输出与最后一帧求和后并进行除法运算,得到均值,输出到控制模块;同时,读取第2真双口ramdouta端的输出与最后一帧大小比较,将最大值通过douta端存入第2真双口ram,等待均值计算完,然后从第2真双口ram中doutb端口读出,即为最大值,输出到控制模块;
94.s28、将实时值、均值、最大值输入到控制模块,然后进行打包处理;
95.s29、返回s21进行循环处理。
96.如表1所示为本发明的资源优先展示:
97.表1资源对比
[0098][0099]
本发明对结构进行优化,将打包与计算进行合并,将多级控制模块集成,本发明通过真双口ram的设计及复用,以及对ram的读写控制优化。本发明的优点在于,首先,对现有结构进行优化,将打包与计算进行合并,多级控制模块进行集成,减少了中间步骤的繁琐控制,资源对比如表1所示。然后,在对最大值、均值打包过程中,通过对ram进行复用,不仅减少资源的消耗,同时提高了处理效率。最后,整体框架数据流通过上位机控制,并对数据包头、包尾进行控制,同时组包数据支持实时值、最大值、均值任意组合输出。
[0100]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1