浅谈窄带物联网(NB-IoT)

【第一章】浅谈NB-IoT技术及介绍NB-IoT模组BC95的特点 BC95模块简介    BC95 是一款高性能、低功耗的NB-IoT 无线通信模块。其尺寸仅为19.9 &TImes; 23.6 &TImes; 2.2mm,能最大限度地满足终端设备对小尺寸模块产品的需求,同时有效地帮助客户减小产品尺寸并优化产品成本。BC95 在设计上兼容移远通信GSM/GPRS 系列的M95 模块,方便客户快速、灵活的进行产品设计和升级。 BC95 采用更易于焊... 阅读详情

一、发展历程

物联网通信技术繁多,从传输距离上可划分成两类:第一类是短距离通信技术,例如ZigBee、Wi-Fi、Bluetooth等,典型的应用场合如智能家居;第二类是低功耗广域网(Low Power Wide Area Network, LPWAN),典型的应用为智能抄表系统。LPWAN技术又可根据工作频段分为两类:一类工作在非授权频段,如Lora、SigFox等,此类技术无统一标准,自定义实现;工作于授权频段下,3GPP支持的2/3/4G蜂窝通信技术,如全球移动通信系统(Global System for Mobile Communication , GSM)、长期演进(Long Term Evolution, LTE)和基于蜂窝的窄带物联网(Narrow Band Internet of Things, NB-IoT)等。

2014年5月,华为联合沃达丰在3GPP的GSM/EDGD无线接入网(GSM EDGE Radio Access Network, GERAN)研究项目中提出NB-M2M技术。同年,高通公司提交了窄带正交频分复用(Narrow Band Orthogonal Frequency Division Multiplexing, NB-OFDM)技术。2015年5月,NB-M2M与NB-OFDM合并为NB-CIoT。7月,爱立信提出NB-LTE方案。2015年9月的RAN#69次会议经过激烈讨论,最终将NB-CIoT与NB-LTE进一步融合,并重新命名为NB-IoT。

2016年6月16日,NB-IoT作为3GPP R13一项重要课题,其对应的3GPP协议相关内容获得了RAN全会批准,正式宣告了这项受到无线产业广泛支持的NB-IoT标准核心协议历经2年多的研究终于全部完成。

二、标准特性

一、灵活部署、窄带、低速率、低成本、高容量
NB-Io支持三种部署方式:独立部署(Stand alone)、保护带部署(Guard band)、带内部署(In band),如图1所示。Stand alone模式:可以利用单独的频带,适合用于GSM频段的重耕;Guard band模式:可以利用LTE系统中边缘无用频带;In band模式:可以利用LTE载波中间的任何资源块。对于In band模式来说,NB-IoT无限接近于LTE资源块,为了避免干扰,3GPP要求NB-IoT信号的功率谱密度与LTE信号的功率谱密度不得超过6dB。
NB-Io的三种部署方式
- RF带宽180kHz(上行/下行)(考虑两边保护带,也被描述为200kHz);
- 下行:OFDMA, 子载波间隔15kHz;
- 上行:SC-FDMA, Single-tone:3.75kHz/15kHz,Multi-tone:15kHz;
- 仅需支持半双工; 终端支持对Single-tone和Multi-tone能力的指示;
- MAC/RLC/PDCP/RRC层处理基于已有的LTE流程和协议,物理层进行相关优化;
- 设计单独的同步信号;

二、覆盖增强、低时延敏感
根据TR45.820的仿真数据,可以确定在独立部署方式下,NB-IoT覆盖能力应也可达164dB,带内部署和保护带部署还有待仿真测试。NB-IoT为实现覆盖增强采用了重传(可达200次)和低阶调制等机制,目前是否NB-IoT不需支持16QAM仍在被讨论中。
同时在耦合耗损达164dB的环境下,如果提供可靠的数据传输,由于大量数据重传将导致时延增加,TR45.820中仿真测试了异常报告业务场景、保证99%可靠性、不同耦合耗损环境下的时延(区分有无头压缩)。目前3GPP IoT设想允许时延约为10s,但实际可以支持更低时延,如6s左右(最大耦合耗损环境)。

三、不支持连接态的移动性管理
NB-IoT最初就被设想为适用于移动性支持不强的应用场景(如智能抄表、智能停车),同时也可简化终端的复杂度、降低终端功耗,Rel-13中NB-IoT将不支持连接态的移动性管理,包括相关测量、测量报告、切换等。

