next up previous
Next: 4.2 Results at Specific Up: 4 Numerical Results Previous: 4 Numerical Results

4.1 Approach

To evaluate the capacity for a given set of fundamental parameters $ \rho_0 $, $ \rho_+$, $ \Delta$, and $ \beta_0$, we generate a random vector $ {\mathbf v} = (v_1, \ldots, v_M)$ according to Eq. (10), evaluate the logarithmic function in Eq. (11), and average the computed logarithm over several million such random vector samples. In order to avoid performing the hundreds of millions of resulting convolution integrals, we save a look-up table for the likelihood function $ L(v)$ over a wide range of $ v$. The range needs to be chosen large enough so that millions of random samples drawn from either pdf in Eq. (10) are unlikely to take on values outside of this range. This is accomplished with a range from eight standard deviations below the mean of $ v_j, j\ge 2$, to eight standard deviations above the mean of $ v_1$. To obtain sufficient resolution, a uniformly quantized table of size 10,000 is used within this range, which requires computation of 20,000 convolution integrals. The table requires approximately 15 seconds of computation time on a Pentium-II 333, and saves over 1,000 hours of computation time if the overall simulation uses 10 million sample vectors. A typical likelihood function $ L(v)$ over the range stored in the look-up table is shown in Fig. 1.

The gradient of the capacity is computed by finite differences: the capacity is determined at a nominal operating point $ {\mathbf a}_0 = (\rho_0 , \rho_+, \Delta, \beta_0)$, and then at the operating points

$\displaystyle {\mathbf a}_1$ $\displaystyle =$ $\displaystyle (\rho_0 -\epsilon, \rho_+, \Delta, \beta_0)$  
$\displaystyle {\mathbf a}_2$ $\displaystyle =$ $\displaystyle (\rho_0 , \rho_+-\epsilon, \Delta, \beta_0)$  
$\displaystyle {\mathbf a}_3$ $\displaystyle =$ $\displaystyle (\rho_0 , \rho_+, \Delta-\epsilon, \beta_0)$  
$\displaystyle {\mathbf a}_4$ $\displaystyle =$ $\displaystyle (\rho_0 , \rho_+, \Delta, \beta_0-\epsilon).$  

Each of the operating points requires its own look-up table for $ L(v)$. The gradient is then given by

$\displaystyle \nabla C({\mathbf a}_0) \approx \left( {C({\mathbf a}_0)-C({\math...
...f a}_3)\over\epsilon}, {C({\mathbf a}_0)-C({\mathbf a}_4)\over\epsilon} \right)$    

Following the calculation of the gradient, the inner product is formed with the appropriate column of $ J({\mathbf a})$.


next up previous
Next: 4.2 Results at Specific Up: 4 Numerical Results Previous: 4 Numerical Results
Jon Hamkins 2000-10-13