?? correlate22.m
字號:
%%%%%%% -------------------------------------------------------------------
%%%%% -----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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -