当前位置: 首页 > news >正文

为减少来自环境使用的无线传感器网络的传输次数而开发的方法(Matlab代码实现)

    目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码

💥1 概述

随着无线传感器网络(Wireless Sensor Network,WSN)的广泛应用,业界开始应用环境能量收集技术解决传感器节点的能量补充问题。而这类网络被统称为能量收集型无线传感器网络(Energy Harvesting Wireless Sensor Network,EH-WSN)。在能量收集型无线传感器网络中感知数据的可靠传输是值得研究的问题。

📚2 运行结果

主函数部分代码:

clear all
close all
​
% Declaración de los elementos del texto para el split
comillas=char(34);
barra=char(47);
coma=char(44);
pcoma=char(59);
dpuntos=char(58);
novalinea=newline;
guio=char(45);
fle=char(62);
p1=char(40);
p2=char(41);
​
%%% Format fitxer PM10 i soroll
% Se abre el fichero y se obtienen los datos de cada elemento, son 8
fileID=fopen('dades_soroll_pm10.txt','r');
formatSpec=['%d' barra '%d' barra '%d'  '%d' dpuntos '%d' dpuntos '%d' pcoma '%d' pcoma '%d'];
C=textscan(fileID,formatSpec);
fclose(fileID);
​
% Se guarda cada elemento en su correspondiente variable
any=C{1}; 
mes=C{2};
dia=C{3};
hora=C{4}+14;
a=find(hora>=24);
hora(a)=double(hora(a)-24);
minut=C{5}+27;
a=find(minut>=60);
minut(a)=double(minut(a)-60);
​
%%% Transformació dels valors analògics a dBs
soroll=C{8}; %Ruido en analógico
y1=30;
x1=0;
y2=78.8;
x2=3326;
pendent=(y2-y1)/(x2-x1);
​
%%% Variables para transmitir
pm10=double(C{7}); %Contaminación atmosférica
soroll_dbs=double(pendent.*(soroll-x1)+y1); %Contaminación acústica
​
%%
%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%
%
%%%
%%%
%%%
%%%
%%%
%%%
%%            PRUEBAS            %
%%%
%%%
%%%
%%%
%%%
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
​
% ESCENARIO IV: Multi-armed Bandit
%Obtenemos el periodo de muestreo mas optimo para cada hora del dia
m = length(pm10); %total de muestras
T = [2 3 5 10]; %periodos posibles
rewards = zeros(24, length(T)); %tabla de recompensas para cada hora y periodo
epsilon = 0.2; %epsilon con valor estandar
vr1 = pm10; %copia del vector de datos pm10
vr2 = soroll_dbs; %copia del vector de datos ruido
j = 1; %variable iniciada en 1 para el bucle e-greedy (posicion actual del vector)
ja = j; %variable para almacenar la posicion anterior en el bucle e-greedy y calcular la recompensa
rewards(1:24) = 0; %iniciamos el algoritmo con periodo 2
c_acciones = zeros(24, length(T)); %cantidad de veces que escoge una accion por hora
c_greedy = zeros(2,1); %cantidad de veces que decide explotar/explorar
c_rewards = zeros(24, length(T)); %cantidad de veces que sale cada recompensa
r_total = 0;
​
for i=1:100 %iteraciones de aprendizaje
​%recorremos vector explorando/explotando while j<m
​if rand < 0.05%explorarc_greedy(1) = c_greedy(1) + 1;[~,t] = max(rewards(hora(j)+1,:)); %obtenemos el periodo con mayor recompensaT2 = T(T~=T(t)); %los sacamos para explorar otra opciont = T2(randi(length(T2))); %nuevo periodoc_acciones(hora(j)+1, find(T==t)) = c_acciones(hora(j)+1, find(T==t)) + 1;else%explotarc_greedy(2) = c_greedy(2) + 1;[~,t] = max(rewards(hora(j)+1,:)); %cogemos el periodo con mayor recompensa acumuladat = T(t); %nuevo periodoc_acciones(hora(j)+1, find(T==t)) = c_acciones(hora(j)+1, find(T==t)) + 1;end
​%cogemos muestraja = j; %guardamos posicion anteriorj = j + t; %nueva posicionif j <= m%calculamos recompensa: se comprueban las muestras intermedias entre dos%transmisiones, si no superan el umbral se suma 1 a la recompensa,%si lo supera no se suma nadar_total = 0;for k=ja+1:j-1%%%%%%%%UMBRALES PM10%%%%%%%%               %if abs(vr1(k)-pm10(j)) == 0 %sin umbral%if abs(vr1(k)-pm10(j)) <= 1 %umbral minimo%if umbral_pm(vr1(k),pm10(k)) == 0 %umbral adaptado%%%%%%%%UMBRALES RUIDO%%%%%%%%if abs(vr2(k)-soroll_dbs(j)) == 0 %sin umbral%if abs(vr2(k)-soroll_dbs(j)) <= 3 %umbral minimo%if abs(vr2(k)-soroll_dbs(j)) <= 10 %umbral maximor_total = r_total + 1;endend

