 |
 |
signal processing fft |
 |
Nov24-09, 02:23 AM
|
#1
|
singedang2 is
Offline:
Posts: 26
|
signal processing fft
hello!
i'm given a signal h(t) = v(t)*g(t)
where g(t) is a distortion/noise that got added
and has a very low frequency compared to v(t)
i need to devise a method to clean up g(t)
i'm thinking of to do the fft on the signal h(t),
and remove the lower frequencies and do the inverse fft,
but this might not just remove g(t), but it may as well remove v(t)
any hints?
|
|
|
|
Nov24-09, 04:37 AM
|
#2
|
MikeyW is
Offline:
Posts: 257
|
Re: signal processing fft
I haven't studied this in any good detail, so my answer is not going to be the best. But I think your solution is correct, and that the problem with this is a fundamental problem with removing noise. I have been searching my files because I remember reading all about this, but I can't find what I read anywhere.
I think the answer is in choosing the right method of suppressing low frequencies, for example, multiplying the Fourier transform by some function which is inversely proportional to frequency.
I wish I had this book though! By the way, is * a convolution in your notation or multiplication?
|
|
|
|
Nov24-09, 01:45 PM
|
#3
|
berkeman is
Offline:
Posts: 15,957
|
Re: signal processing fft
Originally Posted by singedang2
hello!
i'm given a signal h(t) = v(t)*g(t)
where g(t) is a distortion/noise that got added
and has a very low frequency compared to v(t)
i need to devise a method to clean up g(t)
i'm thinking of to do the fft on the signal h(t),
and remove the lower frequencies and do the inverse fft,
but this might not just remove g(t), but it may as well remove v(t)
any hints?
|
I have the same question as MikeyW. You say in your post that g(t) is added, but are using * as the combination symbol. If the g(t) is just added, and is lower frequency, they it seems that running h(t) through a DSP highpass filter would do what you want?
|
|
|
|
Nov25-09, 12:47 AM
|
#4
|
singedang2 is
Offline:
Posts: 26
|
Re: signal processing fft
sorry for the confusion. it's a multiplication. by 'add' i meant the two signals got mixed altogether.
|
|
|
|
Nov25-09, 02:16 AM
|
#5
|
berkeman is
Offline:
Posts: 15,957
|
Re: signal processing fft
Originally Posted by singedang2
sorry for the confusion. it's a multiplication. by 'add' i meant the two signals got mixed altogether.
|
Why are they multiplied? Where is the non-linearity? Or is this just a coursework exercise? What is the context please?
|
|
|
|
Nov26-09, 07:54 AM
|
#6
|
singedang2 is
Offline:
Posts: 26
|
Re: signal processing fft
i don't know about the non-linearity. this is for a course, and we've only learnt fft and some fourier analysis.
the questions is we're suppose to receive am radio singal, but due to atmospheric/weather condition, loudness of the signal changes.
so the original signal we wanted to receive was v(t), but instead we get v(t)*g(t),
and g(t) has relatively low frequency compared to v(t).
|
|
|
|
Nov26-09, 08:01 AM
|
#7
|
MikeyW is
Offline:
Posts: 257
|
Re: signal processing fft
Can you double check that it's not a convolution?
If you multiply two functions v(t)g(t) would be my notation, to me v(t)*g(t) suggests convolution, especially in signal processing... is the question in original form specific about what the symbol "*" means?
|
|
|
|
Nov26-09, 09:21 AM
|
#8
|
singedang2 is
Offline:
Posts: 26
|
Re: signal processing fft
i've checked and it's multiplication, NOT CONVOLUTION. so v(t)g(t), instead of v(t)*g(t).
sorry for the confusion.
|
|
|
|
Nov27-09, 12:05 AM
|
#9
|
singedang2 is
Offline:
Posts: 26
|
Re: signal processing fft
i was able to solve this problem.
the key was to take log of the function.
then it becomes logv(t) + log(g(t))
then we do the usual fft then do the filtering, then do inverse fft to get back the original signal.
|
|
|
|
Nov27-09, 12:15 AM
|
#10
|
mheslep is
Offline:
Posts: 1,599
|
Re: signal processing fft
Originally Posted by singedang2
i was able to solve this problem.
the key was to take log of the function.
then it becomes logv(t) + log(g(t))
then we do the usual fft then do the filtering, then do inverse fft to get back the original signal.
|
Well you would not have the original signal, you would have log( original signal ).
BTW, as pointed out above the expression v(t) times g(t) is not an addition of noise, it is a modulation, a non-linear operation for any non-trivial g(t). No linear filter operation will recover the v(t). You'd need another non-linear operation to recover v(t), such as a demodulation.
|
|
|
|
|
 |
 |
|
 |
|