自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

诗小葵的博客

自律女孩养成记

  • 博客(307)
  • 资源 (6)
  • 收藏
  • 关注

原创 DBSCAN聚类原理及Python实现

(1)密度直达、密度可达、密度相连都属于同一个簇;(2)密度直达、密度可达不具有对称性,密度相连具有对称性。

2024-03-19 16:03:20 715

原创 第5讲 -- 常用的毫米波雷达频段对比

(本文完整的pdf请关注“张张学算法”,并回复“028”获取~)77GHz现已被规划用于汽车雷达。

2024-03-19 15:56:58 474

原创 KD-Tree的原理及其在KNN中的应用(附Python代码)

回溯到某个节点,比较该节点和目标节点之间的距离时并不是计算欧氏距离(其实使用欧氏距离也可以),而是在当前分割维度上的数据之差,这是因为多维数据进行二分查找分割时,使用的是平行于某个坐标轴的超平面,(1)从根节点出发进行查找,根据树深计算当前的分割维度split,若目标结点在分割维度上的数据小于当前节点,则进入左子树遍历,否则进入右子树遍历;(2)重复步骤一,直到找到叶子节点,记录当前目标节点和当前节点的距离为最小距离,当前节点为最近节点,并开始回溯;任意节点的子树的高度差都小于等于1。

2024-03-18 17:55:31 861

原创 第4讲 -- 线性调频连续波LFMCW测量原理:测距、测速、测角

连续发送L个chrip信号,其相位信息是随着chrip个数在不断变化的,因此对回波信号按照距离维-多普勒维排列存储之后,同一列的不同行对应的是相同频率、不同相位的回波信号(同频不同相)。如下中图,将接收到的回波信号和发射信号经过混频器,再经过一个低通滤波器就可以得到一个单一频率的正弦波信号,叫做差频信号,如下左图中IF signal。测速需要多个chrip;具有相同频率、不同初始相位的正弦信号经过FFT变换,会在相同频率处产生峰值,但峰值信号的相位不同,峰值的相位等于正弦波的初始相位。

2024-03-17 13:59:18 1041 1

原创 点云法向量和平面方程

