随笔分类 -  Matlab练习程序

上一页 1 2 3 4 5 6 ··· 15 下一页
摘要:做带有纯滞后模块的控制时,直接对被控对象使用pid有时候会达不到最优效果,这个时候可以使用smith预估来补偿滞后量。 下面画了五个控制流程。 1. 阶跃控制量直接通过原始系统,可以看到响应最多达到0.5左右。 2. 在原始系统上加一个pid控制器,并且通过pidtune整定后,控制效果基本满足要求 阅读全文
posted @ 2022-12-04 17:01 Dsp Tian 阅读(414) 评论(0) 推荐(0) 编辑
摘要:如果获得了当前时刻的航向角和角速度,需要外推出下一时刻的航向角,这里尝试六种方法计算。 1. 利用角速度和时间直接累积求和得到航向角。 2. 将航向角和角速度都转换到旋转矩阵,通过矩阵相乘得到航向角。 3. 将角速度计算反对称矩阵,再通过指数变换转为李群,在李群上相乘得到航向角。 4. 将角速度计算 阅读全文
posted @ 2022-11-20 14:18 Dsp Tian 阅读(580) 评论(0) 推荐(0) 编辑
摘要:PID调参时可以先利用Z-N法估算一个大概的量,然后再精确调参。 Z-N法可以形象的用以下图表表示: 其中切线是响应曲线转折点切线,即过曲线斜率最大点的切线。 K是系统开环稳态响应。 L是转折点切线和0值交点对应的时刻。 L + T是转折点切线和稳态响应交点对应的时刻。 表中的alpha = L / 阅读全文
posted @ 2022-11-06 16:19 Dsp Tian 阅读(687) 评论(0) 推荐(0) 编辑
摘要:box-cox变换可以将非正态分布的数据变换到正态分布。 变换公式如下: 其中lambda是待求参数。 这里就遍历可能的lambda值,得到变换后的数据,再通过sw正态分布检验,选取最好的lambda值。 如果有自变量的话可以考虑这篇文章中的优化方法。 matlab代码如下: clear all;c 阅读全文
posted @ 2022-10-29 12:54 Dsp Tian 阅读(1061) 评论(1) 推荐(0) 编辑
摘要:提取信号包络需要用到希尔伯特变换。 变换定义如下: 其中: 就是原始信号和1/(pi*t)信号做卷积。 因此可以将原始信号和h(t)傅里叶变换到频域做乘法。 乘完再逆变换回来后取信号绝对值即可得到原始信号包络。 matlab代码如下: clear all;close all;clc; x = -5: 阅读全文
posted @ 2022-10-23 13:48 Dsp Tian 阅读(861) 评论(0) 推荐(0) 编辑
摘要:之前有写过二维机械臂正逆运动学运算,不过一般机械臂都是三维的,通常可以用DH模型来表示。 DH模型其坐标系和参数定义如下图: 坐标系定义: X:当前关节指向下一个关节的方向。 Z:当前关节绕动轴的方向。 Y:垂直于XZ平面的方向。 每个关节都由四个参数[a,d,alpha,theta]定义: a:上 阅读全文
posted @ 2022-09-25 14:58 Dsp Tian 阅读(1567) 评论(0) 推荐(0) 编辑
摘要:已知入射光线向量X和平面方程法向量w,可以通过Householder变换求出反射向量Y。 Householder变换公式如下: 那么反射向量Y=H*X matlab代码如下: clear all;close all;clc; %plane:1*x+2*y+3*z = 0 w = [1 2 3]'; 阅读全文
posted @ 2022-09-18 13:41 Dsp Tian 阅读(683) 评论(0) 推荐(0) 编辑
摘要:IOU(Intersection over Union)交并比是目标检测中用来评价检测结果和真实结果重合度的一个指标。 公式如下: 即两个集合的交集除以并集。 matlab代码如下: clear all;close all;clc; A = [5,5,10,10]; B = [6,6,11,11]; 阅读全文
posted @ 2022-09-08 22:09 Dsp Tian 阅读(355) 评论(0) 推荐(0) 编辑
摘要:VAR模型称为向量自回归模型,可以对多组变量之间的关系进行建模,是AR模型的多维扩展。 比如有两个变量X和Y,AR模型建模场景是X只和X过去的状态有关系,VAR模型建模场景则是X同时跟X和Y过去的状态都有关系。 VAR基本形式如下: 模型参数求解可以参考上一篇ARMA模型的求解方法。 matlab代 阅读全文
posted @ 2022-09-03 20:12 Dsp Tian 阅读(1434) 评论(0) 推荐(0) 编辑
摘要:ARMA称为自回归移动平均模型(Autoregressive moving average model),由自回归模型(AR)和移动平均模型(MA)混合构成。 注意这里的移动平均模型和移动平均值平滑曲线不是一个概念。 AR模型是用自身的历史数据来预测未来数据,构成如下: MA模型则利用历史噪声来预测 阅读全文
posted @ 2022-09-03 11:56 Dsp Tian 阅读(3194) 评论(0) 推荐(0) 编辑
摘要:曲线参数方程: 的曲率公式如下: matlab代码如下: clear all;close all;clc; x = 0:0.01:2*pi; y = sin(x); dx = 0.5*(x(3:end)-x(1:end-2)); dy = 0.5*(y(3:end)-y(1:end-2)); dl 阅读全文
posted @ 2022-07-31 12:10 Dsp Tian 阅读(2424) 评论(0) 推荐(0) 编辑
摘要:GIST是一种图像全局信息特征,能够对场景进行识别与分类。 计算方法如下: 1. 首先在4个尺度和8个方向上设置Gabor滤波器,并对图像做滤波,得到32个滤波后图像。 2. 对滤波后图像分成4*4个区域,计算每个区域内像素均值。 3. 得到4*8*4*4=512个区域均值组成的特征向量,即为Gis 阅读全文
posted @ 2022-07-24 11:50 Dsp Tian 阅读(307) 评论(0) 推荐(0) 编辑
摘要:在使用AR/MA/ARMA处理序列之前,需要确定可以使用哪种模型。 通常通过判断ACF或PACF的数据拖尾与截尾情况即可做出判断: 1. 自相关系数拖尾,偏相关系数截尾,选择AR模型。 2. 自相关系数截尾,偏相关系数拖尾,选择MA模型。 3. 两个都拖尾,选择ARMA模型。 这里PACF用的是Yu 阅读全文
posted @ 2022-06-26 14:23 Dsp Tian 阅读(1308) 评论(0) 推荐(0) 编辑
摘要:正运动学是已知连杆长度和各连杆旋转角度,求最终(x,y)位置的问题。 逆运动学是已知连杆长度和最终(x,y)位置,求各连杆旋转角度的问题。 二维两关节机械臂可以用下图示意: 根据上图可以得到如下公式: x = L1*cos(theta1) + L2*cos(theta1+theta2) y = L1 阅读全文
posted @ 2022-06-03 11:04 Dsp Tian 阅读(1068) 评论(3) 推荐(0) 编辑
摘要:该方法是自抗扰控制器adrc中的一个步骤,这里单独拿出来实现一下。 算法输入为控制信号,输出为微分信号和跟踪信号,能够滤除控制信号中的噪声。 跟踪微分器核心公式如下: fst函数如下: 其中u为控制量,r和h为系数。 matlab代码如下: clear all;close all;clc; T = 阅读全文
posted @ 2022-06-02 10:52 Dsp Tian 阅读(1415) 评论(0) 推荐(0) 编辑
摘要:1. 首先设定一个模型,可以用tf生成一个状态空间,不过我这里用的是反拉普拉斯变换得到的时域模型。 2. 随机生成一组控制量,然后卷积得到系统响应。 3. 利用待求参数过一下模型得到响应再和原始模型响应做个差值,设定为损失量。 4. 利用Matlab自带的非线性最小二乘函数lsqnonlin求解即可 阅读全文
posted @ 2022-05-15 21:40 Dsp Tian 阅读(1254) 评论(0) 推荐(0) 编辑
摘要:路径平滑方法有很多。 如果有预测量可以使用卡尔曼滤波。 如果只是单纯的离散点也可以用多项式拟合、样条插值、回旋曲线或者均值滤波来平滑。 这里这个算法是Apollo里面的算法,单独拿出来看一下吧。 首先算法是利用最优化的方法来求解的,待优化参数就是所有的离散点(xk,yk),如下图: 设定损失函数为 阅读全文
posted @ 2022-04-30 16:28 Dsp Tian 阅读(1413) 评论(0) 推荐(1) 编辑
摘要:上一篇熟悉了连续系统辨识与响应,这一篇熟悉一下离散系统辨识与响应。 计算机通常处理的系统为离散系统,这里我们先将连续系统转换为离散系统,然后再进行处理。 流程上还是先构造离散系统并根据控制量得到响应,然后用子空间迭代算法(以后会单独实现一次)求出状态空间。 再用识别得到的状态空间和原始控制量生成新的 阅读全文
posted @ 2022-04-30 11:47 Dsp Tian 阅读(787) 评论(0) 推荐(0) 编辑
摘要:在不知道系统模型的情况下,如果想要使用模型的方法控制系统,可以先用系统辨识求得系统的状态空间参数,然后设计控制器。 下面根据已知状态参数设计了一个系统,再利用控制量得到系统响应。 然后结合控制量和系统响应,利用matlab自带的子空间迭代方法辨识得到系统的状态方程。 再比较一下原始响应和辨识结果响应 阅读全文
posted @ 2022-04-17 11:47 Dsp Tian 阅读(609) 评论(0) 推荐(0) 编辑
摘要:对于一组数据,通常可以用多项式来拟合,当然对于有周期规律的数据,我们也可以用傅里叶级数来拟合。 傅里叶级数公式形式如下: 当我们确定好n之后,关键就是求出A0、an、bn和w即可。 由于有待求系数在非线性函数cos和sin中,我们用非线性最优化方法来求解。 matlab代码如下: clear all 阅读全文
posted @ 2022-03-12 18:11 Dsp Tian 阅读(5418) 评论(3) 推荐(1) 编辑

上一页 1 2 3 4 5 6 ··· 15 下一页