correlate22.m

来自「频偏校正估频算法的实现」· M 代码 · 共 38 行

M
38
字号
%%%%%%% -------------------------------------------------------------------
%%%%% -----correlate2.m的改进,用于逼近求解delta_f(频率偏差)
%%%%% -----相关法用于频率估计
%%%%% -----复相关、频率校正算法
% 
function fe = correlate22(x,fs,N)
% 
% x:输入数据
% fs:数据采样率
% N:FFT的点数
% fe:估计出的频率

n = 0:N-1;   %%% ?

Z = fft(x,N);
P = abs(Z);
[Pm mi] = max(P);
fo = fs*(mi-1)/N

x = hilbert(x);   %%% x的解析信号

for i = 1:2   %%% ---两次逼近???
    y = exp(-j*2*pi*fo*n./fs);   %%% 创建标准信号
    
    z = x.*y;   %%% 相关
    
    m = floor(N/2);   %%%???
    g = sum(conj(z(1:N-m)).*z(m+1:N));
    
    phase_g = angle(g);
    delta_f = phase_g/(2*pi*m/fs)
    
    fe = fo+delta_f;
    fo = fo+1*delta_f;   %%% ---收敛因子???
end

% fe = fo;

⌨️ 快捷键说明

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