卫星中频信号高速采集设计

admin 2023年4月1日15:17:18评论287 views字数 13057阅读43分31秒阅读模式

    客户要求实现4通道12位62MSPS(AD板最大支持250MSPS),其中存储时12位数据扩充4个符号位成16位,由此可计算带宽:4 * 16 / 8 * 62e6 = 496000000 B/sec = 473MB /sec。

如果使用2T容量的SSD硬盘存储,大约可存储时长:2*1024^4 / (473 *1024 ^2) = 4433 sec = 73 min = 1.2h。考虑到硬盘容量一般都要缩水,以上计算仅为参考值。

    根据客户要求制定了采集方案,含数据的存储模块和导出模块,其中存储模块指AD板采集天线下变频后的中频信号,将采样值传给FPGA并由FPGA写入NVME SSD硬盘中,导出模块指在上位机软件的指令下,FPGA读取NVME SSD中的数据并经千兆网接口(UDP协议)上报给上位机。

卫星中频信号高速采集设计

卫星中频信号高速采集设计

图中AX7350开发板参考: 

图中 FL9613 AD采集板参考:https://i-item.jd.com/10042591241792.html

以上方案已经甲方验收。天线接收信号经变频、采样、存储、导出后,利用软件接收机进行处理,能够实现信号捕获、跟踪、定位结算。

卫星中频信号高速采集设计

在实际开发过程中,为了减少各功能模块的耦合,加快独立开发和验证,对存储和导出部分做了如下的简化方案:

卫星中频信号高速采集设计

用正弦信号发生器(可输出1MHz~30MHz等不同频率的正弦波)代替天线和下变频模块产生的中频信号,一般地,AD板的4路输入通道中只接入1路正弦波信号即可。AD采集正弦波信号并就经FPGA存入SSD(注意:可在此环节用WINHEX软件将SSD中数据拷贝出来用MATLAB绘图分析),在上位机的指令下,FPGA读取NVME SSD中的数据并经千兆网接口(UDP协议)上报给上位机并存成文件,可用MATLAB对相应文件绘图分析,看是否存在正弦波形。如下图所示(CH1/2/3是噪声,CH4是正弦波信号):

卫星中频信号高速采集设计

这样,基于正弦波信号发生器和示波器等仪器设备,在独立地验证了FPGA的存储和导出功能后,再与天线下变频信号处理模块、上位机中软件接收机后处理程序等联调,能较好地节约开发时间。

卫星中频信号高速采集设计

中频信号采集器界面设计

卫星中频信号高速采集设计
卫星中频信号高速采集设计

卫星中频信号高速采集设计

hackrf是一个便宜,体积很小的射频模块,它的内容可以在其主页找到:hackrf-one它的教程在youtube上也有但是在国内的话可以看b站或者优酷上的内容:hackrf中文教程

如果你想要使用hackrf做任何事情,都要先看完教程视频

本文介绍了使用hackrf搭建一个GNSS接收机射频前端的方法,内容将包括hackrf的一些特性、hackrf的设置、GNSS软件接收机的使用等一系列内容。

Hackrf-one

正如简介所说,使用hackrf之前要先看完对应的简介视频。

总体来说,hackrf是一个射频前端开发板,它有一个内置的处理器,可以通过命令来轻松配置射频链。它的射频链路如下所示
卫星中频信号高速采集设计
它的RF前端能够接收从30MHz到6GHz的信号,这是通过将信号分成三个部分组合起来实现的,信号会通过混频的方式从RF到IF,IF的信号范围是从2.3GHz到2.7GHz,接着通过下变频到基带,然后就直接进行AD采样,采样的最大频率是22MHz,但是然而要注意的是,在使用中,接收模式下,我们只能设置RF、IF、BB的增益,发送模式下,只能设置RF和BB的增益


Ubuntu系统下HackRF One相关环境搭建 

第一次使用GNU radio以及HackRF One的新手建议使用sudo apt-get install命令行的方式来直接安装。

具体方法如下:

1.打开命令窗口

进入Ubuntu系统后,右键单击位于桌面的用户文件夹,选择“在终端中打开”,出现如下命令窗口。
卫星中频信号高速采集设计

