Page 217 - Applied Numerical Methods Using MATLAB
P. 217
206 NONLINEAR EQUATIONS
2
2
(g) x + y − 2z = 6
3
2
x − 2y + z = 3 (P4.8.7)
2
2
2xz − 3y − z =−27
4.9 Newton Method for a System of Nonlinear Equations with Varying Para-
meter(s)
In order to find the average modulation order x i for each userofan OFDM
(orthogonal frequency division multiplex) system that has N(128) subcha-
nnels to assign to each of the four users in the environment of noise power
N 0 and the bit error rate (probability of bit error) P e , a communication
system expert, Mi-hyun, formulated the problem into the system of five
nonlinear equations as follows:
N 0 −1 2
f i (x) = (2 (x i ln 2 − 1) + 1) 2(erfc (P e /2)) − λ = 0 (P4.9.1)
x i
3
for i = 1, 2, 3, 4
4
a i
f 5 (x) = − N = 0 (P4.9.2)
x i
i=1
where N = 128 and a i is the data rate of each user
−1
where erfc (x) is the inverse function of the complementary error function
2 ∞ −t 2 2 x −t 2
erfc(x) = √ e dt = 1 − √ e dt = 1 − erf(x) (P4.9.3)
π x π 0
and defined as the MATLAB built-in function ‘erfcinv()’. She defined
the mismatching error (vector) function as below and save it in the M-file
named “fp_bits.m”.
function y = fp_bits(x,a,Pe)
%x(i),i = 1:4 correspond to the modulation order of each user
%x(5) corresponds to the Lagrange multiplier (Lambda)
if nargin < 3, Pe = 1e-4;
if nargin < 2, a = [64 64 64 64]; end
end
N = 128; N0 = 1;
x14 = x(1:4);
y = (2.^x14.*(log(2)*x14 - 1)+1)*N0/3*2*erfcinv(Pe/2).^2 - x(5);
y(5) = sum(a./x14) - N;
Compose a program which solves the above system of nonlinear equations
−4
(with N 0 = 1and P e = 10 ) to get the modulation order x i of each user