基于矢量位移法的三维频谱显示系统的制作方法

文档序号:30156487发布日期:2022-05-26 07:36阅读:170来源:国知局
基于矢量位移法的三维频谱显示系统的制作方法

1.本发明涉及频谱显示系统技术领域,具体地,涉及一种基于矢量位移法的三维频谱显示系统。


背景技术:

2.近年来我国卫星产业的不断发展,卫星射频通道的可靠性至关重要。卫星射频通道频谱监视作为信道信号传输好坏判断的重要依据,对卫星射频通道频谱监视非常有必要的,而直观高效的显示有助于设计人员快速掌握信道性能,缩短对信道异常的判断处置时间。
3.公开号为cn108573520a的专利文献公开了一种三维频谱图的显示方法,主要包括获取压缩比、获取频域数据、频域数据逻辑运算和三维显示步骤,由于被压缩的频域数据的帧数由所述压缩比确定,而所述压缩比可以通过三维频谱图的预设观察时间长度来确定,因此,所获得的压缩频谱数据代表了一个特定时间段内频谱特性。当压缩频谱数据对应的单帧频谱图显示在三维频谱图中时,使得在不改变三维频谱图的预显示总帧数的情况下,可观察到一个较宽时间范围内的三维频谱图,而且,该时间范围可以根据预设观察时间长度来自由确定,从而使得技术人员可在更宽的时间范围内观察被测信号的频谱特性。但是该专利文献存在cpu运算压力大,不能对频谱进行多角度观察,显卡性能依赖性高的缺陷。


技术实现要素:

