Tuesday, March 26, 2013

Using Central Force Optimization To Apply Real-time Smart Antenna System

Background:

What Is a Smart Antenna System?

In truth, antennas are not smart—antenna systems are smart. Generally co-located with a base station, a smart antenna system combines an antenna array with a digital signal-processing capability to transmit and receive in an adaptive, spatially sensitive manner. In other words, such a system can automatically change the directionality of its radiation patterns in response to its signal environment. 

This can dramatically increase the performance characteristics (such as capacity) of a wireless system.

Array definitions.

An array of antenna elements is a spatially extended collection of N similar radiators or elements, where N is a countable number bigger than 1, and the term "similar radiators" means that all the elements have the same polar radiation patterns, orientated in the same direction in 3-d space. The elements don't have to be spaced on a regular grid, neither do they have to have the same terminal voltages, but it is assumed that they are all fed with the same frequency and that one can define a fixed amplitude and phase angle for the drive voltage of each element.

Element pattern, Array pattern.

The polar radiation pattern of a single element is called the "element pattern". It is possible for the array to be built recursively
The array pattern is the polar radiation pattern which would result if the elements were replaced by isotropic radiators, having the same amplitude and phase of excitation as the actual elements, and spaced at points on a grid corresponding to the far field phase centers of the elements.


How to control radiation pattern (directivity)
If we can find a formula for radiation pattern we can change its parameters  to satisfy desired form.

Calculation of array patterns

The radiated field strength at a certain point in space, assumed to be in the far field, is calculated by adding the contributions of each element to the total radiated fields. The field strengths fall off as 1/r where r is the distance from the isotrope to the field point. We must take into account any phase angle of the isotrope excitation, and also the phase delay which is due to the time it takes the signal to get from the source to the field point. This phase delay is expressed as 2 Pi radians times (r/lambda) where lambda is the free space wavelength of the radiation. Contours of equal field strength may be interpreted as an amplitude polar radiation pattern. Contours of the squared modulus of the field strength may be interpreted as a power polar radiation pattern.
Here is an example of a power polar radiation pattern for two isotropes spaced 1/4 wavelength apart along the x axis (horizontally on your screen or paper) and fed with equal amplitudes and phases

TWO ISOTROPES 1/4 WAVELENGTH APART FED IN PHASE


If we increase the spacing to 1/2 wavelength, but still keep the excitation in phase and equal amplitudes, we see deep nulls developing

Antenna parameters
Phase (α)
Current amplitude (I)
Angle with major lobe (Φ)
Angle with the normal (Θ)
Wavelength (ƛ)


Antennas with a given radiation pattern may be arranged in a pattern
(line, circle, plane, etc.) to yield a different radiation pattern


Circular array - antenna elements arranged around a circular
ring.our application is based on Circular array of antennas

Array Design Variables
1. General array shape (linear, circular, planar, etc.).
2. Element spacing.
3. Element excitation amplitude.
4. Element excitation phase.
5. Patterns of array elements

Pattern multiplication theorem
Array.
Array Pattern = Array element Pattern * Array Factor (AF)

the array factor for the circular array is as follows

Using CFO.
CFO is used to calculate values that would make the radiation pattern like this

Max(AF) = AF(ɸ1)+Af(ɸ2)+AF(ɸ3) –AF(ɸ4) – AF(ɸ5) –AF(ɸ6)

ɸ1 , ɸ2 , ɸ3 .. are angels where major lobe occurs (Desired angel).
ɸ4 , ɸ5 , ɸ6 ...are angels where minor lobe is occurs
(Undesired angel).


In CFO we can say that
Max fitness = Af(desired1) + AF(desired2) –AF(Undesired1)

And that the objective function is

Using suitable number of probes and time steps. values of Current ( I ) and phase shift ( alpha ) for each antenna on the array can be calculated that would satisfy the desired radiation pattern.


Applying CFO:

CFO Algorithm analysis:
1-to make initial positions for all probes it will take (by any way) à O (P)
2-to calculate the mass of any it will take O (M)
3-you have to calculate the acceleration for all probes like that
So to compute the acceleration for any for you have to loop for all probes à O (P D)
And to compute all acceleration for all probes it will take à O (P² D)
4-to compute the new position for all probes it will take à O (P D)
5-so in every time step you will take à O (M) + O (P²) + O (P) = O (M+ D P²)
6-then the total order of the algorithm is à O (T (M+ D P²))
As D is the number of diminution

