- 博客(54)
- 资源 (5)
- 收藏
- 关注
原创 如何使用Matlab完成窗口与子窗口
有时候需要借用Matlab完成一个图窗功能,但是我们的程序不仅拥有功能,还拥有一些子功能,那么我们该如何借助Matlab完成窗口与子窗口功能呢?
2023-12-07 19:59:08
2973
原创 各种滤波算法的比较(GF、KF、EKF、UKF、PF),内附简单实现代码
为了使基于RSSI/CSI等室内定位的结果更加地稳定,让滤波后的RSSI/CSI值更接近真实值,针对不同场景引入合适的滤波算法是很有必要的。当然文章并非只针对室内定位这个领域,其它领域,特别是信号或者通信领域,了解各种滤波算法也是非常重要的!高斯滤波是一种根据高斯函数的形状来选择权值的线性平滑滤波器,它对抑制服从正态分布的噪声非常有效,从而达到平滑数据的目的。
2023-12-07 17:09:34
6264
2
原创 如何使用Python对CSI相位进行矫正,并进行相位图像调整
我记得我是最早将《MatLab对CSI的相位进行矫正》代码上传至网上的,后面陆续有人进行抄袭,不得已把一些细节和代码进行隐藏。今天整理之前Python代码的时候,发现一些不规范的问题,所以写了这篇博客。
2023-11-24 15:18:06
1079
原创 室内定位领域研究方向怎么选?盘点近五年该领域硕士论文选题的现状与趋势
WiFi和蓝牙定位技术的研究热度在逐年递减,因为这两项技术的研究比较成熟和广泛,创新空间较小。并且大部分定位技术开始从结合机器学习到深度学习转变。视觉定位技术和UWB定位技术在最近几年研究的比较火热,且视觉定位研究热度有上升的空间。
2023-09-21 15:36:20
789
原创 无线感知之手势识别模型:Widar 3.0(内含源码和数据集地址)
最近不少人吐槽WiFi CSI定位已经做无可做了,也发不了什么期刊,顶多冲一个SCI 2区。回首WiFi 指纹定位这块,RSS指纹定位已经发展20余年,CSI指纹这块也有10余个年头了,很多定位模型或者方法确实已经烂大街了,想要有所创新难度不小。今天我想和大家聊一聊无线感知这块,这块也是商用化比较广泛、实用性比较高、研究热度比较大的方向之一。
2023-09-19 13:39:27
5687
原创 如何判断测量所得的CSI是视距还是非视距
当CSI接收机与基站(BS)之间的直射路径被障碍物挡住后,无线电波只能在经过反射和衍射后到达接收端,此时测量到的数据,如到达时间、时间差、入射角度等,将不能正确反映发送端与接受端的真实距离,这种现象被称为非视距传播(NLOS )。
2023-07-12 10:21:50
1647
原创 使用Python实现.mat文件转换、读取
有时候我们拿到一个数据文件不是excel或者csv的怎么办呢?比如:你可恶的同门用MATLAB丢给你一个mat矩阵文件时,该怎么办呢?别慌,数产小黑娃带你解决这个问题!学完本篇文章后,你就可以将矩阵文件与表格文件实现互转了。
2023-06-30 17:37:46
5768
2
原创 SPSSPRO数据分析之——CSI指纹数据分析(预处理、降维等)
SPSSPRO是一款全新的在线数据分析平台,可以用于科研数据的分析、数学建模等,对于那些不会编程或者刚进入科研的新人来说,这款工具再合适不过了。当然本人只是很早之前建模用过,所以有点关公面前武大刀的嫌疑。
2023-06-21 14:11:11
7576
原创 自然科学领域的期刊Tips——如何快速投中期刊
核心期刊是我国国内对一些学术水平比较高的期刊的等级评价,通常被国内核心期刊遴选机构收录的期间都叫做核心期刊。比如北大核心期刊、南大核心期刊、CSCD核心期刊、科技核心等。当然我们认定的核心期刊一般都是北核及以上的期刊,绝大部分院校或者科研单位都不认定科技核心为核心期刊,但科技核心保研还是有点用处。
2023-05-27 17:06:05
2862
原创 CSI指纹预处理(中值、均值、Hampel、维纳滤波、状态统计滤波器)
因为设备、温度和实验室物品摆设等因素的影响,未经处理的CSI数据不能直接使用,需要对数据进行异常值处理以保证数据的稳定性,同时减少环境中人的活动、突发性干扰对CSI的影响,下面将简单探讨MATLAB自带的几种滤波器对CSI幅值数据的处理,一些升级版的滤波程序由你们自主思考。
2023-05-02 22:26:35
5202
5
原创 室内定位之5G定位
Wi-FiCSI的相关工作,比如主被动定位、感知、动作识别等工作已经存在大量的理论和研究成果,很难做到较大的创新。所以,随着5G或者6G技术的诞生,其备受室内定位领域研究者的关注并慢慢成为研究热点。
2023-04-26 11:27:46
3800
原创 科研小白如何做好科研(内附一些科研实用工具)
好记性不如烂笔头”,在阅读大量文献的过程中,你需要做一些笔记,包括自己的看法、疑惑和灵感。人脑不比电脑,我们学习到的很多知识容易遗忘,所以在做科研的时候,我们需要擅于总结。常做笔记,既方便自己后续回顾,也为实验室积累了一些有用的资料。这部分的资料,也可以作为后期大小论文的支撑。总而言之,常总结对做科研大有裨益。
2022-12-31 19:31:20
3485
2
原创 CSI室内指纹定位——相关通信名词解释
OFDM技术的主要思想就是将数据流分成多个子数据流,通过不同频率的多个子信道并行传输,每个子信道使用独立的子载波,且这些子载波是相互正交的。简单来说,就是在发送端发送一个脉冲信号,在接收端进行响应,由于多径时延扩展和多普勒平移的原因,不同接收端会有不同的信道脉冲响应,不同位置也会因为多径的原因会有不同的信道脉冲响应)。通俗的讲,就是数据的传输速度,比如:100M的宽带,带宽就是100Mbps,1字节(byte)对应8个比特位(bit),所以100M的宽带相当于12.5MB/s的网络。
2022-11-06 15:36:59
6247
3
原创 如何用matlab实现矩阵与mat格式、xlsx格式文件互转
当我们利用matlab去处理我们的实验数据时,常常需要读取mat格式、xlsx格式文件,而且有时候我们又将利用Python去做后续工作,这时候我们就迫切需要了解矩阵与mat格式、xlsx格式文件怎样实现互转的。
2022-10-24 20:41:35
10407
原创 CSI室内指纹定位——CSI数据说明
我们通过修改NIC的设备驱动程序,来读取每个数据包接收时以CSI的形式记录在硬件中的CSI值,并生成包含CSI信息的dat文件。,也就是对应的幅度和相位。当然angle函数获得的相位是带误差的相位,需要解卷绕+线性变换才能获取到真实的相位。csi的值是一个n*m*30的复数矩阵,n表示发射天线的个数,m表示接收天线的个数,30是子载波个数。2、使用MATLAB解析dat文件,显示1615*1个元胞数组,这些原胞数组包含了1615个1*1的结构体,每个结构体表示一个数据包的所有信息,包括信道状态信息元。
2022-08-21 13:14:07
7791
25
原创 如何使用MatLab对CSI的相位进行矫正
由于采集到的CSI样本信号,在传输的过程中会受到周围环境的噪声干扰,同时由于硬件限制等原因会产生相位偏移,可以采用一种简单而有效的线性拟合的方法进行相位,消除由于残余的载波频率误差及时钟同步误差造成的相位偏移,以此来获得CSI的真实相位。...............
2022-08-13 17:41:27
5369
9
原创 基于RSSI室内定位算法介绍
基于RSSI的室内定位算法有很多,像三角/三边质心算法、加权质心算法、最小二乘法、双曲线法、位置指纹算法、融合算法以及各种改进衍生算法等等。而依据定位策略的不同,BLE信标定位算法可分为基于距离和信号指纹定位两类。基于距离的定位算法是通过测量接收信号强度(RSSI)进行测距,但是由于室内环境对信号多径衰落的影响,基于距离的定位算法定位精度较低。相比之下,基于信号的指纹定位更适应于室内环境,国内外应用也较为普遍。指纹定位算法首先在室内固定位置点测量不同信标的RSSI值,再利用这些RSSI值以其对应的位置信息建
2022-08-07 00:11:51
9705
3
原创 室内定位之CSI指纹定位
随着WiFi技术的发展,IEEE802.11n系列通信协议及其之后的无线局域网协议应用了多输入多输出(multiple-input multiple-output,MI-MO)和正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)等技术,使得WiFi收发设备之间的信道特征可以在物理层进行估计,并以信道状态信息(channel status information,CSI)的形式存储下来。
2022-08-05 18:50:42
11960
6
原创 CSI数据预处理之卡尔曼滤波、高斯滤波、简单平均
卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。卡尔曼滤波算法在估计值和观测值之间做了一个修正。........................
2022-08-05 13:00:03
7403
17
原创 如何用Android Studio实现登录跳转
实现一个简单的用户登录界面,功能如下:1、默认不存储用户信息,默认隐藏密码。2、能通过勾选框记住密码、显示密码,点击登录后实现页面跳转至主页面。3、通过“登录”进入主界面,通过“退出”退出APP,主界面通过“返回”返回到登录页面4、登录界面显示登录的用户名及当前用户的登录时间.........
2022-07-18 16:40:46
31682
24
原创 Web项目上线之Linux指令篇
Centos是常用的Linux系列的操作系统之一,其安装软件的方式一般有三类rpm安装法、解压缩安装法、yum在线安装法。rpmRPM是RedHatPackageManager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。找到软件的RPM包的时候,执行rpm-ivhxxx.rpm,即可安装软件。rpm包只是将源码包打压成为了rpm文件格式,使用rpm工具进行安装。..........................
2022-07-17 01:32:32
2053
原创 安装完Centos可能存在的一些问题(连接不上网络等)
1、centos连不上网的问题2、输入法切换不了中文3、系统界面图标消失4、 右键没有新建文本的选项5、使用Xshell连接本地Linux系统
2022-07-12 20:26:38
11068
4
原创 如何快速搭建自己的阿里云服务器(宝塔、Xshell、Xftp配置)
目录一、前言二、准备工作1、新手申请2、安全组设置 3、修改实例4、下载Xshell和Xftp 5、安装并配置Xshell6、本地连接云服务器 7、安装并配置Xftp 三、搭建环境1、安装宝塔服务器运维面板2、 登录宝塔Linux面板3、查看宝塔主页 4、测试环境对于新手或者学生党来说,有时候就想租一个云服务器来玩玩或者练练手,duck不必花那么多钱去租个服务器。这些云服务厂商对学生和新手还是相当友好的。下面将教你如何快速搭建自己的阿里云服务器,完成云服务器的部署。现在阿里云对于新用户来说,还是挺仗义的,
2022-07-10 01:14:49
10086
8
原创 JavaSE核心知识点总结
1、带参数方法定义格式:public static void 方法名(参数){......}格式(单个参数):public static void 方法名 (数据类型 变量名){......}public static void isEvenNumber (int number) {......}2、接口的特点1)接口用关键字interface修饰 public interface接口名{}2)类实现接口用implements表示 public class 类名 implements 接口名{}3)接口不能
2022-06-09 16:08:08
1922
2
原创 MySQL数据库期末复习--这一篇就够了
前段时间有小伙伴私聊我说,快期末考试了,能不能出一个MySQL数据库的教程啊。然后我花了一点时间,从建表到插入数据,从简单的增删改查,再到视图、存储过程、触发器的创建、删除等。其中还包括一些基本概念、E-R图创建及将其转换为关系模式。文章的最后还讲解了关系模式候选码、最小函数依赖集、模式分解的求解过程。...
2022-06-07 22:03:57
10874
14
原创 Mybatis-plus核心功能及一些插件的配置
Mybatis-plus(简称 MP)是一个Mybatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文主要对Mybatis-plus核心功能的CRUD接口、条件构造器、主键策略做个说明。在学习之前,需要对mybatis有所了解,可以参考博主以前的文章。一、第一个Mybatis-plus程序......
2022-05-26 21:06:24
4438
10
原创 Git工具--教你如何从安装到掌握
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。它是Linux之父为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。目前公司使用较多的是集中式版本控制SVN和分布式版本控制Git。本文不对具体原理及专有名词死磕,将带你从Git工具的安装到基本掌握。肝了挺久的,如有表达不够准确的地方,欢迎指正,后续也将继续完善它。.........
2022-05-21 14:15:16
1976
28
原创 创建Vue项目时遇到的问题与错误
webpack : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\webpack.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。解决方案:是因为系统权限不够,被禁止运行该打包脚本1、以管理员的身份打开Windows PowerShell2、输入set-Execut.
2022-05-14 22:23:46
4378
13
原创 如何快速安装vue-cli脚手架
vue.js有著名的全家桶系列,包含了vue-router,vuex, vue-resource,再加上构建工具vue-cli,就是一个完整的vue项目的核心构成。vue-cli官方提供了一个脚手架,用于快速生成一个vue的项目模板。它预先定义好目录结构及基础代码,就好比咱们在创建Maven项目时可以选择创建一个骨架项目,这个骨架项目就是脚手架,他能使我们的开发更加快速。vue-cli这个构建工具大大降低了webpack的使用难度,支持热部署,有webpack-dev-server的支持,相当于启动了一个请
2022-05-13 10:49:46
7454
12
原创 如何做一个简单的网页版地图
以前做了一个安卓版的地图应用,现在突然想做一个简单的网页版地图。这个简单的网页版地图能根据城市名进行位置查询(有个城市列表的小控件,支持城市列表选择),还能根据经纬度进行位置查询。当你进行城市搜索时,或者经纬度查询城市时,该小控件也能自由地切换到目标城市。...
2022-05-10 20:39:52
13538
70
原创 如何用Python制作一个简单的二维码生成器
二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。现在的二维码随处可见,甚至有人觉得在以后的墓碑上都可以刻一个二维码,通过扫描该二维码便可知墓主传奇的一生。所以如何快速定制自己的二维码便显得极为的重要,本文用python生成一个简单的二维码生成器,该生成器可以定制二维码的背景、填充颜色以及二维码中间的背景图片。1、安装第三方库win+R,...
2022-05-09 11:12:26
7522
39
原创 Android实战开发—三种手机地图实现
通过添加View控件显示地图,能够显示出地图的默认位置、地图名称等信息。实现切换地图类型的功能,对于地图SDK提供了3种主要的地图类型,即普通地图、卫星图和空白地图。用户通过点击对应的按钮,能够实现不同类型地图之间的相互切换功能。
2022-04-30 00:02:30
4574
15
原创 教你如何五分钟捕获女神的芳心之定时邮件任务
对于想追求的女神,有时候缺乏主动的勇气和平亿近人的钞能力。那这个时候该怎么办呢?感情就是这样,退一步不舍得,进一步没资格。这个时候就想用我的行动去打动她,比如:每天给她在特定的时间(13点14分)发送一条邮件。这里将使用JavaMail实现定时邮件任务,在没耗费精力的同时,又将捕获女神的芳心。
2022-04-27 23:52:42
1777
22
原创 Swagger3.0快速开发及空指针异常的解决
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。简单来说,swagger是一款可以根据RESTful 风格生成的接口开发文档,并且支持做测试的一款中间软件。在前后端分离的时代,特别是在Swagger诞生之后,程序员门可以直接通过代码生成文档,而不再需要自己手动编写API接口文档了。Swagger在一定程度上也能缓解前端、后端、测试开发...
2022-04-26 12:34:54
6066
13
原创 Shiro整合Mybatis实现用户认证和授权
Apache Shiro是一个功能强大且易于使用的Java安全框架,可执行身份验证、授权、加密和会话管理。目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。本文使用Shiro整合Mybatis,利用Druid数据库连接池,实现用户认证和授权。一、Shiro介绍可以根据官网或者github快速入门S
2022-04-23 19:46:04
5112
30
原创 Spring Security5+ 用户认证、授权及注销
Spring Security是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring Security的真正强大之处在于它可以很容易地扩展以满足定制需求。虽然拦截器、过滤器也可以在一定程度上起到安全认证的作用,但是对码农来说,大量原生的代码及代码冗余,十分的不友好。本文以Spring Security5.6.2版本来对用户认证、授权、注销及权限控制做个说明。一、Spring Security简单介绍1、到博主写博客的时间为止,Spring Secur
2022-04-16 09:06:02
3037
11
原创 SpringBoot数据库连接池Druid的配置及log4j:WARN的解决
目录前言一、导入相关依赖二、在配置文件中对Druid数据源进行配置三、自定义Druid数据源配置四、进行监控五、遇到的问题前言常见的数据库连接池有c3p0,druid,hikari,DBCP等。Hikari是一款非常强大,高效,并且号称“史上最快连接池”。并且在springboot2.0之后,采用的默认数据库连接池就是Hikari。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 数据库连接池的优点,同时加入了日志监控。一、导入..
2022-04-14 20:38:39
4331
原创 LBS(基于位置服务)常见定位技术综合分析
什么是LBS?大家想必对室外定位的GPS和北斗有一定程度的了解,LBS基于室内定位技术,融合了移动通讯、互联网络、空间定位、位置信息、大数据等多种信息技术,利用移动互联网络服务平台进行数据更新和交互,使用户可以通过空间定位来获取相应的服务。曾经有人问过我,为啥要发展室内定位技术呢,室外定位技术它不香吗?其实,第一就是市场,人们无论生活、工作还是娱乐、学习,约有80%的时间会处于室内环境之中,所以说室内定位市场规模比较庞大,而且还在一直扩大。第二就是移动设备的迅猛发展......
2022-04-13 18:39:54
11783
1
原创 SpringBoot空指针异常及时间格式问题
在用Springboot和bootstrap做项目时,添加数据的时候,增加完毕后跳转失败,并报空指针异常。在添加时间数据时,又报400错误,下面是出现的问题及阶级措施。1、空指针异常问题描述:跳转页面出现500错误,说明逻辑代码出现问题,加之又报空指针异常:java.lang.NullPointerException: null
2022-04-12 20:12:42
2890
SPAMS稀疏优化工具箱
2023-05-17
室内CSI指纹定位数据集参考
2022-09-05
安卓开发实战之登录界面跳转
2022-07-18
Xftp和Xshell的安装包
2022-07-10
shiro安全框架整合Mybatis
2022-04-24
myemployees数据库
2022-03-29
Tomcat 9.0.59版本
2022-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人