TECHNIA International Journal of Computing Science and ... Design of... · 8535 AVR is used in the...
Transcript of TECHNIA International Journal of Computing Science and ... Design of... · 8535 AVR is used in the...
TECHNIA – International Journal of Computing Science and Communication Technologies, VOL. 3, NO. 2, Jan. 2011. (ISSN 0974-3375)
Hardware Design of Equilateral Triangular
Microstrip Antenna Using Artificial
Neural Network
1Praveen Kumar Malik, 2Vineet Vishnoi, 3Shekhar Pundir 1Radha Govind Eng. College, Meerut UP, India,
2R.K.G.I.T, Ghaziabad UP, India 3JP Inst.of Eng, Meerut UP, India
[email protected], [email protected], [email protected]
Abstract— In Bio-Medical applications and wireless
communication systems, the microstrip antennas are now
days extensively used due to their low-profile features and
ease of fabrication. Artificial neural network computation is
especially used for designing equilateral triangular
microstrip antenna in wireless communication. In this article,
Back propagation multilayered-perceptron network is used.
The results obtained using ANN are being compared with the
experiment result which are in good agreement with the
experiment results. Further, keeping the same ANN design in
mind, hardware is designed using AVR microcontroller to
generate and display the obtained resonant frequency on
LCD.
Keywords- Microstrip, Resonance Frequency, Threshold
function, 8535 AVR, ICC AVR.
I. INTRODUCTION
Microstrip antennas due to their many features have drawn popularity among researchers and for industrial application. Design of microstrip antennas must be determined accurately due to their narrow bandwidth. Microstrip antennas have been used in different configurations like: square, rectangular, circular, and triangular etc. ANN, Genetic algorithm, etc. are the soft computing techniques [1] for calculating different parameters of microstrip patch antenna [2]. The formula based expression is explained to calculating resonant frequency of equilateral triangular microstrip antenna [3-4]. However, the majority of the studies proposed in this area have concentrated on rectangular and circular microstrip antennas. Triangular microstrip antenna design of patch must be very accurately determined to make antenna to resonate at particular band of frequency. Since it is a narrow band antenna which operates effectively in the vicinity of the resonant frequency. 8535 AVR microcontroller is used here and it has been programmed accordingly to display the calculated resonance frequency on the LCD as per the calculated frequency (Theoretically & as per MATLAB programmed).
II. EQUILATERAL TRIANGULAR MICROSTRIP PATCH
ANTENNA PARAMETERS
Equilateral triangular microstrip antenna comprises an
equilateral triangular conductor on a dielectric substrate
backed by a ground plane. The resonant frequency of such
antenna is a function of side length of patch, permittivity
of the substrate and its thickness. Design and experiment
study of this antenna was reported by many methods. The
resonant frequency obtained from the cavity model with
perfect magnetic walls is given by the formula [5].
fmn = (2c/3a(εr)1/2)(m2+n2+mn)1/2
Where “c” is the velocity of the electromagnetic
waves in free space, “εr” is the relative dielectric constant
of the dielectric constant of the substrate, m, n and the
integers that are never zero. Their is a difference between
theoretical and measure values of resonant frequency, in
order to obtain accurate values we consider measured
values for our design.
III. ARTIFICIAL NEURAL NETWORK
Artificial neural network is the result of academic investigation that uses mathematical formulation to model nervous system operation. A neural network is used to learn patterns & relationship in data. Neural network do not require explicit coding of the problems. In fact they require raw data to be processed. ANN are the signal processing system whose basic concept has been taken from the concept of the human brain with the basic element Neuron. There are three major techniques to be used to learn the neuron. (Supervised Learning, Unsupervised Learning, and Reinforcement Training). To take the decision of the output there are many activation functions. These activation functions can be used according to our requirements. Major activation functions are:
Identity function, Binary Step function, Signum function, Signoidal function, Tan Hyperbolic function. All the inputs coming to the neuron are multiplied with their synapse weights & added together. This output is compared with the threshold set by the activation function & the decision is taken accordingly either 0 or 1 OR -1 or +1. If we smoothen the threshold function, so that it more or less turns on or off as before, but has a sloping region in the middle that will give us some information on the inputs, we will be able to determine when we need to strengthen or weaken the relevant weights.
IV. MODEL FOR MULTILAYER BACK PROPAGATION
PERCEPTRON
Perceptrons are arranged in layers and so the model is
termed as multilayer perceptron. This model has three
layers; an input layer, output layer and a layer in between
which is not connected directly to the input or the output
642
TECHNIA – International Journal of Computing Science and Communication Technologies, VOL. 3, NO. 2, Jan. 2011. (ISSN 0974-3375)
and hence called hidden layer. For the perceptron in the
input layer, we use linear transfer function, and for the
perceptron in the hidden layer and the output layer we use
the sigmoidal function. The input layer serves to distribute
the value it receives to the next layer and so, does not
perform a weighted sum or threshold. Because, we have
modified the single layer perceptron by changing the
nonlinearity from a step function to a sigmoidal function
and added a hidden layer, we are forced to alter the
learning rule as well. The input output mapping of
multilayer perceptron is given by: -
O=N3[N2[N1[I]]]
N1, N2, N3 represent nonlinear mapping provided by
input, hidden and output layer respectively. In this article
three layer network shows that the activity of neurons in
the input layers represents the raw information that is fed
in to the network. The activity of the neurons in the hidden
layer is determined by the activities of the neurons in the
input layer and the connecting weights between input and
hidden layers. Similarly, the activity of the output units
depends on the activity of the neurons in the hidden layer
and the weights between the hidden and the output layers.
V. TRAINING DATA SET
TABLE I: RESONANCE FREQUENCY FOR DIFFERENT VALUES OF H, ΕR, L,
M AND N.
H (in cm) εr L (in cm) m n Freq. in GHz
1 0.07 10.5 4.1 1 1 2.637
2 0.07 10.5 4.1 2 0 2.995
3 0.07 10.5 4.1 2 1 3.973
4 0.07 10.5 4.1 3 0 4.439
5 0.078 2.32 8.7 1 1 2.596
6 0.078 2.32 8.7 2 0 2.969
7 0.078 2.32 8.7 2 1 3.968
8 0.078 2.32 8.7 3 0 4.443
9 0.159 2.32 10 1 0 1.280
10 0.159 2.32 10 1 1 2.242
11 0.159 2.32 10 2 0 2.550
12 0.159 2.32 10 2 1 3.400
These data for resonance frequency are obtained from [6].
A computer program for the neural network method is
written in MATLAB. The program is written by asking the
five parameters as an input to for testing; using these
parameters the frequency is calculated by the neural
network model. Program is written as: -
clc;
A (1,1)= input ('Enter L (cm):');
A (1,2)= input ('Enter h (cm):');
A (1,3) =input('Enter εr:');
A (1,4)= input ('Enter m:');
A (1,5)= input ('Enter n:');
% For Example A= [4.1 0.0700 10.5 1 0]
B= [-0.2276 0.4733 -0.1294 -0.0961 -0.1294
-0.0719 -0.2930 -0.0375 0.3170 -0.0375
-0.1288 -0.2057 0.0256 0.6339 0.0256
-0.3088 -1.3080 0.5442 -1.6220 0.5442
0.5837 -0.8369 0.3751 -1.0582 0.3751];
C=A*B;
D= [0.0970 0.5817 0.0546 -0.5542 0.0546];
E=C+D;
F=1./(1+exp(-E));
G= [0.0110 0.6885 0.0110 -0.0110 0.0110
-0.7438 -0.8279 -0.7438 0.7438 -0.7438
0.1243 0.5890 0.1243 -0.1243 0.1243
-0.5686 -1.0892 -0.5686 0.5686 -0.5686
0.1243 0.5890 0.1243 -0.1243 0.1243];
H=F*G;
I= [0.1038 0.5852 0.1038 -0.1038 0.1038];
J=H+I;
K=2./(1+exp (-2*J))-1;
L= [0.9169
2.5635
0.9169
-0.9169
0.9169];
M=K*L;
N=3.1949;
O=M+N %O is the final output.
All the entries of table I can be verified using the
above program. Even more other data entries of (H, L, εr,
m and n) can also be done using the above program.
Note: All weight matrixes are calculated using neural
network training module in MATLAB.
VI. HARDWARE DESIGN
Main objective of the paper is to design an electronics
hardware using microcontroller, which satisfies the above
specified table data for different frequencies. This has
been done with the help of AVR 8535 microcontroller.
AVR 8535 is an 8 bit RISC microcontroller having
following features.
40 pin RISC Architecture
8 K Byte flash memory
512 byte RAM
512 byte EEPROM
04 input output ports.
8535 AVR is used in the following pin configuration.
Port C is used to provide the input data (as per Table
I). Port A and B are used to interface the 16x2 LCD. 8535
is operating at an external crystal of 12 MHz. 8535 and
LCD is operating on +5v DC supply. An important theme
of this design is the programming concept of the above
requirements. Here we have used a simulator ICCAVR
6.31 for programming platform and ISP of 8535
microcontroller.
Fig. 1: Pin Configuration of 8535 AVR
643
TECHNIA – International Journal of Computing Science and Communication Technologies, VOL. 3, NO. 2, Jan. 2011. (ISSN 0974-3375)
VII. SOFTWARE DESIGN
Complete programming code is being written and
explained here to demonstrate the above neural design.
#include<iom8535v.h>
#include<lcdavr.h>
#include<math.h>
#include<stdio.h>
void display(int x, char databyte[16]);
void display1(int x, char databyte[16]);
void send_number(float);
void delay(int );
int x=0x80;
//Declaration of all header file and function to be used
in the program.
void main()
{
int i=0,j=0,m=0, m4=0, m5=0;
int q1=0, q2=0, q3=0, q4=0, q5=0;
float A[5];
float wt[5][5]={ -0.2276, 0.4733, -0.1294, -0.0961, -
0.1294,
-0.0719,-0.2930, -0.0375, 0.3170, -0.0375,
-0.1288,-0.2057, 0.0256, 0.6339, 0.0256,
-0.3088,-1.3080, 0.5442, -1.6220, 0.5442,
0.5837,-0.8369, 0.3751, -1.0582, 0.3751};
float b1[5]={0.0970, 0.5817, 0.0546, -0.5542,
0.0546};
float b2[5]={0.1038,0.5852, 0.1038,-0.1038,0.1038};
float b3=3.1949;
double y[5]={0.0,0.0,0.0,0.0,0.0};
double v[5][5]={0.0110, 0.6885, 0.0110, -0.0110,
0.0110,
-0.7438,-0.8279,-0.7438, 0.7438, -0.7438,
0.1243, 0.5890, 0.1243, -0.1243, 0.1243,
-0.5686,-1.0892,-0.5686, 0.5686, -0.5686,
0.1243, 0.5890, 0.1243, -0.1243, 0.1243};
Double u[5]={0.0,0.0,0.0,0.0,0.0};
Float z[1][5]={0.9169,2.5635,0.9169,-
0.9169,0.9169};
Float result=00.0000;
float m1=0, m2=0, m3=0;
//Declaration of all weight matrix to be used in
between input, hidden and output layer the neural
network.
DDRB=0xff; DDRC=0x00; DDRD=0xff;
lcd_init(); display(x, "Enter The value"); delay(5);
lcd_init();
start:
//Declaration of direction data register and lcd
initialized function.
while(1)
{
//if first key is pressed (Value of H to be inputted)
if ((PINC & 0x01) == 0) // first
{ delay(2); x=0x80;
if(q1==0){ display(x, "04.1000"); m1=4.100; q1++;
goto start; }
if(q1==1){ display(x, "08.7000"); m1=8.700; q1++;
goto start; }
if(q1==2){ display(x, "10.0000"); m1=10.000; q1=0;
goto start; }
}
//if second key is pressed (Value of εr to be inputted)
if ((PINC & 0x02) == 0) // second
{
delay(2); x=0x88;
if(q2==0){ display(x, "0.0700");m2=0.0700; q2++;
goto start; }
if(q2==1){ display(x, "0.0780"); m2=0.0780; q2++;
goto start; }
if(q2==2){ display(x, "0.1590"); m2=0.1590;
q2=0; goto start; }
}
//if third key is pressed (Value of L to be inputted)
if ((PINC & 0x04) == 0) // third
{
delay(2); x=0xc0;
if(q3==0){ display(x, "10.5000"); m3=10.5000; q3++;
goto start; }
if(q3==1){ display(x, "02.3200"); m3=2.3200; q3=0;
goto start; }
}
//if fourth key is pressed (Value of m to be inputted)
if ((PINC & 0x08) == 0) // fourth
{
delay(2); x=0xc8;
if(q4==0){ send_command(x); send_data('0'); m4=0;
q4++; goto start; }
if(q4==1){ send_command(x); send_data('1'); m4=1;
q4++; goto start; }
if(q4==2){ send_command(x); send_data('2'); m4=2;
q4=0; goto start; }
}
//if fifth key is pressed (Value of n to be inputted)
if ((PINC & 0x10) == 0) // fifth
{
delay(2); x=0xcc;
if(q5==0){ send_command(x); send_data('0'); m5=0;
q5++; goto start; }
if(q5==1){ send_command(x); send_data('1'); m5=1;
q5++; goto start; }
if(q5==2){ send_command(x); send_data('2'); m5=2;
q5=0; goto start; }
}
/////////////////////////////////////////////////////////
//if sixth key is pressed (Calculation of the neural net
begain)
if ((PINC & 0x20) == 0) // execute
{
A[m]=m1; m++;
A[m]=m2; m++;
A[m]=m3; m++;
A[m]=m4; m++;
A[m]=m5;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
y[i]=y[i]+(wt[j][i]*A[j]);
}
y[i]=y[i]+b1[i];
y[i]=1/(1+exp(-y[i]));
}
644
TECHNIA – International Journal of Computing Science and Communication Technologies, VOL. 3, NO. 2, Jan. 2011. (ISSN 0974-3375)
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
u[i]=u[i]+v[j][i]*y[j];
u[i]=u[i]+b2[i];
u[i]=2/(1+exp(-2*u[i]))-1;
}
for(i=0;i<5;i++)
result=result+u[i]*z[0][i];
result=result+b3;
send_number(result);
} }
}
//////////////////////////////////////
//finally calculated value is to be displayed on the
LCD.
void send_number(float x)
{
char d, i = 1,t=0;
lcd_init();
send_command(0xC3);
if(x < 0)
{
x = fabs(x);
send_data('-');
}
while(x >= 10)
{
x /= 10;
i++;
}
}
////////////////////////////////////////
void display(int x, char databyte[])
{
char y=0;
send_command(x);
while(databyte[y]!='\0')
{
send_data(databyte[y]);
y++;
}
}
///////////////////////////////////////////////////
//Delay of few moments.
void delay(int d)
{
int i,j;
for(j=0;j<=d;j++)
{
for(i=0;i<=32000;i++);
}
}
//End of the program.
VIII. CONCLUSION
The results obtained by neural network method are
compared with the experiment result for the different
modes of equilateral triangular patch antenna in Table II
which are in very good agreement with the experiment
results.
TABLE II: COMPARISON OF NEURAL NET CALCULATED AND HARDWARE
CALCULATED FREQUENCY
S. No Neural Network
Calculated Freq. in
GHz (as Per Table I)
Hardware Computed
Calculated Freq. in GHz
1 2.637 2.6361
2 2.995 2.9948
3 3.973 3.9726
4 4.439 4.4392
5 2.596 2.5978
6 2.969 2.9691
7 3.968 3.9659
8 4.443 4.4431
9 1.280 1.2803
10 2.242 2.2419
11 2.550 2.5500
12 3.400 3.3999
ACKNOWLEDGMENT
I would like to thanks Prof. Harish Parthasarthy,
NSIT, New Delhi for all his support. I am always grateful
for the encouragement of Prof. M P Tripathi, Agarsen
College of Eng, New Delhi that made me write and publish
paper. The author will also like to express sincere
appreciation and gratitude to R.G.E.C, Meerut which has
provided tremendous assistance throughout the project.
REFERENCES
[1] D.K. Neog, S.S. Pattnaik, D.C. Panda, S. Devi, B. Khuntia and M.
Dutta, "Design of a Wide Band Microstrip Antenna and use of
Artificial Neural Networks in the Parameter Calculation," IEEE
Antenna and Propagation Magazine, 47(3), June 2005,pp. 60–65.
[2] I. J. Bahl and P.Bartia, Microstrip antennas (Artech House, MA,
1980).
[3] J.S. Dahele and K.F. Lee, "On the resonant frequencies of the
triangular patch antenna," IEEE Trans. Antennas Propagat., vol.
AP-35, pp. 1oo–101, Jan.1987.
[4] Y. Suzuki and T. Chiba, "Computer analysis method for arbitrarily
shaped microstrip antenna with multi terminals," IEEE Trans.
Antennas Prapagat., vol.AP-32, pp. 585590, June 1984.
[5] K. Guney.” Resonant Frequency of a triangular Microstrip
Antenna.” Microwave opt.Technol.Lett.Vol6.No9.1993.PP 555–
557.
[6] R. Gopalakrishnan, N. Gunasekaran, “Design Of Equilateral
Triangular Microstrip Antenna Using Artifical Neural Networks”,
0-7803-8842-9/05, pp 246–249.
[7] W.Chen, K.F. Lee, and J.S. Dahele. ”Theoretical and Experimental
studies of the resonant frequencies of the Equilateral Triangular
Microstrip Antenna.” IEEE Tran. Antennas Propagation.
[8] J.S. Dahele and K.F.Lee.” On the Resonant Frequencies of the
Triangular Patch Antenna. ”IEEE. Trans. Antennas Propagation..
Vol.AP-35, No. 1. 1 9 8 7 100–101.
[9] K. Guney.” Resonant Frequency of a triangular Microstrip
Antenna.” Microwave opt.Technol.Lett.Vol6.No9.1993.PP 555-
557.
[10] S. Sagiroglu, K. Guney.” Calculation of Resonant Frequency for an
Equilateral Triangular Microstrip Antenna with the use of Artifical
Neural Networks” Microwave opt. Technicall Lett.Vol.14.No.2
1997 pp. 89–93.
645