Implementing CFO:
We have to put the probes in the decision space and let every probe converge to all probes that have a greater mass than our probe. So we have to put initial probes on the outer surface of the decision space. So when it converge together it will defiantly converge to the optimum solution, but if all probes in the middle of the D.Space and the optimum solution at the top surface then all probes will not rich this optimum.
How to make all probes initially at the outer surface of the D.Space:
If we have 2-D problem we can put them as
And this will not be a big problem we just make two loops to set those probes.
If we have 3-D problem:
Then use three loops ……………..
But what if we have n-D problem
We attain to a function that takes the probe number and number of probes and it generate the whole position of the probe.

private double[] get_initial(int p, int Np, victor min, victor max)
{
    double[] v = new double[min.Vars.Length];
    int temp;
    for (int i = 0; i < v.Length; i++)
    {
        temp = (int)(p / Math.Pow(Np, i)) % Np;
        v[i] = min.Vars[i] + temp * (max.Vars[i] - min.Vars[i]) / (Np - 1);
    }
    return v;
}

-in the last two graphs (2-D & 3-D) and that is the maximum number of the diminutions we can imagine and drawn we found that the number of probes will be Np = X ^ Nd
Np à number of probes
Nd à number of diminutions
X à is a positive integer has minimum value (2)

In our problem the diminution will be as 2N as
N is the number of antennas
Let’s take the minimum value of X à 2
Then the number of probes will be (2 ^ 2N) = (4 ^ N)
And the order of calculating mass is O (N)
Then the total order will be O (T (M+P²)) à O (T (N+4^2N)) à O (T (8^N))
It’s unaccepted order
We have to find another algorithm to get the initial probes
Let’s say we will put them randomly, and to be more accurate we will put X probes at every diminution as:
2 probes per diminution à min, max
3 probes per diminution à min, mid, max
……
……
And all other diminutions for those 2, or 3 probes we will put them as a random number between min and max.
The number of probes using the new algorithm:
Np = X * Nd
As Np à number of probes
Nd à number of diminutions
X à positive integer number has a min value (1)
Then the order of CFO is:
O (T (M+P²)) à O (T (N + X² * 4N²)) à O (T * X² * N²)
I think it’s a reasonable order I can live with it.
Next problem faced us:
-Can the probes rich the optimum solution if it’s on any corner?
When we put the probes randomly by default the most of it will be in the middle of the D.Space. So when they converge together it will not converge to the optimum solution.

How can we make them converge to the corners?
If they converge to the corners then they will diverge from each other, but how?
-we can reverse the motion of any probe if we multiply it by (-1)
So we can make (G) be (-G)  ; )
So we solve a problem be making another one, What if the optimum solution in the middle of the D.Space? à The probes will not converge to the optimum solution in that case.

So we can use those two ways of motion at the same time, on the same initial probes, with same number of time steps, and the algorithm will take the same Time à(order)



There are 3-free variables in the CFO algorithm à G, Alfa, Beta
As so many test cases on solving the antenna array problem by using many different values to G, Alfa, Beta we found it make the most converge at those values:
G = 14
Alfa = 6
Beta = 4
Current rounding up
After many test cases of current values that satisfies the most accurate values of fitness was mostly found close to 1 as minimum or 3 as maximum.
Also values of current found to get so close to 1 or 3.
So rounding up/down values of current found to be useful when seeking for the best fitness


References: 
 CFO algorithm :

1 - Progress In Electromagnetics Research, PIER 77, 425–491, 2007
    CENTRAL FORCE OPTIMIZATION: A NEW
    METAHEURISTIC WITH APPLICATIONS IN APPLIED
    ELECTROMAGNETICS - R. A. Formato


kinematic relativity :

1 - http://www.kinematicrelativity.com/
2 - http://en.wikipedia.org/wiki/Kinematics

Array and array antenna :

1 - Antenna Arrays - Hon Tat Hui
2 - http://www.electronics-tutorials.com/antennas/antenna-basics.htm
3 - http://personal.ee.surrey.ac.uk/Personal/D.Jefferies/antarray.html
4 - http://www.radio-electronics.com/info/antennas/dipole/dipole.php
5 - http://en.wikipedia.org/wiki/Phased_array
6 - http://www.analyzemath.com/antenna_tutorials/antenna_arrays.html
7 - Array and Phased Array - Antenna Basics - Hubregt J. Visser


Smart antenna :

1 - http://en.wikipedia.org/wiki/Smart_antenna


Antenna gain and Directivity:

1 - http://www.about-wireless.com/terms/antenna-gain.htm
2 - http://en.wikipedia.org/wiki/Directive_gain
3 - http://en.wikipedia.org/wiki/Directivity


Isotropic radiator and Radiant intensity:

1 - http://en.wikipedia.org/wiki/Isotropic_radiator
2 - http://en.wikipedia.org/wiki/Radiant_intensity




Project Team:
-Ahmed Hassan Khalaf
-Ali Ahmed Ali
-Shrief Hassan



No comments:

Post a Comment