欢迎使用CSDN-markdown编辑器
来源:互联网 发布:腾达路由器mac怎么改 编辑:程序博客网 时间:2024/06/08 14:20
单元测试
APstack
#include <stdio.h>#define APstacksize 10 //stack size 和滤波时间要不要关联起来typedef unsigned int Uint32;typedef unsigned short int Uint16;//要求一段时间的变化量,还是必须有个栈能保存这段时间的样本的//需要自己内部构造一个采样器typedef struct{ Uint16 samplefreq; //采样频率 Uint16 sample; Uint16 samplepre; //上一次采样值 Uint16 DeltaSamplePst; //每两次采样间隔样本变化量 Uint16 DeltaSampleAT; Uint16 samplefiltered; Uint16 filterTime; //数据量累计的时间}ST_lpf;Uint16 samplestack[APstacksize];Uint16 p21st,p2last;void lpfinit(ST_lpf *lpf,Uint16 frq,Uint16 T); void AimposLpf(ST_lpf *lpf); int main(void) { static stackfullflag; static ST_lpf stlpf_Aimpos; Uint16 runtime; Uint16 Tperiod = 0; Uint16 Tcount = 0; Uint16 filtereddata[100]; stackfullflag = 0; lpfinit(&stlpf_Aimpos,2,5); Tperiod = 20*stlpf_Aimpos.samplefreq; for(runtime=0;runtime<100;runtime++) { if(0 == runtime%stlpf_Aimpos.samplefreq) { Tcount++; if(Tcount >= APstacksize-1) { Tcount = APstacksize-1; } stlpf_Aimpos.samplepre = stlpf_Aimpos.sample; stlpf_Aimpos.sample = runtime<<3; stlpf_Aimpos.DeltaSamplePst = stlpf_Aimpos.sample - stlpf_Aimpos.samplepre; samplestack[p2last] = stlpf_Aimpos.sample; stlpf_Aimpos.DeltaSampleAT = samplestack[p2last]-samplestack[p21st]; stlpf_Aimpos.DeltaSamplePst = stlpf_Aimpos.DeltaSampleAT*100/Tperiod; filtereddata[runtime] = stlpf_Aimpos.samplefiltered; // printf("%d %d %d %d\n", stlpf_Aimpos.sample,p21st,p2last,samplestack[p2last]); printf("%d %d %d %d %d %d\n", runtime,samplestack[p2last],samplestack[p21st],stlpf_Aimpos.DeltaSampleAT,stlpf_Aimpos.DeltaSamplePst,stlpf_Aimpos.samplefiltered); p2last++; if(p2last < APstacksize - 1 && Tcount >= APstacksize-1 ) //注意与matlab的区别 { p21st = p2last+1; } else if(p2last == APstacksize - 1) { p21st = 0; } else if(p2last > APstacksize - 1) { p2last = 0; p21st = p2last+1; } } AimposLpf(&stlpf_Aimpos); } return 0;}void lpfinit(ST_lpf *lpf,Uint16 frq,Uint16 T){ lpf->samplefreq = frq; lpf->sample = 0; lpf->samplepre = 0; lpf->DeltaSamplePst = 0; lpf->DeltaSampleAT=0; lpf->samplefiltered = 0; lpf->filterTime = T;}void AimposLpf(ST_lpf *lpf){ lpf->samplefiltered = lpf->samplefiltered + lpf->DeltaSamplePst;}
阅读全文
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 计蒜客————跳跃游戏二
- 3、JACK Audio Connect Kit低延迟音频服务——Qjackctl基本设置
- 20171018
- HDU3572(最大流)
- 2017.10.16一试
- 欢迎使用CSDN-markdown编辑器
- js的缓冲运动
- 复合优先于继承。
- 1065. A+B and C (64bit) (20)
- 网络流二十四题之一 飞行员配对问题
- 计算圆的面积和周长
- 翻转链表
- 基于JSP实现字母+数字随机验证码
- 使用多点触控 实现图片的缩放和移动