PicoScenes学习日志
PicoScenes——使用指南Description:这是一篇快速上手的PicoScenes食用指南,我将从打开、查看配置、配置、以及抓包入手,对完整使用PicoScenes的流程进行一个快速的上手介绍; 指定位置打开终端在你想要保存CSI得文件夹位置,右键空白位置,选择在终端中打开,之后就会在你想要的位置开启终端,并帮你cd到打开时的文件夹位置。 查看信道配置第一步:先查看网卡的物理ID: 第二步:查看到物理ID后先将网卡配置为监听模式,这时候默认配置即可; 这里是给了一个配置,但是不影响,可以直接去掉双引号中的内容 第三步:查看监听模式下的网卡支持什么配置,包括信道以及带宽信息; -h 查看支持的指令,我们选择框起来的指令:array_eval phyid iw PHY info 将phyid改成你的网卡即可; 第四步:查看支持的信道以及带宽; 可以看到,当前支持HT20以及HT40; 以上便是支持的信道中心频率了,由此我们便可以重新对网卡的监听信道进行配置 对PicoScenes进行配置 重新使用该指令 array_prepare_for_picoscenes...
SVM——Python代码实现以及解析
支持向量机(SVM)原理详解与代码解析一、SVM算法原理详解1. 核心思想支持向量机通过最大化分类间隔实现最优分类,其数学本质是求解一个凸二次优化问题。核心思想包括: 最大间隔原则:寻找使类别间距离最大的分类超平面 支持向量:决定分类边界的关键样本点 核技巧:通过核函数将低维不可分数据映射到高维空间 2. 数学基础(1) 线性可分情况$$\min_{w,b} \frac{1}{2}||w||^2 \quad \text{s.t.} \quad y_i(w^T x_i + b) \geq 1$$ $ w $:超平面法向量 $ b $:偏置项 $ y_i \in {-1,1} $:类别标签 (2) 非线性情况(使用核函数)$$K(x_i,x_j) = \phi(x_i)^T\phi(x_j)$$ 常用核函数: 线性核:$ K(x,y) = x^Ty $ 多项式核:$ K(x,y) = (x^Ty + c)^d $ RBF核:$ K(x,y) = e^{-\gamma ||x-y||^2} $ (3) 正则化参数C$$\min_{w,...
Fisher——Fisher投影分类
Fisher投影加速分类线性判别分析(LDA)详解:从理论到代码实现一、引言线性判别分析(Linear Discriminant Analysis, LDA)是一种经典的监督学习降维与分类方法。其核心思想是通过最大化类间散度、最小化类内散度,将高维数据投影到低维空间并实现高效分类。本文以鸢尾花数据集为例,详解LDA的数学原理,并逐行解析代码实现。 二、LDA的核心原理1. 核心目标LDA的目标是找到一个最优投影方向 $ W $,使得以下准则成立: 类内散度最小:同一类样本在投影后的空间尽可能紧凑。 类间散度最大:不同类样本在投影后的空间尽可能分离。 数学表达式为: $$J(W) = \frac{W^T S_B W}{W^T S_W W}$$ 其中: $ S_W $:类内散度矩阵(Within-class Scatter Matrix) $ S_B $:类间散度矩阵(Between-class Scatter Matrix) 2. 数学推导(1) 类均值向量对每个类别 $ c $,计算其特征均值向量 $ \mu_c $: $$\mu_c = \frac{...
基于CIFAR数据集实现的图像分类
CIFAR-10数据集介绍CIFAR10包含有一共60000张32x32的彩色图像,这些图片中一共有10类不同的事物,每一类有6000张样本。这些图片按照5:1的比例随机分为训练集以及测试集。 下面将在这个开源的数据集上实现图像的分类,目前计划通过ResNet-18模型实现上述的分类功能; Python代码实现以及详解导入必要的库以及依赖我们这里使用Pytorch框架实现模型的训练以及结果的预测; 123456import torch import torch.nn as nn from tqdm import tqdm from torchvision import transforms import torchvision from torch.utils.data import DataLoader 导入 tdqm 库将训练的过程可视化,该库能够将训练的进度以进度条的形式显示出来;由于我们要实现的是图片的识别分类功能,这里选择导入 torchvision 库并使用预训练的模型参数提高训练的正确率以及速度; 数据预处理1234567891011121314transfor...
基于贝叶斯决策的分类器
最小错误率贝叶斯决策分类器实战:代码解析与理论详解一、背景与应用场景贝叶斯决策分类器是一种基于**贝叶斯定理**的统计分类方法,其核心思想是通过最大化后验概率来最小化分类错误率。该方法广泛应用于医学诊断、金融风控等场景,尤其适合特征分布符合正态分布的小规模数据集。本文以鸢尾花(Iris)数据集为例,详解如何实现一个基于贝叶斯决策的分类器 。 二、核心代码解析1. 数据准备与划分12from sklearn import datasetsX, y = datasets.load_iris().data, datasets.load_iris().target 功能:加载鸢尾花数据集,包含4个特征(花萼/花瓣长度和宽度)和3个类别(Setosa, Versicolor, Virginica)。 理论基础:数据集需满足独立同分布假设,即样本间相互独立且特征分布一致 。 12X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) 作用:按...
MQTT+LuatOS学习日志
MQTT基础概念:MQTT是一种通信架构;MQTT是一个一对多的通信架构,一个服务端(Broker)可以有多个客户端(Client); MQTT中有三个概念: 主题(Topic) 发布(Publish) 订阅(Subscribe) 主题是一种寻址方式,类似于Window的文件夹多级目录 例如 factory/line1/machine3/temperature 等等,不同的Topic指向不同的内容以及类别; 客户端Client可以即作为发布的来源也可以订阅发布的内容; 而Broker作为信息的中转站,接收发布的信息并推送给订阅的用户端; 发布者无需担心是否将信息发送给了订阅者,准确来说发布者与订阅者之间不是直连的! LuatOS中MQTT的API常量: 订阅主题: 1234-- 订阅单个topic, 且qos=0mqttc:subscribe("/luatos/123456", 0)-- 订阅单个topic, 且qos=1mqttc:subscribe("/luatos/12345678", 1)--...
聚类分类—算法以及python实现
🧠 使用 Python 实现高效凝聚层次聚类(Agglomerative Clustering)在本篇博客中,我们将一起探索如何使用 Python 实现一个高效的 凝聚层次聚类(Agglomerative Hierarchical Clustering)算法,并支持三种不同的簇间距离度量方式:single linkage, complete linkage 和 average linkage。我们还将通过可视化展示不同方法的效果,并分析其优劣。 📚 一、什么是凝聚层次聚类?凝聚层次聚类是一种 自底向上的无监督聚类算法,它的核心思想是: 每个数据点初始时都是一个独立的簇,然后逐步合并最相似的两个簇,直到达到预设的簇数。 与 K-Means 不同,它不需要提前指定簇的数量即可构建整个聚类树(dendrogram),因此非常适合探索性数据分析。 ⚙️ 二、代码概述🔍 功能亮点: 支持三种 linkage 方法: 'single': 最短距离法(最近邻) 'complete': 最长距离法(最远邻) '...
3D建模下的参数估计
引言在信号处理领域,参数估计是实现目标识别与定位的核心技术之一。经典论文《ESPRIT: Estimation of Signal Parameters via Rotational Invariance Techniques》提出了基于旋转不变性的超分辨率参数估计算法,而《Multiple Emitter Location and Signal Parameter Estimation》则进一步拓展了多信号源定位的理论框架。本文结合原始思想与最新改进算法,探讨3D建模下的参数估计方法。 ESPRIT算法核心思想旋转不变性原理ESPRIT算法的核心在于利用信号子空间的旋转不变性[[4]]。通过构建两个存在位移关系的传感器阵列,其接收信号满足:$$\mathbf{X}_2 = \mathbf{X}_1 \mathbf{\Phi}$$其中 $\mathbf{\Phi}$ 为包含信号到达角(DOA)信息的对角矩阵。通过对信号子空间进行奇异值分解(SVD),可直接从矩阵 $\mathbf{\Phi}$ 中提取信号参数[[4]]。 子空间分解原始ESPRIT通过以下步骤实现参数...
基于5G通信的定位感知——AOA解算
概述5G-NR,具有⾼速、低延迟的特性,是现代通信强有⼒的技术之一。又因广泛的基站建设,5G逐渐覆盖日常生活中的每个角落,随着覆盖范围的扩张,不仅意味着越来越稳定的通信,感知,更是随之不断的发展。 下⾯,本文将针对无人机向5G基站通信这一应用场景,尝试通过仿真验证利用无人机与5G基站的通信能够实现利用 CSI 解算出无人机的位置信息,如 AOA、AOD、ToF 等参数,验证 MUSIC 算法的可行性。下面是对如何通过通信的 CSI 实现对位置信息感知的理论描述。 理论篇信号在发送端天线的传播特性发送端(无人机)仅考虑单根天线进行收发,且天线是全向极化天线。信号由无人机发出,向四面八方发送信号,这些信号在Tx天线处发出时对应的角度我们称为 AOD(Angle of Departure)。在 Tx 处的AOD有很多不同的值,我们近似认为范围为 [0, 2*pi]。 由于发送端 —> 接收端的距离很远,信号在信道中传输之后在到达5G基站的天线阵列时,我们近似认为这些信号可以被视为平⾏波。 接收端天线阵列接收信号由于信号在信道中传递有多径特性,其中某⼀个单径上的信号在到达天线阵列...
阅读札记——“5G信道的估计与均衡”
5G通信信道估计一、MIMO——OFDM技术简介MIMO:多输入-多输出,即大规模天线阵列用于发送以及接收。 用基站端天线数量的扩展代替基站数量的扩展。 减少基站数量意味着多径效应的削弱,有利于减少小尺度衰减对信号传输的影响。 OFDM:在传统的频分传输基础上,进一步节省频带资源,实现正交频分调制。 虽然OFDM各个子载波存在有频谱交叠的部分,但是由于是正交的,接收端仍能够解调信号并且可以高效的利用频谱。MIMO在空间域上节省资源;OFDM调制在频域上节省资源。 二、mMIMO——Massive MIMOMIMO的信道增益多用户大规模MIMO,面向于多个用户接入,单个基站端配备有几十上百跟天线: 每个用户端只有一根天线,基站端配备有多根天线与用户相匹配。其中,第m根天线接收到来自第K个用户的信号Im,K在信道中的增益等于: 大尺度的衰减与小尺度的衰减相乘得到。其中,小尺度的衰减系数受天线的影响最大,可以认为是多个用户导致的用户间串扰(IUI-interUser interference)对于有M根天线阵列的基站来说,每根天线接收到K个用户传来的信号,将这的信号组成矩阵,对应每...





