Linux 802.11n CSI Tools常见问题,故障排除

1、怎样设置无线数据速率(或者得到其他站点信息)? A. 在debugs目录中发现其他站点信息 当802.11接口连接到其他的站点,在debugs下会创建一个目录,有这个站点的MAC地址。注意如果这个接口在客户端模式下,它将只会连接到一个站点AP,但是在其他的模式下,它将连接到多个站点。这些站...

2017-03-22 21:22:49

阅读数 6377

评论数 2

IEEE 802.11n协议中CSI报告来源

本文首发在 麻子来了 博客 一、引言: MSDU(MAC层业务数据单元。这是最原始的待发数据信息)经过封装变成MPDU(MAC层协议数据单元),MPDU传到PLCP子层变成PSDU(PLCP子层业务数据单元),PSUD经过封装变成PPDU(PLCP子层协议数据单元)。 802.11协议帧格...

2017-03-16 11:06:44

阅读数 2521

评论数 1

究竟什么是CSI

本文手发在 究竟什么是CSI CSI(Channel State Information ) :信道状态信息,本文中特指在无线定位领域中的信道状态信息。   一、什么是信道状态信息? 在无线通信领域,所谓的CSI,就是通信链路的信道属性。它描述了信号在每条传输路径上的衰弱因子,即信道增益矩...

2017-03-13 16:55:45

阅读数 16992

评论数 4

究竟什么是RSSI

本文首发在究竟什么是RSSI 一、基本概念: RSSI:Received Signal Strength Indication接收的信号强度指示,无线发送层的可选部分,用来判定链接质量,以及是否增大广播发送强度。 因为无线信号多为mW级别,所以对它进行了极化,转化为dBm而已,不表示信号是...

2017-03-13 16:52:17

阅读数 36477

评论数 6

面向对象设计模式学习笔记十六总结

如何运用? 现代软件设计的特征是“需求的频繁变化”。设计模式的要点是“寻找变化点,然后在变化点处应用设计模式,从而来更好地应对需求的变化” . 设计模式的应用不宜先入为主,一上来就使用设计模式是对设计模式的最大误用。没有一步到位的设计模式。敏捷软件开发实践提倡的“Refactoring to ...

2019-03-10 13:10:42

阅读数 22

评论数 0

面向对象设计模式学习笔记十五享元模式

为什么需要享元模式 在软件系统采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价---主要指内存需要方面的代价。 什么是享元模式 运用共享技术有效地支持大量细粒度的对象。 类图 示例 class Font {//将字体实现为对象 private...

2019-03-10 12:32:57

阅读数 20

评论数 0

面向对象设计模式学习笔记十四单例模式(多线程)

为什么需要单例模式? 面向对象很好的解决了抽象问题,但是必不可免的要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。 在软件系统中,经常有一些特殊的类,必须保证他们在系统中只存在一个实例,才能确保他们的逻辑正确性、以及良好的效率...

2019-03-10 11:46:45

阅读数 27

评论数 0

面向对象设计模式学习笔记十三观察者模式

为什么需要观察者模式 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密, 将使软件不能很好地抵御变化。使用面向对象技术(观察者模式),可以将这种依赖关系弱化,并形成一种稳定的...

2019-03-03 18:09:19

阅读数 46

评论数 0

面向对象设计模式学习笔记十二模板模式

为什么需要模板方法? 在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或者由于固有的原因(比如框架与应用之间的关系)而无法和任务的整体结构同时实现。如何在确定稳定操作结构的前提下,来灵活应对各个子步骤的变化或者晚期实现需求? 举例: //程序库...

2019-03-03 15:53:05

阅读数 36

评论数 0

面向对象设计模式学习笔记十一桥模式

为什么需要桥模式? 由于某些类型的固有的实现逻辑,使得它们具有两个变化的维度, 乃至多个纬度的变化。而多维度的变化对于该类的使用者会带来复杂性上的急剧增加。举例 现在的项目需求是我们的软件有两种版本:基础版和完美版。并且每种版本既要支持移动端,又要支持PC端。如果不使用设计模式,我们大概率会产...

2019-03-03 13:07:34

阅读数 62

评论数 0

面向对象设计模式学习笔记十装饰模式

为什么需要装饰模式? 在某些情况下我们可能会“过度地使用继承来扩展对象的功能”, 由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性; 并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展 功能的组合)会导致更多子类的膨胀。 举例: //业务操作 class Stream{ p...

