26、Wi-Fi 网络漫游技术深度解析

Wi-Fi 网络漫游技术深度解析

1. 单通道架构(SCA)概述

单通道架构(Single-Channel Architecture,SCA)是解决 RSN 缓慢过渡问题的一种专有解决方案。大多数企业无线供应商采用多个非重叠信道和信道复用概念,而 SCA 供应商则将移动组内的所有接入点(AP)配置在单个信道上。Meru Networks(现属 Fortinet)是该架构的先驱和主要供应商。

在 SCA 中,所有 AP 在单个信道上运行,为服务区域提供广泛覆盖,客户端无需在不同信道间漫游。虽然跨信道漫游并非主要问题,但客户端在不同 AP 间漫游时,仍可能出现问题。由于 SCA AP 在单个信道上运行,它们可以使用专有功能在所有 AP 上广播单个基本服务集标识符(BSSID)。客户端看到的是一个大型虚拟接入点,而不是多个物理 AP。基础设施负责处理客户端在不同 AP 间的切换,且该过程对客户端透明。

另一种实现相同效果的方法是为每个客户端创建 BSSID。新客户端加入网络时,会创建一个客户端专属的 BSSID,并在每个 AP 上广播。客户端同样不会意识到存在多个 AP,而是认为只有一个无缝的大型 AP,从而无需进行漫游。

SCA 漫游具有以下优点:
- 是目前使用中最好的漫游解决方案之一。
- 基础设施设备可完全控制漫游操作。
- 客户端站(STA)几乎察觉不到漫游过渡。

然而,SCA 漫游也存在一些缺点:
- 特定供应商专有。
- 与多通道架构(MCA)相比,许多人认为 SCA 是一种效率较低的架构。

2. Wi-Fi 客户端漫游问题

随着无线局域网(WLAN)从可选配置变为企业运营的必备条件,过去的一些决策在如今暴露出问题。其中之一是将漫游决策(即 WLAN 客户端是否移动到新的 AP 和 BSSID)交给客户端。当时认为,由于购买 AP 的站点较少,大多数网络将基于对等模式,因此这似乎是一个不错的解决方案。

但专业部署 WLAN 的人员深知,有缺陷的客户端驱动程序以及不同供应商在漫游决策上的巨大差异,会给网络带来诸多问题。相比之下,蜂窝网络通常将漫游决策交给基站,这使得客户端在移动过程中的切换更加顺畅,例如通话不会中断。

如今,有两个因素使 Wi-Fi 网络的漫游问题更加突出:
- 无线速度不断提高(如 802.11ac),人们越来越多地使用 WLAN 进行语音和视频等关键应用。
- 自 2010 年 iPad 推出以来,使用 Wi-Fi 作为唯一网络接入方式的设备数量激增。

用户期望在工作时能轻松访问 Wi-Fi,而不考虑带宽限制和客户端增加导致的竞争问题。当视频播放不流畅或语音通话中断时,他们只关注问题本身,而不了解背后的原因。

3. Aruba 的 ClientMatch 技术

为解决粘性客户端导致的漫游问题,Aruba 推出了 ClientMatch 技术。当客户端有更好的连接选择,或附近 AP 负载较轻时,它们可能不会主动决定漫游。虽然 802.11k 和 802.11v 标准提供了处理此问题的方法,但并非所有客户端都支持这些标准。

Aruba 的解决方案是在 AP 和控制器中构建智能,从客户端的角度帮助其匹配最佳 AP。该智能体现在多个层面:
- 第 1 层 :通过使用 802.11k/v 或断开客户端连接并仅提供与“更好”AP 的关联,优化链路。
- 第 2 - 3 层 :考虑 AP 的负载情况。
- 第 4 - 7 层 :考虑应用程序的活动。

Aruba 认为其方法独特且可申请专利。对于不支持 802.11k 的客户端,他们通过收集客户端发送探测请求、进行身份验证或关联时 AP 的信息,创建标准中使用的信标报告。AP 获取信噪比(SNR)信息,进行调整后将其发送到控制器、集成接入点(IAP)或 Airwave,以确定最适合客户端的 AP。

