📄 fenbiexiangguan.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 + -