MATLAB Answers


idea of multiplication in frequency domain

Asked by ahmed youssef on 26 Dec 2016
Latest activity Answered by Image Analyst
on 26 Dec 2016
Hi, I need to understand something. I made matched filter in LFM-radar (linear frequency modulation). when I made it, I had to put in h(t) the value of pulse duration( to make causal filter). but if I need to make the filter in frequancy domain, it easy to multiply H(F).*(exp(-1j*2*pi*f*taw)) where f=-fs/2:fs/2 and taw is pulse duration. the question is: why I need to make fftshift to exp(-1j*2*pi*f*taw). FYI fftshift give me right answer


I don't remember exactly, but this might have something to do with convolution/correlation.
I just ask fftshift. sorry

Sign in to comment.


1 Answer

Answer by Image Analyst
on 26 Dec 2016

It all depends on where your origin is. If you don't use fftshift on either your time domain signal and filter after they've been fft'ed, then that is fine. They will both have their origin at element 1. OR if you fftshift both then that's also fine - both their origins will be in the middle of the array.
If you're analytically specifying your filter in the frequency domain, then you just have to design it being cognizant of where the origin is.
If you didn't use fftshift then realize that the origin is at the beginning and end of the array and the higher frequencies are in the middle.
If you used fftshift, then realize that the zero frequency (origin) is in the middle of the array and the highest frequencies are at the far left and right ends.
You just have to make up your H(f) knowing full well where your origin is. The H must have the origin in the same place as your signal. If they are in different places, things will be all messed up.


Sign in to comment.