收集的信息包括 SNR、MAC 地址、信道、频段、时间戳、噪声底、信道负载、AP 功能等。结合控制器已有的应用程序数据,可以决定对特定 STA 在一组 AP 上进行白名单或黑名单操作。测试中发现,客户端实际的 SNR 与算法读取值存在恒定差异,因此可以进行相应调整。

信息数据库建立后,Aruba 将决策以分布式方式推回 AP,避免关联决策依赖控制器或其他设备。对于语音通话,Aruba 尽可能使用通话本身的信息实时计算平均意见得分(MOS),并在必要时将非语音客户端从 AP 上移开,以保证通话质量。

此外,Aruba 的 Airwave 产品利用这些客户端信息增强了故障排除能力。例如,转向报告提供了 ClientMatch 引导客户端的信息,帮助识别可能存在固件或驱动问题的客户端。VisualRF 则以红色显示客户端连接不佳的状态,增强了对 Wi-Fi 网络的控制。

4. 漫游技术总结

在实现快速安全漫游时,需要了解一些基本组件、应用需求以及基于标准和专有的解决方案。与漫游相关的 802.11 修正案包括 802.11i 和 802.11r,它们都包含在 802.11 - 2012 中。

以下是一些需要记住的关键事实:
| 技术 | 描述 |
| ---- | ---- |
| 慢速漫游 | 可能需要超过 200ms,在 802.1X/EAP 情况下可达 500ms,会给 VoIP 带来严重问题。 |
| 预认证 | 在实际漫游到附近 AP 之前进行身份验证,可节省时间。 |
| PMK 缓存 | AP 在 STA 漫游离开时保留成对主密钥(PMK),返回时无需重新创建。 |
| OKC | 非标准解决方案,但许多供应商都有实现,是最广泛使用的快速漫游解决方案。不过,由于它不是标准解决方案且客户端支持较少,初期发展缓慢。 |
| 802.11 - 2012(802.11r)FT | 标准化的快速漫游解决方案,正逐渐进入市场并将成为主流方法。 |
| Voice - Enterprise | Wi - Fi 联盟的 WLAN 认证,要求符合 802.11r。 |
| Voice - Personal | Wi - Fi 联盟的认证,设定了无漫游情况下的性能要求。 |
| SCA 漫游 | 由控制器而非客户端 STA 控制。 |

5. 漫游相关问题解答

以下是一些常见的漫游相关问题及答案:
| 问题 | 答案 |
| ---- | ---- |
| 802.11 网络中“roam”的另一个词是什么? | Transition |
| 哪种无线网络安全类型在漫游方面本质上更好? | PSK |
| 企业安全网络中长时间漫游的根本风险是什么? | 客户端设备必须重新进行完整关联。 |
| 最佳实践建议的一般漫游时间应小于多少? | 150ms |
| 以下哪项不是慢速漫游过程的一部分? | 重新关联 |
| VoIP 协议可描述为什么? | 实时和 UDP |
| CWSP 为何需要了解漫游细节及其对无线流量的影响? | 不同安全功能对漫游的影响不同。 |
| 在 SCA 环境中,什么控制客户端漫游? | 无线控制器 |
| 目前最有效的漫游方法是什么? | 802.11 - 2012 FT |
| 预认证的优点不包括以下哪项? | 仅允许与单个 AP 进行预认证 |
| Voice Enterprise 的目标切换时间是多少毫秒? | 50 |
| 对特定类型的网络流量进行分类并给予优先级的能力称为什么? | QoS(服务质量) |
| 关于漫游和 802.11 标准,以下哪项陈述是正确的? | 标准规定了漫游时应发生的事情,但未说明如何实现。 |
| 客户端从网络 1 的 AP 移动到网络 2 的 AP 时,属于哪种漫游类型? | 第 3 层漫游 |
| 为实现正确漫游,小区重叠大致应为多少? | 15 - 30% |
| WPA - Personal 和 WPA2 - Personal 进行快速漫游需要哪些特殊增强? | 无 |
| 企业安全无线网络中,哪些因素会增加整体漫游延迟? | AP 与 STA 之间的延迟、RADIUS 与 LDAP 服务器之间的延迟以及 RADIUS 服务器繁忙时的处理时间。 |
| 以下哪项不是 Voice - Personal 认证的要求? | 零丢包 |
| Voice - Enterprise 认证不包括以下哪项? | 802.11d |
| 哪种客户端类型在 Wi - Fi 网络漫游中问题最多? | VoIP |
| 预认证作为漫游增强的主要缺点是什么? | 扩展性不佳 |
| 以下哪项未由 802.11 标准定义,因此是专有机制? | OKC |
| 如何推导 PMK - R0 和 PMK - R1 密钥? | PMK - R0 从 MSK 推导,R1 从 R0 推导。 |
| 802.11i 解决建立 PMKSA 延迟的方法是什么? | PMK 缓存 |
| PMK 缓存使用时,哪些帧包含 PMKID 计数和 PMKID 列表字段? | 重新关联请求帧 |

