LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

adaptive optimization

Hello,
Can anyone help me with the following problem I have faced?
I want to control a given number of filter coeficients in a FIR/IIR filter. The taps should be set to that value that will result into the closest match to the desired impulse response. The actual impulse response is measured by an oscilloscope. I'm running Labview 7.0 Prof., which has some optimization rutines included, but I don't think any one of them are appropriate for this application. As the filter is not at all ideal, I do not have a functional expresion of the output, so I guess the rutines needs to be adaptive.
I'm looking forward to hear if any of you have any inputs to this.
Best regards,
Thomas
0 Kudos
Message 1 of 2
(2,639 Views)
Hi Thomas,

You are right about the LabVIEW 7.0 optimization routines, I don't think they are not suitable for your application.  The formula string interface definitely limits the objective functions that may be expressed for minimization.  I see a few options for your problem.

1. If you are interested in just equiripple FIR filter design, LabVIEW 7.0 does ship with a VI called Parks-McClellan.vi.  Unfortunately this VI only allows the specification of a magnitude response.  The phase response will be linear (constant group delay).

2.  You could consider this to be a curve fitting kind of problem, and use the Nonlinear Lev-Mar Fit.vi.  This will give you a least-squares approximation of the impulse response, but the quality of the solution will be greatly dependent on the initial guess you supply.  It will be somewhat problematic to always get a stable IIR filter using this method as constraints or bounds are not supported.

3.  The Current Digital Filter Design toolkit allows linear and non-linear phase FIR and IIR filter design.  This would require you to transform your impulse response to the frequency domain, but at least the design VIs allow the specification of a complex response (magnitude and phase), and offer an equiripple or Pth norm criteria.  This is probably your best option in terms of options and amount of development effort on your part.

4.  LabVIEW 8.0 will offer additional optimization VIs that will be more suitable for your problem.  The interface will be much easier to use and more flexible, and we will have more algorithm options.  That is about all I can say until we release LabVIEW 8.0.

Hope this helps,
Jim
0 Kudos
Message 2 of 2
(2,599 Views)