kyleb@tekfdi.FDI.TEK.COM (Kyle Bernard) (11/09/90)
I am beginning to look into using system identification techniques for FIR filter design. Specifically, I want to use system ID to develop a digital FIR filter whose response matches that of an existing analog bandpass filter. I have looked through some of the available literature but there is so much of it that I'm having trouble determining where to start. Can anyone suggest articles or books which would serve well as a start? Also, is anyone currently working on similar ideas? Can you relate any words of wisdom? Thanks, Kyle. -- uucp: tektronix!tekfdi!honda!kyleb US Mail: Kyle Bernard, Microwave and RF Instruments, Tektronix, Inc. Box 500 MS 58-072, Beaverton OR 97077 Phone: 503-627-3522
mcmahan@netcom.UUCP (Dave Mc Mahan) (11/09/90)
In a previous article, kyleb@tekfdi.FDI.TEK.COM (Kyle Bernard) writes: >I am beginning to look into using system identification techniques >for FIR filter design. Specifically, I want to use system ID to develop >a digital FIR filter whose response matches that of an existing analog >bandpass filter. I'm not sure I quite understand your usage of the term 'system ID'. From what you describe, it sounds like you mean 'impulse response'. Is this true? Given an impulse response for any linear time invariant system, you can directly create an FIR filter very simply and mechanically. Impulse response of a system is derived by one of several means. I personally like to stimulate the circuit to be copied with an impulse. This is normally a pulse of very short duration with respect to the system being analyzed. 'Short duration' is sort of defined by the system under test. It could be 1 second or 1 picosecond depending on the system. Recording of the output of the system yields the impulse response directly. This process can also be done using a step function and various other known signals. The recorded response must then be post-processed to yield the impulse response. Is this what you are wanting to know about? >Kyle. >uucp: tektronix!tekfdi!honda!kyleb -dave -- Dave McMahan mcmahan@netcom.uucp {apple,amdahl,claris}!netcom!mcmahan
bobc@hplsla.HP.COM (Bob Cutler) (11/10/90)
Hewlett-Packard sells an instrument that has the capability you want built-in. It's called an HP 3563A Control Systems Analyzer. The analyzer has two analog inputs (100kHz) two digital inputs (256 ksamples per sec), an analog source and a digital source. It also has two curve-fitters, one for the s-domain and one for the z-domain. For your application, the z-domain curve-fitter would be applied to a frequency response data which was measured using the analog inputs or or synthesized using an s-domain model (e.g. poles/zeros). The curve- fitter produces a pole-zero model which can be easily translated into a difference equation for use in a digital filter. Unlike the usual s->z transforms such as the bilinear, impulse-invarient, or step-invarient methods (which are also available in the analyzer), the curve-fitter can be made to use any specified filter topology. For example, an N pole analog filter can be approximated by an M tap FIR or IIR filter where M is not a function of N. Another advantage of using curve-fitting is that a weighting function can be used to emphasise areas of the the frequency response function for which a close approximation is important. This is similar to pre-warping with the bi-linear transform except that it's not limited to a single frequency point. It's also possible, before curve-fitting, to pre-distort the frequency response data to account for things like the sin(x)/x rolloff that will occur if the analog signal is reconstructed using a D/A converter. The only dissadvantage of using the curve-fitting approach to get from s->z, as compared to a method like the bi-linear transform, is that, for IIR filters, the curve-fitter doesn't always produce a z-domain model which is stable. Usually when this happens, the sample rate and/or the filter order is too low. Bob Cutler KE7ZJ Hewlett-Packard Lake Stevens Instrument Division Everett, WA 98205.
larry@rsiatl.UUCP (Larry Kahhan) (11/10/90)
If you're looking to fit a complex frequency response curve to an arbitrary transfer function, I've found that MathCAD works quite well. I've used this technique for both "s" and "z" domain transfer functions with equal success. The only proviso is that convergeance is heavily influence by the choice of initial conditions, so sometimes a little manual "tweaking" of initial conditions is required. Another advantage of using MathCAD is that after a solution is found, the transfer function response can be plotted against the original data set for a visual clue as to goodness of fit. Larry Kahhan - NRA, NRA-ILA, CSG, GSSA , & GOA
maury@tellabs.com (Maurice Givens) (11/13/90)
You can do what you wish by using an adaptive filter. Use the adaptive filter in a system identification configuratio, and use white noise as an input. The adaptive filter will adjust its coefficients to match that of the bandpass filter. Also, if you know the transfer function of the desired filter, the adaptive filter will calculate the coefficients needed for implementation.