6. 漫游技术流程分析

下面通过 mermaid 流程图展示一些漫游技术的基本流程:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px

    A([开始]):::startend --> B{是否支持 802.11k/v?}:::decision
    B -->|是| C(使用 802.11k/v 优化链路):::process
    B -->|否| D(收集 AP 信息创建信标报告):::process
    C --> E(考虑 AP 负载和应用活动):::process
    D --> E
    E --> F{是否为语音客户端?}:::decision
    F -->|是| G(计算 MOS 并调整客户端关联):::process
    F -->|否| H(根据信息决定白名单/黑名单):::process
    G --> I([结束]):::startend
    H --> I

这个流程图展示了在使用 Aruba 的 ClientMatch 技术时,根据客户端是否支持 802.11k/v 采取不同的处理方式,然后综合考虑 AP 负载和应用活动,针对语音客户端和非语音客户端进行不同的决策,最终完成客户端关联的调整。

通过对单通道架构、Wi - Fi 客户端漫游问题、Aruba 的 ClientMatch 技术以及漫游相关知识的介绍,我们可以更全面地了解 Wi - Fi 网络中的漫游技术,为构建高效、稳定的无线网络提供参考。在实际应用中,需要根据具体需求和场景选择合适的漫游解决方案,并注意各种技术的优缺点和适用范围。

Wi-Fi 网络漫游技术深度解析

7. 漫游技术的应用案例分析

为了更好地理解漫游技术在实际中的应用,下面列举几个不同场景的案例。

案例一:企业办公园区
某大型企业的办公园区分布在多个建筑物中,员工需要在不同区域自由移动且保持网络连接稳定。园区采用了 Aruba 的 ClientMatch 技术和 SCA 漫游架构相结合的方案。
- SCA 架构 :所有接入点配置在单通道上,为整个园区提供统一的 BSSID,让员工感觉像是连接到一个大型虚拟接入点,减少了跨 AP 漫游时的感知。
- ClientMatch 技术 :当员工在不同区域移动时,AP 和控制器根据客户端的 SNR、AP 负载以及应用活动等信息,智能地为员工匹配最佳的接入点。例如,当员工从办公区移动到会议室时,如果会议室的 AP 负载较轻且信号更好,系统会自动引导员工的设备连接到该 AP,保证视频会议等关键应用的流畅性。

案例二:商场
商场内人流量大,顾客使用 Wi-Fi 进行购物导航、在线支付等操作。商场采用了 802.11 - 2012(802.11r)FT 快速漫游解决方案。
- 快速切换 :当顾客在商场内移动时,支持 802.11r 的设备能够在不同 AP 之间快速切换,切换时间小于 50ms,确保顾客在购物过程中网络连接不断,支付等操作顺利进行。
- QoS 保障 :商场的网络设备通过 QoS 功能,对不同类型的流量进行分类和优先级设置。例如,将在线支付的流量设置为高优先级,保证支付的及时性和准确性。

8. 不同漫游技术的对比分析

