He logrado obtener la frecuencia de frecuencia (el ritmo) de un FMCW. Aquí hay una captura de pantalla de una pared detectada por el radar. Realicé una FFT de datos complejos I, Q.
Mis preguntas son 1. ¿Cómo convertiría esa frecuencia pico en rango? 2. ¿Cómo obtendría la velocidad utilizando esa frecuencia?
Gracias
Aquí está el código
ResultI = (ResultI/256) -1;
ResultQ = (ResultQ/256) -1;
mixed1 = complex(ResultI, ResultQ);
Win=fft(mixed1,512);
plot(abs(win);
ResultQ(numel(ResultI)) = 0;
mixed1 = complex(ResultI, ResultQ);
L = 512;
Fs = 125000;
NFFT = 2^nextpow2(L);
f = Fs/2*linspace(0,1,NFFT/2+1);
fft_sig = fft(mixed1, NFFT)/L;
shift = fftshift(fft_sig);
plot(abs(shift));
n=0:512; %N=100
N=length(n);
Ts=0.000001; %period [s]
Fs= 12; %frequency [Hz]
t=(0:Ts:Ts*n(end));
A=10;
w=0.267*pi*Fs; %oscilation frequency [rad/s]
p=1.2; %phase [rad]
[freq_response,freq_index] = freqz(shift,1,N,Fs); %N is the number of samples
pM = max(abs(freq_response)); %magnitude
pF = freq_index(abs(freq_response)==pM); %frequency
plot(freq_index,10*log10(abs(freq_response)),'b',pF,10*log10(pM),'r*')
title(sprintf('Peak Frequency = %f Hz (%.1f dB)',pF,10*log10(pM)));
xlabel('Frequency [Hz]')
ylabel('Power [dB]')
f0 = 24.15e12;
lambda = physconst('LightSpeed')/f0;
radvel = dop2speed(pks,lambda)