2019-02-24 21:19:30

阅读数 19

评论数 0

面向对象设计模式学习笔记九中介者模式

为什么需要中介者模式? 在软件构建过程中,经常会出现多个对象互相关联交互的情况,对象之间常常会维护一种复杂的引用关系,如果遇到一些需求的更改,这种直接的引用关系将面临不断的变化。 在这种情况下,我们可使用一个“中介对象”来管理对象间的关联关系,避免相互交互对象间的紧耦合引用关系,从而更好地抵御...

2019-02-24 16:44:32

阅读数 14

评论数 0

面向对象设计模式学习笔记八适配器模式

为什么需要适配器模式? 在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。采用添加一层间接(稳定)接口,来隔离本来互相紧密关联的接口是一种常见的解决方案。 在实际项目中,经常需要迁移老的类库,适应新的接口,这也是适配器模式的主要职责之一。 什么是适配器模式? 将...

2019-02-24 15:54:21

阅读数 22

评论数 0

使用win-VS开发调试Linux上的C/C++代码

本教程介绍如何使用VisualGDB CMake项目系统开发物理上位于Linux机器上的项目,使用Visual Studio和VisualGDB。与需要在Windows端下载源代码和标头或使用难以维护的共享文件夹的常规VisualGDB项目不同,直接访问的项目允许Visual Studio直接编辑...

2019-02-17 21:42:20

阅读数 41

评论数 0

面向对象设计模式学习笔记七Prototype原型模式

为什么需要原型模式 在软件系统中,经常面临着某些结构复杂的对象的创建工作;由于需求变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口。 如何应对这种变化?如何向“客户程序(使用这些对象的程序)”隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随需求改变而改变?...

2019-02-17 20:59:09

阅读数 29

评论数 0

面向对象设计模式学习笔记六抽象工厂

为什么需要抽象工厂模式? 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工 作;同时,由于需求的变化,往往存在更多系列对象的创建工作。 如何应对这种变化?如何绕过常规的对象创建方法(new),提供一 种“封装机制”来避免客户程序和这种“多系列具体对象创建工作” 的紧耦合? 举例说明:...

2019-02-11 12:39:57

阅读数 57

评论数 0

面向对象设计模式学习笔记五工厂模式

为什么需要工厂模式? 在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常变化。 如何应对这种变化?如何绕过常规的对象创建方法(new),提供一种“封装机制”来避免客户程序和这种“具体对象创建工作”的紧耦合? 举例说明 //文件分割器 class ISpl...

2019-02-11 10:34:44

阅读数 43

评论数 0

面向对象设计模式学习笔记四策略模式

为什么需要策略模式 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。   举例说明 税法计算案例: 程序员要有一个时间轴的概念,不能静态的看待问题。 如果增加对法国的税法,则需...

2019-02-07 14:05:26

阅读数 23

评论数 0

面向对象设计模式学习笔记三State模式

为什么需要State模式? 1、在组件构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定? 2、在软件构建过程中,某些对象的状态如果改变,其行为也会随之变化,比如文档处于只读状态,其支持的行为和读写状态支持的行为就可能完全不同。 3、如何在运行时根...

2019-02-07 12:56:59

阅读数 105

评论数 0

面向对象设计模式学习笔记二Composite模式

为什么需要Composite设计模式? 如果客户代码过多地依赖于对象容器复杂的内部实现结构,对象容器内部实现结构(而非抽象接口)的变化将引起客户端的频繁变化,带来了代码的维护性、扩展性等弊端。 什么是Composite设计模式? 常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些...

2019-02-04 14:27:34

阅读数 48

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