Transforming a spatial average into a spectral average

  • Context: Graduate 
  • Thread starter Thread starter nickthequick
  • Start date Start date
  • Tags Tags
    Average
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 1K views
nickthequick
Messages
39
Reaction score
0
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
 
Physics news on Phys.org
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.
 
AlephZero,

Thanks, this is very helpful!Nick