为了帮助读者更好地选择适合自己场景的漫游技术,下面对几种常见的漫游技术进行对比分析。
| 漫游技术 | 优点 | 缺点 | 适用场景 |
| ---- | ---- | ---- | ---- |
| SCA 漫游 | 由控制器控制,客户端几乎察觉不到漫游过渡;是目前较好的漫游解决方案之一 | 专有技术,依赖特定供应商;与 MCA 相比效率可能较低 | 企业园区、大型场馆等对漫游无缝性要求较高的场景 |
| 802.11 - 2012(802.11r)FT | 标准化解决方案,将成为主流;切换速度快 | 部分旧设备可能不支持 | 对漫游速度要求高的场景,如商场、酒店等 |
| OKC | 广泛使用,许多供应商都有实现 | 非标准解决方案,初期客户端支持较少 | 对漫游速度有一定要求,但对标准化程度要求不高的场景 |
| 预认证 | 可在漫游前提前认证,节省时间 | 扩展性不佳,通常需要特定基础设施支持 | 小规模网络,漫游范围相对固定的场景 |

9. 漫游技术的未来发展趋势

随着无线技术的不断发展,漫游技术也将呈现出以下几个发展趋势:

更高速的切换 :未来的无线设备对网络速度和稳定性的要求越来越高,漫游技术需要实现更快速的切换,以满足实时应用的需求。例如,对于 8K 视频流、虚拟现实等应用,漫游切换时间可能需要缩短到几毫秒甚至更低。

智能化的决策 :借助人工智能和机器学习技术,漫游决策将更加智能化。系统可以根据历史数据、用户行为模式等因素,提前预测用户的移动轨迹和需求,自动为用户选择最佳的接入点,实现更加精准的漫游。

跨网络的漫游 :随着物联网的发展,设备可能需要在不同类型的网络(如 Wi-Fi、蜂窝网络)之间进行漫游。未来的漫游技术将支持跨网络的无缝切换,为用户提供更加便捷的网络体验。

10. 漫游技术的优化建议

为了提高漫游技术的性能,以下是一些优化建议:
- 合理规划 AP 布局 :确保 AP 之间有适当的重叠区域(一般为 15 - 30%),避免出现信号盲区,保证客户端在移动过程中能够顺利切换。
- 定期更新设备固件 :及时更新 AP 和客户端设备的固件,以支持最新的漫游标准和功能,提高漫游的稳定性和效率。
- 优化网络配置 :根据实际需求调整网络参数,如信道选择、发射功率等,减少干扰,提高信号质量。
- 监控和分析网络数据 :通过网络管理工具监控客户端的漫游行为和网络性能,及时发现问题并进行调整。例如,分析转向报告可以找出存在固件或驱动问题的客户端,及时进行修复。

11. 总结与展望

通过对 Wi-Fi 网络漫游技术的深入探讨,我们了解了单通道架构、Aruba 的 ClientMatch 技术、802.11 相关标准等多种漫游解决方案,以及它们的优缺点和适用场景。在实际应用中,需要根据具体的需求和场景选择合适的漫游技术,并结合优化建议进行部署和管理,以构建高效、稳定的无线网络。

未来,随着无线技术的不断进步,漫游技术将不断发展和完善,为用户提供更加优质的网络体验。我们期待着漫游技术在智能化、高速化、跨网络等方面取得更大的突破,满足日益增长的无线应用需求。

12. 漫游技术操作流程总结

为了让读者更清晰地了解漫游技术的操作流程,下面通过 mermaid 流程图进行总结。

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px

    A([开始规划网络]):::startend --> B{选择漫游技术}:::decision
    B -->|SCA 漫游| C(配置 AP 单通道和统一 BSSID):::process
    B -->|802.11 - 2012 FT| D(确保设备支持 802.11r):::process
    B -->|OKC| E(部署支持 OKC 的设备):::process
    B -->|预认证| F(设置预认证参数):::process
    C --> G(合理布局 AP):::process
    D --> G
    E --> G
    F --> G
    G --> H(更新设备固件):::process
    H --> I(优化网络配置):::process
    I --> J(监控和分析网络数据):::process
    J --> K([持续优化]):::startend

这个流程图展示了从网络规划开始,选择合适的漫游技术,然后进行 AP 布局、设备固件更新、网络配置优化,最后通过监控和分析网络数据进行持续优化的整个操作流程。通过遵循这个流程,可以更好地实现 Wi-Fi 网络漫游技术的部署和管理。

相关推荐

Wlan学习—无线网络安全

