华南理工大学信号与系统实验基于Matlab的信号处理实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2讲基于Matlab的信号处理实例实验内容(1)

(1) 读取给定的3D加速度信号文件,绘出信号波形;

程序源代码:

function sy2

fid = fopen('run 100m_TROUSERS POCKET_1_陈佳_1.txt','r');

a=fscanf(fid,'%d,%d,%d\n');

fclose(fid);

len=length(a)/3;

k=1;

for i=1:len

x(i)=a(k);

y(i)=a(k+1);

z(i)=a(k+2);

k=k+3;

end

subplot(3,1,1);

plot(x(1:700),'g','LineWidth',3);

grid on; %标示格子

xlabel('n'),ylabel('x');%标示坐标

legend('x(i)'); %标示名称

subplot(3,1,2);

plot(y(300:700),'m','LineWidth',3)

grid on; %标示格子

xlabel('n'),ylabel('y');%标示坐标

legend('y(i)'); %标示名称

subplot(3,1,3);

plot(z(300:700),'b','LineWidth',3);

grid on; %标示格子

xlabel('n'),ylabel('z');%标示坐标

legend('z(i)'); %标示名称

执行结果如下所示:

100

200

300

400500600700

050100150200

n

x

x(i)

50

100

150

200

250300350400450

50100150200250

n

y

y(i)

50100150200

250300350400450

0100200

300

n

z

z(i)

(2) 将读出的3D 加速度信号分解为偶序列及奇序列,分别绘出波形;绘出偶序列及奇序列的和信号、差信号及积信号的波形;

a.分解为偶序列及奇序列,分别绘出波形: 程序源代码:

function sy2oe

fid = fopen('run 100m_TROUSERS POCKET_1_陈佳_1.txt','r'); a=fscanf(fid,'%d,%d,%d\n'); fclose(fid);

len=length(a)/3; k=1;

for i=1:len x(i)=a(k); y(i)=a(k+1);

z(i)=a(k+2);

k=k+3;

end

x0=[zeros(1,len-1),x];%x前面补0

x1=fliplr(x0);%x1即是反转的x0

ex=(x1+x0)/2;%x的偶部

ox=-(x1-x0)/2;%x的奇部

y0=[zeros(1,len-1),y];

y1=fliplr(y0);

ey=(y1+y0)/2;

oy=-(y1-y0)/2;

z0=[zeros(1,len-1),z];

z1=fliplr(z0);

ez=(z1+z0)/2;

oz=-(z1-z0)/2;

subplot(3,2,1);

plot([-len+1:len-1],ex ,'g','LineWidth',3); grid on; %标示格子

xlabel('n'),ylabel('x');%标示坐标

legend('ex(i)'); %标示名称

subplot(3,2,3);

plot([-len+1:len-1],ey,'m','LineWidth',3) grid on; %标示格子

xlabel('n'),ylabel('y');%标示坐标

legend('ey(i)'); %标示名称

subplot(3,2,5);

plot([-len+1:len-1],ez,'b','LineWidth',3); grid on; %标示格子

xlabel('n'),ylabel('z');%标示坐标

legend('ez(i)'); %标示名称

subplot(3,2,2);

plot([-len+1:len-1],ox,'g','LineWidth',3); grid on; %标示格子

xlabel('n'),ylabel('x');%标示坐标

legend('ox(i)'); %标示名称

subplot(3,2,4);

plot([-len+1:len-1],oy,'m','LineWidth',3) grid on; %标示格子

xlabel('n'),ylabel('y');%标示坐标

legend('oy(i)'); %标示名称

subplot(3,2,6);

plot([-len+1:len-1],oz,'b','LineWidth',3); grid on; %标示格子

xlabel('n'),ylabel('z');%标示坐标

相关文档
最新文档