2.在该窗口下依次输入以下代码进行安装(记得要联网

$ sudo apt-get install git build-essential cmake libusb-1.0-0-dev liblog4cpp5-dev libboost-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev swig

$ sudo add-apt-repository -y ppa:myriadrf/drivers

$ sudo add-apt-repository -y ppa:bladerf/bladerf

$ sudo add-apt-repository -y ppa:myriadrf/gnuradio

$ sudo add-apt-repository -y ppa:gqrx/gqrx-sdr

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install gnuradio gnuradio-dev gr-iqbal

$ sudo apt-get install gr-osmosdr

$ sudo apt-get install hackrf

$ sudo apt-get install libhackrf-dev

$ sudo apt-get install gqrx-sdr

对于采用sudo apt-get install方法安装的软件,卸载起来也简单,执行sudo apt-get remove XXX即可,其中XXX表示你需要卸载的软件名称。例如,

卸载hackrf的命令为:(新手安装软件,可忽略此信息!

$ sudo apt-get remove hackrf

如果想卸载hackrf及其所依赖的软件包的话,则可以执行以下命令:(新手安装软件,可忽略此信息!

$ sudo apt-get remove --auto-remove hackrf

3.测试hackrf电脑软件环境安装是否成功

连接hackrf设备USB至电脑USB接口,命令行输入hackrf_info命令点击回车键后,会看到如下类似信息:

$ hackrf_info
Found HackRF board.
Board ID Number: 2 (HackRF One)
Firmware Version: …
Part ID Number: …
Serial Number: …
卫星中频信号高速采集设计
至此,说明hackrf电脑软件环境安装成功。

HackRF 是由 Great Scott Gadgets 设计和制造的开源 SDR 硬件,其可以发送或接收 1 MHz 到 6 GHz 的无线电信号。目前 HackRF 的具体版本为 HackRF One。

常用命令

hackrf_info    # 查看 Hack RF 连接信息
hackrf_transfer # 基于文件进行发送和接收 SDR
hackrf_transfer -h # 查看 hackrf_transfer 帮助信息

# 录制信号
# -r:将数据存储到文件中
# -f:中心频率,单位 Hz
# -s:采样率,单位 Hz(4/8/10/12.5/16/20 MHz,默认 10 MHz)
# -n:采样数量(默认值是无限的)
# -a:设置功放(1 表示开启,0 表示关闭)
# -g:设置 Rx VGA 增益(0 到 62 dB 之间,每次增加 2 dB)
# -l:设置 Rx LNA 增益(0 到 40 dB 之间,每次增加 8 dB)
hackrf_transfer -r capture.raw -f 315000000 -l 8/16/24 -g 20/40 [-s 2000000 -n 10000000 -a 1]

# 重放信号
# -t:从文件中读取数据
# -x:设置 Tx VGA 增益(0 到 47 dB 之间,每次增加 1 dB)
# -R:重复发送模式(默认为关闭)
hackrf_transfer -t capture.raw -f 315000000 -x 40 [-s 2000000 -a 1]

一般无线钥匙工作频段都在 315 Mhz、433 Mhz。

重放攻击

打开命令行终端,利用上面获取的射频频率录制相应的射频信号、

hackrf_transfer -r lab.raw -f 434015700 -g 16 -l 32 -a 1 -s 8000000 -b 4000000

-r 录制射频文件名 -f 射频频率 其他参数无需更改。

执行命令后,把遥控器靠近HackRFOne设备,然后按开门按键几次,然后在命令行窗口按Ctrl + C可完成录制。
  • 1

然后利用录制到的射频信号进行重放


hackrf_transfer -t lab.raw -f 434015700 -x 47 -a 1 -s 8000000 -b 4000000

-t 重放射频文件名 -f 射频频率 其他参数无需更改。

卫星中频信号高速采集设计

此时我们会神奇的发现被测车辆的车门被重

此外,其采样方式是IQ正交采样,因此最后传出的信号是复信号,在教程视频中会提到,其输出信号会是32位float的IQ信号。

使用hackrf最好的方式当然是在gnuradio中,使用osmocom的模块对hackrf进行配置,当然你也可以直接使用命令行工具。

使用gnuradio和osmocom:
卫星中频信号高速采集设计
图片里面的osmocom source 就是和板子连接的接口,在这个模块里面可以配置hackrf的硬件,在这个模块之后的所有模块都是软件处理的部分,与硬件没有关系。

或者:
使用命令:hackrf_transfer

卫星中频信号高速采集设计
hackrf_transfer提供很多可以设置的参数,比如接收信号到文件,从文件发送信号,设置rf、if、bb的频率等。

或者:
使用osmocom_fft

在terminal输入

osmocom_fft

会打开一个fft界面,对应的设置也可以在这个界面中设置,包括接收到文件等,不过我没有成功地保存到文件过:
卫星中频信号高速采集设计

硬件配置

GNSS信号在抵达地面时由于受到各种干扰,信号功率极低,因此在使用hackrf获取信号时,我们需要额外的硬件设备。

1、hackrf硬件配置

以GPSL1信号为例,中心频率在1575.42MHz,因此在gnuradio的osmocom中,设置rf频率为1575.42MHz,设置IFgain为40,BBgain为38,bandwidth为4.75MHz,sample rate为10MHz,这个sample rate 的设置实际是在设置hackrf中的ADC的采样率,虽然最高采样率有22M,但是由于传输等问题,我使用15M及以上时会报错,如下图
卫星中频信号高速采集设计

同时要设置开启天线偏置电压,相当于给GPS天线供电,就是要在device argument那里输入hackrf=0,bias=1

如果你使用其它osmocom支持的设备,输入规则可以在osmocom source的documentation里面看到:(example的倒数第三行就是hackrf设备可选的输入配置)
卫星中频信号高速采集设计

2、外部时钟

hackrf内置的时钟不足以用来进行卫星信号的捕获跟踪,必须要外接更好的时钟,外接时钟方法参见简介中提到的中文教程。本文外接的是一个便宜的TCXO时钟,提供10MHz,3.3v的外部时钟信号。

3、GNSS天线

本文使用的是这样的一个天线,天线一定要放室外
卫星中频信号高速采集设计

4、法拉第笼

这并不是必要的!

万一前面的两个都有了,软件配置都配置好了,接收到的信号噪声很大的时候,就可以考虑将开发板放进一个法拉第笼中来屏蔽外部干扰。最简单的,把开发板放进一个铁盒子里面

软件配置

如果要使用gunradio和osmocom模块来使用hackrf的话,我使用的gnuradio版本是3.7,gr-osmosdr版本是0.1.4,操作系统是ubuntu18

(如果你不打算使用gnuradio的话,直接跳过这个环节吧。)

然后大致设计一个信号处理的流程图:
卫星中频信号高速采集设计
在osmocom source后面连接的thorttle模块是设置的整个流图的执行频率,一般设置成和采样率一样,这个的影响可以看教程视频,Thorttle后面一边直接接到一个QT的频率分析模块,另一边接到一个常数数乘模块,这是因为直接收下来的信号的幅值很小,后面接上了一个文件模块,意思是接收到的信号会存入这个文件,以及一个time sink,这就是一个示波器。

这个信号流图当然是随意的,就是说大家可以随意地增加模块,比如在信号接收的后面直接接上一个数字低通滤波器,这样能更好地将GPS信号区分出来。

流程

1、fft检查

在所有的配置都弄好之后,建议首先进行fft的的信号检查,虽然GPS信号到达地面时会很弱,可能该信号会被周围的热噪声覆盖,但是很有可能在GPSL1信号1575MHz的附近有2MHz的带宽。

我们先disable信号流图里面的文件存储模块,运行流图,跳出时域和频域的谱图:
卫星中频信号高速采集设计
其中,0Hz指的就是1575MHz,在其旁边

2、接收并且存储信号

将文件存储(file sink)enable,设置好路径和文件名,启动流图,大约一分钟左右就会有4GB的信号被存下来,因此要准备一个很大存储的硬盘。

3、软件接收机

卫星信号接收下来后就能用软件接收机处理了,虚拟机的同学可以直接用Danniels那一套很有名的matlab的接收机处理,双系统的同学推荐使用我在先辈的移植的基础上移植的Danniels那一套接收机,移植的代码是用python写的,我在先辈的基础上增加了IQ文件即复信号的支持。
软件接收机GNSS-SDR-python
使用这个接收机的朋友给我一个star哟!!!

步骤:
1git clone https://github.com/Mortarboard-H/GNSS-SDR-python.git

2 移步到文件夹,打开initialize.py,对一些文件名,采样率这些进行配置,

85行处,处理的时间长度,不能太短,如果小于36000ms就不能获得导航信息,但是捕获跟踪没问题self.msToProcess = 10000.0

94行处,self.skipNumberOfBytes = 10*8*10e6, 第一个10指10s,8指的是一个sample有8个byte,10e6是采样频率,一秒有10e6个sample,这个设置的是文件开头跳过多少个信号,之所以有这个是因为设备启动刚启动的时候会有信号畸变。

100行,self.fileType=2 指的是IQ信号文件

106行,self.fileName = './test.bin' 填入你采集的文件名和路径

109行,self.dataType = 'single' 指的是文件中的数据格式是float

112行,self.IF = 0.0 中频为0,是因为hackrf通过混频和正交采样将1575MHz降为0了

114行,self.samplingFreq = 10e6 采样率,这个与你采样时使用的频率一致

其他的设置看自己的需求

3、在这个文件夹里面打开terminal,输入:python2 main.py 输入python2是因为代码是基于python2.7写的
正常运行的话先出现:
卫星中频信号高速采集设计
然后出现,这是对数据的直接描述
卫星中频信号高速采集设计
关掉这个图片,接着运行,开始捕获,捕获结果:
卫星中频信号高速采集设计
卫星中频信号高速采集设计
只捕获到2颗,毕竟外面在下雨,信号不好
接着关掉这个图片窗口,并且打一个回车,开始跟踪:

卫星中频信号高速采集设计
跟踪结果:
卫星中频信号高速采集设计
左边的跟踪上了,右边的其实没有跟踪上

那么到这里就结束了,软件接收机后面的功能其实还没有移植完,移殖完再更新吧。

 过去几年来,面向GNSS应用或支持GNSS频段的软件无线电数据采集系统和的处理平台设计已经被广泛采纳。对于后处理,正确解析这些GNSS软件接收机采样数据集由这些系统产生或消耗的历史数据集是一个繁琐而且容易出错的工作。这些系统需要产生各种格式的数据集,当这些数据集的细微之处通常会在转换时丢失掉。本文描述的是导航中心的GNSS SDR元数据标准和相关的开源软件项目。这个免费和开放标准最初公众意见征询过程目前正在进行,直到2017年12月31日。欢迎读者在sdr.ion.org提交反馈意见。

        GNSS软件无线电是GNSS接收机研究和设计中一个迅速发展的领域。在过去几年间,这个领域里取得了巨大的发展。大学和其它研究机构已经开发和展示了先进的能力,尤其是在有挑战的环境下对多星座GNSS和GNSS+多传感器导航处理。最近商用的多传感器数据采集设备,开发平台和开源软件项目都在快速创新步伐中催生。事实上,从现在到未来十年,软件无线电可能成为一个重要的商用GNSS接收机结构,部署多个全球或区域性的导航卫星星座及其不同的信号结构,以及并行低功耗处理器和廉价传感器的快速发展。

        非实时软件接收机操作场景涉及样本的存储和后处理。这些采样的数据文件可以被用于GNSS接收机实验室测试和评估中的射频回放系统。后处理和/或回放要求几个通用的前端参数例如射频和中频中心频率,采样频率,文件形式,以及GNSS专用信息例如天线定位和类型。我们定义这些信息是GNSS软件接收机的元数据。元数据的手动转换是今天常用的方法,这是起码一个繁琐而容易出错的过程,没有建立自动进行元数据交换的方法。

        在ION GNSS+ 2013年会中,一组参会者讨论了GNSS 软件接收机元数据交换的官方标准的需求。这个小组确定从事这项活动目前具有以下好处:

   ■  它确定并将国际GNSS软件接收机社区合为一体成为一个工作组。为了获得广泛的认可和使用,这种合作至关重要。

   ■  标准化将有助于避免技术细分问题,同时通过标准实践和合规工具促进创新步伐。

   ■  正式标准如果得到广泛采用,将有助于确保未来GNSS软件接收机的兼容性和互操作性。 具体而言,前端不明的“即插即用”式软件接收机开始被设想。 这些将有可能彻底改变未来的定位,导航和定时(PNT)系统。

        在过去的二十年中,大部分显著的GNSS软件接收机领域的出版物和贡献者大部分都是ION成员,并经常出席与会。因此,我们决定通过ION赞助来实现这个标准。 在2014年1月在圣地亚哥举行的理事会会议上,ION批准了建立正式标准的过程。 ION GNSS 软件接收机元数据工作组(WG)于2014年4月成立。成员涵盖美国,欧洲,亚洲和大洋洲的学术界,工业界(包括GNSS SDR产品供应商以及传统的GNSS设备制造商),非盈利研究结构和政府机构。

GNSS元数据标准化的理由

     卫星中频信号高速采集设计

        图1 显示当今GNSS软件接收机系统中主要使用的元数据传输方案。第一行描述了数据采集系统(DCS) A,产生软件接收机处理器A消耗的软件接收机文件或者格式A,这可能展现的是一个由供应商或最初围绕特定硬件平台开发系统提供的端到端的解决方案。在一些情况下,假定用于格式A的元数据被硬编码到处理器中。结果,支持其他文件格式涉及扩展的软件修订。一个组可能希望将DCS A的软件接收机文件与其它使用软件接收机X和Y的组进行研究合作上的共享。这涉及将文件格式和其它相关信息准确的传达给其它组。如今,这些元数据传输以ad-hoc的方式进行,而这种方式更容易出现错误。

       第二行描述多流的DCS B产生的文件有更多复杂的格式。软件接收机处理器X和Y展现了更为灵活的软件接收机以至于能支持更多格式。然而,数据/元数据相关的需求仍然修手动干预。

       DCS C将其他数据(例如传感器数据)与多GNSS样本流一道复用到同一个文件中。这种类型的多路复用采集将随着如VITA-49这样与软件接收机相关的数据流标准的兴起而具备更普及的潜力。在这种情况下,定制处理器C代表了一种完全支持多传感器集成能力的软件接收机。由于DCS C的GNSS流参数是开放的,软件接收机是能用ad-hoc元数据转换方案支持GNSS单独处理的。传感器数据的参数可能公开也可能不公开。

       从图1中能清晰的看到,当今元数据交换ad-hoc的方法并不鼓励互操作,反而培养了技术进一步细化的潜力(即各小组开发自己的一揽子解决方案和技术)。

卫星中频信号高速采集设计

        图2 显示的是与图1采用元数据标准的相同系统。如图所示,每个DCS与软件接收机一同产生一个兼容的元数据文件。元数据文件由兼容软件接收机处理器读入以正确方式解码,并无缝文件处理。

        采用元数据标准有利于数据采集系统的开发者,因为他们的系统将变得适用于更广泛的用户群体。类似,SDR处理器的效果在能够无缝地支持来自多源的多文件格式时被扩展。因此,元数据标准化促进了GNSS SDR系统的互操作,并极大的简化了组间文件的交换。

        元数据标准化还有利于后处理GNSS SDR以外的其他用途。例如,考虑使用元数据规范来合成用于RF回放系统的兼容的SDR文件。 此外,兼容的SDR文件库包含各种真实世界中的场景,这可以在兼容的RF回放模拟器中互换使用,以便对GNSS接收机进行重复性和一致性的测试。

SDR数据采集拓扑

        ION 执行委员会规定,这个标准化活动不应对任何实体造成不公平。 具体来说,该标准不要求任何现有系统进行数据格式更改以达到合规。这个“不伤害”的规定意味着该标准被设计为支持所有当前和未来的SDR 文件格式。它也意味着工作组必须“一次性正确”,因为对标准的重大修改是不可取的,并且这不利于广泛采用的目标。因此,我们考虑了可能的GNSSSDR 数据收集拓扑的整个空间。

卫星中频信号高速采集设计

3 拓扑图

        图3.a 绘制的可能存在的最简单的数据采集拓扑。这是当单一射频频谱(以下简称为“频带”)是下变频和采样产生的一个单一数据流。数据流,可能是IF采样(真实采样)或者基带采样(复采样)被作为单独文件写入磁盘中。

        图3.b 展示的是数据采集系统在多个文件间写到一个单独数据中一部分。这样做会降低存储驱动器持续性写入性能要求(类似RAID系统中的分条模式)。

        图3.c 与图3.a类似,除了数据流表示多于一个RF频带。这种拓扑结构的一个例子是一个直接的RF采样前端架构,它有意将多个频带混叠在一起,并在基带上相邻。由于数字下变换过程,某些频带可能会被频谱倒置。

         一个数据采集系统可能产生多个数据流。每一个数据流都包含来自天线阵元中一个的信息(如图3.d所示,其中每一个数据流可能围绕着多个频带,如图3.c所示)。换句话说,一个数据流可以被单带宽天线接收到的几个频带之一采样,其中多路复用的数据流被写入文件中,它代表信道采样。上述的组合也是有可能的。

        每一个数据流也可能都要被不同的采样率和量化位数采样。例如,以民用GPS L1,L2,L5系统作为参考对象。在这种情况下,L1和L2的数据流是以为采样率,而L5是以10倍为采样率(由于L5信号空空带宽10倍于L1 C/A和L2C带宽),其中代表代表基础采样频率。图3.d可表达多个数据流是如何复合打包成为单一通道的二进制数据,并写入单一文件中。

        与图3.d类似,图3.e画的是一个GNSS数据流复用到其它数据上并写入单独的文件。这个数据并非来源GNSS软件接收机,而是来自额外的传感器(如图所示),且被写入的专有格式并不清楚。

        非GNSS数据的元数据参数规范不在现有标准化工作的范围之内。然而,标准必须支持足够的信息来跳过非GNSS的数据字节。由于元数据模式是可扩展,它可以覆盖作为特定用户需要的非GNSS软件无线电数据的描述。

        值得注意的是,尽管我们在本文中使用术语“GNSS SDR数据”是泛指在标准中定义了元数据参数的采样数据的类型,但这些采样不需要与GNSS频带对应。例如,只要能够用标准的元数据参数来表示,就能被包含机会的RF信号的频带支持。

        由于GNSS SDR的数据速率通常很高,许多数据采集系统将数据写入临时分割的文件,作为图3.f所描绘的。与单个大文件对比,可以通过多个较小的文件实现高效的数据管理。每个文件的元数据需要关联前一个文件和后一个文件才能表示序列。请注意,如图3.f所示的数据采集系统块可以表示图3 a,c,d和e中描述的那些拓扑结构。

        如图3.g所示说明文件的空间分割。在这里,二进制数据通道形式将两个或更多DCS写入单独的文件。这些文件可能被不同的计算机系统写入。在这种情况下,标准支持可能存在的系统间的非零偏移。由于数据采集时并不清楚,因此它代表在SDR数据处理的初始通过之后可能被注释到元数据文件中的样本元数据参数。

        多通道数据采集系统是将每个通道采集数据写入相互单独的文件中,也可以根据图3.f所示按照时间对文件进行分割。我们将此称之为“空时分割”,如图3.h所示。

        由于多流多文件数据采集拓扑(如图3.g和图3.h所示)产生;饿适用于固定时间间隔的多数据文件,SDR处理器必须被“引入”与拓扑结构相关的全部通道或部分通道。这是由标准中通道选择参数进行覆盖。

元数据参数

卫星中频信号高速采集设计

        元数据标准让用户能够指定二进制文件的广泛属性。其中一些属性与数据收集方案本身有关,例如时间、地点以及方案的类型。数据集的其它属性与特定RF数据相关通过中频采样被捕获。其它细节如中频数字化配置和数据打包。这些在下面简要地总结。参数中的一部分是自由形式的文本,整型、浮点型变量以及枚举。主要类型如图4所示。

        元数据“会话”类型保存细节包括:时间、位置、度量活动以及场景类型。“文件”类型包括:相应二进制数据文件的路径、时间戳信息以及包括“通道”的引用(如下所述)。“系统”类型包括:数据记录设备细节,例如设备姓名,参考时钟频率和天线细节/规格。元数据标准允许规定各种RF频带,每个“频带”类型包括频带中心频率、中频频率、带宽和群延迟偏差的细节。

        二进制数据的实际格式在“通道”类型,它允许指定二进制数据打包模式的层次结构,称之为“数据块”,“大数据块”以及“数据团”。这些类型指定了打包中频数据和可选的附加数据,例如:传感器测量或信息配置,并进一步排列指定相对于标准世界大小(字节,短整型,整型,长整型等)。这些数据块中的原始中频样本的排列由“流”类型。这个类型指定相关RF频带,采样率,量化,样本类型(实数/复数),样本的编码/对齐。这些类共同包含足够的信息可以清晰解释打包的二进制数据。

规范性参考软件

        规范性参考实施分委员会的主要责任是减少通过工作组协商达成一致制定的概念设计,并根据行业最佳实践开发一个兼容软件库实施。工作组很幸运地接受了自愿参与这项任务的GNSS SDR供应商。

        工作组决定在公开发布的参考软件库上开发该标准。这项工作的目标是促进标准的早期和广泛采用,使供应商和研究人员能够轻松的将标准库集成到现有软件中,从而实现标准兼容。这项工作的范围有两方面,一是开发元数据解释,二是用这个元数据解释开发二进制数据转换器。

        第一个贡献是一个能从恰当原型数据结构产生的标准兼容元数据文件的库,这个库能够将这些文件内容读回数据结构。第二个贡献是以能够基于相关元数据描述的存储并转换为二进制中频拿数据。结合起来,希望这两个库提供充足的功能在SDR中采纳元数据标准,或作为针对被验证的标准实施的基准。

        该软件是C++写的,并采用CMake管理。它能被分为两个库:“apilib”实现元数据的解释,而“Converterlib”实现二进制数据转换,并伴随着一系列的终端,包括数据转换应用和简单测试应用。该软件位于GitHub帐号上,链接如下:https://github.com/IonMetadataWorkingGroup/GNSS-Metadata-Standard.

        元数据解释器库包括:读取器功能,能够存储元数据文件并填充相应元数据对象,然后通过选择成员函数来查询。类似,可以通过一系列成员函数被实例化并配置元数据对象,随后可以指示写入对应的元数据文件。

卫星中频信号高速采集设计

       按照元数据文件,转换库可被用作二进制数据文件存储和数据解释。基本转换器可以适用于支持数据流转换的处理,且两个这样的适应已经被植入参考软件中。图5描述的第一个功能,其中数据转换器被嵌入文件转换器中。文件转换器使用元数据解释对象配置嵌入数据转换用,并且能够解析打包的二进制输入文件,并以用户指定的数据类型(int8,int16,float,double等)为每个IF数据流生成一个文件)。

      卫星中频信号高速采集设计  

        如图6描述,第二个功能是通过将数据转换器嵌入“前端”来实现的。该前端提供了一种装载二进制数据文件的短部分并将其转换为用户指定的数据的方法在处理不同的流以不同的速率进行采样时,处理诸如样本对齐之类的细节时,输入(int8,int16,float,double等)。

        该软件套件包括一系列示例二进制数据集和相关的元数据文件以及一个简单的MATLAB / Octave脚本,以便根据参考数据集测试构建。 迄今为止,存储库中已经包含了五种不同的文件格式,其中包括各种各样的前端配置和数据打包变化。

        一部分工作组的成员自愿规范草案对SDR数据文件进行“盲测”。这涉及交换SDR数据文件和相关的元数据规范,并在各方之间核实、验证文件可以在没有附加信息的情况下被完全解码。 工作组成员参加。 参与此项活动的工作组成员将由合规验证分委员会组成。

SDR 数据存储库

        与大多数标准和编程项目一样,通过很好的例子可以很好地理解它们。 因此,已经创建了页面:http://sdr.ion.org/api-sample-data.html,并包含多个二进制示例文件以及元数据文件。 所有的文件集都经过测试,符合标准,可以被规范的参考软件读取。 二进制文件通常包含超过60秒的持续时间的样本,并且通过至少一个软件接收机实现已经获得定位。


参考文章  https://blog.csdn.net/sanjiaoxin_tech/article/details/128966251

https://blog.csdn.net/pirricy/article/details/119873945?spm=1001.2101.3001.6650.13&utm_medium=distribute.wap_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-13-119873945-blog-128966251.wap_blog_relevant_default&depth_1-utm_source=distribute.wap_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-13-119873945-blog-128966251.wap_blog_relevant_default

https://blog.csdn.net/weixin_41534781/article/details/115611341?spm=1001.2101.3001.6650.18&utm_medium=distribute.wap_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-18-115611341-blog-119873945.wap_blog_relevant_default&depth_1-utm_source=distribute.wap_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-18-115611341-blog-119873945.wap_blog_relevant_default

https://blog.csdn.net/jimmyisme/article/details/78863789?spm=1001.2101.3001.6650.18&utm_medium=distribute.wap_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-18-78863789-blog-128966251.wap_blog_relevant_default&depth_1-utm_source=distribute.wap_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-18-78863789-blog-128966251.wap_blog_relevant_default

原文始发于微信公众号(太空安全):卫星中频信号高速采集设计

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月1日15:17:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   卫星中频信号高速采集设计http://cn-sec.com/archives/1645718.html

发表评论

匿名网友 填写信息