基于matlab的信号处理实例说明书.docx

上传人:h**** 文档编号:140581 上传时间:2018-07-10 格式:DOCX 页数:11 大小:140.82KB
下载 相关 举报
基于matlab的信号处理实例说明书.docx_第1页
第1页 / 共11页
基于matlab的信号处理实例说明书.docx_第2页
第2页 / 共11页
基于matlab的信号处理实例说明书.docx_第3页
第3页 / 共11页
基于matlab的信号处理实例说明书.docx_第4页
第4页 / 共11页
基于matlab的信号处理实例说明书.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、2011 级信息工程 基于 matlab 的信号处理实例 键入作者姓名 2013/5/23 洗手 洗手 1 洗手 基于 matlab 的信号处理实例 洗手 一 .实验过程 洗手 1.读取给定的 3D加速度信号文件 , 吃饭绘出信号波形 .洗手 实验代码 1: beefsignalsplot.m 洗手 function x,y,z=signalsplot(filename)洗手 fid=fopen(filename,r);beef洗手 a=fscanf(fid,%d,%d,%dn);beef%将文件中的数据读进来 , 吃饭 并将其赋给 a 洗手 fclose(fid);beef洗手 len=le

2、ngth(a)/3;beef%确定循环的总次数 洗手 k=1;beef洗手 for i=1:len 洗手 x(i)=a(k);beef %将 a 中的第一列数据赋给 x 洗手 y(i)=a(k+1);beef %将 a 中的第二列数据赋给 y 洗手 z(i)=a(k+2);beef %将 a 中的第三列数据赋给 z 洗手 k=k+3;beef洗手 end 洗手 figure(1)洗手 subplot(3,1,1);beef洗手 plot(x,r),xlabel(n),ylabel(x);beef洗手 title(读取给定的 3D 加速度信号文件并绘出信号波形 );beef洗手 subplot(

3、3,1,2);beef洗手 plot(y,g),xlabel(n),ylabel(y);beef洗手 subplot(3,1,3);beef洗手 plot(z,b),xlabel(n),ylabel(z);beef洗手 函数调用 1: beef signalsplot(C:UsersadminDesktop基于 matlab 的信号处理实例 run 100m_TROUSERS POCKET_1_陈佳 _1.txt)洗手 实验结果 1: beef洗手 2 洗手 2. 将读出的 3D 加速度信号分解为偶序列及奇序列 , 吃饭 分别绘出波形 ;b e ef绘出偶序列及奇序列的和信号 、 beef差信

4、号及积信号的波形 。 洗手 洗手 实验代码 2: beefoddandeven.m 洗手 %将读出的 3D 加速度信号分解为偶序列及奇序列 , 吃饭 分别绘出波形 ; bef洗手 %绘出偶序列及奇序列的和信号 、 beef差信号及积信号的波形 洗手 function oddandeven(filename)洗手 fid = fopen(filename,r);beef洗手 a=fscanf(fid,%d,%d,%dn);beef%将文件中的数据读进来 , 吃饭 并将其赋给 a 洗手 fclose(fid);beef洗手 len=length(a)/3;beef%确定循环的总次数 洗手 k=1;

5、beef洗手 for i=1:len 洗手 x(i)=a(k);beef %将 a 中的第一列数据赋给 x 洗手 y(i)=a(k+1);beef %将 a 中的第二列数据赋给 y 洗手 z(i)=a(k+2);beef %将 a 中的第三列数据赋给 z 洗手 k=k+3;beef洗手 end 洗手 x1=fliplr(x);beef%将 x 进行反转 洗手 y1=fliplr(y);beef%将 y 进行反转 洗手 z1=fliplr(z);beef%将 z 进行反转 洗手 0 500 1000 1500 2000 2500 3000 35000100200nx读取给定的 3D 加速度信号文