4.针对现有技术中的缺陷,本发明的目的是提供一种基于矢量位移法的三维频谱显示系统。
5.根据本发明提供的一种基于矢量位移法的三维频谱显示系统,包括如下模块:
6.初始化模块:设置初始投影角度,界面布局;
7.外部输入频谱数据模块:输入频谱幅值、频率值及时间;
8.人际交互模块:设置三维观测角度、图形大小、图像位置及显示方式;
9.程序监控及绘图模块:定期响应所述人机交互模块控件值变化,重新绘图线程,更新线程控制,定期将内存内的数据进行显示;
10.单条频谱更新绘图模块:根据程序监控及绘图模块设置的方向进行旧数据位移更新绘制和新数据绘制;
11.重新绘图模块:收到程序监控及绘图模块重新绘制指令,根据控件值重新绘制三维频谱投影;
12.坐标映射投影及方向矢量转换模块:与所述初始化模块、所述重新绘图模块及所述单条频谱更新绘图模块相连接;
13.外部数据堆栈模块:与所述重新绘图模块和所述单条频谱更新绘图模块相连接;
14.频谱三维至二维映射后数据生成模块:与所述单条频谱更新绘图模块、所述去冗余模块及所述待显示数据生成模块相连接;
15.待显示数据生成模块:与所述程序监控及绘图模块、所述重新绘图模块及所述单条频谱更新绘图模块相连接;
16.去冗余模块:与所述单条频谱更新绘图模块相连接。
17.优选的,按xyz建立坐标系,x轴设置为时间轴、y轴设置为频率轴、z轴设置为幅值轴,方向角为沿x正方向至y正方向、俯仰角为xoy平面与z轴正向夹角;
18.设置未投影前3d图x最小间隔为deltax、y最小间隔为deltay,将频谱幅度信息设定最大最小范围在z轴坐标上进行映射,采用矢量移位法。
19.优选的,所述初始化模块软件开启时根据预先设置的方位角、俯仰角及投影放大倍数设置二维矢量位移矩阵和坐标轴及网格线,获取显示方式,将所述程序监控及绘图模块线程和间接开启接收外部数据线程。
20.优选的,所述外部输入频谱数据模块为对外接口,数据内容包含频谱幅值数组、频率值数组及时间值,仅经由所述单条频谱更新绘图模块按所述外部数据堆栈模块的数据格式存放在所述外部数据堆栈模块中;
21.所述外部输入频谱数据模块的数据用于所述重新绘图模块收到所述人机交互模块变动申请后投影图的重新绘制或用于所述单条频谱更新绘图模块对最新进入的数据进行单条频谱绘制。
22.优选的,所述人机交互模块设置三维观测角度,图形大小、位置及显示方式;
23.所述人机交互模块通知所述程序监控模块和所述绘图模块进行界面设置及频谱绘制,当控件值变化时通知所述重新绘图模块重新绘制频谱。
24.优选的,所述程序监控及绘图模块定期响应所述人际交互模块控件值变化后的申请,终止当前所述单条频谱更新绘图模块线程,通知所述重新绘图模块线程及更新线程控制;
25.所述重绘制模块工作完毕后重新建立所述单条频谱更新绘图模块线程,根据所述待投屏幕数据模块准备完毕标志字并定期将内存内的数据进行显示。
26.优选的,所述单条频谱更新绘图模块的启动及终止受控于所述程序监控模块;
27.根据所述重新绘图模块或所述初始化模块设置于共享数据池的所述坐标映射投影及方向矢量转换模块的方向进行旧数据移位更新绘制和新数据绘制;
28.接收所述去冗余模块删除冗余像素点的数据,将所述去除冗余模块的数据运算产生所述待投屏幕模块的数据;
29.当所述外部数据堆栈模块堆栈满时,使用所述频谱三维至二维映射后生成模块的历史数据进行移位操作,在上次更新频谱帧处进行本帧频谱数据更新。
30.优选的,所述坐标映射投影及方向矢量生成模块,三维坐标系下相邻频谱帧在进行位置更新时仅存在时间轴向的位移矢量,对应投影后位移矢量为三维坐标系下时间轴向的位移矢量在二维平面上的投影。
31.优选的,所述i频谱三维至二维映射后数据生成模块,每一帧频谱三维至二维映射后生成的数据包含x/y坐标值列表、坐标点颜色列表,生成本帧时的堆栈位置;
32.当数据与所述人机交互模块交互后,对上述结构体中的x/y坐标值列表、坐标点颜色列表进行删减。
33.优选的,所述去冗余模块对所述单条频谱更新绘图模块由于填充算法产生的同一
帧内的冗余进行删减。
34.与现有技术相比,本发明具有如下的有益效果:
35.1、本发明数据运用高效:通过矢量移位法,对每次到达的最新一条频谱数据由三维转换至二维色阶投影数据,接续至多条先前运算产生过的历史三维至二维投影后的频谱数据,极大程度减少cpu运算压力;
36.2、本发明内存占用量小:根据某一条频谱数据在全部时刻频谱序列的位置,去除本条频谱数据的冗余信息,减少系统内存的占用;
37.3、本发明不依赖显卡性能:仅采用cpu对单次最新数据渲染、计算机运算压力小,将三维频谱转换至二维色阶投影数据显示;
38.4、本发明多角度频谱呈现:支持三维频谱的自由旋转,可对频谱进行多角度观察。
附图说明
39.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
40.图1是一种基于矢量位移法的三维频谱显示系统的原理框图;
41.图2是一种基于矢量位移法的三维频谱显示系统的坐标映射投影模型;
42.图3是一种基于矢量位移法的三维频谱显示系统的频谱三维显示效果图。
具体实施方式
43.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
44.如图1所示,本发明提供的一种基于矢量位移法的三维频谱显示系统,按xyz建立坐标系,x轴设置为时间轴、y轴设置为频率轴、z轴设置为幅值轴,方向角为沿x正方向至y正方向、俯仰角为xoy平面与z轴正向夹角,设置未投影前3d图x最小间隔为deltax、y最小间隔为deltay,将频谱幅度信息设定最大最小范围在z轴坐标上进行映射,采用矢量移位法。
45.基于矢量位移法的三维频谱显示系统包括如下模块:
46.初始化模块:设置初始投影角度,界面布局;初始化模块软件开启时根据预先设置的方位角、俯仰角及投影放大倍数设置二维矢量位移矩阵和坐标轴及网格线,获取显示方式,将程序监控及绘图模块线程和间接开启接收外部数据线程;
47.外部输入频谱数据模块:输入频谱幅值、频率值及时间;外部输入频谱数据模块为对外接口,数据内容包含频谱幅值数组、频率值数组及时间值,仅经由单条频谱更新绘图模块按外部数据堆栈模块的数据格式存放在外部数据堆栈模块中;外部输入频谱数据模块的数据用于重新绘图模块收到人机交互模块变动申请后投影图的重新绘制或用于单条频谱更新绘图模块对最新进入的数据进行单条频谱绘制;
48.人际交互模块:设置三维观测角度、图形大小、图像位置及显示方式;人机交互模块设置三维观测角度,图形大小、位置及显示方式;人机交互模块通知程序监控模块和绘图模块进行界面设置及频谱绘制,当控件值变化时通知重新绘图模块重新绘制频谱;
49.程序监控及绘图模块:定期响应人机交互模块控件值变化,重新绘图线程,更新线程控制,定期将内存内的数据进行显示;程序监控及绘图模块定期响应人际交互模块控件值变化后的申请,终止当前单条频谱更新绘图模块线程,通知重新绘图模块线程及更新线程控制;重绘制模块工作完毕后重新建立单条频谱更新绘图模块线程,根据待投屏幕数据模块准备完毕标志字并定期将内存内的数据进行显示;
50.单条频谱更新绘图模块:根据程序监控及绘图模块设置的方向进行旧数据位移更新绘制和新数据绘制;单条频谱更新绘图模块的启动及终止受控于程序监控模块,根据重新绘图模块或初始化模块设置于共享数据池的坐标映射投影及方向矢量转换模块的方向进行旧数据移位更新绘制和新数据绘制,接收去冗余模块删除冗余像素点的数据,将去除冗余模块的数据运算产生待投屏幕模块的数据,当外部数据堆栈模块堆栈满时,使用频谱三维至二维映射后生成模块的历史数据进行移位操作,在上次更新频谱帧处进行本帧频谱数据更新;
51.重新绘图模块:收到程序监控及绘图模块重新绘制指令,根据控件值重新绘制三维频谱投影;
52.坐标映射投影及方向矢量转换模块:与初始化模块、重新绘图模块及单条频谱更新绘图模块相连接;坐标映射投影及方向矢量生成模块,三维坐标系下相邻频谱帧在进行位置更新时仅存在时间轴向的位移矢量,对应投影后位移矢量为三维坐标系下时间轴向的位移矢量在二维平面上的投影;
53.外部数据堆栈模块:与重新绘图模块和单条频谱更新绘图模块相连接;
54.频谱三维至二维映射后数据生成模块:与单条频谱更新绘图模块、去冗余模块及待显示数据生成模块相连接;i频谱三维至二维映射后数据生成模块,每一帧频谱三维至二维映射后生成的数据包含x/y坐标值列表、坐标点颜色列表,生成本帧时的堆栈位置,当数据与人机交互模块交互后,对上述结构体中的x/y坐标值列表、坐标点颜色列表进行删减;
55.待显示数据生成模块:与程序监控及绘图模块、重新绘图模块及单条频谱更新绘图模块相连接;
56.去冗余模块:与单条频谱更新绘图模块相连接;去冗余模块对单条频谱更新绘图模块由于填充算法产生的同一帧内的冗余进行删减。
57.优选例:
58.一种基于矢量位移法的三维频谱显示系统包括a初始化模块、b外部输入频谱数据、c人际交互模块、d程序监控及绘图模块、e单条频谱更新绘图模块、f重新绘图模块、g坐标映射投影及方向矢量转换模块、h外部数据堆栈模块、i频谱三维至二维映射后数据生成模块、m待显示数据生成模块和n去冗余模块。该系统以程序监控及绘图模块中心,定期响应交互界面控件值变化及重新绘图线程及更新线程控制、定期将内存内的数据进行显示。
59.本系统基于投影法,按xyz建立坐标系,x轴设置为时间轴、y轴设置为频率轴、z轴设置为幅值轴,方向角为沿x正方向至y正方向、俯仰角为xoy平面与z轴正向夹角。为在屏幕上显示,设置未投影前3d图x最小间隔为deltax、y最小间隔为deltay,由于z轴为频谱幅度信息,其值随机,将其设定最大最小范围在z轴坐标上进行映射,采用矢量移位法。
60.a初始化模块,软件开启时根据预先设置的方位角、俯仰角、投影放大倍数设置二维矢量位移矩阵(即图中g坐标映射投影及方向矢量x与y向矩阵分别为总频谱条数*每条频
谱频率点数)、坐标轴及网格线;获取显示方式(独立点显示、频谱帧内连线、频谱帧间连线、频谱帧间填充);将程序监控及绘图模块线程及间接开启接收外部数据线程(e单条频谱更新绘图模块)。
61.b外部输入频谱数据模块,本部分为对外接口,数据内容包含频谱幅值数组、频率值数组、时间值,仅经由e单条频谱更新绘图模块按h外部数据堆栈数据格式存放在外部数据堆栈中,用作f重新绘图模块收到c交互界面变动申请后投影图重新绘制或e单条频谱更新绘图模块用于对最新进入的数据进行单条频谱绘制。
62.c人机交互模块,设置三维观测角度,图形大小、位置,显示方式(独立点显示、频谱帧内连线、频谱帧间连线、频谱帧间填充);通知d程序监控模块及绘图模块进行界面设置及频谱绘制;当控件值变化时通知f重新绘图模块重新绘制频谱。
63.d程序监控及绘图模块,定期响应c人际交互模块控件值变化后的申请;终止当前e单条频谱更新绘图模块线程;通知f重新绘图线程及更新线程控制;f重绘制模块工作完毕后重新建立e单条频谱更新绘图模块线程;根据m待投屏幕数据模块准备完毕标志字定期将内存内的数据(即m待投屏幕数据模块)进行显示。
64.e单条频谱更新绘图模块,本模块启动及终止受控于d程序监控模块;根据f重新绘图模块或a初始化模块设置于共享数据池g坐标映射投影及方向矢量数据的方向进行旧数据移位更新绘制及新数据绘制;接收去冗余模块删除冗余像素点的数据,将去除冗余的数据运算产生m待投屏幕数据;当h外部数据堆栈满时,使用i每一帧频谱三维至二维映射后生成的数据历史数据时进行移位操作,在上次更新频谱帧处进行本帧频谱数据更新。
65.g坐标映射投影及方向矢量生成模块,三维坐标系下相邻频谱帧在进行位置更新时仅存在时间轴向的位移矢量,对应投影后位移矢量为三维坐标系下时间轴向的位移矢量在二维平面上的投影。
66.i频谱三维至二维映射后数据生成模块,每一帧频谱三维至二维映射后生成的数据包含x/y坐标值列表、坐标点颜色列表,生成本帧时的堆栈位置(用于位移操作);当数据与人机交互模块交互后,对上述结构体中的x/y坐标值列表、坐标点颜色列表进行删减,减少下次e单条频谱更新绘图模块运算使用的点数,减少内存使用量及减少cpu使用率。
67.m待显示数据生成模块,由e单条频谱更新绘图模块或f重新绘图模块生成待显示区域长(像素点)*待显示区域宽(像素点)*3byte的一维数组,用于d程序监控及绘图模块定时绘制三维显示。
68.n去冗余模块,对e单条频谱更新绘图模块由于填充算法产生的i中同一帧内的冗余进行删减。
69.实施例:
70.如图1所示,本发明一种基于矢量位移法的三维频谱显示系统包括a初始化模块、b外部输入频谱数据、c人际交互模块、d程序监控及绘图模块、e单条频谱更新绘图模块、f重新绘图模块、g坐标映射投影及方向矢量转换模块、h外部数据堆栈模块、i频谱三维至二维映射后数据生成模块、m待显示数据生成模块和n去冗余模块。该系统以程序监控及绘图模块中心,定期响应交互界面控件值变化及重新绘图线程及更新线程控制、定期将内存内的数据进行显示。
71.基于矢量位移法的三维频谱显示系统,基于投影法,按xyz建立坐标系,x轴设置为
时间轴、y轴设置为频率轴、z轴设置为幅值轴,方向角为沿x正方向至y正方向、俯仰角为xoy平面与z轴正向夹角。每次(等时间间隔)外部数据同一时刻送固定数目的等间隔频率数据和相同固定数目的对应幅值进入软件处理,本系统将各时刻送入的数据进行三维投影显示,z轴幅值信息依据数值进行颜色渲染,显示总频谱数可设置,当新增数据超过设置值时将最先进入堆栈的频谱移除,由此保障频谱总数固定;由于外部数据等时间间隔且统一时刻相邻频率数据等间隔,故采用矢量移位法。为在屏幕上显示,设置未投影前3d图x最小间隔为deltax、y最小间隔为deltay,由于z轴为频谱幅度信息,其值随机,将其设定最大最小范围在z轴坐标上进行映射。
72.a初始化模块,软件开启时根据预先设置的方位角、俯仰角、投影放大倍数设置二维矢量位移矩阵(即图中g坐标映射投影及方向矢量x与y向矩阵分别为总频谱条数*每条频谱频率点数)、坐标轴及网格线;获取显示方式(独立点显示、频谱帧内连线、频谱帧间连线、频谱帧间填充);将程序监控及绘图模块线程及间接开启接收外部数据线程(e单条频谱更新绘图模块)。
73.b外部输入频谱数据模块,本部分为对外接口,数据内容包含频谱幅值数组、频率值数组、时间值,仅经由e单条频谱更新绘图模块按h外部数据堆栈数据格式存放在外部数据堆栈中,用作f重新绘图模块收到c交互界面变动申请后投影图重新绘制或e单条频谱更新绘图模块用于对最新进入的数据进行单条频谱绘制。
74.c人机交互模块,设置三维观测角度,图形大小、位置,显示方式(独立点显示、频谱帧内连线、频谱帧间连线、频谱帧间填充);通知d程序监控模块及绘图模块进行界面设置及频谱绘制;当控件值变化时通知f重新绘图模块重新绘制频谱。
75.d程序监控及绘图模块,定期响应c人际交互模块控件值变化后的申请;终止当前e单条频谱更新绘图模块线程;通知f重新绘图线程及更新线程控制;f重绘制模块工作完毕后重新建立e单条频谱更新绘图模块线程,f重新绘图模块送结束标志字后,e单条频谱更新绘图模块功能再次启动;根据m待投屏幕数据模块准备完毕标志字定期将内存内的数据(即m待投屏幕数据模块)进行显示。
76.e单条频谱更新绘图模块,本模块启动及终止受控于d程序监控模块;根据f重新绘图模块或a初始化模块设置于共享数据池g坐标映射投影及方向矢量数据的方向进行旧数据(即i每一帧频谱三维至二维映射后生成的数据)移位更新绘制及新数据绘制;将历史产生的i每一帧频谱三维至二维映射后生成的数据及最新由e单条频谱更新绘图模块产生的频谱投影数据送去冗余模块进行频谱帧间取冗余及本帧频谱内去冗余;接收去冗余模块删除冗余像素点的数据,将去除冗余的数据运算产生m待投屏幕数据;当h外部数据堆栈未满时,使用i每一帧频谱三维至二维映射后生成的数据历史数据时不进行移位,仅在新位置生成新频谱帧映射数据;当h外部数据堆栈满时,使用i每一帧频谱三维至二维映射后生成的数据历史数据时进行移位操作,在上次更新频谱帧处进行本帧频谱数据更新。
77.f重新绘图模块,线程建立及终止受制于d程序监控及绘图模块,当c人机交互模块控件变化时,d程序监控及绘图模块终止当前f重新绘图模块线程后重新建立;接收程序监控及绘图模块重新绘制指令;根据c交互界面控件值运算一次产生g坐标映射投影及方向矢量数据;读取h外部数据堆栈数据,使用g坐标映射投影及方向矢量数据值重新绘制三维频谱至二维投影;根据c交互界面显示方式设置多个频谱数据呈现方式(独立点显示、频谱帧
内连线、频谱帧间连线、频谱帧间填充)。
78.g坐标映射投影及方向矢量生成模块,三维坐标系下相邻频谱帧在进行位置更新时仅存在时间轴向的位移矢量,对应投影后位移矢量为三维坐标系下时间轴向的位移矢量在二维平面上的投影。
79.h外部数据堆栈模块,每一帧外部频谱数据包括频谱幅值数组、频率值数组、时间;外部数据堆栈中对每次输入的数据进行结构化处理;当堆栈超最大值时,e单条频谱更新绘图模块删除最先进入结构体的单条频谱数据。
80.i频谱三维至二维映射后数据生成模块,每一帧频谱三维至二维映射后生成的数据包含x/y坐标值列表、坐标点颜色列表,生成本帧时的堆栈位置(用于位移操作);上述结构体放在堆栈里,堆栈增加及删除方式同h外部数据堆栈;当数据与人机交互模块交互后,对上述结构体中的x/y坐标值列表、坐标点颜色列表进行删减,减少下次e单条频谱更新绘图模块运算使用的点数,减少内存使用量及减少cpu使用率。
81.m待显示数据生成模块,由e单条频谱更新绘图模块或f重新绘图模块生成待显示区域长(像素点)*待显示区域宽(像素点)*3byte的一维数组;用于d程序监控及绘图模块定时绘制三维显示。
82.n去冗余模块,对e单条频谱更新绘图模块由于填充算法产生的i中同一帧内的冗余进行删减;对经过e单条频谱更新绘图模块的每一帧频谱三维至二维映射后生成的数据堆栈选取固定位置进行实时删除,即比对第i帧形成的色带与其后产生的第i+1~n帧色带间重复部分,去除第i帧重复的x/y坐标值及色彩值。
83.图2所示为坐标映射投影模型,oo'为单位方向矢量,其垂直于xoyozo平面,三维图形显示在oo'为方向矢量垂直的平面上,原三维图在xoyozo平面上映射的比例为:
84.x
映射后
=x
原始
*sin(∠oo'xo)*放大倍数,
85.y
映射后
=x
原始
*sin(∠oo'yo)*放大倍数,
86.z
映射后
=x
原始
*sin(∠oo'zo)*放大倍数,
87.其中放大倍数为映射后图形显示的比例大小。
88.为使o'zo轴(即映射后的幅度值)始终垂直于显示器水平方向,需要定义qq’线使其与o'zo轴垂直,即以qo'q’作为映射后的横轴o'当做原点,通过矢量运算可得到∠zoo’yo及∠zoo’xo,将原三维坐标点按x,y,z分别在xoyozo投影即可得到投影后的q’o’zo二维坐标系下的坐标。三维坐标系下相邻频谱帧在进行位置更新时仅存在时间轴向的位移矢量,对应投影后位移矢量为三维坐标系下时间轴向的位移矢量在二维平面上的投影。
89.本发明通过cpu对每次到达的最新一条频谱数据由三维转换至二维色阶投影数据,根据频谱沿时间轴方向生成频谱序列顺序,逐一将最新运算产生的三维至二维投影后的频谱数据接续至多条先前运算产生过的历史三维至二维投影后的频谱数据,极大程度减少cpu运算压力,实现历史数据的高效运用;同时根据某一条频谱数据在全部时刻频谱序列的位置,去除本条频谱数据的冗余信息,减少系统内存的占用。本发明与目前现有的三维频谱显示相比,其具有不依赖显卡性能、仅采用cpu对单次最新数据渲染、计算机运算压力小、去除数据冗余性优点。
90.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供
的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
91.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1