Home > On-Demand Archives > Talks >

How to Design Nonlinear Approximations for DSP

Christopher Hansen - Watch Now - EOC 2025 - Duration: 45:41

How to Design Nonlinear Approximations for DSP
Christopher Hansen

Nonlinear functions, such as arctangent, logarithm, and square root are commonly used in Digital Signal Processing. In practice, a textbook approximation algorithm is often used to compute these functions. These approximations are typically of mysterious origin and optimized for a certain application or implementation. Consequently, they may not be ideal for the application at hand. This talk describes a method for designing approximations using Chebfun (www.chebfun.org), an open-source software system for numerical computation with functions. With Chebfun, it is possible to quickly determine polynomial and rational approximations for any function with as many interpolation points as needed. This talk will cover a few basic topics in approximation theory and then work through several practical examples that can be directly employed in fixed point and floating point DSP applications.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

ChristopherSpeaker
Score: 0 | 2 weeks ago | 1 reply

Sure - I can use the arctan(Q/I) example. The arctan1 and arctan2 approximations are both of the form ax/(b+cx^2). Substituting x = Q/I gives:
(aQ/I)/(b+cQ^2/I^2)
the multiplying numerator and denominator by I^2 gives:
aIQ/(bI^2 + cQ^2)
In this form arctan1(x) = IQ/(I^2 + 0.2815Q^2) and arctan2(x) = 0.873IQ/*0.886I^2 + 0.2280Q^2)
Chris Hansen

EnesMUTTA
Score: 0 | 2 weeks ago | no reply

That makes perfect sense. I am a bit embarassed that I missed it. Thank you.

EnesMUTTA
Score: 0 | 2 weeks ago | no reply

Hello Dr Hansen,
I watched your presentation with joy, and I would like to thank you for it. I have a question regarding rational approximations. On slide 23, you mentioned that rational approximations are especially useful for functions that already have division in them. Can you elaborate on this a little?
Initially, I thought there was going to be a trick that enabled us to do only 1 division for both the function input and the rational polynomials. For instance, for the arctan example: arctan(Q/I) = p(Q)/q(I). But this is not the case.
If you can help me understand the reason behind the usefulness of the rational approximations in cases where the function input already has a division, I would be very happy.
Kind regards

OUR SPONSORS & PARTNERS