📄 delfm.m
字号:
function [startFreq,LFMk]=delfm(realpinput,dt)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%线性调频信号参数估计函数
%输入参数realpinput为复信号,dt为采样频率
%输出参数为信号的起始频率startFreq,调频系数LFMk,相位pha,起始点start和结束点endpos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
conjOfTheSignal=conj(realpinput);
len=length(realpinput);
delay=round(0.4*len);%求延迟相关点数
f0=EsCorFre(realpinput,conjOfTheSignal,delay,dt);%调用相关运算函数,求出相关后的正弦波频率
LFMk=f0/(delay*dt);%求出调频系数
%构造本地信号,进行相关运算(L13-L15)
ti=dt*(0:len-1);
tempsign=exp(-j*LFMk*pi*ti.^2);
esStartFre=realpinput.*tempsign;
[startfre,pha]=threefft(esStartFre,dt);%估计频率和相位
xdrfft=fft(esStartFre);
[valmax,loc]=max(abs(xdrfft));%找出最大谱线的位置
%对esStartFre进行滤波,得到inSignal(L22-L27)
nnum=round(0.1*len);
xdrfft2=zeros(1,len);
loc1=max(1,loc-nnum);
loc2=min(loc+nnum,len);
xdrfft2(loc1:loc2)=xdrfft(loc1:loc2);
inSignal=ifft(xdrfft2);
xdr=inSignal.*exp(-j*(2*pi*startfre*ti+pha));%构造本地信号,进行相关运算
%[start,endpos]=StartT(xdr);%估计起始点和终止点
startFreq=startfre;%+(start-3)*LFMk*dt;%对起始频率进行修正
start=0;
endpos=0;
return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -