DSPRelated.com
Forums

DFT without the DC component

Started by m26k9 May 26, 2009
On May 27, 12:24&#4294967295;am, "m26k9" <maduranga.liyan...@gmail.com> wrote:
> >On May 26, 9:01=A0am, "m26k9" <maduranga.liyan...@gmail.com> wrote: > >> Thanks Jim. > >> I guess thats it for that. The only option left so far is to find the > >> inverse DFT matrix and calculate it back. But sometimes the matrix > tends = > >to > >> get singular. > >> Anyways thanks a lot. > > >> Cheers. > > >Why don't you DFT x-mean(x) in the first place? > > >Hope this helps. > > >Greg > > Thank you Greg. > But this is a channel estimation and I actually do not have knowledge of > 'x'. It's what I am trying to find. I only gave it as an example. > But what you mentioned is very interesting. I would probably need in the > future. > Thank you for the information.
What kind of real world transmission channel conveys DC? :-\ Isn't your DC lost because it genuinely isn't there? Steve
>Have you tried to compute the average by dividing the sum of all the >samples by the number of them? That can fail with floating-point >arithmetic if the number of samples is large enough to affect the >exponent. If you think this may be an issue, get back to me and I'll >outline a way to avoid it. >
Thank you very much Jerry. I tried that arithmetically, and what I get is something like: X(1) + X(2) +...+ X(N-1) = Nx(0) + (e^-1+e^-2+...)x(1) + (e^-2+e^-4+...)x(2) +... I can find the summation of the exponential series inside the parantheses. But I thought finding x(0)+x(1)+...+x(N-1) was not possible, looking at the different different exponential serieses. I will try averaging them out like you suggested. Maybe it will work within my parameter values. Thank you very much.
m26k9 wrote:
>> Have you tried to compute the average by dividing the sum of all the >> samples by the number of them? That can fail with floating-point >> arithmetic if the number of samples is large enough to affect the >> exponent. If you think this may be an issue, get back to me and I'll >> outline a way to avoid it. >> > > Thank you very much Jerry. > I tried that arithmetically, and what I get is something like: > X(1) + X(2) +...+ X(N-1) = Nx(0) + (e^-1+e^-2+...)x(1) + > (e^-2+e^-4+...)x(2) +... > > I can find the summation of the exponential series inside the parantheses. > But I thought finding x(0)+x(1)+...+x(N-1) was not possible, looking at the > different different exponential serieses. > > I will try averaging them out like you suggested. Maybe it will work > within my parameter values. > > Thank you very much.
Find partial sums of few enough terms so that the exponent won't usually be changed by the addition. Add those partial sums the same way. Proceed until all the terms have been included. That way you won't fall into the trap of losing small numbers by trying to add them to very large ones. In the limit, you can add the numbers two at a time, then the sums two at a time, etc. and be quite sure of safety. In practice the groups can be much larger than that, say 32. Test the chosen scheme with a known number of ones. Examine the both sum and the average. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
On May 26, 3:38 pm, John Monro johnmo...@optusnet.com.au> wrote:
 >
 > If you have reason to believe that there is a zero or low
 > f(1) component in the original signal then the X(1)
 > component in the FT is due to spectral leakage from f(0).
 >
 > Knowing  or guessing the window used for the FT, you should
 > be able to work back and estimate X(0).
 >

On May 26, 4:54 pm, "m26k9" maduranga.liyan...@gmail.com> wrote:
 > ...
 > Thank you very much.
 > The values fall in the exact bins and there is no leakage. So I
think that
 > would not work.

If there is no leakage, then the samples you have are completely
independent of the DC sample, so the DC sample cannot be calculated in
any manner from the samples you have.

It's time to find a basis for leakage or give up.

Dale B. Dalrymple
>What kind of real world transmission channel conveys DC? :-\ Isn't >your DC lost because it genuinely isn't there? > >Steve >
Thank you Steve. This is not a signal I am trying to recover. I am trying to estimate the channel from from the frequency domain values I have. And in the process, I cannot 'find' the DC. It's not that it is 'lost' per se, just that I am not able to calculate it. What I am trying to do is to IDFT it back to find the channel impulse response, but I cannot seem to do it without the DC.
>If there is no leakage, then the samples you have are completely >independent of the DC sample, so the DC sample cannot be calculated in >any manner from the samples you have. > >It's time to find a basis for leakage or give up. > >Dale B. Dalrymple >
Thank you Dale. It seems so that I cannot go from here. Only option I have left right now is the averging and see if it can give a close enough answer for the parameters I am working with, or use the inverse of the DFT matrix minus the first row and last column. But a matrix inverse is not a very welcome calculation :-(
m26k9 wrote:
>> If there is no leakage, then the samples you have are completely >> independent of the DC sample, so the DC sample cannot be calculated in >> any manner from the samples you have. >> >> It's time to find a basis for leakage or give up. >> >> Dale B. Dalrymple >> > > Thank you Dale. > It seems so that I cannot go from here. Only option I have left right now > is the averging and see if it can give a close enough answer for the > parameters I am working with, or use the inverse of the DFT matrix minus > the first row and last column. But a matrix inverse is not a very welcome > calculation :-(
Do you in fact have the original samples to average over? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
m26k9 wrote:
>> What kind of real world transmission channel conveys DC? :-\ Isn't >> your DC lost because it genuinely isn't there? >> >> Steve >> > > Thank you Steve. > > This is not a signal I am trying to recover. I am trying to estimate the > channel from from the frequency domain values I have. And in the process, I > cannot 'find' the DC. It's not that it is 'lost' per se, just that I am not > able to calculate it. What I am trying to do is to IDFT it back to find the > channel impulse response, but I cannot seem to do it without the DC.
What is the significance of the DC value to a channel that cannot support DC? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
> >Do you in fact have the original samples to average over? > >Jerry
Yes I do have the original samples. This is a simulation so I have the samples. But receiver has no knowledge of them. So I cannot use them to calculate the DC. Thank you.
>What is the significance of the DC value to a channel that cannot >support DC? > >Jerry
I think I may have quoted my question in an ambiguous way. What I meant by DC value is the value H(0) of the Fourier transform of my channel h(n). I am trying to estimate h(n) from H(f), but I cannot calculate the H(0), while H(1) to H(N-1) are known. This is what I meant by no DC. I need to find H(0) so that I can IDFT them to find h(n). Cheers.