How Signals Are Sampled and Stored As A Fourier Transform?

Click For Summary

Discussion Overview

The discussion revolves around how signals are sampled and represented in the context of Fourier Transform functions, particularly focusing on the transition from discrete samples to a continuous function suitable for Fourier analysis. The scope includes theoretical aspects of Fourier Transforms, practical implementation in programming, and mathematical reasoning behind the transformation process.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning
  • Homework-related

Main Points Raised

  • One participant expresses confusion about how to convert a table of sampled amplitude values into a function for use in a Fourier Transform.
  • Another participant clarifies that the sampled signal consists of amplitude values at discrete time intervals and seeks to understand how to compute the Fourier Transform from these samples.
  • A later reply explains that the sample set can be represented using the Dirac delta function and suggests that a discrete Fourier transform (DFT) is being performed, indicating the use of a vector and FFT function.
  • Further elaboration includes pseudo code demonstrating how to perform an FFT on the sample amplitudes and how to compute the inverse Fourier Transform to retrieve the original function from the frequency domain representation.
  • Participants discuss the relationship between the sampled data and the continuous function, with one participant emphasizing the need to clarify the question to better address the confusion.

Areas of Agreement / Disagreement

Participants generally agree on the process of using sampled data for Fourier Transforms, but there is some uncertainty regarding the specific steps and methods to convert the sampled data into a usable function. The discussion remains somewhat unresolved as participants seek clarification and further details.

Contextual Notes

There are limitations regarding the assumptions made about the nature of the signal and the specific implementation details of the Fourier Transform process. The discussion does not resolve the mathematical steps involved in the transformation from discrete samples to a continuous function.

iScience
Messages
466
Reaction score
5
This question is a little basic but.. how are signals stored in a Fourier Transform function f(t)?

In my PDE class we were always given a base function to put in terms of sin and cos. But when taking a bunch of samples, all I end up with is a table/array over some time T. How might I use this to store it in a Fourier Transform function (dft)?
 
Technology news on Phys.org
iScience said:
This question is a little basic but.. how are signals stored in a Fourier Transform function f(t)?
Um ... the same way they are stored as anything, Hint: we use a computer.
I have a feeling you want to ask a different question...
 
Simon Bridge said:
I have a feeling you want to ask a different question...

Of course, here you go:

In my PDE class we were always given a base function to put in terms of sin and cos. But when taking a bunch of samples, all I end upwith is a table/array over some time T. How might I use this to store it in a Fourier Transform function (dft)?

If you could specify what I could perhaps clarify HERE, in the actual meat of the question, that would be better thanks.
 
Let's see if I understand you ... you have sampled a signal - so you have amplitude values at discrete time intervals ... and you want to know how to turn that into it's Fourier transform?
 
yyup! I mean the only thing I'm tripped up on is turning that table into a function. I can take a given function and express it with sines and cosines via the Fourier Transform, but I need to know how to turn those amplitude values into a function for me to use the Fourier Transform.
 
If the actual signal is f(t), then your sample set is ##\sum_n f_n\delta(t-n\Delta t)## ... so that is what you transform.
Here ##f_n = f(n\Delta t)## and ##\delta(t)## is the Dirac delta function.

You are basically doing a "discrete Fourier transform".What we'd normally do it put the sample series in a vector and use the FFT function.
 
iScience said:
yyup! I mean the only thing I'm tripped up on is turning that table into a function. I can take a given function and express it with sines and cosines via the Fourier Transform, but I need to know how to turn those amplitude values into a function for me to use the Fourier Transform.
I think I understand your question differently that Simon has. You're talking about a "table" and you're posting in the "Programming and Computer Science" forum, so I am assuming that we are dealing with Discrete Fourier Transforms.

I presume you started with a table "S" of signal amplitudes.
Then you probably performed (or want to perform) an FFT on that table yielding a new table in the frequency domain "F" (as described by Simon.

For example, in pseudo code:
Code:
int t;
complex S(32), F(32);
for t=0 to 31 {  S = amplitudeFunction(n); }
F = FFT(S);
The value in F can now be used to compute the function of "x" based on sines and cosines as follows:
1) Compute w=2*pi/length(F) = pi/32
2) For n=0 to 31 compute [itex]R_{n} = f_{n} \times (cosine(w)+i \space sine(w)) / length(F)[/itex]
3) S(x) will be the sum of those sine and cosine terms (the Rn's).

Those last steps are basically an inverse Fourier Transform.
Here it is in MatLab:
Code:
function ProblemFFTi()
  ts=[0:31];
  S = AnyFunc(ts);
  F = fft(S,32);
  SB = InvFFT(ts,F);
  ss = SB ./ S;
  ss = SB ./ S;  % A break point here will show that SB and S are equal.
end

function [x] = AnyFunc(t)
  x = ((t-16)/15).^2;
  x(x>1) = 1-x(x>1);
end

function [x] = InvFFT(t,F)
  ln = length(F);
  w0 = 2*pi*transpose(0:(ln-1))/(ln);
  ct = cos(w0*t);
  st = 1i*sin(w0*t);
  x = (F * (ct + st))/ln;
end
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
Replies
26
Views
6K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K