I'm trying to determine the effect of a particular non-linear process on my data. From simulations, I can measure the power spectra of "ideal" and "processed" images and take their ratio, which (I think) should correspond to some sort of filter or filtering process.

So, are there any filters, or filtering processes, that look (vaguely) like the attached plots? The two plots are the same data in linear-linear (left) and log-log (right) space.

Filter Function Plots

More detail: I have a pipeline that takes timestream data where each point on the timestream is associated with a point in an image. Some "cleaning" (PCA subtraction) is performed on the timestreams before creating the images. My goal is to determine the effect the timestream processing has on the resulting image, with the end goal being to replicate the effect on images for which no comparable timestream data is available. The data is coming from bolometer arrays and these are images of the sky at millimeter wavelengths.

Here are the simulated images. Left is before, right is after processing. The spiky points around the edges are where there is no timestream data.

images described in text

See also this ipython notebook http://nbviewer.ipython.org/4393835/ for a little analysis.

Since it is entirely possible that the timestream filtering process cannot be represented by any filter in image space, an answer addressing "how do I approximate these filter functions" is appropriate.

  • 1
    $\begingroup$ If you're looking for any sort of popularly used filter, I doubt you'll find one (but you never know). However, there are methods to find coefficients for modeling practically any filter shape. Parks-McClellan comes to mind. There are similar techniques for IIR filter design as well. Perhaps if you elaborated on how you came upon these filters and why you're looking for a model, the community could help you out better. $\endgroup$ – Phonon Dec 28 '12 at 1:11
  • $\begingroup$ Thanks for the suggestion; I'm really looking for general answers for approximating the filter, as you've suggested. I'll add more detail, but I think it will lead to a somewhat more convoluted and difficult to answer - and perhaps inappropriate for SE - question. $\endgroup$ – keflavich Dec 28 '12 at 1:34
  • $\begingroup$ You never know. Also, are your plots in linear or logarithmic scales? It looks like left is linear and right is logarithmic. Is that the case? Some clarification would be helpful. $\endgroup$ – Phonon Dec 28 '12 at 1:37
  • 1
    $\begingroup$ Yes, left is linear-linear, right is log-log. I've added a lot more detail; please say if more description is needed. $\endgroup$ – keflavich Dec 28 '12 at 1:44

I would approximate the filter using an finite impulse design where the wrights of the FIR filter are computed based on the spectrum that the filter passes. You can do this by choosing samples of the desired frequency response (from the graphs above) and taking the inverse discrete Fourier transform of the samples. The result will be the impulse response of the desired filter. The filter is then realized as a weighted sum using the impulse response sample values as the weights. So your filter will be $A_0 + A_1Z^{-1} + A_2Z^{-2}...$ Where $A_0$ is the first value of the impulse response, $A_1$ is the second and so on. $Z^{-n}$ represents a sample delay of n (coming from a Z domain representation of the filter structure). This approach is sometimes referred to as the "frequency sampling" approach to FIR filter design. I have used this approach to create time sequences that contain specific spectral content. Google FIR filter design, frequency sampling.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.