Fourier Transform of a Radar Signal
13 次查看(过去 30 天)
显示 更早的评论
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 个评论
Honglei Chen
2020-4-3
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.
回答(1 个)
Jerome Blair
2020-3-27
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?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Environment and Clutter 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!