数字信号处理算法
偏执灬
原创博客虽有所摘录,但都是从零开始的自学笔记,有事请联系邮箱,[email protected]
展开
-
算法学习笔记之快速排序
快速排序的基本步骤是什么: 1、 判断输入参数的合法性 2、把数组的第一个数据作为比较的中轴数,比该数据小的数据排列在左边,比该数据大的数据排列在右边 3、按照(2)的方法分别对左边的数组和右边的数据进行和(2)一样的数据排列 那么实际编写代码中,应该怎么做呢? a)首先,判断数据的合法性?[cpp] v转载 2016-09-11 10:30:04 · 451 阅读 · 0 评论 -
基于matlab对ECG信号进行滤波处理
由单片机采集心率数据,截取部分数据处理如下 :前提:根据采样定理,心率信号采样频率为50hz (大于心率的频率两倍),得带数据信号数据源“B.TXT”文件。1. 原始数据的采集截取有效部分分析。2.数据滤波(50Hz的工频干扰以及放大器本身的漂移),要根据频谱具体分析3.FDA数字滤波器设计,相应系数的得到(本设计2.5HZ滤波高通滤波器 )4.滤波数据的显示PS:虽然滤原创 2016-12-22 10:07:12 · 21859 阅读 · 7 评论 -
基于matlab仿真对卡尔曼滤波的理解
clearclc;N = 200; t = 1:N;w = randn(1,N); %噪声wx(1) = 0;for i = 2:Nx(i) = x(i-1)+w(i-1); endsubplot(311);plot(t,x); %输出带噪声函数xlabel('原始数据');v = randn(1,N);原创 2016-12-22 16:25:58 · 6885 阅读 · 1 评论 -
算法学习笔记之50HZ陷波滤波器设计
工频干扰是由电力系统引起的一种干扰,中国大陆地区由50hz及其谐波构成的一种干扰,幅值约为ECG(心电信号的50%)。 工频干扰可以用陷波器进行处理,过滤50hz信号。常用的工频陷波器主要有IIR和FIR两种,其中FIR具有良好的线性相位,但是在同等滤波效果的情况下,IIR的阶数要比FIR少很多,一个两阶的IIR滤波器的效果FIR要付出100多阶的代价,阶数大意味着转载 2016-11-16 18:01:26 · 38170 阅读 · 4 评论 -
基于matlab的快速傅里叶(fft)变换以及滤波设计
用信号发生器设计一个如下信号,信号为 :y=1.5+sin(2*pi*5*x). 信号频率为5hz 采样频率为50hz,采样点数L(L=length(A) ) ,将采用数据保存为txt文件。下面是基于matlab的数据分析clc;clear all;A=importdata('b.txt') ;L=length(A);figuresubplot(311)plot(原创 2016-10-29 17:43:35 · 12351 阅读 · 0 评论 -
matlab之串口数据采集绘图
实现数据显示绘图功能,使用M脚本文件和M函数文件。第一个文件连接串口和打开串口,设置了串口的一些参数和触发事件。连接串口COM3。第二个文件是回调函数,相当于其他语言中例如C语言的中断函数第一个文件uart_demo.m%% clc; global t; global x; global m; global ii; t = [0];原创 2016-09-30 11:43:19 · 19560 阅读 · 6 评论 -
算法学习笔记之均值滤波法
这是一简单的嵌入式均值滤波法 ,合适特定长度的数据,滤波窗口大小为10(这个更具实际效果确定)。#define FIR_SMOOTH_INTERVAL (10)static void FIRProcess(unsigned short *InData, unsigned short length, unsigned short *OutData){ unsigned int sum原创 2016-11-03 19:29:11 · 3562 阅读 · 0 评论 -
算法学习笔记之深入浅出的傅立叶变换图文讲解分析
12345678910作 者:韩 昊知 乎:Heinrich微 博:@花生油工人知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。 转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。我保证这篇文章转载 2016-10-25 09:54:14 · 1683 阅读 · 2 评论 -
算法学习笔记之matlab安装教程
1、下载matlabhttp://www.xp510.com/xiazai/Application/program/23754.html2、解压3、安装4、安装序列号5、基本默认安装即可 激活(一定先去掉选中项),再点击完成6、替换破解版文件7、发现可以打开应用,再点击激活输入密钥文件即可 重启运行注原创 2016-09-27 23:01:50 · 1287 阅读 · 0 评论 -
算法学习笔记之一阶低通滤波算法
1. 一阶滤波算法的原理一阶滤波,又叫一阶惯性滤波,或一阶低通滤波。是使用软件编程实现普通硬件RC低通滤波器的功能。一阶低通滤波的算法公式为: Y(n)=αX(n) (1-α)Y(n-1) 式中:α=滤波系数;X(n)=本次采样值;Y(n-1)=上次滤波输出值;Y(n)=本次滤波输出值。一阶低通滤波法采用本次采样值与原创 2016-09-27 11:29:13 · 92595 阅读 · 17 评论 -
嵌入式算法之查表法的应用
今天就说一说查表法,如果在程序中运用查表法,不论多么复杂的程序,只要符合一张表,那都可以实现,非常简单,体力活而已,接下来看看下面这个程序,对上面这个进行操作吧。#include #include //这里的行可以自由写,这样就不受限制,想做出什么样的效果都可以。int array[][10] = { 0x03,0x00,0x00,0x00,0x00,//第一列 0x00,0转载 2016-10-22 12:21:05 · 3274 阅读 · 0 评论 -
算法学习笔记之滑动平均滤波算法
滑动平均滤波算法只采样一次,将一次采样值和过去的若干次采样值一起求平均,得到的有效采样值即可投入使用。如果取N个采样值求平均,存储区中必须开辟N个数据的暂存区。每新采集一个数据便存入暂存区中,同时去掉一个最老数据,保存这N个数据始终是最新更新的数据。采用环型队列结构可以方便地实现这种数据存放方式。程序代码如下:char value_buff[N]; ...原创 2016-09-26 18:02:14 · 54452 阅读 · 5 评论 -
算法学习笔记之卡尔曼滤波算法理解
假如我们要估算k时刻的是实际温度值。首先你要根据k-1时刻的温度(前一时刻得到温度预测最优值),来预测k时刻的温度。 第一步:如果按照惯性,你相信温度是恒定的,所以你会得到k时刻的温度预测值是跟k-1时刻一样的,假设是23度,同时该值的高斯噪声(过程噪声)的偏差是5度(5是这样得到的:如果k-1时刻估算出的最优温度值的偏差是3,你对自己预测的不确定度是4度,他们平方相加再开方,就是5原创 2016-10-08 21:25:40 · 4561 阅读 · 0 评论 -
算法学习笔记之图解冒泡法
【1】冒泡排序理论(1)基本概念由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。冒泡排序的时间复杂度为O(n*n)。冒泡排序具有稳定性(参见随笔《常用排序算法稳定性分析》)。(2)逻辑分析依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后转载 2016-09-11 11:08:54 · 668 阅读 · 0 评论 -
基于matlab程序对PID控制算法的理解
%设一被控对象G(s)=50/(0.125s^2+7s),%用增量式PID控制算法编写仿真程序%(输入分别为单位阶跃、正弦信号,采样时间为1ms,控制器输出限幅:[-5,5],% 仿真曲线包括系统输出及误差曲线,并加上注释、图例)。clear all;close all; ts=0.001; %采样时间sys=tf(50,[0.125,7, 0])原创 2016-12-23 11:57:23 · 78612 阅读 · 15 评论