📄 aquistion.m
字号:
framesamples=floor(Ts./dt);
pdsamples=floor(Tm./dt); % 在脉冲宽度上的采样点个数,以脉冲的宽度进行滑动相关
bitsamples=framesamples*Ns;%Ts./dt
N=Tf./Tm;%在一bit信息内有N个不同状态
zp=zeros(1,N);
for n=1:N;
mx=RX1(1+(n-1)*pdsamples:bitsamples+(n-1)*pdsamples); %RX1为接受信号
mxk=mx.*mask; %mask 是本地模板信号
zp(n)=sum(dt.*mxk); %dt=1/fc,
end
if bits(1)
else zp=-zp;
end % 如果增加驻留时间和发送的bit数时, 此处需要修改
sd0=No/2;
zp1=abs(zp)./sd0(1);
k=30;
zp2=zeros(1,ceil(N/k)*k+k);
zp2(1:max(size(zp1)))=zp1;
y=zeros(1,ceil(N/k));
for i=1:ceil(N/k)
y(i)=sum(zp2((i-1)*k+1:(i-1)*k+k));
end
[Ymax,state]=max(y);
delay2=state*k*Tm;
state1=(state-1)*k;
k1=60;
selvalue=Ymax./k;%门限一
pha=find(zp1(state1:state1+k1)>selvalue);% 数组
phase=pha+state1-1;
z=zp1(phase);
q=max(z);
selvalue1=3/2*selvalue;%门限2
[z1,seq]=sort(z); %把z按照从大到小的顺序排列
Lnum=max(size(z1));
index=zeros(1:Lnum);
phase1=zeros(1:Lum);
for p=1:Lnum
if z1(Lnum-p+1)> selvalue1
index(p)=seq(Lnum-p+1);p
phase1(p)=(index(p)+state1-1).*Tm-delay; %phase1为最后输出的相位,没有规定要多少个 ,过门限的都留下了
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -