%相关法求时差
%s1为采集到的应力为零时的超声波信号,s2为应力作用下的超声波信号
fid=fopen(′d:\data.txt′,′rt′);
s=fscanf(fid,′%f,%f′,[2,inf]);
fclose(fid);
s1=s(1,:);
s2=s(2,:);
figure(1)
subplot(2,1,1);
plot(s1);
subplot(2,1,2);
plot(s2);
[cc,lags]=xcorr(s1,s2);
figure(2);
plot(lags,cc);
%Am为相关函数最大值,Lm为最大值出现的位置,Delay为时差
[Am,Lm]=max(cc);
d=Lm-length(x);
%Fs为采样频率,N为信号采样长度
N=length(s1);
Fs=2.5e9
Delay=d/Fs∗N
%广义相关倒频谱分析求时差
%s1为采集到的应力为零时的超声波信号,s2为应力作用下的超声波信号
fid=fopen(′d:\data.txt′,′rt′);
s=fscanf(fid,′%f,%f′,[2,inf]);
fclose(fid);
s1=s(1,:);
s2=s(2,:);
figure(1)
subplot(2,1,1);
plot(s1);
subplot(2,1,2);
plot(s2);
%广义相关复数倒频谱分析
Z=cceps((s1+s2)./s1);
figure(2);
plot(z);
%超声波信号频谱分析
Fs=2.5e9;
fid=fopen(′d:\data.txt′,′rt′);
s=fscanf(fid,′%f,%f′,[2,inf]);
fclose(fid);
f1=s(2,:);(www.daowen.com)
subplot(2,3,1);
plot(f1);
%进行FFT变换并做频谱图
N=length(f1);
%进行FFT变换
y=fft(f1,N);
%求幅值
mag=abs(y);
%进行对应的频率转换
f=(0:length(y)-1)′∗Fs/length(y);
%做频谱图
Subplot(2,3,2);
plot(f,mag);
xlabel(′频率(Hz)′);
ylabel(′幅值′);
title(′超声波信号幅频谱图N=6000′′);
grid;
%求均方根谱
sq=abs(y);
figure(1);
subplot(2,3,3);
plot(f,sq);
xlabel(′频率(Hz)′);
ylabel(′均方根谱′);
title(′超声波信号均方根谱′);
grid;
%求功率谱
power=sq.^2;
subplot(2,3,4);
plot(f,power);
xlabel(′频率(Hz)′);
ylabel(′功率谱′);
title(′正弦信号y=2∗pi∗10t功率谱′);
grid;
%求对数谱
ln=log(sq);
subplot(2,3,5);
plot(f,ln);
xlabel(′频率(Hz)′);
ylabel(′对数谱′);
title(′超声波信号对数谱′);
grid;
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。