In many applications, it is necessary to have a finite impulse response (FIR) filter that reacts to the signal that it is to modify by choosing an appropriate passband. In these situations, we need an automated method to choose the filter coefficients. Once the appropriate method has been used to pick the idealized filter, we can apply the method of Frequency Sampling (FS) to construct our filter. This method involves sampling the frequency response H(ω), and computing the DFT to arrive at our filter coefficients.
The problem with this method is that it adds ripples into the frequency response between the samples. This can be remedied by introducing a transition band. This is a small number of sampled frequencies ωk,ωk+1,…,ωk+l which take on values between 0 and 1. This allows a more gradual transition between the pass band and the stop band, which reduces the rippling. We now must choose the values ofH(ωk),H(ωk+1),…,H(ωk+l) so that the filter we construct is the best possible approximation of our ideal filter. Generally, by best possible approximation, we mean the filter that minimizes the mean square error.
This minimization problem suffers from nonlinearity, which makes it impossible to solve exactly except in the most mundane of circumstances. This can be overcome by applying an optimization technique such as Particle Swarm Optimization (PSO). PSO has us pick several possible values for H(ωk),H(ωk+1),…,H(ωk+l) and test the error at each of those points. Based on those errors, we choose new points to test, and continue until all of the points have clustered together and “swarm” in a small area. PSO converges faster than many other optimization algorithms that could handle this type of problem. That makes it an ideal choice for this sort of application where the optimization will need to be performed often as the signal evolves.
For more information: