《机械测试信号处理》实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《机械测试信号处理》实验报告
一、 实验目的
1. 掌握数字信号处理的基本方法,设计程序实现信号自相关函数的计算。
2. 巩固数字信号滤波的原理和方法,掌握基本的数字滤波器设计方法。
3. 巩固数字信号滤波的原理和方法,掌握基本的数字滤波器设计方法。
二、 实验内容
1. 设计程序实现给定振动信号自相关函数的计算。
2. 设计滤波程序,并对给定的振动信号进行滤波(低通)。
3. 根据调制信号的解调原理设计数字信号处理程序,任选一种方法实现对给定调幅信
号的解调或调频信号的解调。
三、 实验原理
1. 信号的自相关函数(无偏估计)的算法
1)直接公式法
∑-=+-=m
N n x m n x n x m N R 1)()(1)(τ
2)间接法(谱密度法)
● 先将x(n)(n=1,2,…,N)增加N 个零点,使x(n)变为2N 项
● 用FFT 法求出x(n)( n=1,2,…,2N)傅立叶变换X(k)(k=1,2,…,2N)。
● 利用公式:G(k)=|X(k)|2/N (k=1,2,…,2N)。
● 对G(k)作IFFT ,得Rx0(r)(r=1,2,…,2N)。
● 取Rx0的前一半(即r=1,2,…,N),乘以N/(N-r),得到Rx(n)(n=1,2,…,N)即为所求。
2. 信号数字低通滤波的算法
● 确定相关的参数(通带频率fp ,波动Ap ,阻带频率fs ,阻带衰减As )。
● 将这些参数归一化,然后利用映射函数及相应的Butterworth 公式得到阶数N 和
截至频率Ωc ,然后利用matlab 的buttap 函数得到模拟低通滤波器的原型H(s)。 ● 利用双线性变化得到数字低通H(z),画出相应的频谱图。
● 使用滤波函数filter 进行滤波,并得到滤波信号图。
3. 信号的Hilbert 解调算法
● 对于调幅信号AM 来说,对原始信号x(n)(n=1,2,…,N)作FFT 得到X(k)
(k=1,2,…,N),其中k =N/2,…,N 对应的是负频率部分。
● 令Z(k)=⎪⎩
⎪⎨⎧=-==N N k N k k X k k X ,...,2/012/,...,2,1)(20)(
● 对Z(k)作IFFT ,得到x(n)的解析信号z(n)。
● 对z(n)进行包络处理即可。
● 对于调频信号FM 来说,就是先对其求导,再应用Hilbert 滤波。
四、 实验数据
1. 轴承的振动信号,文件名为A38.Dat 到A4
2.Dat 。数据长度8k ;采样频率20kHz ;
滤波频率10kHz ;转速n=1600 (r/min)。
2. 调频信号,文件明为AM.dat 。数据长度为2048;采样频率为2kHz ;
3. 调频信号,文件明为FM.dat 。数据长度为2048;采样频率为2kHz ;
五、 实验源程序及处理结果
说明:程序使用的语言是matlab ,除滤波器使用了少量的matlab 专用信号处理函数外,其余都是可以稍加改动即可在别的语言环境下实现的。
1. 自相关函数的源程序
两种算法的程序如下:
1)直接公式法
% the auto-correlation function1
% unbiased
function corr(x)
N=length(x);
x=[x.',zeros(1,N)];
Rx=zeros(1,2*N-1);
for m=-(N-1):(N-1)
for n=1:(N-abs(m))
Rx(N+m)=Rx(N+m)+x(n)*x(n+abs(m));
end
Rx(N+m)=Rx(N+m)/(N-abs(m));
end
i=-(N-1):(N-1);
subplot(2,1,1),
plot(x), xlabel('n'),ylabel('原始信号x'),grid on
subplot(2,1,2),plot(i,Rx), xlabel('m'),ylabel('自相关函数Rx'),grid on 2)功率谱密度法(间接法)
% the auto-correlation function2
function corr2(xt)
N=length(xt);
xt=[xt.',zeros(1,N)];
Xf=fft(xt,2*N);
Xf1=abs(Xf);
Xf1=(Xf1.^2)/N;
Rx0=ifft(Xf1,2*N);
Rx1=Rx0(1:N);
for r=0:N-1
Rx(r+1)=Rx1(r+1)*N/(N-r);
end
plot(abs(Rx)), xlabel('m'),ylabel('自相关函数Rx'),grid on
程序结果如下图(仅以数据A38为例):
分析:上图得到的是原始信号和自相关函数(无偏估计)的对照图,是用第一种方法得到的。其中自相关函数是数据长的是原始数据长度的2倍(从-(N-1)到(N-1)),也可以只得到一半的图(0-(N-1)),因为自相关函数本身就是偶函数,第二种方法算的就是一半的图。
2.数字低通滤波的源程序
Lpfilter.m
% filter design