四、低功耗
NB-IoT借助节电模式(Power Saving Mode, PSM)和超长非连续接收(Enhanced Discontinuous Reception, eDRX)可实现更长时间待机。其中PSM技术是Rel-12中新增的功能,在此模式下,终端仍旧注册在网但信令不可达,从而使终端更长时间驻留在深睡眠以达到省电的目的。eDRX是Rel-13中新增的功能,进一步延长终端在空闲模式下的睡眠周期,减少接收单元不必要的启动,相对于PSM,大幅度提升了下行可达性。NB-IoT目标是对于典型的低速率、低频次业务模型,等容量电池寿命可达10年以上。

三、NB-IoT标准的应用

NB-IoT标准具备四大特点:一是广覆盖,将提供改进的室内覆盖,在同样的频段下,NB-IoT比现有的网络增益20dB,覆盖面积扩大了100倍;二是具备支撑海量连接的能力,NB-IoT一个扇区能够支持10万个连接;三是更低功耗,NB-IoT终端模块的待机时间可长达10年;四是更低的模块成本,企业预期的单个接连模块不超过5美元。

考虑NB-IoT的特性,此标准可可满足对低功耗/长待机、深覆盖、大容量有所要求的低速率业务;同时由于对于移动性支持较差,更适合静态业务场景或非连续移动、实时传输数据的业务场景,并且业务对时延低敏感。可考虑的业务类型如下:

1) 自主异常报告业务类型。如烟雾报警探测器、智能电表停电的通知等,上行数据极小数据量需求(十字节量级),周期多以年、月为单位。
2) 自主周期报告业务类型。如智能公用事业(煤气/水/电)测量报告、智能农业、智能环境等,上行较小数据量需求(百字节量级),周期多以天、小时为单位。
3) 网络指令业务类型。如开启/关闭、设备触发发送上行报告、请求抄表,下行极小数据量需求(十字节量级),周期多以天、小时为单位。
4) 软件更新业务类型。如软件补丁/更新,上行下行较大数据量需求(千字节量级),周期多以天、小时为单位。

迄今为止,华为已联合全球多家运营商在中国、德国、西班牙、阿联酋等国共同完成了基于NB-IoT技术的智能水表、智能停车、智能垃圾箱业务的功能验证。其中沃达丰和华为于2015年底在西班牙完成了NB-IoT预标准的第一个试商用测试,成功地将NB-IoT技术整合到沃达丰现有移动网络中,发送NB-IoT消息给水表中的物联网模块,水表的放置环境通常在壁橱等隐蔽环境,且水表无法外接电源,NB-IoT可有效解决覆盖及功耗等问题。

2016年世界移动大会上,英特尔与爱立信联合中移动推了NB-IoT智能家庭环境监测系统。它采用了英特尔最新的NB-IoT芯片(XMM7115)。并且可以实时监测到环境的PM值、温度、湿度、光感亮度等。中兴通讯推出了基于NB-IoT技术的智能市政下水道管理系统,各种信息直接传到中兴手机上。

另外,华为和上海联通也提出了基于NB-IoT技术的智能停车解决方案,通过现场演示,展示了基于NB-IoT这一新兴物联网接入技术的商业应用探索已经启动。此前,上海联通与华为合作建设了全球首个基于 4.5G NB-IoT的大规模连续覆盖区域—-上海国际旅游度假区,并率先在P1停车场部署了300多个基于NB-IoT技术的智能车检器,并提供从终端,基站,服务器,手机应用的端到端智能停车方案。用户可以在手机上实现车位查询、预定、导航、移动支付以及停车场管理等功能,解决了游客找车位难的问题,并一定程度缓解了交通拥堵。

四、面临的挑战与机遇

NB-IoT相较于传统物联网技术有着自身的优势。不过,其仍旧有着自身的局限性。根据TR45.820中典型业务模型下的仿真测试数据,单小区可支持10万个NB-IoT终端接入。但是,这种纯中心的网络管理方式,可能会造成过长的轮询周期,像物联网这种高密度网络不一定适合采用中心管理模式,轮询一遍的时间成本可能令系统承受。物联网采用分层模式可能会效率更高。