WPA/WPA2企业和个人用法的简单公式如下 WPA-企业=802.1X+EAP+TKIP WPA2-企业=802.1X+EAP+CCMP WPA-个人=PSK+TKIP WPA2-个人=PSK+CCMP 其中EAP和PSK是用于身份验证的,就是建立真正连接需要的密钥,也代表了这个身份验证的过程,就是说EAP在认证方面是更加健全的,如果使用PSK,那么这个AP更容易被侵入或者破解,而使用EAP,...

淡淡的宁静的博客 6383

26、802.11快速安全漫游技术解析

本文详细解析了802.11快速安全漫游技术,包括OKC、802.11r机制、CCKM和FT等关键技术,探讨了不同WLAN架构下的密钥管理方式及快速BSS转换的实现方法。同时分析了FT技术的优势与挑战,并展望了其未来发展趋势,为企业和个人用户提供了对无线网络漫游技术的全面了解。

salt9的博客 109

《CWAP-404》,第5章:BSS关联、漫游与安全交换(5.8,802.11 漫游)

当 STA 逐渐靠近新的 AP 时,它会重新发起 802.11 开放系统认证和关联帧交换,但不再发送关联帧,而是向目标 AP 发送单播的重新关联帧(Reassociation Frame),以请求漫游至该 AP。(Mobility Domain element)将出现在信标帧(Beacon)、探测响应帧(Probe Response)、认证帧(Authentication)以及重新关联帧(Reassociation)中,如下图所示。站点将使用其首次关联AP时生成的PMKSA(成对主密钥安全关联)。

1042484520@qq.com(邮箱) 1547

SqlSugar 是 .NET 开源的 ORM 框架,由 Fructose 大数据技术团队维护和更新,开箱即用最易用的 ORM 低代码 高性能 超级简单 功能全面 [多数据库兼容]

SqlSugar 是 .NET 开源的 ORM 框架,由 Fructose 大数据技术团队维护和更新,开箱即用最易用的 ORM。[低代码] [高性能] [超级简单] [功能全面] [多数据库兼容] [合适产品]。支持.NET.net framework.net core3.1.ne5.net6.net7.net8 .net9 .net10。支持数据库 MySql、SqlServer、Sqlite、Oracle、postgresql、达梦、Mongodb 人大金仓(国产推荐)、神通数据库、瀚高、Access DB2、DuckDb、Hana、OceanBase TDengine QuestDb Clickhouse MySqlConnector、华为 GaussDB 南大通用 GBase、MariaDB、Tidb、Odbc、Percona Server, Amazon Aurora、Azure Database for MySQL、 Google Cloud SQL for MySQL、自定义数据库。真正实现零SQL ORM表构建、索引和CRUD支持。Support.NET 数百万大数据写入、更新、子表,拥有数十亿查询统计数据成熟解决方案。支持SAAS完整应用:跨数据库查询、审计、租户子数据库、租户子表和租户数据隔离。支持低代码 + 工作流程(动态类构建、动态表构建、非实体多库兼容 CRUD、JSON TO SQL、CUSTOM XML 等)。支持 ValueObject、判别器、仓库、UnitOfWork、DbContext、AOP

基于热成像的土壤水分反馈MATLAB实现,以及用于灌溉调度的模型预测控制。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

【化工设备防腐】基于BF凝水除铁缓蚀剂的螺旋板换热器腐蚀与冷凝水发红问题综合治理技术应用

内容概要:本文针对氯碱厂盐水螺旋板预热器腐蚀渗漏及蒸汽冷凝水发红、偏酸性的问题,提出并实施了采用BF凝水除铁缓蚀剂成膜法的综合治理方案。通过分析腐蚀原因,确认主要为二氧化碳引起的酸性腐蚀和溶解氧导致的氧腐蚀。在原有阴极保护与局部防腐涂层改造基础上,进一步投加BF凝水除铁缓蚀剂,该药剂能在金属表面形成单分子保护膜,有效阻隔腐蚀介质,实现全系统气液两相的协同防护。经72小时试验,冷凝水pH值恢复至8.5以上,铁离子浓度降至0.07mg/L以下,颜色清澈透明,达到回用标准,实现了设备安全运行与冷凝水高效回收。; 适合人群:从事化工、电力、锅炉系统管理及相关工业设备维护的技术人员与工程管理人员,尤其适用于面临换热器腐蚀、冷凝水水质异常问题的企业技术人员。; 使用场景及目标:①解决工业蒸汽系统中冷凝水发红、铁离子超标、pH偏低等腐蚀问题;②提升冷凝水回收率,降低能耗与水资源浪费,实现节能减排与降本增效;③替代传统除氧剂与末端过滤设备,优化现有水处理工艺。; 阅读建议:此资源结合实际案例提供系统性解决方案,读者应重点关注问题诊断逻辑、药剂作用机制与实施流程,可将其作为类似工况下腐蚀治理的技术参考,并结合自身系统特点进行可行性评估与小试验证。

