FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > DSP

DSP comp.dsp newsgroup, mailing list

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 09-09-2009, 04:37 PM
fisico32
Guest
 
Posts: n/a
Default is the calculated DFT correct?

Hello Forum, a question on how to tell if the DFT of a sampled signal i
correct.....

Take a 1-dimensional continuous time signal f(t), that exists over th
time interval T, has a bandwidth BW. Its continuous Fourier transform has
certain functional shape.
The discrete version of f(t) (let's call it f[t] ) has N samples given b
T/delta_t where delta_t is the intersample distance (related to samplin
frequency). The Fourier transform of the discrete version f[t] is the DF
which has N samples as well.

In order to tell if the function f(t) has been sampled properly, I shoul
compare the DFT to the actual, analytical Fourier transform of f(t). If th
DFT and the Fourier transform look very similar, then the DFT is a goo
approximation to the FT, and f[t] has been sampled properly.

In the case that we don't know the analytical Fourier transform, how ca
we tell if the DFT is correct, or if it has been aliased due t
insufficient sampling, without having the analytical Fourier transform as
reference? Aliasing implies that the higher temporal frequencies have bee
given an incorrect weight, usually larger than the actual one.....

Sometimes we don't have the analytical FT because the signal f(t) is
complicated function or we don't know, beforehand, the bandwidth of th
continuous signal f(t)...

Thank you,
Regards,
fisico32
Reply With Quote
  #2 (permalink)  
Old 09-09-2009, 04:58 PM
glen herrmannsfeldt
Guest
 
Posts: n/a
Default Re: is the calculated DFT correct?

fisico32 <[email protected]> wrote:
< Hello Forum, a question on how to tell if the DFT of a sampled signal is
< correct.....

< Take a 1-dimensional continuous time signal f(t), that exists over the
< time interval T, has a bandwidth BW. Its continuous Fourier transform has a
< certain functional shape.
< The discrete version of f(t) (let's call it f[t] ) has N samples given by
< T/delta_t where delta_t is the intersample distance (related to sampling
< frequency). The Fourier transform of the discrete version f[t] is the DFT
< which has N samples as well.

< In order to tell if the function f(t) has been sampled properly, I should
< compare the DFT to the actual, analytical Fourier transform of f(t). If the
< DFT and the Fourier transform look very similar, then the DFT is a good
< approximation to the FT, and f[t] has been sampled properly.

This is an unusual method, but it does seem that it would work.

< In the case that we don't know the analytical Fourier transform, how can
< we tell if the DFT is correct, or if it has been aliased due to
< insufficient sampling, without having the analytical Fourier transform as a
< reference? Aliasing implies that the higher temporal frequencies have been
< given an incorrect weight, usually larger than the actual one.....

Assuming the algorithm has been implemented properly, the DFT
(more likely FFT) will "work." The question you seem to be asking is,
how do you know that the sample rate was high enough. By the time
you get to the DFT it is too late to ask that.

Note also, that when you apply the DFT to a function that is not
periodic, the periodic boundary conditions give you aliasing in time.
That is, the transform you get is the transform that you would expect
if the input data were periodically extended. Sometimes that will
cause surprising results, other times not.

< Sometimes we don't have the analytical FT because the signal f(t) is a
< complicated function or we don't know, beforehand, the bandwidth of the
< continuous signal f(t)...

You could, for example, put the analog input through an analog high
pass filter with a cutoff somewhat near twice the sampling frequency.
That will tell you how much signal you have for aliasing.

If you want to do it digitally, you will need to sample at a much
higher frequency (maybe separate from the actual data sampling) and
the analyze those samples.

-- glen
Reply With Quote
  #3 (permalink)  
Old 09-09-2009, 05:17 PM
Rune Allnor
Guest
 
Posts: n/a
Default Re: is the calculated DFT correct?

On 9 Sep, 16:37, "fisico32" <marcoscipio...@gmail.com> wrote:
> Hello Forum, a question on how to tell if the DFT of a sampled signal is
> correct.....


The DFT is a well-defined mathematical operation. Given
a set of deterministic data one can check if any given
implementation of the DFT (or FFT) give the expected
results. If it does, the computed DFTs are correct.
To within numerical accuracy.

> Take a 1-dimensional continuous time signal f(t), that exists over the
> time interval T, has a bandwidth BW. Its continuous Fourier transform hasa
> certain functional shape.
> The discrete version of f(t) (let's call it f[t] ) has N samples given by
> T/delta_t where delta_t is the intersample distance (related to sampling
> frequency). The Fourier transform of the discrete version f[t] is the *DFT
> which has N samples as well.
>
> In order to tell if the function f(t) has been sampled properly, I should
> compare the DFT to the actual, analytical Fourier transform of f(t). If the
> DFT and the Fourier transform look very similar, then the DFT is a good
> approximation to the FT, and f[t] has been sampled properly.


This has nothing to do with whether the DFT is correct or not,
but whether the sampling parameters honor the Nyquist limit.
Those are two different questions.

> In the case that we don't know the analytical Fourier transform, how can
> we tell if the DFT is correct, or if it has been aliased due to
> insufficient sampling, without having the analytical Fourier transform asa
> reference? Aliasing implies that the higher temporal frequencies have been
> given an incorrect weight, usually larger than the actual one.....
>
> Sometimes we don't have the analytical FT because the signal f(t) is a
> complicated function or we don't know, beforehand, the bandwidth of the
> continuous signal f(t)...


You need to know *something* about the process you are
about to sample, in order to get useful results. Incidentially,
that's the task of the anti-alias filter at the input: Make sure
that the Nyquist limits are honored.

Rune
Reply With Quote
  #4 (permalink)  
Old 09-09-2009, 05:57 PM
commengr
Guest
 
Posts: n/a
Default Re: is the calculated DFT correct?

>Hello Forum, a question on how to tell if the DFT of a sampled signal is
>correct.....
>
>Take a 1-dimensional continuous time signal f(t), that exists over the
>time interval T, has a bandwidth BW. Its continuous Fourier transform ha

a
>certain functional shape.
>The discrete version of f(t) (let's call it f[t] ) has N samples give

by
>T/delta_t where delta_t is the intersample distance (related to sampling
>frequency). The Fourier transform of the discrete version f[t] is the

DFT
>which has N samples as well.
>
>In order to tell if the function f(t) has been sampled properly,

should
>compare the DFT to the actual, analytical Fourier transform of f(t). I

the
>DFT and the Fourier transform look very similar, then the DFT is a good
>approximation to the FT, and f[t] has been sampled properly.
>
>In the case that we don't know the analytical Fourier transform, how can
>we tell if the DFT is correct, or if it has been aliased due to
>insufficient sampling, without having the analytical Fourier transform a

a
>reference? Aliasing implies that the higher temporal frequencies hav

been
>given an incorrect weight, usually larger than the actual one.....
>
>Sometimes we don't have the analytical FT because the signal f(t) is a
>complicated function or we don't know, beforehand, the bandwidth of the
>continuous signal f(t)...
>
>Thank you,
>Regards,
>fisico32
>

-----------------------------------------------------------

Well, if you want to sample it, you must know its spectral contents.
agree with Glen's idea of selecting a sampling frequency and putting a hig
pass filter with a cutoff 'less than half' the sampling frequency.

@Glen, I think it should be 'less than half' than 'somewhat near twice th
sampling frequency'

You'll know how many significant spectral components are left out. Bu
this will be something like trial and error

So, regardless, of the method you use, you'll have to look into frequenc
domain for significant spectral components. So why not just do it first
put a suitable anti-aliasing filter then do A/D conversion and DFT


So as far as your question is concerned, "Is calculated DFT correct?", an
you say you don't have any 'before hand' info, there is no way of tellin
if your DFT is correct

--------------------------------------------------------------
Syed

Pakistan
Reply With Quote
  #5 (permalink)  
Old 09-10-2009, 01:40 AM
Tim Wescott
Guest
 
Posts: n/a
Default Re: is the calculated DFT correct?

On Wed, 09 Sep 2009 08:17:52 -0700, Rune Allnor wrote:

> On 9 Sep, 16:37, "fisico32" <marcoscipio...@gmail.com> wrote:
>> Hello Forum, a question on how to tell if the DFT of a sampled signal
>> is correct.....

>
> The DFT is a well-defined mathematical operation. Given a set of
> deterministic data one can check if any given implementation of the DFT
> (or FFT) give the expected results. If it does, the computed DFTs are
> correct. To within numerical accuracy.
>
>> Take a 1-dimensional continuous time signal f(t), that exists over the
>> time interval T, has a bandwidth BW. Its continuous Fourier transform
>> has a certain functional shape.
>> The discrete version of f(t) (let's call it f[t] ) has N samples given
>> by T/delta_t where delta_t is the intersample distance (related to
>> sampling frequency). The Fourier transform of the discrete version f[t]
>> is the Â*DFT which has N samples as well.
>>
>> In order to tell if the function f(t) has been sampled properly, I
>> should compare the DFT to the actual, analytical Fourier transform of
>> f(t). If the DFT and the Fourier transform look very similar, then the
>> DFT is a good approximation to the FT, and f[t] has been sampled
>> properly.

>
> This has nothing to do with whether the DFT is correct or not, but
> whether the sampling parameters honor the Nyquist limit. Those are two
> different questions.
>
>> In the case that we don't know the analytical Fourier transform, how
>> can we tell if the DFT is correct, or if it has been aliased due to
>> insufficient sampling, without having the analytical Fourier transform
>> as a reference? Aliasing implies that the higher temporal frequencies
>> have been given an incorrect weight, usually larger than the actual
>> one.....
>>
>> Sometimes we don't have the analytical FT because the signal f(t) is a
>> complicated function or we don't know, beforehand, the bandwidth of the
>> continuous signal f(t)...

>
> You need to know *something* about the process you are about to sample,
> in order to get useful results. Incidentally, that's the task of the
> anti-alias filter at the input: Make sure that the Nyquist limits are
> honored.


To help you with understanding the Nyquist bit, here's an aid: http://
http://www.wescottdesign.com/article.../sampling.html.

Keep in mind that if you know nothing about the original signal's
frequency content then you're out of luck as far as being able to
accurately sample it, for the same reason that you're out of luck as far
as being able to hang an oscilloscope probe on it and look. In both
cases, without knowing the signal bandwidth you have no clue how fast a
device you need to capture the signal.

You have to know -- or assume -- the signal characteristics beforehand.

--
www.wescottdesign.com
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
simulation result is correct but synthesis result is not correct J.Ram VHDL 7 12-03-2008 02:26 PM
simulation results is correct but synthesis result is not correct J.Ram FPGA 7 12-03-2008 10:22 AM
How should the fractional interval of the interpolator be calculated during the switching period? fjwoemcu DSP 4 03-14-2007 10:06 PM
VHDL is correct but when burn into chip is not correct. Help me to solve this problem please suntthekid FPGA 5 11-19-2004 05:35 PM
Is this correct? SneakerNet VHDL 4 01-06-2004 11:35 AM


All times are GMT +1. The time now is 03:09 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved