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

Missing samples recovery with FFT in C#

  1. Jul 11, 2012 #1
    Hey all!

    I have to ask for help. I’m in too deep and can’t find my way out. Does anyone know where to find a simple code for missing samples recovery? All I can find are math equations that I can’t interpret. I’m not into signal processing here, I’m using FFT for numeric data only, so I’m just looking for a simple code that will turn an incomplete array with numeric sequence N1, N2, N3, … Nx into N1, N2, N3, … Nx+1, Nx+2, Nx+3, … Nx+y, where x’s represent known numbers in an array, and y’s represent missing numbers. If someone can give me the link to the actual code, or where I could find such a code, that would be greatly appreciated. Thanks in advance.
  2. jcsd
  3. Jul 11, 2012 #2
    Trying to figure out what you want here. If you have a 1x3 matrix A = [ 1 3 5 ], so x = 3. If you have y = 3, you want A to turn into a 1x6 matrix B = [ 1 3 5 ? ? ? ]?
  4. Jul 12, 2012 #3
    Usually trying to predict numbers beyond the end of a list you already have is called "extrapolation."

    You might Google for
    extrapolation numerical recipes
    and look at some of the fairly concrete code that finds. If those aren't adequate then searching for extrapolation and some other likely key words might be your best choice.

    Unless I knew something about the original data that told me that using an FFT is the best way to accomplish what I was trying to do I would be skeptical. Unfortunately we don't know anything about the details behind your problem so it is very difficult to give you an answer that is likely to be correct.

    There is an entirely different field that deals with missing data. You can Google for
    imputation maximum likelihood
    and get some hints about that, but I don't think you are going to find "code in a can" that will solve your problem with that either.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook