DSPRelated.com
Forums

Tunable Filter /Time Varying Coefficents

Started by westocl August 18, 2008
Does anyone know the stipulations in implimenting time varying coefficeitns
in to real hardware?

In contrast to an addaptive filter where some kind of algoritm calculates
the coefficnets, what if the time varying nature of a signal was know a
priori, so that one wanted to filter specific frecueicies that vary in a
known time fation.

For example if a linear FM signal was expectied and one wanted a filter
whos frequency response was to tune at the linear FM rate. Could that be
impleminted via chang of coefficnets (either FIR or IIR) at a specific
update rate?  Is the transient respone of the filter as one updates the
filter an issue?  Could anyone point me to some know literature?

Thanks in advance
On 18 Aug, 17:18, "westocl" <cwest...@hotmail.com> wrote:
> Does anyone know the stipulations in implimenting time varying coefficeitns > in to real hardware? > > In contrast to an addaptive filter where some kind of algoritm calculates > the coefficnets, what if the time varying nature of a signal was know a > priori, so that one wanted to filter specific frecueicies that vary in a > known time fation. > > For example if a linear FM signal was expectied and one wanted a filter > whos frequency response was to tune at the linear FM rate. Could that be > impleminted via chang of coefficnets (either FIR or IIR) at a specific > update rate? &#4294967295;Is the transient respone of the filter as one updates the > filter an issue? &#4294967295;Could anyone point me to some know literature?
It might be possible to do things like that, but if you want tings to become robust you would need some sort of adaption: What happens if the tuned filter starts up out of sync with the signal it is supposed to lock on to? So you will need to implement some sort of adaption anyway. It will become a matter of economy/taste/feasability to decide if a standard adaptive filter will do, or if you want some external analog gadget to do the tuning. Rune
>On 18 Aug, 17:18, "westocl" <cwest...@hotmail.com> wrote: >> Does anyone know the stipulations in implimenting time varying
coefficeit=
>ns >> in to real hardware? >> >> In contrast to an addaptive filter where some kind of algoritm
calculates
>> the coefficnets, what if the time varying nature of a signal was know
a
>> priori, so that one wanted to filter specific frecueicies that vary in
a
>> known time fation. >> >> For example if a linear FM signal was expectied and one wanted a
filter
>> whos frequency response was to tune at the linear FM rate. Could that
be
>> impleminted via chang of coefficnets (either FIR or IIR) at a specific >> update rate? =A0Is the transient respone of the filter as one updates
the
>> filter an issue? =A0Could anyone point me to some know literature? > >It might be possible to do things like that, but if you >want tings to become robust you would need some sort of >adaption: What happens if the tuned filter starts up out >of sync with the signal it is supposed to lock on to? > >So you will need to implement some sort of adaption anyway. >It will become a matter of economy/taste/feasability to >decide if a standard adaptive filter will do, or if you >want some external analog gadget to do the tuning. > >Rune >
What happens if the tuned filter starts up out
>of sync with the signal it is supposed to lock on to?
-thats a good point, and i probably will have to adress it
>So you will need to implement some sort of adaption anyway. >It will become a matter of economy/taste/feasability to >decide if a standard adaptive filter will do, or if you >want some external analog gadget to do the tuning.
aside from timing and assuming i could 'lock on' to the rate of the incomming signal.... as for economy, my thinking was that having known coefficents that one wanted to use instead of addaptaion would be 'cheaper' to impliment and faster to calculate outputs (im not sure if thats a fair assumption).
On 18 Aug, 17:54, "westocl" <cwest...@hotmail.com> wrote:
> as for economy, my thinking was that having known > coefficents that one wanted to use instead of addaptaion would be 'cheaper' > to impliment and faster to calculate outputs (im not sure if thats a fair > assumption).
So what you ar esaying is that adaptive filtering is a scam? That there are other, cheaper, more efficient methods that can do the same as those elaborate schemes that people actually use for adaptive filtering? As always, there are good reasons why the complicated elaborate schemes are complicated and elaborate. If there were alternative, simpler, faster, better ways of achieving the same goals then there would be no reason to keep on using the elaborate complicated schemes. Rune
>On 18 Aug, 17:54, "westocl" <cwest...@hotmail.com> wrote: >> as for economy, my thinking was that having known >> coefficents that one wanted to use instead of addaptaion would be
'cheaper'
>> to impliment and faster to calculate outputs (im not sure if thats a
fair
>> assumption). > >So what you ar esaying is that adaptive filtering is a scam? >That there are other, cheaper, more efficient methods that >can do the same as those elaborate schemes that people actually >use for adaptive filtering? > >As always, there are good reasons why the complicated elaborate >schemes are complicated and elaborate. If there were alternative, >simpler, faster, better ways of achieving the same goals then >there would be no reason to keep on using the elaborate >complicated schemes. > >Rune
No, Rune, Im definitely not saying its a scam. Adaptive filtering definitely has its place. and in my mind, im thinking watever LMS type algoritim or feedback,compare, update type schem is 'brains' of a filter...so hardware wise it has to have some programmed inteligence. what i was 'thinking' about doing was making a less inteligent filter, it just updates coefficnets via somekind of clock never comparing anything... more just memory and FIR/IIR and was wondering if anyone had any experience with that. Taking the 'brains' out of an addaptive filter has to save you somthing was my thinking, expecially in my generic case where we know what we will be expecting before it happens. we just want the filter to tune across a bandwith in a time interval, and never 'think about what to tune to (all that assuming we could lock on to the signal as you pointed out at first).
"westocl" <cweston_@hotmail.com> wrote in message 
news:NvGdnTQt0o1TDzTVnZ2dnUVZ_vudnZ2d@giganews.com...
> Does anyone know the stipulations in implimenting time varying > coefficeitns > in to real hardware? > > In contrast to an addaptive filter where some kind of algoritm calculates > the coefficnets, what if the time varying nature of a signal was know a > priori, so that one wanted to filter specific frecueicies that vary in a > known time fation. > > For example if a linear FM signal was expectied and one wanted a filter > whos frequency response was to tune at the linear FM rate. Could that be > impleminted via chang of coefficnets (either FIR or IIR) at a specific > update rate? Is the transient respone of the filter as one updates the > filter an issue? Could anyone point me to some know literature?
I think we've had some threads here on the topic of time-varying filters and it might be useful to search through comp.dsp - because I believe there've been some good observations in tha past. A couple of gross observations: - All of the adaptive filter methods that I know of cause relatively small / slow changes in the filter coefficients. - Consider what happens if you change all the coefficients at the same time in a "jump". It's equivalent to having two different filters running in parallel and switching from the output of one to the output of the other. There is surely going to be a step change in the output - which is likely very undesirable. - So, if one is going to program a filter to have time-varying coefficients then one is well-advised to consider the rate of change of the coefficients. I believe we talked about ideas like linear changes from one coefficient value to another taking place over at least the time length of the filter. That might be a reasonable compromise to avoid transients caused by the coefficient changes. Wideband FM might change frequency too fast to consider filtering in this manner. Narrowband FM maybe not. I don't know. Well, some linear FM receivers for sonar and radar have used a spectrum analyzer and the resulting output from an echo/return is a time/frequency ridge. So, the spectra outputs happen faster than the FM pulse is long in time. This would be somewhat equivalent to applying a different filter at points in time along the pulse - the spectrum analyzer is able to resolve individual frequencies in the FM. In such a receiver, as the analysis time gets longer, the time resolution gets worse and the frequency resolution gets better - as usual. The problem is that as this happens the ability to resolve the details of the FM gets worse. So, you might do a good job of estimating the average frequency. A lot depends on what you're trying to do. Whatever it is, it's likely that you will bump up against the time/frequency resolution issues as above. Fred
On Aug 18, 8:18 am, "westocl" <cwest...@hotmail.com> wrote:

