发明内容
为解决上述技术问题,本申请提供一种天馈增益控制方法、计算设备及存储介质,能够应用于航天领域,尤其是箭载天馈增益控制方面,可以实现动态的增益调整,并确保增益调整过程的全局可信度和透明性。
一种天馈增益控制方法,包括:
安装天馈设备并进行参数设置;
通过智能合约将增益调整算法在以太坊平台上进行部署,初始化以太坊区块链网络;
通过天馈设备实时采集数据,并将数据传输至处理设备;
根据预设的算法和模型计算量化指标;
将量化指标上传至智能合约,根据智能合约设定的规则和策略获得增益调整数据,根据增益调整数据发送指令给天馈设备进行调整,同时记录每次增益调整的数据和调整结果。
优选的,所述通过智能合约将增益调整算法在以太坊平台上进行部署包括:
设定期望信号强度和期望信噪比;
设定用来存储不同环境参数的映射,用于将不同地址和对应的环境参数进行关联;
初始化默认环境参数,并设置环境参数;
接收期望的信号强度和期望的信噪比作为参数,并将它们存储在映射中与调用者地址相关联;
根据当前环境进行增益调整;
记录和验证增益调整的相关数据。
优选的,所述根据当前环境进行增益调整包括:
根据量化指标,判断当前通信环境的要求和条件;
在当前通信环境不满足要求时,调用增益调整量函数,根据信号强度和信噪比与期望值之间的差异计算增益调整量;
根据增益调整量的计算结果更新增益值。
优选的,所述量化指标包括信号强度、信噪比、数据传输速率和误码率。
优选的,所述记录和验证增益调整的相关数据中,相关数据包括环境地址、信号强度、信噪比、增益调整量和新的增益值。
优选的,所述天馈设备设置的参数包括天线类型、天线安装角、天线远场方向图和最大发射功率。
优选的,通过天馈设备实时的采集数据包括信号强度和信噪比。
根据本申请的另一方面,还提供一种计算设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行所述的天馈增益控制方法。
根据本申请的另一方面,还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,当所述指令在计算机上运行时,使得计算机执行所述的天馈增益控制方法。
与现有技术相比,本申请至少具有以下有益效果:
1.本发明利用以太坊区块链技术,通过智能合约的方式,实现了分布式账本和去中心化的特性,确保增益调整过程具备全局可信度和透明性,任何参与者都可以验证和审查增益调整的合法性。
2、本发明利用以太坊区块链的安全性和加密技术,保护增益调整数据的安全性,防止数据篡改和未经授权的访问,确保系统的数据完整性和保密性。
3、本发明利用智能合约和自适应算法,实现了增益控制的自动化和智能化,减少了人工干预的需求,降低了操作的复杂性,提高了系统的稳定性和可靠性。
4、本发明通过以太坊智能合约的灵活性和可编程性,实现了动态适应性的增益控制,根据实时的信号强度、信噪比和其他相关参数,自动优化增益设置,以提高通信性能和系统的灵活性。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,一种天馈增益控制方法,包括以下步骤:
步骤S1、安装天馈设备并进行参数设置。
具体的,安装天馈设备并设置相关参数,该相关参数包括天线类型、天线安装角、天线远场方向图和最大发射功率。
步骤S2、通过智能合约将增益调整算法在以太坊平台上进行部署,初始化以太坊区块链网络。
具体包括以下步骤:
步骤S21、设定期望信号强度和期望信噪比。
步骤S22、设定用来存储不同环境参数的映射,用于将不同地址和对应的环境参数进行关联。
步骤S23、初始化默认环境参数,并设置环境参数。
步骤S24、接收期望的信号强度和期望的信噪比作为参数,并将它们存储在映射中与调用者地址相关联。
步骤S25、根据当前环境进行增益调整。
根据量化指标,判断当前通信环境的要求和条件。在当前通信环境不满足要求时,调用增益调整量函数,根据信号强度和信噪比与期望值之间的差异计算增益调整量。根据增益调整量的计算结果更新增益值。
步骤S26、记录和验证增益调整的相关数据。
具体的,记录和验证增益调整的的数据包括:环境地址、信号强度、信噪比、增益调整量和新的增益值。
步骤S3、通过天馈设备实时采集数据,并将数据传输至处理设备。
具体的,通过天馈设备,实时采集信号强度、信噪比等相关数据。将采集到的数据通过无线传输或直接连接方式传输到地面站或相关设备。
步骤S4、根据预设的算法和模型计算量化指标。
在地面站或相关设备中,对接收到的数据进行处理和分析。根据预设的算法和模型,计算包括信号强度、信噪比、数据传输速率和误码率在内的量化指标。
步骤S5、将量化指标上传至智能合约,根据智能合约设定的规则和策略获得增益调整数据,根据增益调整数据发送指令给天馈设备进行调整,同时记录每次增益调整的数据和调整结果。
将计算得到的量化指标上传到以太坊区块链网络中的智能合约。在智能合约中,根据接收到的数据和预设的规则,进行自适应增益的决策和调整。
智能合约根据量化指标的数值,判断当前通信环境的要求和条件。根据设定的规则和策略,智能合约计算出适当的增益调整量,并发送指令给天馈设备进行调整。增益调整可以基于量化指标的变化趋势和设定的阈值进行自动化调整,以提高通信质量和性能。
此外,智能合约记录每次增益调整的数据和结果,确保操作的可追溯性和可验证性。每次增益调整的数据和结果的记录可用于后续的数据分析、性能评估和改进措施的制定。
箭载通信设备可以与区块链网络进行交互,向智能合约提供接收信号的相关数据,并获取相应的增益调整指令。区块链网络中的节点将验证和处理设备提供的数据,并执行智能合约中定义的增益调整算法,实现基于以太坊的箭载天馈增益自适应控制。量化指标的计算和应用确保了实时监测和精确调整的可行性,提高了箭载通信系统的性能、灵活性和稳定性。同时,以太坊区块链的参与提供了数据安全性和不可篡改性的保证,确保了增益调整的可靠性和可信度。因此,通过本发明的天馈增益控制方法使得增益调整过程就具有了全局的透明度和可信度,任何参与者都可以验证增益调整的合法性和准确性。
在本发明的实施例中,增益调整算法在以太坊平台上的部署方案结合了以太坊智能合约、记录和验证机制,确保箭载天馈增益调整后满足实时动态环境下的需求。
Solidity语言是一种面向智能合约的编程语言,专门用于以太坊平台上的智能合约开发。Solidity语言具有与类似于JavaScript和C++的语法相似的语法结构,但它引入了一些特定于智能合约开发的概念和功能。它支持合约、函数、变量、事件等关键构建,并提供丰富的数据类型、运算符和库函数,以便开发人员可以编写复杂的智能合约逻辑。使用Solidity语言,开发人员可以定义智能合约的状态和行为,包括变量、函数和事件。智能合约可以被部署到以太坊区块链上,并与其他合约或外部账户进行交互。以下是基于solidity语言的部分源码:
pragma solidity ^0.8.0;
contract GainAdjustment {
struct Environment {
uint256 desiredSignalStrength; // 期望信号强度
uint256 desiredSignalToNoiseRatio; // 期望信噪比
}
mapping(address =>Environment) public environments; // 存储不同环境的参数
event GainAdjusted(address indexed environment, uint256signalStrength, uint256 signalToNoiseRatio, uint256 adjustment, uint256newGain);
constructor() {
// 初始化默认环境参数
environments[msg.sender] = Environment(80, 20);
}
// 设置环境参数
function setEnvironmentParameters(uint256 desiredSignalStrength,uint256 desiredSignalToNoiseRatio) public {
environments[msg.sender] = Environment(desiredSignalStrength,desiredSignalToNoiseRatio);
}
// 调整增益
function adjustGain(uint256 signalStrength, uint256signalToNoiseRatio) public {
Environment memory currentEnvironment = environments[msg.sender];
// 根据量化指标计算增益调整量
uint256 adjustment = calculateAdjustment(signalStrength,signalToNoiseRatio, currentEnvironment);
// 根据增益调整量更新增益值
uint256 newGain;
if (adjustment>0) {
newGain = gain + adjustment;
} else {
// 避免增益为负数
newGain = 0;
}
// 记录和验证增益调整
emit GainAdjusted(msg.sender, signalStrength,signalToNoiseRatio, adjustment, newGain);
require(newGain>= currentEnvironment.desiredSignalStrength, "Gain does not meet desired signal strength.");
require(signalToNoiseRatio>= currentEnvironment.desiredSignalToNoiseRatio, "Signal-to-noise ratio does not meet desired requirement.");
gain = newGain;
}
// 计算增益调整量
function calculateAdjustment(uint256 signalStrength, uint256signalToNoiseRatio, Environment memory currentEnvironment) internal purereturns (uint256) {
// 根据信号强度和信噪比与期望值之间的差异进行调整
uint256 strengthDifference = signalStrength>currentEnvironment.desiredSignalStrength ? signalStrength - currentEnvironment.desiredSignalStrength : 0;
uint256 snrDifference = signalToNoiseRatio>currentEnvironment.desiredSignalToNoiseRatio ? signalToNoiseRatio - currentEnvironment.desiredSignalToNoiseRatio : 0;
// 根据差异计算增益调整量
uint256 adjustment = strengthDifference + snrDifference;
return adjustment;
}
}
在本实施例中,增加了一个Environment结构体来存储不同环境的参数。environments结构体是一个映射(mapping),用于将不同地址和对应的环境参数关联起来。
在构造函数中,初始化了默认的环境参数。当部署合约时,合约创建者的地址将自动关联到默认环境参数。
setEnvironmentParameters函数允许合约调用者设置特定环境的参数,该函数接收期望的信号强度desiredSignalStrength和期望的信噪比desiredSignalToNoiseRatio作为参数,并将它们存储在environments映射中与调用者地址相关联。
adjustGain函数用于根据当前环境参数调整增益,它接收当前的信号强度signalStrength和信噪比signalToNoiseRatio作为参数,并调用calculateAdjustment函数计算增益调整量。然后,根据计算结果更新增益值newGain。
在记录和验证方面,使用事件GainAdjusted来记录增益调整的相关信息,通过使用emit关键字触发事件,该相关信息包括环境地址、信号强度、信噪比、增益调整量和新的增益值。
在更新增益值之前,使用require语句进行验证,确保新的增益值满足当前环境的信号强度需求,并且信噪比满足期望要求。如果验证失败,交易将被拒绝,增益值不会被更新。最后,根据计算得到的新增益值,更新了合约中的箭载天馈增益变量。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、工作、器件、组件和/或它们的组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施方式能够以除了在这里图示或描述的那些以外的顺序实施。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。