华工DSP实验2课件.docx
《华工DSP实验2课件.docx》由会员分享,可在线阅读,更多相关《华工DSP实验2课件.docx(18页珍藏版)》请在冰点文库上搜索。
华工DSP实验2课件
实验二加速度信号的处理
------黄晓荣13电联
------201330260151
注:
本实验所用的数据为junpData
一、Questionone
1.1、问题描述
读出给定的3D加速度信号,并分别画出三个轴的信号波形;
1.2、实验代码
clc
tt=fopen('h:
\jumpData.txt');
var=textscan(tt,'%f%f%f','delimiter',',');
data=cell2mat(var);
a=size(data);
figure
(1)
subplot(3,1,1);
plot(1:
a
(1),data(:
1))
xlabel('theoriginalsignalinx-ray');
subplot(3,1,2);
plot(1:
a
(1),data(:
2))
xlabel('theoriginalsignaliny-ray');
subplot(3,1,3);
plot(1:
a
(1),data(:
3))
xlabel('theoriginalsignalinz-ray');
1.3、实验结果
1.4、结果分析
可以看出,三个轴线的采集数据很凌乱,基本看不出什么区别,因此需要后续的数据预处理
二、Questiontwo
2.1、问题描述
用M点(M分别取值3、5、8)滑动平均滤波器对输入的3D加速度信号进行滤波,绘出滤波后信号的波形;观察并分析M值对输出波形的影响;并绘出该滑动滤波器传输函数的零极点图;
2.2、实验代码
%windowSize=3
figure
(2)
windowSize=3;
winData3=filter(ones(1,windowSize)/windowSize,1,data);
subplot(3,1,1);
plot(1:
a
(1),winData3(:
1))
subplot(3,1,2);
plot(1:
a
(1),winData3(:
2))
subplot(3,1,3);
plot(1:
a
(1),winData3(:
3))
xlabel('thelengthofwindow=3')
%windowSize=5
figure(3)
windowSize=5;
winData5=filter(ones(1,windowSize)/windowSize,1,data);
subplot(3,1,1);
plot(1:
a
(1),winData5(:
1))
subplot(3,1,2);
plot(1:
a
(1),winData5(:
2))
subplot(3,1,3);
plot(1:
a
(1),winData5(:
3))
xlabel('thelengthofwindow=5')
%windowSize=8
figure(4)
windowSize=8;
winData8=filter(ones(1,windowSize)/windowSize,1,data);
subplot(3,1,1);
plot(1:
a
(1),winData8(:
1))
subplot(3,1,2);
plot(1:
a
(1),winData8(:
2))
subplot(3,1,3);
plot(1:
a
(1),winData8(:
3))
xlabel('thelengthofwindow=8')
2.3、实验结果
M=3的结果
M=5的结果
M=8的结果
2.4、结果分析
可以看出,随着滑动平均滤波器的M的取值增大,信号的平滑性就越好,但是也会损失的细节信息;
三、Questiontwo
3.1、问题描述
对输入的3D加速度信号进行高斯滤波(窗长取32,参数取2.25)和幅度归一化处理,绘出处理后的信号ax[n],ay[n]和az[n]的波形;
3.2、实验代码
%GuasFilter
figure(5)
sigma=2.25;
gausFilter=fspecial('gaussian',32,sigma);
guasData=imfilter(data,gausFilter,'replicate');
subplot(3,1,1);
[a1,p1]=mapminmax(guasData(:
1)');
plot(1:
a
(1),a1)
subplot(3,1,2);
[a2,p2]=mapminmax(guasData(:
2)');
plot(1:
a
(1),a2)
subplot(3,1,3);
[a3,p3]=mapminmax(guasData(:
3)');
plot(1:
a
(1),a3)
xlabel('afterGuasprocess')
3.3、实验结果
经过高斯滤波后的结果
原始信号x-ray上的部分截取
经过高斯滤波后x-ray上的部分截取
3.4、结果分析
高斯滤波器,主要用户滤除高斯噪声,主要通过对相邻的采样点的值进行加权平均来代替当前采样点的值
可以看出,对于x-ray,原始信号存在许多的高斯噪声,但是经过高斯滤波后,高斯噪声明显减少,但是y-ray和z-ray的滤波效果不是很明显
四、Questiontwo
4.1、问题描述
对信号ax[n],ay[n]和az[n]进行加窗操作(窗长取为512),然后分别计算一个窗长内的均值,方差,能量,和互相关系数;
4.2、实验代码
%加窗截短
figure(6)
subplot(3,1,1);
winData1=data(1000:
1511,1);
plot(1:
512,winData1)
subplot(3,1,2);
winData2=data(1000:
1511,2);
plot(1:
512,winData2)
subplot(3,1,3);
winData3=data(1000:
1511,3);
plot(1:
512,winData3)
xlabel('afterwindowprocess')
mean(winData1(:
1));
mean(winData2(:
1));
mean(winData3(:
1));
std(winData1,0,1);
std(winData2,0,1);
std(winData3,0,1);
sum(winData1.^2);
sum(winData2.^2);
sum(winData3.^2);
%thexcorrprocess
figure(7)
subplot(3,1,1);
[a,b]=xcorr(winData1,winData2);
plot(b,a)
xlabel('xcorrofX&Y');
subplot(3,1,2);
[a,b]=xcorr(winData2,winData3);
plot(b,a)
xlabel('xcorrofY&Z');
subplot(3,1,3);
[a,b]=xcorr(winData1,winData3);
plot(b,a)
xlabel('xcorrofX&Z');
4.3、实验结果
加窗后的实验结果,windowSize=512
互相关的图像
x-ray
y-ray
z-ray
Mean
129.5996
151.1250
122.8184
Standarddeviation
7.3032
38.0010
9.7030
Energy
8626837
12431371
7771297
Statisticsdata
4.4、结果分析
经过信号截短(加窗)后,可以明显的看出信号本身是存在规律的,如y-ray的信号每经过50个采样点(0.5秒)就有一个峰值,类似于周期信号,可能相当于人们迈脚向前跑的那一瞬间,向前(y-ray)的加速度最大,然后衰减
于此同时,在迈脚的一瞬间,z-ray(重心方向)的加速度会减小,因为人向前迈步也有一个向上的加速度会抵消重力加速度;
从数据上看,y-ray的方差也相对比较大,说明在y-ray上的加速度变化比较大,这与人跑步时的情况类似;
五、Questiontwo
5.1、问题描述
绘出上述处理前后3D加速度信号的频谱特性,分析处理前后频率特性的变化。
(已知采样率为100hz)
5.2、实验代码
%thespretrumoftheoriginalsignal
fs=100;
N=1024;
figure(8)
y1=fft(data(:
1),N);
f=(1:
length(y1)-1)*fs/length(y1);
plot(f,abs(y1(2:
length(y1))));
xlabel('originalsignal:
thespetrumofx-ray');
figure(9)
y2=fft(data(:
2),N);
plot(f,abs(y2(2:
length(y2))));
xlabel('originalsignal:
thespetrumofx-ray');
figure(10)
y3=fft(data(:
3),N);
plot(f,abs(y3(2:
length(y3))));
xlabel('originalsignal:
thespetrumofx-ray');
%thespretrumofthesignalafteravgfilter
fs=100;
N=1024;
figure(11)
y1=fft(avgData3(:
1),N);
f=(1:
length(y1)-1)*fs/length(y1);
plot(f,abs(y1(2:
length(y1))));
xlabel('afteravgfilter:
thespetrumofx-ray');
figure(12)
y2=fft(avgData3(:
2),N);
plot(f,abs(y2(2:
length(y2))));
xlabel('afteravgfilter:
thespetrumofy-ray')
figure(13)
y3=fft(avgData3(:
3),N);
plot(f,abs(y3(2:
length(y3))));
xlabel('afteravgfilter:
thespetrumofz-ray')
5.3、实验结果
x-ray的比较
y-ray的比较
z-ray的比较
5.4、结果分析
经过均值滤波器主要是减少了一些噪声,比较明显的是中频的部分
比较明显的高斯滤波器,极大地减少了x-ray、y-ray、z-ray的噪声