Re: CORRECTED: Verilog-AMS Committee Meeting Minutes - Oct 12 2006

From: Geoffrey.Coram <Geoffrey.Coram_at_.....>
Date: Fri Oct 13 2006 - 12:31:03 PDT
My action item was to post the interpolation function
for LOG in noise_table.

If one has (f1, pwr1) and (f2, pwr2) in the vector,
then for a frequency f between f1 and f2, one wants
power
  log10(pwr) = log10(pwr1) +
              (log10(f) - log10(f1)) * (log10(pwr2) - log10(pwr1))
                    / (log10(f2) - log10(f1))

which simplifies with log(a) - log(b) = log(a/b) to
  log10(pwr) = log10(pwr1) + log10(f/f1) * log10(pwr2/pwr1) / log10(f2/f1)

or
  pwr = pwr1 * 10**(log10(f/f1) * log10(pwr2/pwr1) / log10(f2/f1))

When I put in f1=1, pwr1=1000, f2=100, pwr2=10, then
for f = 10, I get
  pwr = 1000 * 10**(log10(10/1) * log10(10/1000) / log10(100/1))
      = 1000 * 10**( 1 * -2 / 2)
      = 100

Anyone want to check my math?

-Geoffrey
Received on Fri Oct 13 12:31:09 2006

This archive was generated by hypermail 2.1.8 : Fri Oct 13 2006 - 12:31:13 PDT