1
$\begingroup$

I would like to implement a filter in the time domain based on a desired frequency response that changes over time. The initial goal is a bandpass filter with a time-varying center frequency, where the bandpass filter has a shape that is defined in the frequency domain. I will illustrate with a simple example. starting and ending bandpass filters

Here we have 2 gaussians, one centered at 1000Hz and the second centered at 8000Hz. I would like to design a filter in the time domain that can perform a linear sweep between these 2 center frequencies for some fixed duration.

Another way of stating this is that I would like to be able to do the following:

  • Define a shape for a bandpass filter in the frequency domain for timepoints 1 and 2
  • Define the morph between the filter shapes at the 2 timepoints (in the example the shape is constant and it is only center frequency that varies)
  • Given that desired frequency domain information and a duration, I want to design a time-varying time domain filter.

I understand that the resulting filter will have time-varying coefficients. It is okay if the frequency response does not exactly match what I have outlined in the frequency domain as long as it is close.

I am looking for strategies to approach this type of problem, although if the solutions are highly dependent on the shape of the filter in the frequency domain, then a strategy to solve the provided example would be a helpful starting point.

$\endgroup$
  • $\begingroup$ looks like an audio/music app. Julius Smith is always a good place to start: ccrma.stanford.edu/~jos/filters/View_Linear_Time_Varying.html . in addition, you can consider just designing the filters at the two endpoints of the sweep and a few of the filters in between the end points. then slowly interpolate one set of coefficients from one filter to the set of coefficients for the next filter in the sweep. the in-between filter might not be exactly right, but if you put in a sufficient number of "destination" filter definitions, it should look pretty good. $\endgroup$ – robert bristow-johnson Nov 22 '15 at 2:41

Your Answer

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

Browse other questions tagged or ask your own question.