matlab
盐厂的伙计
工控自动化从业者,从事伺服相关的功能开发
展开
-
快速哈特莱变换(FHT)介绍和C语言实现
过年整理资料的时候,发现了之前导师介绍的,一个号称专门针对离散实序列的变换,经分析总运算量为普通FFT的几乎一半(O(nLog(n)),而且完全没有复数。这么强的吗?之前也是一知半解,于是花了一个上午,重新验证了以下,顺便在这里把这个东西稍微普及一下,不知大家是否能用得上...预备知识1. DFT的意义2. FFT实现3. C语言编程原理部分可以参考西电的《数字信号处理》,或者...原创 2020-01-30 14:05:37 · 6622 阅读 · 1 评论 -
FFT原理详解
摘要FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多信号分析采用FFT变换的原因。另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。虽然很多人都知道FFT是什么,可以用来做什么,怎么去做,但是却不知道FFT之后的结果是什意思、如何决定要使用多少点来做FFT。一...原创 2020-01-30 11:00:14 · 8946 阅读 · 0 评论 -
二阶线性微分器的实现
二阶线性微分器的实现1. 经典微分器 y = (v(t)- v(t - T))/T在间隔时间 T很小时,对噪声有放大作用,实际无法应用到任务中。2. 二阶线性微分器3. C程序验证#include <stdio.h>#include <stdlib.h>#include "math.h"#include "stdlib.h"#de...原创 2020-01-17 09:42:25 · 2716 阅读 · 1 评论 -
FFT和功率谱估计
根据帕塞瓦尔定理: 对能量有限的信号,时域内曲线所覆盖的面积等于频域内覆盖的面积,且等于在原点的自相关函数值R(0)。 信号的能量 E = 即功率谱 (能量普密度,能谱)1. 用Fourier变换求取信号的功率谱---周期图法clf;Fs=1000;N=256;Nfft=256;%数据的长度和FFT所用的数据长度n=0:N-1;t=n...翻译 2019-05-18 10:20:49 · 4269 阅读 · 0 评论 -
Simulink S-函数的应用
前言:在实际应用中,通常会发现有些过程用普通的Simulink模块不容易搭建,而Matlab 是函数模块又只能描述静态的非线性函数,即只能描述 y = f(u)形式的非线性环节,不能描述动态的,即含有状态变量的系统模型,这时就需要S-函数格式来描述,可以像标准Simulink模块直接调用,非常灵活。不过S-函数有其固定的格式,且只能在Simulink环境下使用,下面就来探讨如何构建...原创 2019-05-19 11:22:15 · 7079 阅读 · 5 评论 -
S-函数的简单测试
前言实际应用中,发现有些过程用普通的Simulink模块不容易搭建,而MATLAB函数模块和嵌入式MATLAB函数模块又只能描述静态的非线性函数,即y = f(u)形式的非线性环节,不能描述动态的,即含有状态变量的系统模型,这时需要S-函数格式来描述。S-函数可以由MATLAB语言或者C语言编写,构成S-函数模块,这样就可以像标准的Simulink模块那样调用。构造的S-函数,只能基于...原创 2019-04-08 16:31:22 · 1554 阅读 · 1 评论 -
Matlab下 IIR 滤波器实现(Simulink仿真和C语言实现)
经典滤波器和现代滤波器一般滤波器可以分为经典滤波器和现代滤波器。经典滤波器:假定输入信号中的有用成分和希望去除的成分各自占有不同的频带。如果信号和噪声的频谱相互重迭,经典滤波器无能为力。比如 FIR 和 IIR 滤波器等。 现代滤波器:从含有噪声的时间序列中估计出信号的某些特征或信号本身。现代滤波器将信号和噪声都视为随机信号。包括 Wiener Filter、Kalman Fi...翻译 2019-01-15 11:31:25 · 22159 阅读 · 4 评论 -
FDATool设计FIR低通滤波器
(一) 设计一个低通滤波器 采样频率 Fs = 50Hz Fpass = 10Hz Fstop = 20Hz打开matlab,键入fdatool后,会弹出该工具的对话框。然后按照下图设置相关参数,参数列表中的Fs应该是采样频率,Fc是截止频率,即幅频特性曲线-3dB对应的频率。点击“Design Filter”后,幅频特性曲线会被更新。Targe...原创 2018-12-26 12:40:43 · 8174 阅读 · 0 评论 -
非线性跟踪-微分器 仿真应用
非线性微分跟踪器的Matlab仿真非线性跟踪微分器非线性跟踪微分器的一般形式MATLAB仿真离散微分跟踪器的MATLAB仿真仿真 r = 50 T=0.01仿真 r = 10 T=0.01仿真 r = 100 T=0.01 对阶跃信号 10u(t-5)的仿真简单结论非线性跟踪微分器实际工程问题中,测量信号经常不连续或者带随机噪声,需要提取连续信号和微分信号。比如PID调节中,需要由不连续的参考...原创 2018-12-22 11:03:10 · 7887 阅读 · 16 评论 -
传递函数极点和零点的几何表示
1. 系统的极点和零点传递函数为确定重要的系统响应特性提供了不需要求解完整的微分方程的理论。 复数 s = ρ + jω可以写成z1 z2...zm 为零点 H(s) -> 0p1 p2 ...pn为极点 H(s) - > ∞example1:传递函数为 2 s + 1H(s) = ----------...翻译 2018-11-17 12:03:03 · 19974 阅读 · 2 评论 -
S域到Z域变换和差分方程
1.s域的传递函数G(s) = 2 / (1500s + 1) * exp(-100s)matlab 里面的命令是sys = tf(2,[1500,1],'inputdelay',100)得到 2 exp(-100*s) * ---------- 1500 s + 12.求...原创 2018-11-16 17:20:18 · 16654 阅读 · 2 评论 -
Matlab 的几种曲线的绘制方法
Matlab除了强大的矩阵运算,仿真分析外,绘图功能也是相当的强大,静态画图没什么问题,由于Matlab本身的多线程编程缺陷,想要动态的画图,并且能够很好的在GUI中得到控制,还不是一件很容易的事情,下面总结几种方法。 一. AXIS 移动坐标系 这种方法是最简单的一种方法,适合于数据已经全部生成的场合,先画图,然后移动坐标轴。实例代码如下:%%%先画好,然后更改坐标系%在命令行中 使用 ...转载 2018-10-31 11:12:02 · 18693 阅读 · 0 评论