Questions on Function Approximation (using FPGAs)

D

D Lee

Guest
Dear all,

I am working on (compound) function approximation with one input
variable using piecewise polynomial approximation with non-linear
joints. These approximations are implemented in hardware using Xilinx FPGAs.

Example of such functions include: f(x)=sqrt(-ln(x)) or
f(x)=x*ln(x) where x = [0,1), which are used for Gaussian noise
generation (Box-Muller method) and Entropy calculation
respectively.

Does anyone know any other real-life applications where compound
functions need to be approximated?

My second question is on the function f(x)=sqrt(-ln(x)) over x =
[0,1). This function is highly non-linear and approaches infinity
as x gets close to zero. This requires floating point
implementation (due to the large polynomial coefficients, which I
want to avoid). Are there any transformations I am apply to the
function to decompose it 2 or more functions that are more linear?
(Note that ln(x) is also highly non-linear over x = [0,1))


Regards,

Dong-U Lee
 
D Lee wrote:

Dear all,

I am working on (compound) function approximation with one input
variable using piecewise polynomial approximation with non-linear
joints. These approximations are implemented in hardware using Xilinx FPGAs.

Example of such functions include: f(x)=sqrt(-ln(x)) or
f(x)=x*ln(x) where x = [0,1), which are used for Gaussian noise
generation (Box-Muller method) and Entropy calculation
respectively.

Does anyone know any other real-life applications where compound
functions need to be approximated?
sqrt(1/x) is used so often that more than one modern cpu contains
built-in lookup tables to generate a good starting point for a NR iteration.

My second question is on the function f(x)=sqrt(-ln(x)) over x =
[0,1). This function is highly non-linear and approaches infinity
as x gets close to zero. This requires floating point
implementation (due to the large polynomial coefficients, which I
want to avoid). Are there any transformations I am apply to the
function to decompose it 2 or more functions that are more linear?
(Note that ln(x) is also highly non-linear over x = [0,1))
My first guess would be to look for some kind of rational approximation,
even if this does require a final division.

Terje

--
- <Terje.Mathisen@hda.hydro.com>
"almost all programming can be viewed as an exercise in caching"
 

Welcome to EDABoard.com

Sponsor

Back
Top