无线抄表始终都会面临一个问题,就是信号覆盖问题。面对无信号覆盖或者信号受干扰的情况,无线抄表即使优点再多也无用武之地。而且,我国国网已经基本完成了智能电表的改造,采用的是电力线载波通信(Power Line Communication, PLC)技术。智能电表行业已经被PLC占据,NB-IoT基本没有机会。目前,智能电表的需求也仅仅只是,若将来实施实时收费,NB-IoT技术恐怕不能满足实时性的要求。现有的水表和气表市场也面临着国网PLC和双模技术的竞争。国网在积极的推进电、水、热、气四表合一事项,未来NB-IoT到底在抄表市场能够分的多少市场份额实际上具备很大的未知数。

此外,成本价格可能成为NB-IoT发展的阻碍。在成本方面,NB-IoT模组成本未来有望降至5美元之内,但目前支持蓝牙、ZigBee等标准的芯片价格仅在2美元左右,仅支持其中一种标准的芯片价格不到1美元。巨大的价格差距无疑将让企业部署NB-IoT产生顾虑。

物联网应用还处于试验和示范性探索阶段,规模化应用少,创新活力不足。现阶段主要是运营商,华为、爱立信等设备制造商,高通等芯片供应商为代表的供应方比较热情,而需求方的应用主体,如水电气公共服务提供行业还没热络起来。

据相关专家的猜测,物联网行业将会在2018至2019年因为NB-IoT技术和其芯片的商业化迎来再一次的热潮。

NB-IoT物联网技术 一、什么是NBIOT NB-IoT是指窄带物联网(Narrow Band -Internet of Things)技术。NB-IOT聚焦于低功耗广覆盖(LPWA)物联网(IoT)市场,是一种可在全球范围内广泛应用的新兴技术。NB-IOT使用License频段,可采取带内、保护带或独立载波等三种部署方式,与现有网络共存。 二、NBIOT部署方式 NB-IoT支持在频段内(In-Band)、保护频段(Guard Band)以及独立(Stand-alone)共三种部署方式。 一、独立部署(Stand alone 阅读详情

相关推荐

窄带物联网(NB-IoT)

也称LTE Cat NB1,是由3GPP标准化组织定义的一种低功耗广域(LPWA)技术,作为3GPP R13的一部分,在2016年6月实现标准化。后来,2017年的3GPP R14版通过LTE Cat NB2对NB-IoT标准进行了多项改进,以进一步降低功耗、增强数据连接性并引入有限的移动性。NB-IoT是一项与LTE相关的蜂窝网络技术,专为低功耗广域应用而设计,使用一定频段内的授权频谱,能够以非常低的网络单位成本覆盖数亿台设备。

Hern(宋兆恒) 2117

窄带物联网介绍

一、 简介 窄带物联网又称为NB-IOT,已成为物联网的一个重要分支,NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。 同时NB-IoT是IoT领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWAN)。NB-IoT支持待机时间长、对网络连接要求较高设备的高效连接。据说NB-...

weixin_38498942的博客 5214

浅谈智能卡远程费控电能表的设计与实现