6、件并绘出信号波形0 500 1000 1500 2000 2500 3000 35000200400ny0 500 1000 1500 2000 2500 3000 35000200400nz3 t=-len:-1 1:len;beef%给出横坐标的范围 , 吃饭 使之匹配 洗手 X1=1/2.*x1,x;beef%求 x 的偶部 洗手 Y1=1/2.*y1,y;beef%求 y 的偶部 洗手 Z1=1/2.*z1,z;beef%求 z 的偶部 洗手 figure(2)洗手 subplot(3,1,1);beef洗手 plot(t,X1,r);beefxlabel(t),ylabel(Evex

7、n);beef洗手 title(3D 信号的偶信号 );beef洗手 subplot(3,1,2);beef洗手 plot(t,Y1,g);beefxlabel(t),ylabel(Eveyn);beef洗手 subplot(3,1,3);beef洗手 plot(t,Z1,b);beefxlabel(t),ylabel(Evezn);beef洗手 X2=1/2.*-x1,x;beef%求 x 的奇部 洗手 Y2=1/2.*-y1,y;beef%求 y 的奇部 洗手 Z2=1/2.*-z1,z;beef%求 z 的奇部 洗手 figure(3)洗手 subplot(3,1,1);beef洗手 p

8、lot(t,X2,r);beefxlabel(t),ylabel(Oddxn);beef洗手 title(3D 信号的奇信号 );beef洗手 subplot(3,1,2)洗手 plot(t,Y2,g);beefxlabel(t),ylabel(Oddyn);beef洗手 subplot(3,1,3);beef洗手 plot(t,Z2,b);beefxlabel(t),ylabel(Oddzn);beef洗手 a1=X1+X2;beef%x 的奇部与偶部之和 洗手 a2=Y1+Y2;beef%y 的奇部与偶部之和 洗手 a3=Z1+Z2;beef%z 的奇部与偶部之和 洗手 figure(4)

9、洗手 subplot(3,1,1);beef洗手 plot(t,a1,r);beefxlabel(t),ylabel(sumxn);beef洗手 title(奇信号与偶信号的和信号 );beef洗手 subplot(3,1,2)洗手 plot(t,a2,g);beefxlabel(t),ylabel(sumyn);beef洗手 subplot(3,1,3);beef洗手 plot(t,a3,b);beefxlabel(t),ylabel(sumzn);beef洗手 s1=X1-X2;beef%x 的奇部与偶部之差 洗手 s2=Y1-Y2;beef%y 的奇部与偶部之差 洗手 s3=Z1-Z2;

10、beef%z 的奇部与偶部之差 洗手 figure(5)洗手 subplot(3,1,1);beef洗手 plot(t,s1,r);beefxlabel(t),ylabel(decxn);beef洗手 title(奇信号与偶信号的差信号 );beef洗手 subplot(3,1,2)洗手 plot(t,s2,g);beefxlabel(t),ylabel(decyn);beef洗手 subplot(3,1,3);beef洗手 4 plot(t,s3,b);beefxlabel(t),ylabel(deczn);beef洗手 m1=X1.*X2;beef%x 的奇部与偶部之积 洗手 m2=Y1.

11、*Y2;beef%y 的奇部与偶部之积 洗手 m3=Z1.*Z2;beef%z 的奇部与偶部之积 洗手 figure(5)洗手 subplot(3,1,1);beef洗手 plot(t,m1,r);beefxlabel(t),ylabel(mulxn);beef洗手 title(奇信号与偶信号的积信号 );beef洗手 subplot(3,1,2)洗手 plot(t,m2,g);beefxlabel(t),ylabel(mulyn);beef洗手 subplot(3,1,3);beef洗手 plot(t,m3,b);beefxlabel(t),ylabel(mulzn);beef洗手 函数调用

12、 2: beef oddandeven(C:UsersadminDesktop基于 matlab 的信号处理实例run 100m_TROUSERS POCKET_1_陈佳 _1.txt)洗手 实验结果 2: beef洗手 洗手 - 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 4000050100tEvexn3D 信号的偶信号- 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 40000100200tEveyn- 4 0 0 0 - 3 0 0 0 - 2 0 0 0

13、- 1 0 0 0 0 1000 2000 3000 40000100200tEvezn5 - 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 4000- 1 0 00100tOddxn3D 信号的奇信号- 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 4000- 2 0 00200tOddyn- 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 4000- 2 0 00200tOddzn- 4 0 0 0 -