> Does anyone know the stipulations in implimenting time varying coefficeitns > in to real hardware?
I'm not familiar with any interesting universal rules, as usual, it helps to be more specific.
> In contrast to an addaptive filter where some kind of algoritm calculates > the coefficnets, what if the time varying nature of a signal was know a > priori, so that one wanted to filter specific frecueicies that vary in a > known time fation.
The is a common class of single sample time varying filters based on a priori assumptions. It is known as the mixer.
> For example if a linear FM signal was expectied and one wanted a filter > whos frequency response was to tune at the linear FM rate. Could that be > impleminted via chang of coefficnets (either FIR or IIR) at a specific > update rate? Is the transient respone of the filter as one updates the > filter an issue? Could anyone point me to some know literature?
An example of such a system is a CWFM SONAR where the return signal is mixed against the current output, linear FM, and the resulting signal has frequency components proportional to ranges.
> Thanks in advance
Dale B. Dalrymple http://dbdimages.com
On 18 Aug, 18:21, "westocl" <cwest...@hotmail.com> wrote:
> >On 18 Aug, 17:54, "westocl" <cwest...@hotmail.com> wrote: > >> as for economy, my thinking was that having known > >> coefficents that one wanted to use instead of addaptaion would be > 'cheaper' > >> to impliment and faster to calculate outputs (im not sure if thats a > fair > >> assumption).
...
> Adaptive filtering definitely has its place. and in my mind, im thinking > watever LMS type algoritim or feedback,compare, update type schem is > 'brains' of a filter...so hardware wise it has to have some programmed > inteligence. > > what i was 'thinking' about doing was making a less inteligent filter, it > just updates coefficnets via somekind of clock never comparing anything...
In that case you have a time-variant (TV) filter which does its own thing irrespective of what happens at the output. I'd say that such a filter would perform worse than a time-invariant (TI) filter in the worst case. If one uses a TI filter as baseline, the TV filter would be assumed to performe better if synced in a 'good' manner to the signal. Similarly, if the syncing between the signal and filter is 'bad' the TV filter would perform worse than the TI filter. If I understand you correctly, you suggest to do away with all the adaptions included in the adaptive filter. The problem is that the purpose of all those adaptions is to 'sync in' the filter with the signal in the first place. The end result is that the non-adaptive TV filter might perform better than TI filters in the best case, but possibly the average and certainly the worst-case performance will be far worse than that of the TI filter.
> more just memory and FIR/IIR and was wondering if anyone had any experience > with that. &#4294967295;Taking the 'brains' out of an addaptive filter has to save you > somthing was my thinking, expecially in my generic case where we know what > we will be expecting before it happens.
I can't think of any appliucation where one *knows* what will happen, if for no other reason than timing. In most physical systems you will also see temperature-related differences which will mess up any extremely detailed information or knowledge.
> we just want the filter to tune > across a bandwith in a time interval, and never 'think about what to tune > to (all that assuming we could lock on to the signal as you pointed out at > first).
Well, just to aqcuire lock-on to, say, a swept-sine without some sort of adaption would require exact prior knowledge of when the signal will arrive at the sensor. Not easily achieved in the first place; not guaranteed to be stable over time if such info can be found. It seems to me as if you have an application where you need something that is inexpensive to build and easy to implement. There are several degrees of adaptions, so try and specify your operational and economical constraints and find a solution which fits the purpose. Rune
Rune Allnor wrote:

   ...

