Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Filter design
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Methodology == One common method for designing FIR filters is the [[Parks-McClellan filter design algorithm]], based on the [[Remez exchange algorithm]]. Here the user specifies a desired frequency response, a weighting function for errors from this response, and a filter order ''N''. The algorithm then finds the set of ''N'' coefficients that minimize the maximum deviation from the ideal. Intuitively, this finds the filter that is as close as you can get to the desired response given that you can use only ''N'' coefficients. This method is particularly easy in practice and at least one text<ref>Rabiner, Lawrence R., and Gold, Bernard, 1975: Theory and Application of Digital Signal Processing (Englewood Cliffs, New Jersey: Prentice-Hall, Inc.) {{ISBN|0-13-914101-4}}</ref> includes a program that takes the desired filter and ''N'' and returns the optimum coefficients. One possible drawback to filters designed this way is that they contain many small ripples in the passband(s), since such a filter minimizes the peak error. Another method to finding a discrete FIR filter is ''filter optimization'' described in Knutsson et al., which minimizes the integral of the square of the error, instead of its maximum value. In its basic form this approach requires that an ideal frequency function of the filter <math>F_{I}(\omega)</math> is specified together with a frequency weighting function <math>W(\omega)</math> and set of coordinates <math>x_{k}</math> in the signal domain where the filter coefficients are located. An error function <math>\varepsilon</math> is defined as :<math>\varepsilon = \| W \cdot (F_{I} - \mathcal{F} \{ f \}) \|^{2}</math> where <math>f(x)</math> is the discrete filter and <math>\mathcal{F}</math> is the [[discrete-time Fourier transform]] defined on the specified set of coordinates. The norm used here is, formally, the usual norm on <math>L^{2}</math> spaces. This means that <math>\varepsilon</math> measures the deviation between the requested frequency function of the filter, <math>F_{I}</math>, and the actual frequency function of the realized filter, <math>\mathcal{F} \{ f \}</math>. However, the deviation is also subject to the weighting function <math>W</math> before the error function is computed. Once the error function is established, the optimal filter is given by the coefficients <math>f(x)</math> which minimize <math>\varepsilon</math>. This can be done by solving the corresponding least squares problem. In practice, the <math>L^{2}</math> norm has to be approximated by means of a suitable sum over discrete points in the frequency domain. In general, however, these points should be significantly more than the number of coefficients in the signal domain to obtain a useful approximation. === Simultaneous optimization in both domains === The previous method can be extended to include an additional error term related to a desired filter impulse response in the signal domain, with a corresponding weighting function. The ideal impulse response can be chosen independently of the ideal frequency function and is in practice used to limit the effective width and to remove ringing effects of the resulting filter in the signal domain. This is done by choosing a narrow ideal filter impulse response function, e.g., an impulse, and a weighting function which grows fast with the distance from the origin, e.g., the distance squared. The optimal filter can still be calculated by solving a simple least squares problem and the resulting filter is then a "compromise" which has a total optimal fit to the ideal functions in both domains. An important parameter is the relative strength of the two weighting functions which determines in which domain it is more important to have a good fit relative to the ideal function.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Filter design
(section)
Add topic