Transforming a spatial average into a spectral average

  • #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
 

Answers and Replies

  • #2
AlephZero
Science Advisor
Homework Helper
6,994
292
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.
 
  • #3
AlephZero,

Thanks, this is very helpful!


Nick
 

Related Threads on Transforming a spatial average into a spectral average

  • Last Post
Replies
15
Views
2K
  • Last Post
Replies
2
Views
2K
Replies
6
Views
2K
Replies
1
Views
2K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
1
Views
2K
Replies
2
Views
722
  • Last Post
Replies
2
Views
2K
Replies
4
Views
3K
Top