⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fenbiexiangguan.m

📁 时差法在超声波测量流量中的应用程序,原吗利用相关法求得时差
💻 M
字号:
%产生CW脉冲信号模型
clc
clf
f=4*10^6;      %信号频率
T=1/f;         %信号周期
Fs=10*f;       %10倍采样
Ts=1/Fs;
P=30;
time=(0:P*T*Fs)/Fs;
N=length(time);
var=sqrt(1/exp(1.0));
noise=var*rand(1,N);
signal=2*sin(2*pi*f*time);
%signal=2*signal.*hanning(N)';
subplot(331)
plot(time,signal);grid
axis([0 10*10^-6 -3 3])

%理想时系统参数
v=0.003;
c=1500;
d=0.15;
tans_time1=d/(c+v)  %顺流时间延迟
tans_time2=d/(c-v)  %逆流时间延迟

%顺流接收信号

signal_1=2*sin(2*pi*f*(time-tans_time1))+noise;
[b,a]=fir1(32,[0.19 0.21]);
signal_1=filter(b,a,signal_1);
subplot(332)
plot(time,signal_1);grid
axis([0 10*10^-6 -3 3])

%逆流接收信号

signal_2=2*sin(2*pi*f*(time+tans_time2))+noise;
[b,a]=fir1(32,[0.19 0.21]);
signal_2=filter(b,a,signal_2);

subplot(333)
plot(time,signal_2);grid
axis([0 10*10^-6 -3 3])

%插值求相关
B=100;                         %250倍插值
tt=(0:B*P*T*Fs)/(B*Fs);       %插枝点


xx=interp1(time,signal,tt,'cubic');
yy=interp1(time,signal_1,tt,'cubic');
zz=interp1(time,signal_2,tt,'cubic');


%lag=100;
[Rxy,lags]=xcorr(xx,yy,'coeff');
[Rxz,lags]=xcorr(xx,zz,'coeff');
[Ryz,lags]=xcorr(yy,zz,'coeff');


[Rxy_max max_xy]=max(Rxy) 
[Rxz_max max_xz]=max(Rxz) 
[Ryz_max max_yz]=max(Ryz) 

subplot(334)
plot(lags/(B*Fs),Rxy)
grid

subplot(335)
plot(lags/(B*Fs),Rxz)
grid

subplot(336)
plot(lags/(B*Fs),Ryz)
grid

tt_xy=max_xy/(B*Fs)
tt_xz=max_xz/(B*Fs)
tt_yz=max_yz/(B*Fs)
tt_sum=tans_time2-tans_time1

k=length(xx);
xy_delay=abs(max_xy-k)
xz_delay=abs(max_xz-k)
yz_delay=abs(max_yz-k)


T_sig=(k-1)/P %一个周期的样点数

delay_xy=xy_delay/(T_sig*B*Fs)
delay_xz=xz_delay/(T_sig*B*Fs)
delay_yz=yz_delay/(T_sig*B*Fs)
sum=delay_xy+delay_xz
figure(2)
plot(tt,yy,'y',tt,zz)
grid




%hht
s1=signal_1;
s2=hilbert(signal_1);
s=s1+j*s2;







⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -