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

Transforming a spatial average into a spectral average

  1. Jan 24, 2014 #1
    Hi,

    First off, apologies if this is in the wrong place - any directions on where this is more appropriate are appreciated.

    I am trying to figure out how to convert a smoothing operation in physical space into one in Fourier space.

    In physical space, with equally spaced points [itex]x_j[/itex], (j =1,2,3...), we define an averaging of a function [itex] f(x) [/itex] as

    [tex] \bar{f}_j =\frac{1}{16}(-f_{j-2} +4 f_{j-1} + 10 f_j + 4f_{j+1} -f_{j+2})[/tex],

    where [itex] f_j=f(x_j) [/itex]. The operation here is a type of moving average that smooths a function that has an oscillation, of period 2, about a smooth function.


    Now, I do not have information in physical space, rather I have the fourier coefficients of f, i.e. I know the set [itex] \hat{f}_k, (k=1,2,...) [/itex], and I would like to apply the averaging to these coefficients.


    I'm wondering if there's an analog for this spatial averaging in fourier space, but am very much out of my area of expertise.

    Any tips, or even relevant references, would be much appreciated.

    Nick
     
  2. jcsd
  3. Jan 24, 2014 #2

    AlephZero

    User Avatar
    Science Advisor
    Homework Helper

    It might be easier to understand this if you think about the inverse operation. Working backwards, your averaging process converts a single value ##\bar f_j = a## (and all the other ##\bar f## values = 0)into a "smeared out" set of 5 values ## f_{j-2} = -a/16##, ##f_{j-1} = a/4##, etc. and all the ##f## values = 0 except those 5.

    The process is linear, because if you had for example ##\bar f_j = a## and ##\bar f_{j+1} = b## (and all the other ##\bar f## values = 0), working backwards would give you 6 non-zero values ## f_{j-2} = -a/16##, ##f_{j-1} = a/4 - b/16##, ... , ##f_{j+3} = -b/16##.

    So, to see what this does in the frequency domain, you can do Fourier transforms of the output data ## ... 0, 0, 0, 0, a, 0, 0, 0, 0, ...## and the corresponding input data ## ... 0, 0, -a/16, a/4, 5a/8, a/4, -a/16, 0, 0, ....## and compare the FFTs term by term in the frequency domain.

    And since the "amplitudes" of the two data sets are both proportional to a, you might as well take a = 1.

    Look for information about digital signal processing for more details - this corresponds to a finite impulse response (FIR) filter and its frequency response. (The "impulse" is the single value of ##\bar f##, and "finite response" means there are a finite number (5) of non-zero values of ##f##.

    This will also be covered in books and websites on image processing, but they will be more about processing 2D or 3D arrays of data, not your 1D case.
     
  4. Jan 25, 2014 #3
    AlephZero,

    Thanks, this is very helpful!


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




Similar Discussions: Transforming a spatial average into a spectral average
  1. E as an average (Replies: 2)

  2. Averaging Quaternions (Replies: 15)

Loading...