CN117896810A - 一种智能楼宇网络设备的自动节能控制系统及方法 - Google Patents
一种智能楼宇网络设备的自动节能控制系统及方法 Download PDFInfo
- Publication number
- CN117896810A CN117896810A CN202410294497.6A CN202410294497A CN117896810A CN 117896810 A CN117896810 A CN 117896810A CN 202410294497 A CN202410294497 A CN 202410294497A CN 117896810 A CN117896810 A CN 117896810A
- Authority
- CN
- China
- Prior art keywords
- terminal
- code rate
- communication code
- power
- wireless transmitting
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004891 communication Methods 0.000 claims abstract description 164
- 230000005540 biological transmission Effects 0.000 claims description 25
- 230000008859 change Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 101150055297 SET1 gene Proteins 0.000 description 3
- 101150117538 Set2 gene Proteins 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement 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
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect 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
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种智能楼宇网络设备的自动节能控制系统及方法,涉及通讯节能控制技术领域。本发明包括,在间隔时长内,逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的身份识别码和通讯码率得到底线功率,将无线发射功率数调节至底线功率并同步收集不同时刻每个终端的身份识别码和通讯码率,根据不同时刻每个终端的身份识别码和通讯码率判断是否需要对底线功率进行更新,若是,则返回执行逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的身份识别码和通讯码率得到底线功率的步骤,若否,则保持底线功率。本发明在不影响正常网络通讯的情况下节省电能。
Description
技术领域
本发明属于通讯节能控制技术领域,特别是涉及一种智能楼宇网络设备的自动节能控制系统及方法。
背景技术
随着现代科技的发展和能源成本的上升,节能减排已成为建筑管理中的重要议题。传统楼宇中的能源管理多依赖手动控制或简单的定时器设定,这种方式不仅效率低下,而且不能实现能源使用的最优化,不仅如此还会影响正常的网络通讯。
发明内容
本发明的目的在于提供一种智能楼宇网络设备的自动节能控制系统及方法,通过对网络设备的无线发射功率进行动态调节,在不影响正常网络通讯的情况下节省电能。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供一种智能楼宇网络设备的自动节能控制方法,包括,
将无线发射功率调整至额定功率并获取接入的终端的身份识别码和通讯码率;
根据本次以及上两次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码得到下一次将无线发射功率调整至额定功率的间隔时长;
在间隔时长内,
逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率得到底线功率,
将无线发射功率数调节至所述底线功率并同步收集不同时刻每个终端的所述身份识别码和所述通讯码率,
根据不同时刻每个终端的所述身份识别码和所述通讯码率判断是否需要对所述底线功率进行更新,
若是,则返回执行所述逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率得到底线功率的步骤,
若否,则保持所述底线功率。
本发明还公开了一种智能楼宇网络设备的自动节能控制方法,包括,
获取无线发射的额定功率;
获取不同时刻的底线功率;
根据无线发射的额定功率和不同时刻的底线功率的差值得到不同时刻节省的电量。
本发明还公开了一种智能楼宇网络设备的自动节能控制方法,包括,
获取不同时刻节省的电量;
显示当前时刻节省的电量。
本发明还公开了一种智能楼宇网络设备的自动节能控制系统,
射频天线,用于发射无线信号与终端进行通讯;
发射节能驱动单元,用于将无线发射功率调整至额定功率并获取接入的终端的身份识别码和通讯码率;
根据本次以及上两次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码得到下一次将无线发射功率调整至额定功率的间隔时长;
在间隔时长内,
逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率得到底线功率,
将无线发射功率数调节至所述底线功率并同步收集不同时刻每个终端的所述身份识别码和所述通讯码率,
根据不同时刻每个终端的所述身份识别码和所述通讯码率判断是否需要对所述底线功率进行更新,
若是,则返回执行所述逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率得到底线功率的步骤,
若否,则保持所述底线功率;
省电统计单元,用于获取无线发射的额定功率;
获取不同时刻的底线功率;
根据无线发射的额定功率和不同时刻的底线功率的差值得到不同时刻节省的电量;
显示单元,用于获取不同时刻节省的电量;
显示当前时刻节省的电量。
本发明通过发射节能驱动单元对服务范围内终端的身份识别码和通讯码率进行收集记录,并在调节发射功率的状态下持续收集分析,从而达到能够保持正常通讯服务的底线功率。再次过程中以低于额定功率的底线功率进行无线通讯服务,同时保持网络服务的可靠性。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述一种智能楼宇网络设备的自动节能控制系统于一实施例的功能单元和信息流向示意图;
图2为本发明所述发射节能驱动单元于一实施例的步骤流程示意图;
图3为本发明所述省电统计单元于一实施例的步骤流程示意图;
图4为本发明所述显示单元于一实施例的步骤流程示意图;
图5为本发明所述步骤S2于一实施例的步骤流程示意图;
图6为本发明所述步骤S22于一实施例的步骤流程示意图;
图7为本发明所述步骤S3于一实施例的步骤流程示意图;
图8为本发明所述步骤S34于一实施例的步骤流程示意图;
图9为本发明所述步骤S343于一实施例的步骤流程示意图;
图10为本发明所述步骤S5于一实施例的步骤流程示意图;
附图中,各标号所代表的部件列表如下:
1-射频天线,2-发射节能驱动单元,3-省电统计单元,4-显示单元。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
楼宇内网络设备例如微基站在使用过程中,其连接终端的数量和网络需求具有明显的时效性,也就是白天时段网络需求较高,深夜时段网络需求低,如果保持楼宇内的网络设备长时间满负荷发射信号,不仅没有必要,而且会消耗大量的电能,同时还会缩短网络设备的使用寿命。有鉴于此,本发明提供以下方案。
请参阅图1至4所示,本发明提供了一种智能楼宇网络设备的自动节能控制系统,从功能单元上划分包括射频天线1、发射节能驱动单元2以及省电统计单元3。射频天线1用于发射无线信号与终端进行通讯,并且其发射功率可调节。
为了在不影响通讯质量的前提下对射频天线1的发射功率进行调节,首先可以由发射节能驱动单元2执行步骤S1将无线发射功率调整至额定功率并获取接入的终端的身份识别码和通讯码率。接下来可以执行步骤S2根据本次以及上两次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码得到下一次将无线发射功率调整至额定功率的间隔时长。
在每个间隔时长内,首先可以执行步骤S3逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的身份识别码和通讯码率得到底线功率。接下来可以执行步骤S4将无线发射功率数调节至底线功率并同步收集不同时刻每个终端的身份识别码和通讯码率。接下来可以执行步骤S5根据不同时刻每个终端的身份识别码和通讯码率判断是否需要对底线功率进行更新。若是则接下来可以返回循环执行步骤S3至步骤S5,若否则接下来可以执行步骤6保持底线功率。
为了对节约的电能进行统计,可以由省电统计单元3执行步骤S011获取无线发射的额定功率,接下来可以执行步骤S012获取不同时刻的底线功率。最后可以执行步骤S013根据无线发射的额定功率和不同时刻的底线功率的差值得到不同时刻节省的电量。为了直观向楼宇的管理员或者网络设备的管理员直观展示节省的电能,可以由显示单元4执行步骤S021获取不同时刻节省的电量,之后可以执行步骤S022显示当前时刻节省的电量。
请参阅图5至6所示,将无线发射功率调整至额定功率可以全面获取网络服务范围内全部的终端,但是这样也会更加耗电,因此需要对调整至额定功能的频率周期进行限制。但是如果长时间不将无线发射功率调整至额定功率也可能会忽视部分新入网的终端,导致网络服务出现问题。为了平衡此问题得到一个较为适合的间隔时长,上述的步骤S2在实施的过程中首先可以执行步骤S21根据本次以及上一次将无线发射功率调整至额定功率的时刻得到上一个间隔时长。接下来可以执行步骤S22,具体而言即是首先可以执行步骤S221获取上一次及上上一次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码的总数量和重合数量。接下来可以执行步骤S222将上一次及上上一次终端重合数量与总数量的比值作为上一个间隔时长对应的终端变化率。接下来可以执行步骤S223获取本次及上一次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码的总数量和重合数量。接下来可以执行步骤S224将本次及上一次终端重合数量与总数量的比值作为本此间隔时长对应的终端变化率。最后可以执行步骤S23将上一个间隔时长与对应的终端变化率除以当前间隔时长分别对应的终端变化率得到当前间隔时长作为下一次将无线发射功率调整至额定功率的间隔时长。在达到间隔时长之后重新将无线发射功率调整至额定功率并循环执行步骤S21至步骤S23,从而不断生成下一次将无线发射功率调整至额定功率的间隔时长。当然初始化的间隔时长可以由工作人员直接设定,这并不会影响后续间隔时长的生成。
为了对上述的步骤S21至步骤S23的实施过程进行补充说明,提供部分功能模块的源代码,并在注释部分进行对照解释说明。为了避免涉及商业秘密的数据泄露,对不影响方案实施的部分数据进行脱敏处理,下同。
#include<iostream>
#include<set>
#include<vector>
#include<algorithm>
// 计算两个集合重合元素的数量
int calculateOverlap(const std::set<std::string>&set1, const std::set<std::string>&set2) {
std::vector<std::string>intersection;
std::set_intersection(set1.begin(), set1.end(), set2.begin(),set2.end(), std::back_inserter(intersection));
return intersection.size();
}
// 计算终端变化率
float calculateChangeRate(int overlapCount, int totalCount) {
return totalCount>0 ? static_cast<float>(overlapCount) /totalCount : 0.0f;
}
// 获取本次和上次的终端总数和重合数量
std::pair<int, int>getOverlapAndTotalCount(const std::set<std::string>¤tTerminals, const std::set<std::string>&previousTerminals) {
int overlapCount = calculateOverlap(currentTerminals,previousTerminals);
int totalCount = currentTerminals.size() + previousTerminals.size() - overlapCount;
return {overlapCount, totalCount};
}
// 主要函数,计算下一次调整功率的间隔时长
int calculateNextInterval(const std::set<std::string>¤tTerminals,
const std::set<std::string>&previousTerminals,
const std::set<std::string>&prePreviousTerminals,
int previousInterval) {
// 获取上一次的重合数量和总数量
auto [preOverlap, preTotal] = getOverlapAndTotalCount(previousTerminals, prePreviousTerminals);
// 获取本次的重合数量和总数量
auto [currentOverlap, currentTotal] = getOverlapAndTotalCount(currentTerminals, previousTerminals);
// 计算变化率
float previousChangeRate = calculateChangeRate(preOverlap,preTotal);
float currentChangeRate = calculateChangeRate(currentOverlap,currentTotal);
// 根据变化率计算下一次的间隔时长,避免除以0
int nextInterval = 0;
if (currentChangeRate != 0) {
nextInterval = static_cast<int>(previousInterval *(previousChangeRate / currentChangeRate));
}
return nextInterval;
}
int main() {
// 示例终端身份识别码
std::set<std::string>currentTerminals = {"ID_001", "ID_002", "ID_003"};
std::set<std::string>previousTerminals = {"ID_002", "ID_003", "ID_004"};
std::set<std::string>prePreviousTerminals = {"ID_001", "ID_004", "ID_005"};
// 示例上一次间隔时长为30秒
int previousInterval = 30;
// 计算下一次调整功率的间隔时长
int nextInterval = calculateNextInterval(currentTerminals,previousTerminals, prePreviousTerminals, previousInterval);
// 输出下一次调整功率的间隔时长
std::cout<<"Next Interval: "<<nextInterval<<" seconds"<<std::endl;
return 0;
}
在这段代码中,首先定义了几个辅助函数来计算两个终端集合之间的重合元素数量和终端变化率。然后定义calculateNextInterval函数来计算下一次调整无线发射功率到额定功率的间隔时长。这个函数接受当前、上一次和上上一次的终端身份识别码集合,以及上一次调整的间隔时长。主函数main使用这些函数,并输出计算得到的下一次调整间隔时长。这段代码可以计算无线发射设备在保持网络连接质量的前提下,根据历史和当前连接的终端设备的变化,动态调整下一次将无线发射功率调整至额定功率的间隔时长。
请参阅图7所示,在使用无线电波进行通讯的过程中,在环境电磁噪声相对一致且通讯频段一致的前提下,无线发射功率越高则其可靠的通讯码率也越高。换言之可以适当调低无线发射功率并同时保障通讯质量。为了求解出保障通讯质量所需的底线功率,可以逐步调整无线发射功率并对通讯状态进行监控,具体而言上述的步骤S3在具体实施的过程中首先可以执行步骤S31获取无线发射功率的最小调节功率值。接下来可以执行步骤S32由额定功率开始以最小调节功率值为步长逐次降低无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的身份识别码和通讯码率。接下来可以执行步骤S33根据不同无线发射功率数值对应的时刻以及每个终端的身份识别码和通讯码率得到每个终端在不同时刻的通讯码率。接下来可以执行步骤S34根据每个终端在不同时刻的通讯码率得到每个终端的临界通讯码率。之后可以执行步骤S35获取每个终端的临界通讯码率在逐次降低无线发射功率过程中对应的时刻作为每个终端的临界通讯码率调节时刻。最后可以执行步骤S36将每个终端的临界通讯码率调节时刻的最早值在逐次降低无线发射功率过程中对应的无线发射功率作为底线功率。当然由于用户使用终端是一个动态的过程,底线功率并不是一成不变的。
为了对上述的步骤S31至步骤S36的实施过程进行补充说明,提供部分功能模块的源代码,并在注释部分进行对照解释说明。
#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
// 终端结构体包含身份识别码和通讯码率
struct Terminal {
int id; // 身份识别码
double dataRate; // 通讯码率
};
// 模拟调整发射功率并收集终端数据的函数
void adjustPowerAndCollectData(double startPower, double minAdjust,std::vector<Terminal>&terminals) {
double currentPower = startPower;
std::map<int, std::vector<std::pair<double, double>>>terminalDataRateHistory;
// 逐步降低无线发射功率
while (currentPower>= minAdjust) {
// 模拟收集当前时刻的终端数据
for (auto&terminal : terminals) {
// 示例通讯码率与功率成正比
terminal.dataRate = currentPower * (terminal.id % 10); //随机生成通讯码率的简化模型
terminalDataRateHistory[terminal.id].emplace_back(currentPower, terminal.dataRate);
}
// 降低发射功率
currentPower -= minAdjust;
}
// 计算每个终端的临界通讯码率
std::map<int, double>criticalDataRates;
for (auto&entry : terminalDataRateHistory) {
auto&rates = entry.second;
// 临界通讯码率是最小非零码率
auto it = std::find_if(rates.begin(), rates.end(), [](conststd::pair<double, double>&data) {
return data.second>0;
});
if (it != rates.end()) {
criticalDataRates[entry.first] = it->second;
}
}
// 获取每个终端的临界通讯码率调节时刻
std::map<int, double>criticalAdjustmentTimes;
for (auto&entry : terminalDataRateHistory) {
for (auto&rate : entry.second) {
if (rate.second == criticalDataRates[entry.first]) {
criticalAdjustmentTimes[entry.first] = rate.first;
break;
}
}
}
// 找到最早的临界通讯码率调节时刻
double earliestTime = std::min_element(criticalAdjustmentTimes.begin(), criticalAdjustmentTimes.end(),
[](const std::pair<int, double>&a, const std::pair<int, double>&b) {
return a.second<b.second;
})->second;
// 获取底线功率
double baselinePower = earliestTime;
// 输出结果
std::cout<<"Baseline Power is: "<<baselinePower<<" Watts"<<std::endl;
for (auto&entry : criticalAdjustmentTimes) {
std::cout<<"Terminal ID: "<<entry.first<<" - CriticalAdjustment Time: "<<entry.second<<" Watts"<<std::endl;
}
}
int main() {
// 初始参数
double startPower = 100.0; // 起始功率
double minAdjust = 5.0; // 最小调节功率值
// 模拟的终端数据
std::vector<Terminal>terminals = {{1, 0.0}, {2, 0.0}, {3, 0.0}};
// 调用模拟函数
adjustPowerAndCollectData(startPower, minAdjust, terminals);
return 0;
}
这段代码首先定义了一个模拟的终端结构体,包含终端的ID和通讯码率。adjustPowerAndCollectData函数模拟了从一个初始的无线发射功率开始逐步降低功率的过程,同时收集每个终端在不同功率下的通讯码率。根据收集到的数据该程序计算每个终端的临界通讯码率,即最小非零码率,并确定达到该临界码率时的调节时刻。然后程序找到所有终端中最早的临界通讯码率调节时刻,并将对应的功率值作为系统的底线功率。最后程序输出每个终端的临界通讯码率调节时刻和系统的底线功率。
请参阅图8至9所示,由于不同用户在使用终端的过程中具有使用惯性,这体现在终端的通讯码率上即是会在一个特定的范围内波动,只要对其达到特定范围内的最大值即临界通讯码率,则可以保障该用户使用终端过程中的网络质量。为了结合用户的使用状态达到其对应的临界通讯码率,对于每个终端而言,上述的步骤S34在具体实施的过程中首先可以执行步骤S341根据每个终端在不同时刻的通讯码率得到通讯码率的最大值作为峰值通讯码率。接下来可以执行步骤S342获取峰值通讯码率对应的时刻作为峰值码率时刻。当然也可以先对异常值进行剔除之后再获取峰值码率时刻,从而进一步降低无线发射功率。
接下来可以执行步骤S343求解终端的常规通讯码率范围,具体来说就是首先执行步骤S3431将峰值码率时刻之前范围内的不同时刻的通讯码率按照数值大小顺序进行排列得到通讯码率序列。接下来可以执行步骤S3432计算获取通讯码率序列中每个通讯码率与相邻通讯码率的差值。接下来可以执行步骤S3433计算获取通讯码率序列中每个通讯码率与相邻通讯码率的差值的均值作为常规筛选值。接下来可以执行步骤S3434将通讯码率序列中与相邻通讯码率的差值小于常规筛选值的通讯码率进行保留。接下来可以执行步骤S3435将通讯码率序列中保留的多个通讯码率对应的时刻在时间轴上进行标注。最后可以执行步骤S3436获取时间轴上连续最长时段范围内时刻对应的多个通讯码率的范围作为终端的常规通讯码率范围。
接下来可以执行步骤S344将终端的常规通讯码率范围的最大值作为终端的临界通讯码率。最后可以执行步骤S345汇总得到每个终端的临界通讯码率。也就是该终端正常状态下能够达到的最高通讯码率。当然这个数值并不是一成不变的,也需要进行动态调整。
为了对上述的步骤S341至步骤S345的实施过程进行补充说明,提供部分功能模块的源代码,并在注释部分进行对照解释说明。
#include<iostream>
#include<vector>
#include<algorithm>
#include<numeric>
struct TerminalData {
double time; // 时刻
double dataRate; // 通讯码率
};
struct Terminal {
int id; // 终端的身份识别码
std::vector<TerminalData>dataRates; // 终端的通讯码率记录
double peakDataRate; // 峰值通讯码率
double peakDataRateTime; // 峰值码率对应的时刻
std::vector<double>sortedRatesBeforePeak; // 峰值码率时刻之前的通讯码率序列
double criticalDataRate; // 临界通讯码率
};
// 根据每个终端在不同时刻的通讯码率得到每个终端的临界通讯码率的函数
void calculateCriticalDataRates(std::vector<Terminal>&terminals) {
for (Terminal&terminal : terminals) {
// 获取峰值通讯码率及其对应的时刻
auto peakRateIt = std::max_element(terminal.dataRates.begin(),terminal.dataRates.end(),
[](const TerminalData&a, const TerminalData&b) {
return a.dataRate<b.dataRate;
});
terminal.peakDataRate = peakRateIt->dataRate;
terminal.peakDataRateTime = peakRateIt->time;
// 获取峰值码率时刻之前的所有通讯码率并排序
terminal.sortedRatesBeforePeak.clear();
for (const TerminalData&data : terminal.dataRates) {
if (data.time<= terminal.peakDataRateTime) {
terminal.sortedRatesBeforePeak.push_back(data.dataRate);
}
}
std::sort(terminal.sortedRatesBeforePeak.begin(), terminal.sortedRatesBeforePeak.end());
// 计算通讯码率的差值及其均值
std::vector<double>rateDifferences;
std::adjacent_difference(terminal.sortedRatesBeforePeak.begin(), terminal.sortedRatesBeforePeak.end(),
std::back_inserter(rateDifferences));
rateDifferences.erase(rateDifferences.begin()); // 删除第一个无效的差值
double avgDifference = std::accumulate(rateDifferences.begin(), rateDifferences.end(), 0.0) / rateDifferences.size();
// 筛选出小于均值差的通讯码率
std::vector<double>filteredRates;
for (size_t i = 0; i<rateDifferences.size(); i++) {
if (rateDifferences[i]<avgDifference) {
filteredRates.push_back(terminal.sortedRatesBeforePeak[i + 1]); // i + 1 因为差值数组的索引比原数组少1
}
}
// 获取常规通讯码率范围的最大值作为临界通讯码率
terminal.criticalDataRate = filteredRates.empty() ? 0 : *std::max_element(filteredRates.begin(), filteredRates.end());
}
}
int main() {
// 示例数据
std::vector<Terminal>terminals = {
{1, {{1.0, 10.0}, {2.0, 20.0}, {3.0, 30.0}, {4.0, 40.0}, {5.0,50.0}}, 0, 0, {}, 0},
{2, {{1.0, 20.0}, {2.0, 40.0}, {3.0, 60.0}, {4.0, 80.0}, {5.0,100.0}}, 0, 0, {}, 0}
// 更多终端数据...
};
// 计算每个终端的临界通讯码率
calculateCriticalDataRates(terminals);
// 输出每个终端的临界通讯码率
for (const Terminal&terminal : terminals) {
std::cout<<"Terminal ID: "<<terminal.id
<<" - Critical Data Rate: "<<terminal.criticalDataRate<<std::endl;
}
return 0;
}
上述代码首先定义了两个结构体TerminalData和Terminal,用于存储通讯码率数据和终端信息。通过函数calculateCriticalDataRates计算每个终端的临界通讯码率。这个函数首先找到每个终端的峰值通讯码率及对应时刻,然后对峰值时刻之前的码率进行排序。计算排序后的码率序列中相邻码率的差值,并求出这些差值的均值作为常规筛选值。然后筛选出小于常规筛选值的码率,最终取这些码率中的最大值作为终端的临界通讯码率。
在main函数中,初始化一些示例终端数据,并调用calculateCriticalDataRates函数来计算每个终端的临界通讯码率,然后在控制台输出结果。此代码的核心目的是处理和分析终端通讯码率数据,最终得出每个终端稳定工作的临界通讯码率,这个值可用于网络管理和优化通讯效率。
请参阅图10所示,由于用户在使用终端的过程中并不会一直保持其在先的使用习惯,例如聊了一段时间的文字聊天之后又去刷短视频。而先前的文字聊天的通讯码率需求较低,之后刷短视频的码率要求较高。为了及时响应这种通讯码率需求的改变,需要及时对底线功率进行更新,具体而言就是首先执行步骤S51根据不同时刻每个终端的身份识别码和通讯码率得到每个终端在相同通讯码率上多次持续时长的最大值作为最大持续时长。之后以执行步骤S52对于每个终端,判断终端的通讯码率达到对应的临界通讯码率的持续时长是否超越对应的最大持续时长。根据判断结果选择继续执行步骤S6或者循环执行步骤S3至步骤S5,由此实现对底线功率的动态调节,及时满足用户使用网络终端的动态需求。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件,例如电路或ASIC(专用集成电路,Application Specific Integrated Circuit)来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种智能楼宇网络设备的自动节能控制方法,其特征在于,包括,
将无线发射功率调整至额定功率并获取接入的终端的身份识别码和通讯码率;
根据本次以及上两次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码得到下一次将无线发射功率调整至额定功率的间隔时长;
在间隔时长内,
逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率得到底线功率,
将无线发射功率数调节至所述底线功率并同步收集不同时刻每个终端的所述身份识别码和所述通讯码率,
根据不同时刻每个终端的所述身份识别码和所述通讯码率判断是否需要对所述底线功率进行更新,
若是,则返回执行所述逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率得到底线功率的步骤,
若否,则保持所述底线功率。
2.根据权利要求1所述的方法,其特征在于,所述根据本次以及上两次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码得到下一次将无线发射功率调整至额定功率的间隔时长的步骤,包括,
根据本次以及上一次将无线发射功率调整至额定功率的时刻得到上一个所述间隔时长;
根据本次上两次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码得到上一个所述间隔时长和当前所述间隔时长分别对应的终端变化率;
将上一个所述间隔时长与对应的所述终端变化率的乘积除以当前所述间隔时长分别对应的终端变化率得到当前所述间隔时长作为下一次将无线发射功率调整至额定功率的间隔时长。
3.根据权利要求2所述的方法,其特征在于,所述根据本次上两次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码得到上一个所述间隔时长和当前所述间隔时长分别对应的终端变化率的步骤,包括,
获取上一次及上上一次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码的总数量和重合数量;
将上一次及上上一次终端重合数量与总数量的比值作为上一个所述间隔时长对应的终端变化率;
获取本次及上一次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码的总数量和重合数量;
将本次及上一次终端重合数量与总数量的比值作为本此所述间隔时长对应的终端变化率。
4.根据权利要求1所述的方法,其特征在于,所述逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率得到底线功率的步骤,包括,
获取无线发射功率的最小调节功率值;
由额定功率开始以所述最小调节功率值为步长逐次降低无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率;
根据不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率得到每个终端在不同时刻的所述通讯码率;
根据每个终端在不同时刻的所述通讯码率得到每个终端的临界通讯码率;
获取每个所述终端的临界通讯码率在逐次降低无线发射功率过程中对应的时刻作为每个所述终端的临界通讯码率调节时刻;
将每个所述终端的临界通讯码率调节时刻的最早值在逐次降低无线发射功率过程中对应的无线发射功率作为所述底线功率。
5.根据权利要求4所述的方法,其特征在于,所述根据每个终端在不同时刻的所述通讯码率得到每个终端的临界通讯码率的步骤,包括,
对于每个所述终端,
根据每个终端在不同时刻的所述通讯码率得到所述通讯码率的最大值作为峰值通讯码率,
获取峰值通讯码率对应的时刻作为峰值码率时刻,
根据峰值码率时刻之前范围内的不同时刻的所述通讯码率得到所述终端的常规通讯码率范围,
将所述终端的常规通讯码率范围的最大值作为所述终端的所述临界通讯码率;
汇总得到每个终端的所述临界通讯码率。
6.根据权利要求5所述的方法,其特征在于,所述根据峰值码率时刻之前范围内的不同时刻的所述通讯码率得到所述终端的常规通讯码率范围的步骤,包括,
将峰值码率时刻之前范围内的不同时刻的所述通讯码率按照数值大小顺序进行排列得到通讯码率序列;
计算获取通讯码率序列中每个所述通讯码率与相邻所述通讯码率的差值;
计算获取通讯码率序列中每个所述通讯码率与相邻所述通讯码率的差值的均值作为常规筛选值;
将通讯码率序列中与相邻所述通讯码率的差值小于所述常规筛选值的所述通讯码率进行保留;
将通讯码率序列中保留的多个所述通讯码率对应的时刻在时间轴上进行标注;
获取时间轴上连续最长时段范围内时刻对应的多个所述通讯码率的范围作为所述终端的常规通讯码率范围。
7.根据权利要求4所述的方法,其特征在于,所述根据不同时刻每个终端的所述身份识别码和所述通讯码率判断是否需要对所述底线功率进行更新的步骤,包括,
根据不同时刻每个终端的所述身份识别码和所述通讯码率得到每个所述终端在相同所述通讯码率上多次持续时长的最大值作为最大持续时长;
对于每个所述终端,判断所述终端的通讯码率达到对应的所述临界通讯码率的持续时长是否超越对应的所述最大持续时长。
8.一种智能楼宇网络设备的自动节能控制方法,其特征在于,包括,
获取无线发射的额定功率;
获取权利要求1至7任一项所述的一种智能楼宇网络设备的自动节能控制方法中不同时刻的底线功率;
根据无线发射的额定功率和不同时刻的底线功率的差值得到不同时刻节省的电量。
9.一种智能楼宇网络设备的自动节能控制方法,其特征在于,包括,
获取权利要求8所述的一种智能楼宇网络设备的自动节能控制方法中不同时刻节省的电量;
显示当前时刻节省的电量。
10.一种智能楼宇网络设备的自动节能控制系统,其特征在于,包括,
射频天线,用于发射无线信号与终端进行通讯;
发射节能驱动单元,用于将无线发射功率调整至额定功率并获取接入的终端的身份识别码和通讯码率;
根据本次以及上两次将无线发射功率调整至额定功率时分别获取接入的终端的身份识别码得到下一次将无线发射功率调整至额定功率的间隔时长;
在间隔时长内,
逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率得到底线功率,
将无线发射功率数调节至所述底线功率并同步收集不同时刻每个终端的所述身份识别码和所述通讯码率,
根据不同时刻每个终端的所述身份识别码和所述通讯码率判断是否需要对所述底线功率进行更新,
若是,则返回执行所述逐步调整无线发射功率并同步收集不同无线发射功率数值对应的时刻以及每个终端的所述身份识别码和所述通讯码率得到底线功率的步骤,
若否,则保持所述底线功率;
省电统计单元,用于获取无线发射的额定功率;
获取不同时刻的底线功率;
根据无线发射的额定功率和不同时刻的底线功率的差值得到不同时刻节省的电量;
显示单元,用于获取不同时刻节省的电量;
显示当前时刻节省的电量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410294497.6A CN117896810B (zh) | 2024-03-15 | 2024-03-15 | 一种智能楼宇网络设备的自动节能控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410294497.6A CN117896810B (zh) | 2024-03-15 | 2024-03-15 | 一种智能楼宇网络设备的自动节能控制系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117896810A true CN117896810A (zh) | 2024-04-16 |
CN117896810B CN117896810B (zh) | 2024-05-07 |
Family
ID=90639700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410294497.6A Active CN117896810B (zh) | 2024-03-15 | 2024-03-15 | 一种智能楼宇网络设备的自动节能控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117896810B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030081573A1 (en) * | 2001-10-25 | 2003-05-01 | Anderson Jon J. | Controlling forward link traffic channel power |
CN201708823U (zh) * | 2010-02-05 | 2011-01-12 | 山东建筑大学 | 基于多代理器的室内节电系统 |
CN103179006A (zh) * | 2013-03-19 | 2013-06-26 | 上海欧忆智能网络有限公司 | 电力光纤到户多网融合系统 |
CN103688575A (zh) * | 2011-07-18 | 2014-03-26 | 诺基亚公司 | 智能无线电频率功率控制 |
CN105722016A (zh) * | 2016-02-05 | 2016-06-29 | 中国矿业大学 | 分层m2m网络中网关和终端发射功率的协同控制方法 |
CN117490194A (zh) * | 2023-11-09 | 2024-02-02 | 南京新联电子股份有限公司 | 基于物联网的楼宇空调温控器低时延无线通讯系统及方法 |
-
2024
- 2024-03-15 CN CN202410294497.6A patent/CN117896810B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030081573A1 (en) * | 2001-10-25 | 2003-05-01 | Anderson Jon J. | Controlling forward link traffic channel power |
CN201708823U (zh) * | 2010-02-05 | 2011-01-12 | 山东建筑大学 | 基于多代理器的室内节电系统 |
CN103688575A (zh) * | 2011-07-18 | 2014-03-26 | 诺基亚公司 | 智能无线电频率功率控制 |
US20140171141A1 (en) * | 2011-07-18 | 2014-06-19 | Nokia Corporation | Intelligent radio frequency power control |
CN103179006A (zh) * | 2013-03-19 | 2013-06-26 | 上海欧忆智能网络有限公司 | 电力光纤到户多网融合系统 |
CN105722016A (zh) * | 2016-02-05 | 2016-06-29 | 中国矿业大学 | 分层m2m网络中网关和终端发射功率的协同控制方法 |
CN117490194A (zh) * | 2023-11-09 | 2024-02-02 | 南京新联电子股份有限公司 | 基于物联网的楼宇空调温控器低时延无线通讯系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117896810B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109818812A (zh) | 一种基于物联网的低压配电网末端感知系统及方法 | |
CN107271764B (zh) | 一种用电器耗电异常检测方法及装置 | |
CN101989926B (zh) | 用于能量高效的以太网系统和方法 | |
CN102879635B (zh) | 能耗监测、分项计量及分析预警系统 | |
CN106559828B (zh) | 小区忙时段管理方法、装置及自组织网络网元 | |
CN105636056A (zh) | 一种频谱资源自优化的节能方法、装置和系统 | |
CN101789836A (zh) | 一种节省网络通信开销的合作频谱感知方法 | |
CN109546748A (zh) | 电能分析及管理方法及装置 | |
CN116321610B (zh) | 一种智能灯光控制的方法及控制系统 | |
CN110572836A (zh) | 一种基站信号强度测试装置及方法 | |
CN102857306A (zh) | 一种信道可用度的检测方法、频谱管理方法及系统 | |
CN117896810B (zh) | 一种智能楼宇网络设备的自动节能控制系统及方法 | |
CN115765135A (zh) | 一种智能ups储能系统 | |
CN115988614A (zh) | 一种模式确定方法、设备及存储介质 | |
CN108596477A (zh) | 一种mdc综合能耗管理系统及方法 | |
CN105430721A (zh) | 数据交互控制方法、数据交互控制装置和可穿戴设备 | |
CN110022246A (zh) | 分布式集群设备功耗监控方法、装置、系统及相关组件 | |
CN103188723A (zh) | 一种多模单待用户设备的测量调度方法和装置 | |
CN102879636B (zh) | 办公室能耗采集传输超限报警装置 | |
Capuzzo et al. | An ns-3 implementation of a battery-less node for energy-harvesting internet of things | |
CN108990077B (zh) | Sim卡信号检测方法、装置及计算机终端 | |
CN111103962A (zh) | 电源的休眠,休眠确定方法及装置,休眠设备 | |
CN108111318A (zh) | 面向均衡分布的电力通信业务路由规划算法 | |
CN116405990A (zh) | 设备节能方法、系统、电子设备及存储介质 | |
CN114243924A (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 |