其具体原理图如图3所示。系统具有实时电力参数和历史电力参数的存储和管理功能,所有实时采集的数据、顺序事件记录等均可保存到数据库,在查询界面中能够自定义需要查询的参数、时间或选择查询更新的记录数据等,并通过报表方式显示出来。系统可以对整个配电系统范围内的电能质量进行持续性的监测,运行维护人员可以通过谐波分析棒图、报表掌握进线、变压器、重要回路的电压、电流谐波畸变率、谐波含量、电压不平衡度等,及时采取相应的措施,降低谐波损耗,减少因谐波造成的异常和事故(该功能需要选配带谐波监测功能的电力仪表,不需要可删除。

Acrel13916234315的博客 519

什么是物联网NB-IoT技术?

什么是物联网NB-IoT技术?

weixin_59454731的博客 3136

NB-IoT综合项目实战开发背景及平台(NB-IoT专栏—基础篇1)

目录 1、浅谈NB-IoT 1.1、NB-IoT的概念 1.2、NB-IoT的优势 1.3、NB-IoT的发展历程 1.4、NB-IoT的系统架构 1.5、NB-IoT的应用组件 1.5.1、NB-IoT 芯片 1.5.2、NB-IoT 模组 1.5.3、NB-IoT SIM 卡 1.5.4、物联网嵌入式操作系统 1.5.5、IoT 平台 1.6、NB-IoT的应用场景...

不脱发的程序猿 1万+

2、5G LTE窄带物联网(NB - IoT)技术解析

本文深入解析了5G和4G系统的发展历程,并重点介绍了5G中的窄带物联网(NB-IoT)技术。NB-IoT作为低功耗广域网络解决方案,具有支持大量设备连接、低功耗、广覆盖和低成本等优势,适用于智慧城市、智能家居、智能交通等多种物联网应用场景。文章还探讨了NB-IoT的技术要求、挑战以及未来发展趋势,展示了其在推动物联网发展中的巨大潜力。

net55的博客 191

浅谈LoRa,LoRaWAN,NB-IoT三类物联网技术

关于三种物联网技术的理解和看法

qq_59580408的博客 3984

Windows11上CUDA 12.3配PyTorch踩坑记:一条官网命令救了我的GPU加速

本文详细介绍了在Windows 11上配置CUDA 12.3与PyTorch的完整指南,包括环境准备、安装要点、兼容性解决方案和性能验证。通过官方推荐的conda命令和实用技巧,帮助开发者解决常见问题,实现高效的GPU加速,提升深度学习开发效率。

weixin_42528974的博客 109

NB-IOT——浅谈NB-IOT及模块测试

NB-IoT,即窄带物联网(Narrowband Internet of Things),是一种低功耗广域物联网(LPWAN)技术,旨在连接大量的低功耗设备到互联网。它是3GPP(第三代合作伙伴计划)制定的标准之一,专门设计用于支持物联网设备的连接,如传感器、计量设备和其他远程监测设备等。NB-IoT在设计上注重低功耗、广覆盖和大规模连接。它使用了窄带信道,传输速率较低,但具有更好的穿透能力,能够穿透深度建筑物和地下结构。

3002

数学建模--十大经典常用算法

数学建模十大算法:灰色预测,蒙特卡洛,遗传算法,模拟退火法,组合算法,神经网络,动态规划,聚类算法,类比法,概率算法,Floyd算法

qq_51533426的博客 5648

【加密社】私钥碰撞器,秒杀市面上的碰撞器

基于上述的逻辑和代码,开发了ETH挖掘器(图1.1)这里有个亮点是:1.很多开发者在判断地址是否有效的环节上,用的是查询余额,其实这是不对的,查询余额你可能只能查询对应代币的余额,例如usdt,eth等但是如果用查询交易次数就不一样了,你只要是交易过,我就认为是有效钱包,这样的速度比查询余额要快,也要更准确。2.rpc节点可配置。

加密社的博客 1582

【科普】浅谈NB-IoT

移动通信正在从人和人的连接,向人与物以及物与物的连接迈进,万物互联(IoT)是必然趋势。我们正进入万物互联的时代,这对于整个移动通信产业来说是一个巨大的机会。无论是运营商,还是设备厂商,都在展示各自的物联网解决方案和在不同垂直行业的应用。 那么到底什么是物联网呢? 物联网的定义 物联网是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按照其标准协议,将任何物品通过有线与无线方式与互联网连接,进行通信和信息交换,以实现智能化识别、定位、跟踪、监控和管理的一种网络。 简单.

weixin_59447928的博客 2075

Weaxor勒索病毒实战分析:从加密算法到防御策略(附检测工具清单)

本文对Weaxor勒索病毒进行了深度实战剖析,详细拆解了其采用ChaCha20与AES-CTR的混合加密算法、横向移动手法及数据回传行为。文章重点分析了其密钥生成机制的“漏洞修复”,并提供了从主机加固、网络监控到基于IOC威胁狩猎的立体化企业级防御策略与检测工具清单。

weixin_29233333的博客 263

浅谈NBIOT

随着2G逐渐退出市场,未来的NBIOT将慢慢替代2G,本文浅谈NBIOT相关技术,与各位读者共同学习。

Sanjay_Wu的博客 2万+

STM32H745xI双核芯片SMPS/LDO配置误区:从复位失败到精准排查的实战复盘

本文详细分析了STM32H745xI双核芯片在SMPS/LDO配置中的常见误区,特别是复位失败问题的排查过程。通过对比参考板与故障板的波形数据,揭示了电感选型不当导致的电源稳定性问题,并提供了硬件设计检查清单和调试技巧,帮助开发者避免类似陷阱。

weixin_42531588的博客 265

深度拆解 ‘High-Frequency Trading’ (HFT) 系统:解析如何在 100 纳秒内完成从网卡到 C++ 策略的响应

在100纳秒内完成从网卡到C++策略的响应,这是一项对技术栈每一个层面都进行极限优化的系统工程。它要求我们深入理解计算机体系结构、操作系统、网络协议和C++语言的底层机制。从物理距离的极致缩短,到高性能网卡和内核旁路技术,再到C++代码中每一个字节、每一个CPU周期的精打细算,HFT系统展现了人类对计算速度的永恒追求。这项技术不仅仅应用于金融交易,其背后的低延迟理念和实现方法,如DPDK、无锁编程、硬件加速等,正在逐渐渗透到其他对延迟敏感的领域,例如电信网络、边缘计算和工业自动化。

weixin_41455464的博客 1040

产品 电信nb接口调用_浅谈NB-IoT行业发展

物联网智库 整理发布导 读NB-IoT作为物联网发展的先行者,是运营商拓展行业市场的重要抓手。什么是NB-IoT?图1:NB-IoT技术的应用场景NB-IoT是英文Narrowband Internet of Things(窄带物联网)的缩写,属于低功耗广域网(LPWAN ,Low Power Wide Area Network)的通信技术,NB-IoT通过优化网络协议、采用超窄带设计、半双工模式...

weixin_31979781的博客 298

教你如何阅读Autosar代码(6):常量变量定义

编译器抽象应该为常量的声明和定义定义CONST宏。编译器抽象应该定义VAR宏来声明和定义变量。memclass:常量本身的分类;memclass:变量本身的分类;vartype:变量的类型;type:常量的类型;

wdconan001的博客 958

浅谈NB_IOT

一、发展历程 物联网通信技术繁多,从传输距离上可划分成两类:第一类是短距离通信技术,例如ZigBee、Wi-Fi、Bluetooth等,典型的应用场合如智能家居;第二类是低功耗广域网(Low Power Wide Area Network, LPWAN),典型的应用为智能抄表系统。LPWAN技术又可根据工作频段分为两类:一类工作在非授权频段,如Lora、SigFox等,此类技术无统一标准,自定义

zhangbijun1230的专栏 1878

【AI Agent 记忆共享实战】【下篇】多 Agent 会话 Session 统一共享实战:全链路工程落地、采集归一、MCP 服务、私有化部署、源码级实战

中篇我们已经锁定最终最优架构方案: 非侵入式、外部旁路采集、只读归一、中心化存储、MCP 按需检索注入。摒弃「改 Agent 源码」「软链接互通」「原生 Session 互导」等不现实方案。本篇直接落地可上线、可简历复用、可个人私有化部署多 Agent 异构 Session专属采集器(Claude/CODex/DSH/OpenCode/Kimi/WorkBuddy/ 豆包)统一消息归一化解析层(解决所有 Schema 异构)增量同步、去重、时间戳对齐核心逻辑。

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 485

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

浅谈NB_LOT和LTE CAT M1

1、什么是NB-IoT? 窄带物联网(NB-IoT)也被称为LTE Cat NB1也是一种低功耗广域(LPWA,Low Power Wide Area)技术,它已经开发出来,可以使用现有的移动网络将各种设备连接到互联网中。窄带物联网(NB-IoT)已被开发出来以支持实现物联网(IoT)的应用。它是一种低功耗,窄带技术,可以用高效,安全和可靠的方式来处理少量的双向数据传输。 图1...

weixin_30279751的博客 1647

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

华为gsm模块_浅谈上海移远的NBIoT模块BC26系列

浅谈上海移远的NB-IoT模块BC26系列2020-9-11NB-IoT就是窄带物联网(Narrow Band Internet of Things),时成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180kHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。NB-IoT是IoT领域一个新兴的技术,支持低功耗设备在广域网的蜂...

weixin_39607837的博客 2157

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

安信可nbiot模块_浅谈NBIOT

一、什么是NBIOT?1、概念窄带物联网(Narrow Band Internet of Things, NB-IoT),NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,使用License频段,可采取带内、保护带或独立载波等三种部署方式,与现有网络共存。可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。2、NBIOT的特点和目标(1)超强覆盖:相对GPRS来...

weixin_39735166的博客 1174
上一篇: OpenCV findContours导致程序崩溃和相关使用问题
下一篇: SSD主控的软件架构
GroupHuang
博客等级 码龄10年 88粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值