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

📄 single_linear_interpolation.m

📁 在MATLAB环境下
💻 M
字号:
% linear interpolation
clc;clear all;

L=500;         % length of signal
LL=L+50;
Fs=1e6;        % the sample frequency in Hz
M=1000;         % numbers of interpolation
D=44.923e-6;        % set the TDOA in microsecond

%========filter by a low-pass filter=======
% [b,a]=butter(10,0.3);
% r=randn(1,LL);
% os=filter(b,a,r);
% clear r;
% clear b a;

data=load('d:\MATLAB6p1\work\wireless_location\y100K_am');
os=data.y100K_am;

% data=load('c:\MATLAB6p5\work\wireless_location\data_2_3');
% os=data.No1_0;

  clear data;

mos=os-mean(os);
mos=mos/max(abs(mos));
mos=mos/sqrt(var(mos));
s=mos(1:LL);

multpath_d=15;
s1=0.2*[s(multpath_d+1:LL) zeros(1,multpath_d)];    % the first multipath
s=s+s1;

%========interpolation==========
interp_s=interp(s,M);
t1=(1/Fs)*(1/M);
delay=round(D/t1);
%============================
count=0;
for loop=1:10;
    count=count+1

snr=0.2;
%======two receive signals========
x1=s+snr*randn(1,LL);
   tempt=interp_s(delay+1:length(interp_s));
tx2=tempt(1:M:length(tempt));
x2=tx2+snr*randn(1,length(tx2));
clear tx2

x1=x1(1:L);
x2=x2(1:L);

N=200;
px1=interp(x1,N);
px2=interp(x2,N);

px12=xcorr(px1,px2);
[pm,pi]=max(px12);

est(count)=(pi-length(px1))*(1/Fs)*(1/N);
end

D
[mean(est)*1e6 (D-mean(est))*1e9  std(est)*1e9]

⌨️ 快捷键说明

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