文章目录一、平面方程表示法1.1 一般方程1.2 点法式1.3 一般方程的系数构成法向量1.4 结论二、拉格朗日乘数法三、法向量计算3.1 问题背景3.2 推导过程3.2.1 证明法向量是一个特征向量3.2.2 证明法向量是最小特征值对应的特征向量四、已知三点求平面方程表达式五、已知协方差矩阵计算法向量一、平面方程表示法1.1 一般方程Ax+By+Cz+D=0Ax+By+Cz+D=0Ax+By+Cz+D=01.2 点法式已知平面Π\PiΠ上的一个点M0=(x0,y0,z0)M_0=(x_0,y

2024-03-13 11:02:38 876

原创 用Python求最大公约数GCD(欧几里得算法)

(x, y) = sorted([y, x % y], reverse=True) # 始终保证y是那个较小值,即x>yx, y = y, x % y # 最小值永远是取模之后的数,因此直接这句就可以if y == 0:return x。

2024-03-12 14:55:22 1238

原创 坐标变换(二维、三维)

标量空间:只有标量;向量空间(Vector space):除了标量,还有向量;仿射空间(Affine space):除了标量、向量,还有点。向量空间没有位置的概念,所以不能表述几何物体,因此需要用到仿射空间;(对应齐次坐标系)欧几里得空间(Euclidean space):除了标量、向量,还有距离。仿射空间定义了点,包含了构建几何模型的必要元素,但是仿射空间没有定义长度的概念,欧几里得空间引入了这个概念。(对应欧几里得坐标系)只有平移和旋转,物体的形状不发生改变的变换。

2024-03-12 14:51:50 905

原创 矩阵分解(特征分解、SVD分解)

若对于N阶矩阵A,存在实数λ\lambdaλ及非零向量xx,满足AxλxAxλx,则称λ\lambdaλ是A的特征值,非零向量xx是A的特征向量。

2024-03-12 14:43:51 975

原创 PCA算法原理及实现(Python)

欲将一组N维向量降到K维(0

2024-03-07 15:45:07 1376

原创 第2讲 -- 雷达基本方程的推导

GAe​F(1)为什么要研究雷达方程?或者说,雷达方程为什么重要?(2)雷达方程的适用条件?(3)雷达方程的应用。

2024-03-07 15:28:43 939

原创 用最小二乘法求解超定方程组

方程个数大于未知量个数的方程组,不存在解析解,寻求最小二乘解;方程个数等于未知量个数的方程组,存在唯一解析解;方程个数小于未知量个数的方程组,存在无穷多解,寻求一个基本解。要注意的是,定义中说的 “方程个数” 必须基于方程组中任意两个方程不等价的大前提,即不能存在类似于xy1x+y=1xy1和2x2y22x+2y=22x2y2的两个方程。也就是说,如果将方程组写成向量形式AXbAX=bAXb,要保证该方程组的系数矩阵AAA列满秩。

2024-03-07 15:18:08 1003

原创 使用Python寻找列表中最大、小的前K个元素及其索引

因为只需要求前K个大、小元素,Python也有对应的max()/min()函数包,因此只需要循环使用K次max()/min()即可(为了方便,暂且称这种方法为“K次循环法”)。该方法原理简单,且适用性极好,有无重复元素的列表均适用;Python中有heapq.nlargest()和heapq.nsmallest()包方法,heapq包方法是基于堆的概念(放以后细讲)。若列表没有重复元素,该方法使用非常方便,一行代码即可;但若存在重复元素,该方法不能准确输出K个最大值对应的位置索引,因此该方法适用性一般。

2023-03-10 14:08:50 1331 1

原创 Python中赋值、引用、深浅拷贝的区别和联系

Python中的赋值即引用,进行赋值时不会开辟新的内存空间,也不会产生一个新的变量单独存在,只是在原有数据块上打上了一个新标签。当数据块的任意一个标签发生变化时,本质是这个数据块发生变化,那么指向这个数据块的任意标签都会发生变化。浅拷贝常见的形式:切片a=a[:]、工厂函数a=list(a)、copy函数a=a.copy()或a=copy.copy(a)。浅拷贝只拷贝了最外层的对象,子对象只是被拷贝了元素的引用(即对象内的元素没有被拷贝);

2023-03-08 22:04:25 812 1

原创 蒙特卡洛原理及实例(附Matlab代码)

蒙特卡洛法不是一种优化算法,是基于大数定理的一种离散化的解题策略,尤其适用于问题的解析解难以计算或者甚至没有解析解时。(本文完整的pdf请关注“张张学算法”,并回复“011”获取~)

2022-11-23 21:41:21 26738 6

原创 第3讲 -- 信噪比如何计算?如何产生固定信噪比的带噪信号?

信噪比,又叫SNRSNRSNR或S/NS/NS/N,是指一个电子系统中信号与噪声的比例,信噪比的计量单位通常是dBdBdBSNR=10lgPsPnSNR=10lgPn​Ps​​SNR=20lgVsVnSNR=20lgVn​Vs​​其中PsP_sPs​和PnP_nPn​代表信号和噪声的有效功率,VsV_sVs​和VnV_nVn​。

2022-11-03 20:11:11 3116

原创 一文教你区分面向过程和面向对象编程

面向过程是绝大部分程序员的思想,它一种以过程为中心,依次把解决问题的步骤分析出来,并用函数封装好,后续在主函数中按照具体步骤调用相应的函数。面向过程编程的程序主体是函数,一个函数就是一个封装起来的模块,各个子步骤往往是通过各个函数来完成,因此面向过程是以行为(函数)为中心,始终关注的是怎么一步一步解决问题,从而实现函数的顺序执行。传统的面向过程的编程思想总结起来就八个字——自顶向下,逐步细化,它将要实现的功能描述为一个从开始到结束按部就班的连续的步骤(过程),依次逐步实现完成这些步骤。

2022-10-31 19:56:25 1811

原创 【20221025】【数学基础】相关性和成比例关系的联系和区别

​ 相关关系是客观现象存在的一种非确定的相互依存关系,即自变量的每一个取值,因变量由于受随机因素影响,与其所对应的数值是非确定性的。相关关系中的自变量和因变量没有严格的区别,可以互换。因果关系一定是相关关系,反之不一定成立。​ 相关的概念常见于概率统计学,相关性的大小可以用相关系数描述,常用的相关系数是皮尔逊Pearson相关系数。随机变量的相关性本质是由协方差决定的。当cov(X,Y)>0cov(X,Y)>0cov(X,Y)>0时,X和Y正相关。

2022-10-25 20:25:17 1234

原创 【20220901】【Matlab】Matlab字符串和ASCII的相互转换

生成固定长度的列表,所以可以利用字符串和 ASCII 码的转换关系,先生成一个元素全为 32 的列表,然后再转为字符串即可。

2022-09-01 17:19:14 1699

原创 【20220825】【数学基础】用最小二乘法求解超定方程组

方程个数大于未知量个数的方程组,不存在解析解,寻求最小二乘解;方程个数等于未知量个数的方程组,存在唯一解析解;方程个数小于未知量个数的方程组,存在无穷多解,寻求一个基本解。要注意的是,定义中说的 “方程个数” 必须基于方程组中任意两个方程不等价的大前提,即不能存在类似于x+y=1x+y=1x+y=1和2x+2y=22x+2y=22x+2y=2的两个方程。也就是说,如果将方程组写成向量形式AX=bAX=bAX=b,要保证该方程组的系数矩阵。......

2022-08-25 20:31:27 2952

原创 第1讲 -- 雷达系统概述

雷达,是Radar(RadioDetectionandRanging)的音译,意思是“无线电探测和测距”,它是通过无线电/电磁波的方式获取目标的存在与否以及空间位置,因此雷达也被称为“无线电定位”。发射机向目标发射电磁波,经目标反射之后,由接收机接收,经过信号处理可获得目标至发射机的距离、(径向)速度、方位、高度等信息。能够全天时、全天候工作,穿透能力强,不受光照、雾云雨天气的干扰,因此雷达是非常重要的传感器。...............

2022-07-21 16:14:51 4179 5

原创 【20220629】【信号处理】(平稳随机信号)自相关函数性质的证明过程

目录1. 偶函数2. 处取得最大值3. 周期函数的自相关函数也是周期函数,且周期和原函数相同4. 对于非周期信号,当 趋于无穷大时,自相关函数趋于信号平均值的平方 做变量代换,令 ,则有: 因此,自相关函数为偶函数。 利用任何非负函数的期望恒为非幅值的性质,则有: 若 为平稳过程,则有: 则有: 即: 因此,自相关函数在 处取得最大值,且为平稳随机过程的 “平均交流功率” 。 证明:

2022-06-29 18:16:35 7264 2

原创 【20220628】【信号处理】自相关函数在信号处理中的应用——提取被噪声干扰的周期信号的周期

自相关函数的定义和特性详见:(6条消息) 【20220627】【信号处理】自相关函数的定义、计算方法及应用_Satisfying的博客-CSDN博客 利用自相关函数 “周期信号的自相关函数依旧是同频率的周期信号” 的特性。该性质推导过程如下: 假设有一个周期信号为: 根据定义,其自相关函数为: 由于 的周期为 ,因此有: 则有: 因此,周期函数的自相关函数也为周期函数,并且周期等于原周期函数周期。运行结果:

2022-06-28 21:10:54 5117 1

原创 【20220627】【信号处理】自相关函数的定义、计算方法及应用

相关函数是用于定性描述两个信号之间的相关程度,两个信号之间的线性相似性大小可用相关系数定量计算。计算公式为: 相关系数的定义及相关性质详见:【20220623】【信号处理】深入理解Pearson相关系数和Matlab corr()、corrcoef()仿真_Satisfying的博客-CSDN博客 相关函数可分为自相关函数、互相关函数和协方差函数,本文重点介绍自相关函数。 自相关函数是描述某一个随机信号在不同时刻之间的相关程度,定义式为: 对于连续信号

2022-06-27 21:12:31 43482 8

原创 【20220623】【信号处理】深入理解Pearson相关系数和Matlab corr()、corrcoef()仿真

相关系数(correlation of coefficient)是统计学中的概念,是由统计学家卡尔·皮尔逊设计的一个统计指标,也称作 Pearson 相关系数。相关系数用于描述两个连续型变量之间的线性相关程度及相关方向,它的取值在 [-1, 1] 之间。 总体的 Pearson 相关系数用 表示,计算公式为: 样本的 Pearson 相关系数用 表示,计算公式为: Pearson 相关系数 = 两个变量的协方差除以标准差的乘积。 (参考:统计知识扫

2022-06-23 15:42:56 4006 2

原创 【20220420】【Matlab】错误使用 save,必须为字符串标量或字符串的解决办法~

1. 报错信息错误使用 save 必须为字符串标量或字符向量。clear; clc;a = 10;path = 'D:\';name = 'matData';path_name = fullfile(path, name);save(path_name, a);2. 报错原因Matlab 的 save 函数是通过字符串去寻找工作区中的变量。所以给 a 加上单引号即可~(参考:matlab 循环存储变量为.mat 以及save函数报错:错误使用 sav...

2022-04-20 15:24:48 14901

原创 【20220207】【信号处理】希尔伯特变换定义及解调原理

一、解析信号1. 定义解析信号是没有负频率分量的复值函数,解析信号的实部和虚部是由希尔伯特变换相关联的实值函数。 (参考:解析信号)2. 概念 一个实值函数的 Hilbert 变换记作为,则的解析信号为: 3. 性质(参考:希尔伯特变换简介) 解析信号有如下性质.........

2022-02-08 11:47:04 13597 5

原创 【20220207】【信号处理】多种波峰、波谷检测算法原理介绍和优缺点比较

一、比较判别法波峰:f(x) > f(x-1) 且 f(x) > f(x+1);波谷:f(x) <f(x-1) 且 f(x) < f(x+1)。二、一阶差分结合比较判别法波峰: 一阶差分异号 且 f(x) > f(x-1);波谷: 一阶差分异号 且 f(x) < f(x-1)。三、二阶差分判别法 波峰: 一阶差分异号 且 二阶差分小于零;波.........

2022-02-07 18:10:31 6913

原创 【20220207】【信号处理】三次样条插值原理详解

方程组的求解本文不做介绍。一、三次样条插值1. 定义三次样条插值(Cublic Spline Interpolation),简称 Spline 插值,是通过一系列样本点的光滑曲线,数学上通过求解三弯矩方程组得出曲线函数组。 (参考:三次样条插值)2. 解决什么问题?通过采集数据,通常有两种做法:拟合或差值。拟合不要求曲线通过所有的样本点,讲究神似,即整体趋势一致;插值讲究形似,即要求曲线穿过每个样本点。插值生成的高阶曲...

2022-02-07 17:51:50 14134

原创 【20220124】【信号处理】ECG信号预处理及信号筛选方法

(参考:模式识别(ECG信号的处理与识别))一、ECG信号干扰来源人体的心电信号是一种非线性、非平稳、随机性强的微弱生理信号,在信号采集过程中心电信号极易受到仪器、人体活动、操作者以及周围环境等各方面因素的干扰而引入噪声。ECG(心电图)信号的主要噪声包括:基带漂移、肌电干扰、工频噪声、其他噪声干扰等。基线漂移是 ECG 信号的主要噪声之一,主要是由于病人呼吸。电极贴片滑动等所导致,频率一般低于 1Hz,其表现为变换缓慢的类正弦曲线,如下图:...

2022-01-24 15:59:16 10266

原创 【20220122】【信号处理】能量谱和功率谱的区别

一、能量信号和功率信号1. 能量信号能量有限的信号为能量信号;2. 功率信号功率有限的信号为功率信号。 总之来说,所有周期信号都是功率信号,所有有限数量的脉冲信号都是能量信号。 (参考:能量信号和功率信号的分别)二、能量谱和功率谱1. 能量谱能量谱也叫能量谱密度,能量谱密度描述了信号或时间序列的能量如果随频率分布。能量谱是原信号 FFT 变换的平方。2. 功率谱功率谱也叫功率谱密度函数,简称...

2022-01-22 10:16:47 4261

原创 【20220118】【机器/深度学习】线性回归中的最小二乘法(LR)

一、什么是最小二乘法?最小二乘法是回归问题中的一种数学优化工具,它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便的求得位置的数据,使得求得的数据与真值之间误差的平方和最小。 (参考:最小二乘法) 最小二乘,广义来说就是机器学习中的平方损失函数:​​​​​​​​​​​​​​​​​​​​​​​​​​​​ ...

2022-01-18 15:31:48 3706

原创 【20220114】【信号处理】什么是基线漂移/趋势项?如何消除?

一、带你了解基线漂移1. 什么是基线漂移?一个特别低频的曲线叠加到了原始信号上,使得原始信号有缓慢的轻微的上下浮动的趋势。如下图: (参考:信号基线漂移是什么意思?) (参考:心电 基线漂移的处理研究论文)2. 基线漂移的危害? 如果不消除基线漂移/趋势项,那么会把趋势项当作真是采集的原始信号,会影响信号的准确性和后续的数据处理结果。 存在基线漂移时,在进行 FFT 分析、相关性分析和功率谱密度分.........

2022-01-14 20:09:11 26256 13

原创 【20220113】【Python】Python中使用matplotlib作图,如何设置不显示坐标值/坐标刻度?

1. 不显示坐标值plt.xticks([])plt.yticks([])2. 不显示坐标刻度plt.axis('off')3. 举个栗子~import matplotlib.pyplot as pltimport math# 生成信号fs = 1000f = 10t = list(range(0, 1000))t = [x/fs for x in t]a = [math.sin(2 * math.pi * f * x) for x in t]# 作图plt

2022-01-13 17:55:29 14633 1

原创 【20220112】【信号处理】为什么要进行分窗?从Matlab仿真的角度对比常见几种窗函数的特性

一、为什么要进行分窗?1. 分窗的作用 信号进行 FFT 变换容易因为非周期截断造成频谱泄露,加窗可以更好地满足 FFT 处理的周期性要求,减少频谱泄露。频谱泄露详解见:【20211228】【信号处理】从 Matlab 仿真角度理解频谱泄露(参考:数字信号预处理--加窗的重要性) (参考:为什么要对信号加窗) (参考:【信号处理】基础知识——加窗windowing) (参考:窗函数作用和性质)2. 分窗使用范...

2022-01-12 19:48:03 3032

原创 【20220108】【雷达】毫米波雷达(二)—— 毫米波雷达和激光雷达的区别及优缺点比较

一、激光雷达二、毫米波雷达 毫米波雷达工作在毫米波波段,通常工作频率为 30~300GHz,波长为 1~10mm。三、优缺点比较

2022-01-08 15:43:02 10003

原创 【20211229】【信号处理】傅里叶变换 FFT 的点数 N 如何选取?

一、FFT 点数 N 选择不合理有什么影响?1. N 过小 栅栏效应,即频域频率分辨率不够,无法区分出某些频率成分。详见:【20211217】【信号处理】从 Matlab 仿真角度理解栅栏效应2. N 过大(1)增加了额外的计算量;(2)频谱不对。二、如何选取 FFT 点数 N?取决于要求的频率分辨率 F。频率分辨率 F 的定义:能够用 FFT 算法分析得到的最靠近的两个信号频率的频率间隔。.........

2021-12-29 17:40:19 16729 3

原创 【20211228】【信号处理】一文读懂信号处理中频谱混叠、栅栏效应、频谱泄露的产生原因和解决方法

1. 频谱混叠产生原因:采样频率不满足奈奎斯特采样定理,即采样频率过低,不满足采样频率高于信号最高频率的两倍的条件。解决方法: (1)增加时域采样点数,即提高采样频率; (2)或者在采样之前加一个抗混叠低通滤波器(把信号中超过 fs/2 的频率成分过滤掉)。详见:【20211214】【信号处理】从Matlab仿真的角度理解频谱混叠和奈奎斯特采样定理2. 栅栏效应产生原因:频谱的频率分辨率不...

2021-12-28 19:36:43 9838 1

原创 【20211228】【信号处理】从 Matlab 仿真角度理解频谱泄露

一、频谱泄露1. 定义 频谱泄露会导致主谱线旁边有很多旁瓣,这会造成谱线间的干扰,严重的可能是旁瓣能量强到分不清哪个是主瓣,这就是所谓的谱间干扰。 (参考:FFT造成的频谱混叠,栅栏效应,频谱泄露,谱间干扰)2. 产生原因 信号被非周期截断,导致延拓信号和原信号的相位不连续,那么做 FFT 变换,得到的频谱就会发生频谱泄露。所以发生频谱泄露的原因是:信号被非周期截断/加窗。 如下图:图 1 的第 1 个子图是信号被周期截断,第 ...

2021-12-28 19:27:27 4977 2

原创 【20211217】【信号处理】从 Matlab 仿真角度理解栅栏效应

一、定义栅栏效应是指离散傅里叶变换(DFT)计算的频谱被限制在基频的整数倍处,只能在相应的离散点处看到输出,而丢失了其他频率成分的信息的现象。(就好像透过一道栅栏看风景,只能看到透过栅栏缝隙的景色一样~) (参考:栅栏效应 (数字信号处理术语))二、产生原因 栅栏效应的本质就是频率分辨率不够,导致部分频率信息丢失,而丢失的这些频率信息很有可能就是重要的或具有重要特征的成分,所以可能会对信号处理的结果产生很大的影响。 (参考:...

2021-12-17 19:22:54 4830

原创 【20211214】【信号处理】从Matlab仿真的角度理解频谱混叠和奈奎斯特采样定理

采样频率: fs = 100Hz 信号频率:f1=40Hz,f2=60.05Hz一、奈奎斯特采样定理二、栅栏效应三、频谱泄露四、FFT点数选取

2021-12-16 19:10:57 7047 4

Python 3.7.4-win-64bit-安装包.rar

64 位 Windows操作系统下,Python 3.7.4 的安装包,Python 3.7.4-win-64bit-安装包。

2019-08-26

用粒子滤波实现二维目标的单目标跟踪

用粒子滤波算法实现单个二维目标的跟踪,所用模型是匀速直线运动模型,代码几乎每句都有注释,适合初学者使用,没有bug,可直接运行出结果。结果图有:跟踪轨迹图和误差分析图。 代码中有本人的邮箱,如果有问题可以交流。

2018-12-27

用粒子滤波算法实现UNGM模型的目标跟踪

该代码是UNGM模型用粒子滤波算法实现的单目标跟踪实例,可直接运行出结果,命令行窗口会实时输出【真实状态、观测状态、PF估计状态值】,可供我们直观的判断跟踪效果,同时还有真实状态、观测状态、PF估计状态的曲线图,另外还对误差进行了分析,比较了PF运用前后的RMSE误差。 喜欢请给个好评,谢谢~

2018-12-25

粒子滤波算法用于目标跟踪UNGM模型

该代码是UNGM模型用粒子滤波算法实现的单目标跟踪实例,可直接运行出结果,命令行窗口会实时输出【真实状态、观测状态、PF估计状态值】,可供我们直观的判断跟踪效果,同时还有真实状态、观测状态、PF估计状态的曲线图,另外还对误差进行了分析,比较了PF运用前后的RMSE误差。 喜欢请给个好评,谢谢~

2018-12-21

卡尔曼滤波用于单目标定位的程序

此程序是用于单目标的跟踪定位代码,系统选用匀加速的情况,代码没有bug,可直接运行出结果,比较了运用KF前后的RMSE均方根误差,有图形表示,适合初学者学习Kalman Filter。 用得好,麻烦好评一下,谢谢嘻嘻嘻!

2018-12-21

数学建模中的选房问题

数学建模中的选房问题,考虑了光照、交通、噪声、环境、价格等多种因素,对选房问题做了详细的研究,最终选出了最优的选房方案。

2018-06-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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