Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How Signals Are Sampled and Stored As A Fourier Transform?

  1. Mar 28, 2016 #1
    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)?
     
  2. jcsd
  3. Mar 28, 2016 #2

    Simon Bridge

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member
    2016 Award

    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...
     
  4. Mar 28, 2016 #3
    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.
     
  5. Mar 28, 2016 #4

    Simon Bridge

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member
    2016 Award

    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?
     
  6. Mar 28, 2016 #5
    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.
     
  7. Mar 28, 2016 #6

    Simon Bridge

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member
    2016 Award

    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.
     
  8. Mar 28, 2016 #7
    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 (Text):

    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 (Text):

    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

     
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: How Signals Are Sampled and Stored As A Fourier Transform?
Loading...