🎉3 参考文献

​[1]高昊德. 恶劣环境下EH-WSN中数据可靠传输相关研究[D].内蒙古大学,2022.

部分理论引用网络文献,若有侵权联系博主删除。

相关文章:

为减少来自环境使用的无线传感器网络的传输次数而开发的方法(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 随着无线传感器网络(Wireless Sensor Network,WSN)的广泛应用,业界开始应用环境能量收集技术解决传感器节点的能量补充问题。而…...

springboot+vue滴答拍摄影项目(源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的滴答拍摄影项目。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风歌…...

SQL基础培训13-索引和优化

进度13-索引和优化-SQL基础培训 知识点: 你可以把索引理解为一种特殊的目录。索引分聚集索引(clustered index,也称聚类索引、簇集索引) 和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。 1、聚集索引 以汉语字典举例,汉语字典有部首目录和检字表,还…...

拥抱5G发展机遇,从边缘计算上车

随着5G技术的逐渐普及和应用&#xff0c;边缘计算成为了当前信息技术领域的热门话题。边缘计算是指将计算和数据存储移动到网络的边缘&#xff0c;即源站以外的网络设备。与云计算相比&#xff0c;边缘计算更加贴近数据生成和处理的实时应用场景&#xff0c;具有更高的性能和更…...

“前端”工匠系列(二):合格的工匠,怎么做好价值落地 | 京东云技术团队

一、“技术鄙视链&#xff1f;” 如果你是一个技术人&#xff0c;相信都知道技术圈有个相互的鄙视链&#xff0c;这个链条从技术人自己认知的角度在以业务价值为中心嵌套的一层一层的环&#xff0c;就像洋葱&#xff0c;具体的描述这里不赘述了。 出门左拐随便抓住一个人问一…...

Oracle11g下载与安装

一、Oracle11g下载 官网下载地址&#xff1a;Oracle Database 11g Release 2 for Microsoft Windows (x64) 选择"Accept License Agreement"&#xff0c;点击"win64_11gR2_database_1of2.zip"和"win64_11gR2_database_2of2.zip"&#xff0c;进行…...

考研复试-软件工程

什么是软件工程&#xff1f;主要的方法&#xff1f;软件工程三要素&#xff1f;软件的生命周期&#xff1f;组成部分&#xff1f;软件过程的定义软件需求分析的任务软件开发过程的常见模型结构化设计方法&#xff0c;结构化分析方法软件测试的目的&#xff1f;分类&#xff1f;…...

软件测试选择题

下列选项中&#xff0c;哪一项不是软件开发模型&#xff08;A&#xff09; A、V模型 B、快速模型 C、螺旋模型 D、敏捷模型 下列选项中&#xff0c;哪一项不是影响软件质量的因素&#xff08;C&#xff09; A、需求模糊 B、缺乏规范的文档指导 C、使用新技术 D、开发人…...

有限合伙企业与有限公司的区别

1、设立要求不同&#xff1a; 有限合伙企业&#xff1a;根据《合伙企业法》设立&#xff0c;第61条规定必须由2个&#xff08;包含2个&#xff09;以上的合伙人出资设立&#xff0c;有限合伙企业合伙人中至少有一名是普通合伙人。有限责任公司&#xff1a;根据《公司法》设立&…...

从洛克菲勒思想中洞悉的财富秘密

超友们&#xff0c;早上好&#xff5e; &#x1f646; 今天我为你带来的分享是《从洛克菲勒思想中洞悉的财富秘密》&#xff0c;主要分为两个部分&#xff1a; 一、【洛克菲勒的 10 大底层心法】 二、【洛克菲勒工作的 6 大原则】 如何从贫穷通往富裕&#xff1f; 「始终把这…...

如何训练自己的大型语言模型

如何使用 Databricks、Hugging Face 和 MosaicML 训练大型语言模型 (LLM) 介绍 大型语言模型&#xff0c;如 OpenAI 的 GPT-4 或谷歌的 PaLM&#xff0c;已经席卷了人工智能世界。然而&#xff0c;大多数公司目前没有能力训练这些模型&#xff0c;并且完全依赖少数大型科技公司…...

Java中的SLF4J是什么?如何使用SLF4J进行日志管理

在Java开发中&#xff0c;日志管理是一个非常重要的问题。日志管理可以帮助开发人员更好地了解应用程序的运行情况&#xff0c;以及快速诊断和解决问题。而SLF4J是Java中最常用的日志管理框架之一。在本文中&#xff0c;我们将详细介绍SLF4J的概念和使用方法。 什么是SLF4J&am…...

PHP程序员面对的压力大不大?我来聊聊程序员转行的就业方向

作为一名程序员&#xff0c;不同领域、不同公司和不同项目所面对的压力程度可能会有所不同。但是&#xff0c;一般来说&#xff0c;程序员需要长时间专注于编写代码&#xff0c;需要不断学习和适应新的技术和变化&#xff0c;还需要在项目的压力下保证工作的质量和进度。因此&a…...

牛客网专项练习Pytnon分析库(十)

1.Python Pandas处理缺失值&#xff0c;以下哪个选项是对缺失值NaN进行删除操作&#xff08;C&#xff09;。 A.isnull B.notnull C.dropna D.fillna 解析&#xff1a; A选项&#xff0c;Isnull()返回表明哪些值是缺失值的布尔值&#xff1b; B选项&#xff0c;notnull()返…...

leecode654——最大二叉树

leecode最大二叉树 &#x1f33b;题目要求&#xff1a; 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的…...

【笔试强训选择题】Day12.习题(错题)解析

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训选择题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01; 文章目录…...

边缘计算与开放源代码的完美结合

随着人工智能、大数据和物联网等技术的快速发展&#xff0c;边缘计算已经成为一种普遍使用的计算方式&#xff0c;尤其是在物联网领域。与此同时&#xff0c;越来越多的开放源代码项目也在不断涌现&#xff0c;这些项目为边缘计算提供了更多的选择和灵活性。那么&#xff0c;边…...

边缘计算网关在储能系统中的应用——提高储能系统的安全性和稳定性

随着全球能源消耗和环境保护意识的不断提高&#xff0c;储能技术逐渐成为了各国电力系统中的重要一环。而作为储能技术中的关键设备之一&#xff0c;边缘计算网关在储能系统中的应用也越来越受到关注。本文将从边缘计算网关的定义、特点以及其在储能行业中的应用三个方面来介绍…...

【FMC136】AD9467之4通道 250MSPS 采样率16位AD 采集子卡模块得设计原理图中文资料

板卡概述 FMC136 是一款4 通道250MHz 采样率16 位AD 采集FMC子卡&#xff0c;符合VITA57 规范&#xff0c;可以作为一个理想的IO 模块耦合至FPGA前端&#xff0c;4 通道AD 通过高带宽的FMC 连接器&#xff08;HPC&#xff09;连接至FPGA 从 而大大降低了系统信号延迟。该板卡支…...

抖音SEO矩阵系统源码开发(一)

抖音seo矩阵营销系统/抖音SEO矩阵号管理系统/抖音霸屏源码开发搭建&#xff0c;抖音官方团队大力推广抖音SEO生态&#xff0c;我们应如何布局开发抖音SEO矩阵系统&#xff0c;来达到账号排名优化的效果&#xff0c;很显然&#xff0c;账号关键词起到了很关键的作用。首先&#…...

AIAgent算力成本飙升?3步精准定位隐性开销并压降47%的实操指南

第一章&#xff1a;AIAgent算力成本飙升&#xff1f;3步精准定位隐性开销并压降47%的实操指南 2026奇点智能技术大会(https://ml-summit.org) 当AIAgent从原型走向生产&#xff0c;算力账单常以超预期50%的速度攀升——真正吞噬预算的并非大模型推理本身&#xff0c;而是未被…...

为什么你的AIAgent在压测中“静默崩溃”?揭秘LLM调用链中缺失的5层调试元数据

第一章&#xff1a;AIAgent架构监控与调试工具概览 2026奇点智能技术大会(https://ml-summit.org) AI Agent系统具备多层异构性——包含规划器&#xff08;Planner&#xff09;、记忆模块&#xff08;Memory&#xff09;、工具调用层&#xff08;Tool Router&#xff09;及执行…...

大数据开发面试常问

大数据开发岗位的面试通常具有很强的综合性&#xff0c;既考察对底层原理的掌握&#xff0c;也检验对前沿技术的了解。 以下内容整合了近1年主流大厂的高频面试常问知识点&#xff0c;帮读者快速构建知识体系。这些是面试的核心内容&#xff0c;掌握它们能让你在技术面试中更有…...

Phi-4-mini-reasoning代码生成案例:用自然语言描述生成可调试算法代码

Phi-4-mini-reasoning代码生成案例&#xff1a;用自然语言描述生成可调试算法代码 1. 模型简介 Phi-4-mini-reasoning是微软推出的3.8B参数轻量级开源模型&#xff0c;专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这个模型主打"小参数、强推理、长上下文、低延迟…...

三菱PLC实战PID温控:从公式到烧水壶的完整调试指南

1. PID控制原理&#xff1a;从烧水壶理解温度调节 第一次接触PID控制时&#xff0c;我也被那些数学公式吓到了。直到有天盯着家里的烧水壶发呆&#xff0c;突然发现它就是个完美的温控案例——我们需要让水温稳定在某个设定值&#xff08;比如100℃&#xff09;&#xff0c;这…...

Rust Trait 泛型协作与多态实现

Rust语言以其独特的所有权系统和零成本抽象著称&#xff0c;而Trait与泛型的协作机制正是实现多态与代码复用的核心武器。本文将深入探讨这一设计如何通过编译期静态分发&#xff0c;在保证性能的同时实现灵活的类型抽象&#xff0c;为开发者提供兼具安全性与表现力的编程范式。…...

如何高效使用BUAAthesis:北航毕业论文LaTeX模板的完整指南

如何高效使用BUAAthesis&#xff1a;北航毕业论文LaTeX模板的完整指南 【免费下载链接】BUAAthesis 北航毕设论文LaTeX模板 项目地址: https://gitcode.com/gh_mirrors/bu/BUAAthesis 对于每一位北航学子来说&#xff0c;毕业论文不仅是学术研究的结晶&#xff0c;更是一…...

WechatRealFriends:轻松发现微信单向好友的智能检测工具

WechatRealFriends&#xff1a;轻松发现微信单向好友的智能检测工具 【免费下载链接】WechatRealFriends 微信好友关系一键检测&#xff0c;基于微信ipad协议&#xff0c;看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends …...

蓝驰创投完成39亿元第四期双币基金募资:已投银河通用与智元

雷递网 乐天 4月13日蓝驰创投今日宣布完成第四期双币基金的募集&#xff0c;基金总规模约5.6亿美元&#xff08;约39亿元&#xff09;。至此&#xff0c;蓝驰创投在管资产总规模已接近200亿元人民币。蓝驰创投管理合伙人陈维广表示&#xff1a;“感谢新老投资人的信任。我们始终…...

Go语言如何用AWS S3_Go语言S3对象存储教程【避坑】

S3 PutObject 超时主因是 region 与 bucket region 不一致导致跨域路由&#xff1b;大文件上传应设 ContentLength 或改用 s3manager.Uploader&#xff1b;GetObject NotFound 常因 key 编码或前导/问题&#xff1b;容器中需用 LoadDefaultConfig 启用自动凭据链。aws-sdk-go-v…...