当前位置: 首页 > 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;账号关键词起到了很关键的作用。首先&#…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...