数字化供应链AI智能体平台规划及场景应用方案.pptx

数字化供应链AI智能体平台规划及场景应用方案.pptx

无刷直流电机BLDC无感+滑模观测器+转速电流双闭环PI控制(总共三个仿真模型)(Simulink仿真实现)

内容概要:本文档系统阐述了无刷直流电机(BLDC)在无位置传感器条件下的高性能控制策略,基于Simulink平台构建了三个相互关联的仿真模型,重点实现无感控制与滑模观测器(Sliding Mode Observer, SMO)相结合的转速电流双闭环PI控制系统。该资源摒弃了传统的霍尔传感器,利用滑模观测器实时估算转子的位置与转速信息,有效降低了系统成本并提升了在恶劣环境下的运行可靠性。仿真模型完整涵盖了逆变电路、空间矢量脉宽调制(SVPWM)、三相电流采样、坐标变换(Clark & Park)、PI调节器以及滑模观测器等核心模块,形成了一个闭环的、高动态响应的电机驱动系统。此外,文档还集成了模糊PID、传统PID等多种控制算法的对比仿真模型,便于研究者深入分析不同控制策略在动态响应、抗干扰能力和稳态精度方面的性能差异,为电机控制算法的研究与工程化应用提供了坚实的仿真验证基础。; 适合人群:具备自动控制理论、电机拖动原理及电力电子技术基础知识,并熟悉MATLAB/Simulink软件操作的电气工程、自动化、机电一体化等专业的高年级本科生、硕士研究生,以及从事电机驱动、新能源汽车、工业自动化等领域的研发工程师和技术人员。; 使用场景及目标:①深入学习和掌握无刷直流电机无位置传感器控制的基本原理与实现方法;②系统性地理解滑模观测器的设计思想、稳定性分析及其在转子位置与速度估计中的关键技术;③对比研究传统PI控制、模糊PID控制及滑模观测器在BLDC调速系统中的综合性能,分析其在不同工况下的鲁棒性与适应性;④为毕业设计、科研课题或工业项目中的电机控制系统开发提供可复用的仿真平台与技术参考。; 阅读建议:本资源以Simulink仿真为核心载体,建议使用者结合文档中提供的详细说明报告与参考文献,循序渐进地理解各功能模块的设计逻辑与参数整定方法。在学习过程中,务必动手运行并调试仿真模型,仔细观察并记录在不同负载突变、转速指令变化等工况下,电机的三相电流、转速响应曲线及滑模观测器输出的转子位置与速度的动态波形,从而深刻理解控制算法的内在机理。为进一步提升实践与创新能力,可尝试修改控制器参数(如PI增益、滑模增益),或替换不同的控制策略进行对比实验,探究其对系统性能的影响。

(报告+仿真)基于永磁同步电机的飞轮储能系统控制(网侧逆变+机侧整流)仿真

内容概要:本文针对含分布式电源的配电网在多线路故障情况下的恢复问题,提出了一种将网络重构、孤岛划分与检修进度统一纳入多时段优化框架的故障恢复模型。该模型以最小化网损和甩负荷惩罚为目标,采用混合整数二阶锥规划方法,结合虚拟流思想与二阶锥松弛技术,实现对支路投切状态、负荷保留比例、节点电压、功率分布等变量的协同优化,确保各供电区域的连通性与辐射状结构。模型在IEEE33节点系统上进行验证,支持动态调整孤岛范围,充分利用联络开关转供能力和分布式电源的黑启动能力,提升了配电网的韧性与恢复效率。同时,文章对建模细节进行了深入评述,并提出了在负荷分级、无功处理、辐射状约束精确性等方面的改进建议。; 适合人群:电力系统自动化、智能电网、配电系统优化等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于研究含高比例分布式电源的主动配电网在故障后的快速恢复策略;②为配电网重构、孤岛划分与多时段动态恢复的联合优化提供建模范式;③作为学术论文复现与改进的基础模型,推动配电网韧性提升技术的发展。; 阅读建议:建议读者结合文中提到的参考文献与仿真代码,深入理解虚拟流建模、二阶锥松弛等关键技术的应用逻辑,并尝试在模型中引入负荷等级权重、储能系统、分布式电源出力调控等要素,以增强模型的实用性与完整性。

