Fourier Transform of a Radar Signal
17 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am taking the fourier transform of a radar signal (1st image below), when I take the fourier transform I should get a single frequency at 3kHz. However I am not, instead I am getting(2nd image). I think there is an issue on how I am defining 'fs', but I am not sure how to fix it. Thank you!
Here is my code:
Fs = 125e3; % Sample Frequency in Hz
signal_with_bias = csvread('noball.csv',1,0);
sig_i = signal_with_bias(:,1); %in_phase signal
sig_i = sig_i - mean(sig_i); %remove bias
sig_q = signal_with_bias(:,2);%quad_signal
sig_q = sig_q - mean(sig_q); %remove bias
signal = complex(sig_i, sig_q); %the complex signal
N =length(signal); %number sample
t = (0:1:N-1)/Fs; %time period
fs = Fs*((0:1:N-1)-(N/2))/N; %range of frequency that was measured.
w = hann(N); %hanning window
ff=fft((signal .*w)); %fourier transform of the signal
%Plot Complex Signal
figure(1)
plot(t,real(signal), 'r', t,imag(signal), 'k');
title('Signal'); xlabel('time(s)'); ylabel('Voltage(V)');
legend('real', 'imaginary');
%Plot the Power Spectrum
figure(2)
plot(fs, abs(real(ff))); %Frequency Vs. Power
title('Power Spectrum'); xlabel('Frequency(Hz)'); ylabel('Magnitude');
2 Kommentare
Honglei Chen
am 3 Apr. 2020
From the plot of your signal, there are a lot of frequency components in it. Why would you expect a single peak in FFT? For that to happen, you will have a single frequency sinusoid, which is not the case for your radar signal.
Antworten (1)
Jerome Blair
am 27 Mär. 2020
You should be plotting abs(ff), not abs(real(ff)). The spectrum of this signal is not a single line at 3kHz. It should be a bunch of lines separated by 3kHz centered around a much higher frequency.
Why does the frequency axis start at 0 when fs starts at -62.5 kHz?
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!