CN117713914B - 一种北斗卫星智能遥测遥控通信一体化终端系统 - Google Patents
一种北斗卫星智能遥测遥控通信一体化终端系统 Download PDFInfo
- Publication number
- CN117713914B CN117713914B CN202410167214.1A CN202410167214A CN117713914B CN 117713914 B CN117713914 B CN 117713914B CN 202410167214 A CN202410167214 A CN 202410167214A CN 117713914 B CN117713914 B CN 117713914B
- Authority
- CN
- China
- Prior art keywords
- telemetry data
- abnormal
- data
- acquisition
- different
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 45
- 230000008859 change Effects 0.000 claims abstract description 101
- 230000005540 biological transmission Effects 0.000 claims abstract description 37
- 230000002159 abnormal effect Effects 0.000 claims description 100
- 230000005856 abnormality Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 14
- 238000007667 floating Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000013589 supplement Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 230000002547 anomalous effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 210000001787 dendrite Anatomy 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Selective Calling Equipment (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明公开一种北斗卫星智能遥测遥控通信一体化终端系统,涉及卫星通信技术领域。本发明包括,遥测终端,包括传感器、存储器、通讯控制单元以及发射天线组,用于采集发送遥测数据;接收端,用于接收经由北斗卫星通讯网络转发的遥测数据;其中,通讯控制单元,用于根据存储器内存储的不同采集时刻的遥测数据得到不同采集时刻的遥测数据的变化率;根据不同采集时刻的遥测数据的变化率得到存储器内存储的不同采集时刻的遥测数据的数据发送队列;发射天线组,用于经由北斗卫星通讯网络,按照数据发送队列将不同采集时刻的遥测数据发送至接收端。本发明在较低的卫星通讯码率下依旧能够保持遥测数据的及时性。
Description
技术领域
本发明属于卫星通信技术领域,特别是涉及一种北斗卫星智能遥测遥控通信一体化终端系统。
背景技术
遥测遥控技术是现代通信技术中的重要组成部分,能够让用户远程监测和控制设备。传统遥测遥控系统依赖于独立的通信链路和设备,不仅架设成本高,而且稳定性不足。
随着北斗卫星系统的建立和完善,可以依靠北斗卫星通讯网络实现遥测数据的回传和控制,但是受限于官方短报文通信的通讯速率不足,难以对采集到的遥测数据进行及时传递。
发明内容
本发明的目的在于提供一种北斗卫星智能遥测遥控通信一体化终端系统,通过对采集到的遥测数据进行变化率分析,让重要性更高的遥测数据优先传递,在较低的卫星通讯码率下依旧能够保持遥测数据的及时性。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供一种北斗卫星智能遥测遥控通信一体化终端系统,包括,
遥测终端,包括传感器、存储器、通讯控制单元以及发射天线组,用于采集发送遥测数据;
接收端,用于接收经由北斗卫星通讯网络转发的遥测数据;
其中,
所述传感器,用于获取不同采集时刻的遥测数据;
所述存储器,用于存储不同采集时刻的遥测数据;
所述通讯控制单元,用于根据所述存储器内存储的不同采集时刻的遥测数据得到不同采集时刻的遥测数据的变化率;
根据不同采集时刻的遥测数据的变化率得到所述存储器内存储的不同采集时刻的遥测数据的数据发送队列;
所述发射天线组,用于经由所述北斗卫星通讯网络,按照所述数据发送队列将不同采集时刻的遥测数据发送至所述接收端。
本发明通过通讯控制单元计算出不同采集时刻的遥测数据的变化率,并以此分析排列出数据发送队列,让重要性程度更高的遥测数据优先发送至接收端。即使北斗卫星通讯网络的码率较低,也能够最大程度保障接收端接收得到的遥测数据的及时性和准确性。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述一种北斗卫星智能遥测遥控通信一体化终端系统于一实施例的交互示意图;
图2为本发明所述遥测终端于一实施例的步骤流程示意图;
图3为本发明所述步骤S4于一实施例的步骤流程示意图;
图4为本发明所述步骤S41于一实施例的步骤流程示意图;
图5为本发明所述步骤S44于一实施例的步骤流程示意图;
图6为本发明所述步骤S441于一实施例的步骤流程示意图;
图7为本发明所述步骤S442于一实施例的步骤流程示意图;
图8为本发明所述存储器的存储容量管理于一实施例的步骤流程示意图一;
图9为本发明所述存储器的存储容量管理于一实施例的步骤流程示意图二;
附图中,各标号所代表的部件列表如下:
1-遥测终端,11-传感器,12-存储器,13-通讯控制单元,14发射天线组;
2-接收端,
3-北斗卫星通讯网络。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
遥测是一种用于测量、收集和传输远程对象数据的技术。它通常用于监测和控制那些难以直接接触或无法接近的物理系统。遥测系统通常由传感器、测量设备、数据传输和数据分析组成。遥测传感器可以测量各种物理量,如温度、压力、湿度、流量、速度和位置等。这些传感器将测量结果转换为电信号或数字信号,并通过数据传输系统传输到接收站点。
为了将遥测终端采集得到的遥测数据回传至接收端,可以通过卫星通讯网络进行传送,尤其是北斗三号卫星具有全球短报文通信服务功能,为用户提供全球短消息传输服务,支持位置报告、短报文、非实时语音和图片传输等。 卫星上行接收用户频率为1624MHz,信息速率为400 bit/s。,具备每小时30万次的短报文服务能力,用户单次可传输40个汉字,下行可通过北斗三号IGSO卫星和MEO卫星的B2b导航信号播发。但是这对于遥测数据的传送是不足的。为了将重要性更高的遥测数据进行及时传递,本发明提供以下方案。
请参阅图1至2所示,本发明提供了一种北斗卫星智能遥测遥控通信一体化终端系统,从信息交互上划分包括遥测终端1和接收端2。遥测终端1用于采集发送遥测数据,接收端2用于接收经由北斗卫星通讯网络3转发的遥测数据。
遥测终端1从功能上划分包括传感器11、存储器12、通讯控制单元13以及发射天线组14。在遥测终端运行过程中,首先可以由传感器11执行步骤S1获取不同采集时刻的遥测数据。之后由存储器12执行步骤S2存储不同采集时刻的遥测数据。之后可以由通讯控制单元13执行步骤S3根据存储器内存储的不同采集时刻的遥测数据得到不同采集时刻的遥测数据的变化率。可以按照以下步骤进行操作:
从存储器中获取两个不同采集时刻的遥测数据。假设这两个时刻分别为t1和t2,并对应的遥测数据分别为D1和D2。
计算遥测数据的变化量,即 ΔD = D2 - D1。
确定两个采集时刻之间的时间间隔 Δt = t2 - t1。
计算变化率,即变化率 = ΔD / Δt。
之后可以执行步骤S4根据不同采集时刻的遥测数据的变化率得到存储器内存储的不同采集时刻的遥测数据的数据发送队列。最后由发射天线组14执行步骤S5经由北斗卫星通讯网络,按照数据发送队列将不同采集时刻的遥测数据发送至接收端。
当然也可以由接收端2控制遥测终端1发送指定的遥测数据。具体而言由遥测终端1接收端向遥测终端发送指令,要求遥测终端向接收端发送指定采集时刻的遥测数据。
为了提高遥测终端1的通讯容量,同样也是为了降低通讯成本,发射天线组14内还包括4G发射模块,用于通过4G无线网络与接收端2进行通讯。
请参阅图3所示,为了对存储器内存储的遥测数据的重要性进行排列,上述的步骤S4在具体实施的过程中首先可以执行步骤S41根据不同采集时刻的遥测数据的变化率得到遥测数据的变化率的常规浮动范围。接下来可以执行步骤S42根据遥测数据的变化率的常规浮动范围得到不同常规时段内不同常规采集时刻的常规遥测数据以及不同异常时段内不同异常采集时刻的异常遥测数据。接下来可以执行步骤S43将不同常规时段内不同常规采集时刻的常规遥测数据按照采集时刻的先后顺序进行排列得到全部常规时段内每个采集时刻的遥测数据的发送顺序。接下来可以执行步骤S44根据不同异常时段内不同异常采集时刻的异常遥测数据的变化率得到全部异常时段内每个采集时刻的遥测数据的发送顺序。最后可以执行步骤S45优先发送异常时段内的遥测数据,根据全部常规时段内每个采集时刻的遥测数据的发送顺序以及全部异常时段内每个采集时刻的遥测数据的发送顺序得到存储器内存储的不同采集时刻的遥测数据的数据发送队列。
为了对上述的步骤S41至步骤S45的实施过程进行补充说明,提供部分功能模块的源代码,并在注释部分进行对照解释说明。为了避免涉及商业秘密的数据泄露,对不影响方案实施的部分数据进行脱敏处理,下同。
#include <iostream>
#include <vector>
#include <algorithm>
// 定义传感器数据结构
struct SensorData {
long timestamp; // 采集时刻的时间戳
double value; // 采集时刻的遥测数据值
double rate; // 数据变化率
bool isAnomaly; // 标记是否为异常数据
};
// 示例的常规浮动范围
const double NORMAL_FLUCTUATION_LOWER_BOUND = -0.5;
const double NORMAL_FLUCTUATION_UPPER_BOUND = 0.5;
// 检测数据是否为异常
bool isDataAnomaly(double rate) {
return rate < NORMAL_FLUCTUATION_LOWER_BOUND || rate > NORMAL_FLUCTUATION_UPPER_BOUND;
}
// 计算传感器数据的变化率
void calculateChangeRates(std::vector<SensorData>& sensorData) {
for (size_t i = 1; i < sensorData.size(); ++i) {
sensorData[i].rate = (sensorData[i].value - sensorData[i -1].value) / (sensorData[i].timestamp - sensorData[i - 1].timestamp);
sensorData[i].isAnomaly = isDataAnomaly(sensorData[i].rate);
}
}
// 分类常规数据和异常数据
void classifyData(const std::vector<SensorData>& sensorData, std::vector<SensorData>& normalData, std::vector<SensorData>& anomalyData) {
for (const auto& data : sensorData) {
if (data.isAnomaly) {
anomalyData.push_back(data);
} else {
normalData.push_back(data);
}
}
}
// 生成数据发送队列
std::vector<SensorData> createDataSendQueue(const std::vector<SensorData>& normalData, const std::vector<SensorData>& anomalyData) {
// 优先发送异常数据
std::vector<SensorData> sendData = anomalyData;
// 追加发送常规数据
sendData.insert(sendData.end(), normalData.begin(),normalData.end());
return sendData;
}
int main() {
// 示例数据
std::vector<SensorData> sensorData = {
{1000, 20.0}, // 初始数据,没有变化率
{1010, 20.5},
{1020, 20.6},
{1030, 21.5}, // 异常数据
{1040, 21.6},
{1050, 21.7},
{1060, 22.8} // 异常数据
};
// 计算变化率
calculateChangeRates(sensorData);
// 分类常规数据和异常数据
std::vector<SensorData> normalData;
std::vector<SensorData> anomalyData;
classifyData(sensorData, normalData, anomalyData);
// 生成发送队列
std::vector<SensorData> sendData = createDataSendQueue(normalData, anomalyData);
// 输出发送队列
for (const auto& data : sendData) {
std::cout << "Timestamp: " << data.timestamp << ", Value: " << data.value << ", Rate: " << data.rate << ", Anomaly: " << data.isAnomaly <<std::endl;
}
return 0;
}
这段代码模拟了智能遥测系统中处理和生成遥测数据发送队列的过程。首先定义了传感器数据结构体SensorData,包含时间戳、值、变化率和是否异常的标记。通过计算数据变化率,判断是否为异常数据,并将异常数据和常规数据分开。异常数据优先发送,其次是常规数据。代码输出最终生成的发送队列,该队列将被用于以特定的顺序发送数据,优先处理异常情况。
请参阅图4所示,遥测数据通常会在一个较为稳定的区间波动,通常这些遥测数据的价值不大。如果出现异常的波动,则需要将其及时传递至接收端2。这就需要结合历史遥测数据划定遥测数据的变化率的常规浮动范围。具体而言,首先可以执行步骤S411将不同采集时刻的遥测数据的变化率按照数值大小的顺序进行排列得到变化率数值次序。接下来可以执行步骤S412计算获取变化率数值次序中每个遥测数据的变化率与相邻遥测数据的变化率的差值。接下来可以执行步骤S413将变化率数值次序中每个遥测数据的变化率与相邻遥测数据的变化率的差值的均值作为变化率平均差值。接下来可以执行步骤S414将变化率数值次序中与相邻的遥测数据的变化率的差值小于变化率平均差值的遥测数据的变化率作为常规遥测数据的变化率。最后可以执行步骤S415获取全部常规遥测数据的变化率的最大值和最小值之间的数值范围作为遥测数据的变化率的常规浮动范围。
为了对上述的步骤S411至步骤S415的实施过程进行补充说明,提供部分功能模块的源代码,并在注释部分进行对照解释说明。
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
// 定义传感器数据结构
struct SensorData {
long timestamp; // 采集时刻的时间戳
double value; // 采集时刻的遥测数据值
};
// 定义变化率数据结构
struct RateData {
double rate; // 变化率
bool isRegular; // 是否为常规变化率
};
// 计算变化率
std::vector<RateData> calculateRates(const std::vector<SensorData>&sensorData) {
std::vector<RateData> rates;
for (size_t i = 1; i < sensorData.size(); ++i) {
double rate = (sensorData[i].value - sensorData[i - 1].value)/
(sensorData[i].timestamp - sensorData[i - 1].timestamp);
rates.push_back({rate, false}); // 默认先标记为非常规
}
return rates;
}
// 获取变化率的常规浮动范围
std::pair<double, double> getRegularFluctuationRange(std::vector<RateData>& rates) {
// 将变化率按数值大小顺序排列
std::sort(rates.begin(), rates.end(), [](const RateData& a,const RateData& b) {
return a.rate < b.rate;
});
// 计算相邻变化率之间的差值
std::vector<double> rateDifferences;
for (size_t i = 1; i < rates.size(); ++i) {
double diff = rates[i].rate - rates[i - 1].rate;
rateDifferences.push_back(diff);
}
// 计算差值的均值
double averageDiff = std::accumulate(rateDifferences.begin(),rateDifferences.end(), 0.0) / rateDifferences.size();
// 确定常规变化率
for (size_t i = 0; i < rateDifferences.size(); ++i) {
if (rateDifferences[i] < averageDiff) {
rates[i].isRegular = true;
rates[i + 1].isRegular = true; // 相邻的变化率也标记为常规
}
}
// 获取所有常规变化率的最大值和最小值
double minRegularRate = std::numeric_limits<double>::max();
double maxRegularRate = std::numeric_limits<double>::lowest();
for (const auto& rate : rates) {
if (rate.isRegular) {
if (rate.rate < minRegularRate) minRegularRate =rate.rate;
if (rate.rate > maxRegularRate) maxRegularRate =rate.rate;
}
}
return {minRegularRate, maxRegularRate}; // 返回常规浮动范围
}
int main() {
// 示例数据
std::vector<SensorData> sensorData = {
{1000, 20.0},
{1010, 20.5},
{1020, 20.6},
{1030, 21.5},
{1040, 21.6},
{1050, 21.7},
{1060, 22.8}
};
// 计算变化率
std::vector<RateData> rates = calculateRates(sensorData);
// 获取变化率的常规浮动范围
std::pair<double, double> fluctuationRange =getRegularFluctuationRange(rates);
// 输出常规浮动范围
std::cout << "常规浮动范围: " << fluctuationRange.first << " ~ "<< fluctuationRange.second << std::endl;
return 0;
}
这段代码模拟了一个流程,用于确定遥测数据的变化率的常规浮动范围。首先计算了传感器数据的变化率并将这些变化率排序。接下来计算了排序后相邻变化率之间的差值,并根据这些差值的均值来确定哪些变化率被认为是常规的。最后提取了所有常规变化率的最大值和最小值来确定常规浮动范围。
请参阅图5所示,由于异常时段内的遥测数据的数量量可能依旧超出北斗卫星通讯网络的通讯速率,因此还需要从异常时段内的遥测数据中挑选出更为重要的遥测数据优先发送。具体过程中,首先可以执行步骤S441根据不同异常时段内不同异常采集时刻的异常遥测数据的变化率得到每个异常时段的异常程度顺序。对于每个异常时段而言,可以执行步骤S442根据包含的不同异常采集时刻的异常遥测数据的变化率得到异常时段内的骨干异常遥测数据和枝节异常遥测数据。接下来可以执行步骤S443将同一个异常时段内的骨干异常遥测数据排序优先于枝节异常遥测数据,并分别将多个骨干异常遥测数据和枝节异常遥测数据按照采集时刻的先后顺序进行排列,得到同一个异常时段内骨干异常遥测数据和枝节异常遥测数据的发送顺序。最后可以执行步骤S444按照每个异常时段的异常程度顺序以及同一个异常时段内骨干异常遥测数据和枝节异常遥测数据的发送顺序得到全部异常时段内每个采集时刻的遥测数据的发送顺序。
为了对上述的步骤S441至步骤S444的实施过程进行补充说明,提供部分功能模块的源代码,并在注释部分进行对照解释说明。
#include <iostream>
#include <vector>
#include <algorithm>
// 传感器数据结构
struct SensorData {
long timestamp; // 采集时刻
double value; // 遥测数据值
double rate; // 变化率
bool isAnomaly; // 是否为异常数据
};
// 比较两个SensorData的变化率
bool compareByRate(const SensorData& a, const SensorData& b) {
return std::abs(a.rate) > std::abs(b.rate); // 按变化率的绝对值降序排序
}
// 比较两个SensorData的时间戳
bool compareByTimestamp(const SensorData& a, const SensorData& b) {
return a.timestamp < b.timestamp; // 按时间戳升序排序
}
// 获取每个异常时段内遥测数据的发送顺序
std::vector<SensorData> getAnomalyPeriodSendOrder(std::vector<SensorData>& anomalies) {
// 先按变化率大小对异常数据进行排序
std::sort(anomalies.begin(), anomalies.end(), compareByRate);
// 设定前50%为骨干异常,后50%为枝节异常
size_t halfSize = anomalies.size() / 2;
// 分离骨干异常和枝节异常数据
std::vector<SensorData> backboneAnomalies(anomalies.begin(),anomalies.begin() + halfSize);
std::vector<SensorData> branchAnomalies(anomalies.begin() +halfSize, anomalies.end());
// 对骨干异常数据按时间排序
std::sort(backboneAnomalies.begin(), backboneAnomalies.end(),compareByTimestamp);
// 对枝节异常数据按时间排序
std::sort(branchAnomalies.begin(), branchAnomalies.end(),compareByTimestamp);
// 将骨干异常数据和枝节异常数据合并,骨干异常优先
std::vector<SensorData> sendOrder;
sendOrder.insert(sendOrder.end(), backboneAnomalies.begin(),backboneAnomalies.end());
sendOrder.insert(sendOrder.end(), branchAnomalies.begin(),branchAnomalies.end());
return sendOrder;
}
int main() {
// 示例异常遥测数据
std::vector<SensorData> anomalyData = {
// 模拟的异常数据列表
{1577836801, 100.0, 5.0, true},
{1577836802, 102.0, -4.0, true},
{1577836803, 103.5, 3.5, true},
{1577836804, 104.0, -2.0, true},
};
// 获取全部异常数据的发送顺序
std::vector<SensorData> sendOrder = getAnomalyPeriodSendOrder(anomalyData);
// 输出发送顺序
for (const SensorData& data : sendOrder) {
std::cout << "Timestamp: " << data.timestamp
<< ", Value: " << data.value
<< ", Rate: " << data.rate
<< ", IsAnomaly: " << (data.isAnomaly ? "Yes" : "No") << std::endl;
}
return 0;
}
这段代码首先定义了一个传感器数据的结构SensorData,包含时间戳、数据值、变化率和一个标记表示是否是异常数据。在main函数中定义异常数据示例列表。然后使用getAnomalyPeriodSendOrder函数对这些数据进行处理,确定发送顺序。异常数据首先按变化率的绝对值进行降序排序,然后将前半部分视为骨干异常数据,后半部分视为枝节异常数据。
请参阅图6所示,为了对每个异常时段内的遥测数据的发送顺序进行排序,上述的步骤S441在具体实施的过程中首先可以执行步骤S4411获取每个异常时段内每个异常采集时刻的异常遥测数据的变化率的累加值作为每个异常时段的异常度。之后可以执行步骤S4412按照每个异常时段的异常度的数值大小顺序作为每个异常时段的异常程度顺序。
请参阅图7所示,在对遥测数据进行分析的过程中,最有价值的数据往往是具有拐点作用的数据。有鉴于此,对于每个异常时段而言,上述的步骤S442在具体实施的过程中首先可以执行步骤S4421根据异常时段内不同异常采集时刻的异常遥测数据的变化率得到异常遥测数据的变化率关于采集时刻的拟合函数。接下来可以执行步骤S4422获取异常遥测数据的变化率关于采集时刻的拟合函数中的若干个波峰值和波谷值对应的异常采集时刻的异常遥测数据作为骨干异常遥测数据。最后可以执行步骤S4423将异常时段内骨干异常遥测数据以外的异常遥测数据作为枝节异常遥测数据。
为了对上述的步骤S4421至步骤S4423的实施过程进行补充说明,提供部分功能模块的源代码,并在注释部分进行对照解释说明。
#include <iostream>
#include <vector>
#include <algorithm>
// 这里添加其他必要的头文件
// 传感器数据结构体
struct SensorData {
long timestamp; // 采集时刻
double value; // 遥测数据值
double rate; // 数据变化率
};
// 异常时段结构体
struct AnomalyPeriod {
std::vector<SensorData> allData; // 该异常时段内的所有遥测数据
std::vector<SensorData> backboneData; // 骨干异常遥测数据
std::vector<SensorData> branchData; // 枝节异常遥测数据
};
// 根据变化率拟合函数,获取波峰和波谷的传感器数据
void identifyBackboneData(AnomalyPeriod& period) {
// 这里需要使用数学库来进行数据拟合和寻找波峰和波谷
// 此处用伪代码表示这部分逻辑
//
FitFunction fitFunction = fitData(period.allData);
std::vector<long> peaks = findPeaks(fitFunction);
std::vector<long> valleys = findValleys(fitFunction);
for (const auto& peakTimestamp : peaks) {
for (const auto& data : period.allData) {
if (data.timestamp == peakTimestamp) {
period.backboneData.push_back(data);
break;
}
}
}
for (const auto& valleyTimestamp : valleys) {
for (const auto& data : period.allData) {
if (data.timestamp == valleyTimestamp) {
period.backboneData.push_back(data);
break;
}
}
}
//
// 示例函数实现后能得到骨干数据
// period.backboneData = ...;
// 获取枝节数据
for (const auto& data : period.allData) {
if (std::find(period.backboneData.begin(),period.backboneData.end(), data) == period.backboneData.end()) {
period.branchData.push_back(data);
}
}
}
int main() {
// 示例有一段异常时段的数据
AnomalyPeriod period = {
// ... 填充异常时段的所有遥测数据
};
// 识别骨干和枝节异常数据
identifyBackboneData(period);
// 输出骨干异常数据
std::cout << "Backbone Data:" << std::endl;
for (const auto& data : period.backboneData) {
std::cout << "Timestamp: " << data.timestamp << ", Value: " << data.value << ", Rate: " << data.rate << std::endl;
}
// 输出枝节异常数据
std::cout << "Branch Data:" << std::endl;
for (const auto& data : period.branchData) {
std::cout << "Timestamp: " << data.timestamp << ", Value: " << data.value << ", Rate: " << data.rate << std::endl;
}
return 0;
}
代码段为异常遥测数据分析提供了一个框架,其中包括了传感器数据结构由于拟合函数和寻找波峰波谷值的任务通常涉及复杂的数学计算,需要借助数学库如NumPy等。在这个示例中将这部分逻辑用伪代码表示,并公开了如何从全部异常遥测数据中分离出骨干和枝节数据。
请参阅图8至9所示,由于存储器的存储容量是有限的,而且一些长久未被发送至接收端2的遥测数据价值不高,并不需要进行长久的存储。为了节省存储器的存储空间首先可以执行步骤S011判断存储器内的每个采集时刻的遥测数据是否已经被发射天线组发送至接收端。若是则接下来可以执行步骤S012在存储器内删除对应采集时刻的遥测数据,若否则接下来可以执行步骤S013在存储器内保留。接下来可以执行步骤S021持续判断存储器内的存储空间是否已满。若是则接下来可以执行步骤S022获取存储器内采集时刻最久的遥测数据进行删除得到空余存储容量。若否则接下来可以执行步骤S023不进行处理,此处的不进行处理并非完全不进行动作响应,而是返回步骤S021并保持循环执行。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件,例如电路或ASIC(专用集成电路,Application Specific Integrated Circuit)来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (9)
1.一种北斗卫星智能遥测遥控通信一体化终端系统,其特征在于,包括,
遥测终端,包括传感器、存储器、通讯控制单元以及发射天线组,用于采集发送遥测数据;
接收端,用于接收经由北斗卫星通讯网络转发的遥测数据;
其中,
所述传感器,用于获取不同采集时刻的遥测数据;
所述存储器,用于存储不同采集时刻的遥测数据;
所述通讯控制单元,用于根据所述存储器内存储的不同采集时刻的遥测数据得到不同采集时刻的遥测数据的变化率;
根据不同采集时刻的遥测数据的变化率得到所述存储器内存储的不同采集时刻的遥测数据的数据发送队列;
所述发射天线组,用于经由所述北斗卫星通讯网络,按照所述数据发送队列将不同采集时刻的遥测数据发送至所述接收端;
其中,
所述根据不同采集时刻的遥测数据的变化率得到所述存储器内存储的不同采集时刻的遥测数据的数据发送队列的步骤,包括,
根据不同采集时刻的遥测数据的变化率得到遥测数据的变化率的常规浮动范围;
根据遥测数据的变化率的常规浮动范围得到不同常规时段内不同常规采集时刻的常规遥测数据以及不同异常时段内不同异常采集时刻的异常遥测数据;
将不同常规时段内不同常规采集时刻的常规遥测数据按照采集时刻的先后顺序进行排列得到全部常规时段内每个采集时刻的遥测数据的发送顺序;
根据不同异常时段内不同异常采集时刻的异常遥测数据的变化率得到全部异常时段内每个采集时刻的遥测数据的发送顺序;
优先发送异常时段内的遥测数据,根据全部常规时段内每个采集时刻的遥测数据的发送顺序以及全部异常时段内每个采集时刻的遥测数据的发送顺序得到所述存储器内存储的不同采集时刻的遥测数据的数据发送队列。
2.根据权利要求1所述的系统,其特征在于,所述根据不同采集时刻的遥测数据的变化率得到遥测数据的变化率的常规浮动范围的步骤,包括,
将不同采集时刻的遥测数据的变化率按照数值大小的顺序进行排列得到变化率数值次序;
计算获取所述变化率数值次序中每个遥测数据的变化率与相邻遥测数据的变化率的差值;
将所述变化率数值次序中每个遥测数据的变化率与相邻遥测数据的变化率的差值的均值作为变化率平均差值;
将所述变化率数值次序中与相邻的遥测数据的变化率的差值小于所述变化率平均差值的遥测数据的变化率作为常规遥测数据的变化率;
获取全部常规遥测数据的变化率的最大值和最小值之间的数值范围作为遥测数据的变化率的常规浮动范围。
3.根据权利要求1所述的系统,其特征在于,所述根据不同异常时段内不同异常采集时刻的异常遥测数据的变化率得到全部异常时段内每个采集时刻的遥测数据的发送顺序的步骤,包括,
根据不同异常时段内不同异常采集时刻的异常遥测数据的变化率得到每个异常时段的异常程度顺序;
对于每个异常时段,根据包含的不同异常采集时刻的异常遥测数据的变化率得到异常时段内的骨干异常遥测数据和枝节异常遥测数据;
将同一个异常时段内的骨干异常遥测数据排序优先于枝节异常遥测数据,并分别将多个骨干异常遥测数据和枝节异常遥测数据按照采集时刻的先后顺序进行排列,得到同一个异常时段内骨干异常遥测数据和枝节异常遥测数据的发送顺序;
按照每个异常时段的异常程度顺序以及同一个异常时段内骨干异常遥测数据和枝节异常遥测数据的发送顺序得到全部异常时段内每个采集时刻的遥测数据的发送顺序。
4.根据权利要求3所述的系统,其特征在于,所述根据不同异常时段内不同异常采集时刻的异常遥测数据的变化率得到每个异常时段的异常程度顺序的步骤,包括,
获取每个异常时段内每个异常采集时刻的异常遥测数据的变化率的累加值作为每个异常时段的异常度;
按照每个异常时段的异常度的数值大小顺序作为每个异常时段的异常程度顺序。
5.根据权利要求3所述的系统,其特征在于,所述对于每个异常时段,根据包含的不同异常采集时刻的异常遥测数据的变化率得到异常时段内的骨干异常遥测数据和枝节异常遥测数据的步骤,包括,
对于每个异常时段,
根据异常时段内不同异常采集时刻的异常遥测数据的变化率得到异常遥测数据的变化率关于采集时刻的拟合函数,
获取异常遥测数据的变化率关于采集时刻的拟合函数中的若干个波峰值和波谷值对应的异常采集时刻的异常遥测数据作为骨干异常遥测数据;
将异常时段内骨干异常遥测数据以外的异常遥测数据作为枝节异常遥测数据。
6.根据权利要求1所述的系统,其特征在于,所述接收端向所述遥测终端发送指令,要求所述遥测终端向所述接收端发送指定采集时刻的遥测数据。
7.根据权利要求1所述的系统,其特征在于,所述发射天线组内还包括4G发射模块,用于通过4G无线网络与所述接收端进行通讯。
8.根据权利要求1所述的系统,其特征在于,包括,
判断所述存储器内的每个采集时刻的遥测数据是否已经被所述发射天线组发送至所述接收端;
若是,则在所述存储器内删除对应采集时刻的遥测数据;
若否,则在所述存储器内保留。
9.根据权利要求1或8所述的系统,其特征在于,包括,
持续判断所述存储器内的存储空间是否已满;
若是,则获取所述存储器内采集时刻最久的遥测数据进行删除得到空余存储容量;
若否,则不进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410167214.1A CN117713914B (zh) | 2024-02-06 | 2024-02-06 | 一种北斗卫星智能遥测遥控通信一体化终端系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410167214.1A CN117713914B (zh) | 2024-02-06 | 2024-02-06 | 一种北斗卫星智能遥测遥控通信一体化终端系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117713914A CN117713914A (zh) | 2024-03-15 |
CN117713914B true CN117713914B (zh) | 2024-05-03 |
Family
ID=90148296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410167214.1A Active CN117713914B (zh) | 2024-02-06 | 2024-02-06 | 一种北斗卫星智能遥测遥控通信一体化终端系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117713914B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302861A (zh) * | 2015-09-21 | 2016-02-03 | 航天东方红卫星有限公司 | 一种基于消息推送机制的遥测数据处理方法 |
CN105591720A (zh) * | 2016-03-07 | 2016-05-18 | 北斗天汇(北京)科技有限公司 | 一种大容量高速度的北斗数据传输的方法及系统 |
CN106557655A (zh) * | 2016-11-17 | 2017-04-05 | 包磊 | 一种基于用户状态的分析推荐方法和装置 |
CN110891251A (zh) * | 2019-11-07 | 2020-03-17 | 银河智点(北京)科技有限公司 | 用于监控线路的系统 |
CN113259886A (zh) * | 2021-03-30 | 2021-08-13 | 中海油信息科技有限公司 | 工业边缘端的数据传输方法和装置 |
CN113407371A (zh) * | 2020-12-03 | 2021-09-17 | 腾讯科技(深圳)有限公司 | 数据异常监测方法、装置、计算机设备和存储介质 |
CN115297152A (zh) * | 2022-10-08 | 2022-11-04 | 中科星图测控技术(合肥)有限公司 | 一种星载的辅助测控装置和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112816216B (zh) * | 2021-01-05 | 2022-08-16 | 三峡大学 | 一种滚动轴承性能测试台和异常测试样本的识别与修正方法 |
CN117614487A (zh) * | 2023-12-12 | 2024-02-27 | 广东电网有限责任公司 | 一种基于北斗系统的输电线路通信方法及系统 |
-
2024
- 2024-02-06 CN CN202410167214.1A patent/CN117713914B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302861A (zh) * | 2015-09-21 | 2016-02-03 | 航天东方红卫星有限公司 | 一种基于消息推送机制的遥测数据处理方法 |
CN105591720A (zh) * | 2016-03-07 | 2016-05-18 | 北斗天汇(北京)科技有限公司 | 一种大容量高速度的北斗数据传输的方法及系统 |
CN106557655A (zh) * | 2016-11-17 | 2017-04-05 | 包磊 | 一种基于用户状态的分析推荐方法和装置 |
CN110891251A (zh) * | 2019-11-07 | 2020-03-17 | 银河智点(北京)科技有限公司 | 用于监控线路的系统 |
CN113407371A (zh) * | 2020-12-03 | 2021-09-17 | 腾讯科技(深圳)有限公司 | 数据异常监测方法、装置、计算机设备和存储介质 |
CN113259886A (zh) * | 2021-03-30 | 2021-08-13 | 中海油信息科技有限公司 | 工业边缘端的数据传输方法和装置 |
CN115297152A (zh) * | 2022-10-08 | 2022-11-04 | 中科星图测控技术(合肥)有限公司 | 一种星载的辅助测控装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117713914A (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030214400A1 (en) | Monitoring system realizing high performance with reduced processing loads | |
JP6405416B2 (ja) | データ送信システム、及びデータ送信方法 | |
US9645282B2 (en) | Adaptive weather interrogation system | |
CN112073460B (zh) | 一种数据采集单元、数据传输方法及综合能源监测系统 | |
CN102654584B (zh) | 月球卫星微波探测仪实时数据的处理方法 | |
JPH11234309A (ja) | 非同期転送モード・セル送信スケジューリング | |
CN105869175A (zh) | 一种图像分割方法及系统 | |
CN102315956B (zh) | 一种流量监管方法和装置 | |
CN103178998A (zh) | 一种测控数据传输方法和装置 | |
EP1398957B1 (en) | Method and apparatus for analyzing a transport stream | |
CN117713914B (zh) | 一种北斗卫星智能遥测遥控通信一体化终端系统 | |
CN115038088B (zh) | 一种智能网络安全检测预警系统和方法 | |
CN106231603A (zh) | 一种频谱预测方法及装置 | |
US5878042A (en) | Method for the transmission of signals in time division multiplex channel form via an ATM transmission device | |
US4513419A (en) | Digital conversion circuit and method for testing digital information transfer systems based on serial bit communication words | |
CN114155714B (zh) | 一种机动车牌接力识别系统及车牌接力识别方法 | |
CN108667680B (zh) | 一种多链路实时数据流传输的监控系统及方法 | |
CN112104730B (zh) | 存储任务的调度方法、装置及电子设备 | |
CN109831251B (zh) | 基于动态资源分配算法的误码率获取方法及设备 | |
CN115801102B (zh) | 一种下行数据的方法、装置及存储介质 | |
JPH05153235A (ja) | トラヒツク解析装置 | |
US6493655B1 (en) | Apparatus for measuring throughput and method of measuring throughput | |
CN115604541A (zh) | 车辆的数据采集处理方法、系统、电子设备和存储介质 | |
CA2479079C (en) | Method for the transmission of measured data from a measuring computer to a control computer in a measuring system | |
CN109814501B (zh) | 一种现场检测设备灵活接入的信息采集系统及方法 |
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 |