DSPF28335:从零到一,实战GPIO与外部中断的嵌入式系统交互设计

本文以德州仪器DSPF28335芯片为例,详细讲解了嵌入式系统中GPIO与外部中断(EXTI)的实战配置方法。通过一个完整的按键控制LED并触发ADC采样的项目,深入剖析了GPIO寄存器配置、三级中断机制(外设-PIE-CPU)以及中断服务函数编写的核心要点,帮助开发者掌握嵌入式交互设计的基石,并提供了关键的避坑指南与调试清单。

weixin_29169899的博客 115

Bentley ORD(openroads designer) 二次开发(BIM)第七节 在ORD SDK中调用MicroStation SDK

从课程刚开始的时候我们就通过学习,了解了ORD的开发是基于MicroStation的,ORD SDK的接口发布的时候也对MicroStation SDK也做了一次发布。这一章将以我们对ORD SDK知识的了解为基础,使用ORD SDK的接口读取道路几何信息、计算桩号,然后再使用MicroStation SDK 读取地形数据和计算投影点的位置,并创建一组方柱形状的Soild。计算方柱底部坐标要经过两大步骤,通过路线的桩号及偏移距离去定位方柱的平面位置,通过方柱的平面位置计算数字地面模型上的投影点的坐标。

chen286990651的博客 879

Mac上Office合法安装与激活全指南:2021/2024/M365区别解析

Office是微软办公套件的核心产品,其在macOS平台的部署逻辑与Windows截然不同——不依赖传统密钥激活,而是基于Microsoft账户与设备标识的云端绑定机制。理解这一原理,是解决‘无法验证开发者’‘打不开’‘功能受限’等常见问题的前提。Office 2021代表永久许可模型,Office 2024 LTSC面向企业离线场景,Microsoft 365则是持续订阅服务,三者在授权验证方式、更新策略与系统兼容性上存在本质差异。实际应用中,需结合macOS版本、芯片架构(Intel/Apple Sil

weixin_33491377的博客 1111

DL-FWI基础入门培训视频学习1、2

DL-FWI基础知识

shengMio的博客 708

DM达梦数据库远程客户端工具连接6001错误,disql可以正常连接

DM达梦数据库远程客户端工具连接6001错误,disql可以正常连接

weixin_45906061的博客 4509

运行后选择GDB/LLDB出现这样的窗口:launch: program ‘输入程序名称,例如 D:\Desktop\新建文件夹\a.exe‘ does not exist...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1127

yolov8 PTQ和QAT量化实战(源码详解)

量化():是指将高精度浮点数(FP32)转换为低精度(8bit或4bit)整数的过程,它是模型部署中的一种非常重要的优化方法,可以在较少的精度损失下,大幅提供神经网络的效率和性能。目前主流的神经网络量化方式有PTQ和QATPTQ是训练后量化(),无需数据集和训练,直接量化模型权重QAT是量化感知训练(),量化后需要在数据集上继续微调训练。QAT过程中,我们首先需要选择哪些层需要进行finetune训练,并利用FP32对应层的输出作为监督进行训练。

@bangbang的博客 5325

17.6 LangSmith 私有化部署实战指南:企业级AI应用的安全基石

LangSmith 私有化部署, 企业级AI开发平台, 数据隐私合规, 混合云架构, 模型监控与审计。

yonggeit的博客 3776

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

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

深度学习工具包 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")

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: 25、无线网络漫游与语音认证技术解析
下一篇: 11、IT 服务组织中的系统安全管理
tech5
博客等级 码龄17年 52粉丝 1363原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值