14、 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 40000100200tsumxn奇信号与偶信号的和信号- 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 40000200400tsumyn- 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 40000200400tsumzn6 洗手 3.画出 M 点滑动平均滤波器的波形( M 分别取 4 和 10) 。 洗手 洗手 注 : b efM 点滑动平均滤波器 : beef洗手 - 4

15、 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 40000100200tdecxn奇信号与偶信号的差信号- 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 40000200400tdecyn- 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 40000200400tdeczn- 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 4000-101x 1 0

16、4tmulxn奇信号与偶信号的积信号- 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 4000-202x 1 04tmulyn- 4 0 0 0 - 3 0 0 0 - 2 0 0 0 - 1 0 0 0 0 1000 2000 3000 4000-202x 1 04tmulzn 10 1 Mk knxMny7 实验代码 3: beefthe_filter.m 洗手 function h=the_filter(m)%画出 M 点滑动平均滤波器的波形 洗手 a=(1/m).*ones(1,m);beef%x 的系数 洗手 b=1,0

17、,0;beef %y 的系数 洗手 h=impz(a,b,20);beef %求系统的单位冲激响应 洗手 figure(7)洗手 stem(h,y,filled);beef %将单位冲激响应画出 洗手 xlabel(n),ylabel(hn);beef洗手 title(M 点的滑动平均滤波器的单位冲激响应图 );beef洗手 函数调用 3.1: beefthe_filter(4)洗手 实验结果 3.1: beef洗手 洗手 函数调用 3.2: beefthe_filter(10)洗手 实验结果 3.2 洗手 0 2 4 6 8 10 12 14 16 18 2000 . 0 50 . 10 .

18、 1 50 . 20 . 2 5nhnM 点的滑动平均滤波器的单位冲激响应图8 洗手 4.用上述滑动平均滤波器对输入的 3D 加速度信号进行滤波 , 吃饭 同时绘出输入及输出信号波形 ; beef观察分析输出波形的变化 。 洗手 洗手 实验代码 4: beefsmooth.m 洗手 function smooth(m)%用滑动平均滤波器对输入的 3D 加速度信号进行滤波 洗手 h=the_filter(m);beef洗手 x,y,z=signalsplot(C:UsersadminDesktop 基于 matlab 的 信 号 处 理 实 例 run 100m_TROUSERS POCKET_

19、1_陈佳 _1.txt)洗手 figure(8);beef洗手 f1=conv(x,h);beef%用滑动平均滤波器对输入的 3D 加速度信号 x 进行滤波 洗手 subplot(3,1,1);beef洗手 plot(f1,g);beefxlabel(n),ylabel(f1=x*h);beef洗手 title(3D 加速度信号通过滤波器后的信号图形 );beef洗手 f2=conv(y,h);beef%用滑动平均滤波器对输入的 3D 加速度信号 y 进行滤波 洗手 subplot(3,1,2);beef洗手 plot(f2,r);beefxlabel(n),ylabel(f2=y*h);be

20、ef洗手 f3=conv(z,h);beef%用滑动平均滤波器对输入的 3D 加速度信号 z 进行滤波 洗手 subplot(3,1,3);beef洗手 plot(f3,b);beefxlabel(n),ylabel(f3=z*h);beef洗手 函数调用 4.1: beefsmooth( 4) 洗手 0 2 4 6 8 10 12 14 16 18 2000 . 0 10 . 0 20 . 0 30 . 0 40 . 0 50 . 0 60 . 0 70 . 0 80 . 0 90 . 1nhnM 点的滑动平均滤波器的单位冲激响应图9 实验结果 4.1: beef洗手 洗手 函数调用 4.2: beefsmooth( 10) 洗手 实验结果 4.2: beef洗手 0 500 1000 1500 2000 2500 3000 35000100200nf1=x*h3D 加速度信号通过滤波器后的信号图形0 500 1000 1500 2000 2500 3000 35000200400nf2=y*h0 500 1000 1500 2000 2500 3000 35000100200nf3=z*h

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。