> As always, there are good reasons why the complicated elaborate > schemes are complicated and elaborate. If there were alternative, > simpler, faster, better ways of achieving the same goals then > there would be no reason to keep on using the elaborate > complicated schemes.
Every once in a while, someone comes up with an uncomplicated simple approach that leaves his peers wondering why they hadn't thought of such an obvious simplification. But not here, I'm afraid. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Rune Allnor wrote:
..........cut.....>
> It seems to me as if you have an application where you need > something that is inexpensive to build and easy to implement. > There are several degrees of adaptions, so try and specify your > operational and economical constraints and find a solution which > fits the purpose. > > Rune
One might conceive of such a "degree of adaptation" as follows: 1) you know exactly what filter you want at any point in time - nothwithstanding comments about optimization through something like an LMS adaptive algorithm. 2) you have decided on some number of filters that will be needed over time. For example, you may want bandpass filters that overlap by 50%*(passband) or by 50%*K*log(passband) and intend to step through those filters in some given order. And, let's say for now that you know the rate of change - the time for which each filter will apply. 3) what I said earlier was intended to convey that the "dwell" time for each filter - i.e. the time it applies - will be greater than or much greater than the length of the unit sample response of one filter. This is a system consideration that only you can know without giving us the numbers and is a rather go/no-go test. - You choose the passband and other characteristics of one of the filters you require. - You design that one filter. - You now know how long the filter is in time. - Is that filter length in time much shorter than the dwell time for one of these filters? If so, OK. Of no, then you have to start over or abandon this method. In fact, I might want the filter length in time to be less than 1/5th or 1/10th of the dwell time as discussed in 4 below. Note that the length of the filter will be driven by the transition band widths from stop to pass and from pass to stop unless the passband itself is very narrow. So, giving up some on transition width can shorten the filter. In your applicaton with overlapping filters you may not have to be very tight in the transitions .. which may well work in your favor. 4) Given that the system properties and filter properties are agreeable in (3) then you might design a "system" to do this: - gradually modify all the filter coefficients to "slide" from one set of coefficients to another. - I should think that doing this over the same time length as the time length of a filter might be a good starting point. It's a little like changing one coefficient for each sample time. Then, one hopes that the transitions are reasonably less than the filter's dwell times - 10%? I don't know of any studies that have been done to show the "interim" filter response if the coefficients are gradually changed from one known filter to another. The change surely introduces a transient of somem sort. I do imagine that it would be "well behaved" but that's just a gut feel. 5) Now that the filter system is designed there remains the matter of synchronization. In the simplest case it's a matter of timing the filter to match the signal. In a perfect world, once synchronized it will stay that way forever. It ain't a perfect world. But, sometimes it's worth starting in that framework: Let us imagine that we monitor the output of the filter looking for a maximum in the output. When a maximum occurs, start the filter modifications with a priori knowledge of the signal (which you have) with the idea that it will now track the signal with maximum output. Then one might imagine a system by which the filter output causes the adaptation to change rate adaptively - sort of like a phase locked loop. The idea is to lock and the method is to change phase to achieve it (which means to either advance or retard the system response). [This is the part where there's a bubble in the middle labeled: "and then a miracle occurs" - there's a lot implied by these simple statements describing implementation]. If you have the resources then you might implement three filters spanning 3 contituous "filter times". The objective would be for the middle filter to have maximum output. If the earlier filter has a larger output then you would be motivated to slow the change process. If the later filter has a larger output then you would be motivated to speed up the change process. Fred