function [f dmod] = fdet_coarse(x, N, fs, f_off_lo, df, f_off_hi) f_range = (f_off_lo:df:f_off_hi); for k=1:lge(f_range) x_est = exp(-j*(2*pi*f_range(k)/fs*(0:N-1)' + 0)); dmod(k) = sum(x(1:N).*x_est); end; [v maxk] = max(abs(dmod)); f = f_range(maxk);