Parameter Enhancement of Single Feed Circularly Polarized Microstrip Patch Antenna Using Near Zero Refractive Index
Parameter Enhancement of Single Feed Circularly Polarized Microstrip Patch Antenna Using Near Zero Refractive Index
Submitted by
Xxxxx Yyyyy Roll # ECE2014xxxxx
2018-2019
electromagnetic waves when passing through the metamaterial are good for antenna and
optical applications. However, this project highlights the effect of metamaterial structure
to the conventional antenna and concentrates on proving the existence of the negative
index material within certain frequency regions. The paper investigates the effect of a
metamaterial superstrate on hemispherical DRA using CST simulations. Simultaneous gain
and directivity enhancement on antenna are observed as well as multi-frequency operations
at 3.625 GHz. Both the simulation and experimental results show that the directivity of the
antenna is effectively enhanced based on the zero refraction characteristics of the
metamaterial.
Topic Name B.Tech. 2015-2019
ACKNOWLEDGEMENT
It is our proud privilege to epitomize our deepest sense of gratitude and indebtedness to our
advisor, Mr XXXXXX for his valuable guidance, keen and sustained interest, intuitive
ideas and persistent endeavour. His inspiring assistance, laconic reciprocation and
affectionate care enabled us to complete our work smoothly and successfully.
We extend our sincere thanks to Mr. Durga Prasad Dash, B. Tech. Seminar
Coordinator, for giving us the opportunity and motivating us to complete the project
within stipulated period of time and providing a helping environment.
We would also like to thank Dr. Sukant K. Mohapatra (Chairman, NIST), Prof.
Sangram Mudali (Director, NIST) and Prof. Geetika Mudali (Placement Director,
NIST) for having been the ultimate source of inspiration and moral support.
We would also like to extend our heartfelt gratitude to our parents and friends for their
unflinching support and help.
Xxxxx Yyyyy
Topic Name B.Tech. 2015-2019
TABLE OF CONTENTS
ABSTRACT ........................................................................................................................1
ACKNOWLEDGEMENT .................................................................................................2
TABLE OF CONTENTS ..................................................................................................3
LIST OF FIGURES ............................................................. Error! Bookmark not defined.
1. INTRODUCTION..........................................................................................................4
1.1 Features to Python ......................................................................................................2
1.2.Python Language advantages and applications…………………………………………………………………3
1.4 Benefit of learning Python .........................................................................................4
2. DATA TYPES ................................................................................................................5
2.1 Numbers .....................................................................................................................5
2.2 List ..............................................................................................................................7
2.3 Tuples..........................................................................................................................7
2.4 String ..........................................................................................................................8
2.5 Dictionary ...................................................................................................................9
2.6.Set ...............................................................................................................................9
2.7 Booleans .....................................................................................................................9
3. LOOP ............................................................................................................................14
3.1 Introduction ..............................................................................................................14
3.2 While ........................................................................................................................15
3.3 For ............................................................................ Error! Bookmark not defined.
4. Function in Python .......................................................................................................28
REFERENCES .................................................................................................................44
Topic Name B.Tech. 2015-2019
1. INTRODUCTION
Python is a widely used general-purpose, high level programming language. It was
initially designed by Guido van Rossum in 1991 and developed by Python Software
Foundation. It was mainly developed for emphasis on code readability, and its syntax
allows programmers to express concepts in fewer lines of code.
Python is a programming language that lets you work quickly and integrate systems more
efficiently.
There are two major Python versions- Python 2 and Python 3. Both are quite different.
Both Python 2 and 3 have continued to be maintained and developed, with periodic
release updates for both. As of this writing, the most recent versions available are 2.7.15
and 3.6.5. However, an official End Of Life date of January 1, 2020 has been established
for Python 2, after which time it will no longer be maintained. If you are a newcomer to
Python, it is recommended that you focus on Python 3, as this tutorial will do.
Python is still maintained by a core development team at the Institute, and Guido is still in
charge, having been given the title of BDFL (Benevolent Dictator For Life) by the Python
community. The name Python, by the way, derives not from the snake, but from the
British comedy troupe Monty Python’s Flying Circus, of which Guido was, and
presumably still is, a fan. It is common to find references to Monty Python sketches and
movies scattered throughout the Python documentation.
means we can write less error prone code and can test various scenarios that can
cause an exception later on.
9 8. Advanced features: Supports generators and list comprehensions. We will cover
these features later.
10 9. Automatic memory management: Python supports automatic memory
management which means the memory is cleared and freed automatically. You do
not have to bother clearing the memory.
Applications :
1) GUI based desktop applications(Games, Scientific Applications)
2) Web frameworks and applications
3) Enterprise and Business applications
4) Operating Systems
5) Language Development
6) Prototyping
There are many benefits of learning Python, especially as your first language, which we will
discuss.
Topic Name B.Tech. 2015-2019
It is a language that is remarkably easy to learn, and it can be used as a stepping stone into other
programming languages and frameworks. If you're an absolute beginner and this is your first
time working with any type of coding language, that's something you definitely want.
Python is widely used, including by a number of big companies like Google, Pinterest, Instagram,
Disney, Yahoo!, Nokia, IBM, and many others. The Raspberry Pi - which is a mini computer and
DIY lover's dream - relies on Python as it's main programming language too. You're probably
wondering why either of these things matter, and that's because once you learn Python, you'll
never have a shortage of ways to utilize the skill. Not to mention, since a lot of big companies
rely on the language, you can make good money as a Python developer.
1) Python can be used to develop prototypes, and quickly because it is so easy to work with and
read.
2) Most automation, data mining, and big data platforms rely on Python. This is because it is the
ideal language to work with for general purpose tasks.
3) Python allows for a more productive coding environment than massive languages like C# and
Java. Experienced coders tend to stay more organized and productive when working with
Python, as well.
4) Python is easy to read, even if you're not a skilled programmer. Anyone can begin working
with the language, all it takes is a bit of patience and a lot of practice. Plus, this makes it an ideal
candidate for use among multi-programmer and large development teams.
5) Python powers Django, a complete and open source web application framework. Frameworks
- like Ruby on Rails - can be used to simplify the development process.
6) It has a massive support base thanks to the fact that it is open source and community
developed. Millions of like-minded developers work with the language on a daily basis and
continue to improve core functionality. The latest version of Python continues to receive
enhancements and updates as time progresses. This is a great way to network with other
developers.
Topic Name B.Tech. 2015-2019
2. DATA TYPES
Variables can hold values of different data types. Python is a dynamically typed language
hence we need not define the type of the variable while declaring it. The interpreter
implicitly binds the value with its type.
Python Data Types are used to define the type of a variable. Previously we learned about
statement and comment in Python. If you want then you can find it from Python Comment &
Statement.
Python enables us to check the type of the variable used in the program. Python provides
us the type() function which returns the type of the variable passed.
Consider the following example to define the values of different data types and checking
its type.
2.1 NUMBERS
Python numeric data type is used to hold numeric values like;
In Python we need not to declare datatype while declaring a variable like C or C++. We
can simply just assign values in a variable. But if we want to see what type of numerical
value is it holding right now, we can use type(),
Example:
2.2 TUPLE
A tuple in Python is similar to a list. The difference between the two is that we cannot change
the elements of a tuple once it is assigned whereas, in a list, elements can be changed.
Creating a Tuple
A tuple is created by placing all the items (elements) inside parentheses (), separated by
commas. The parentheses are optional, however, it is a good practice to use them.
EXAMPLE;
# Empty tuple
my_tuple = ()
print(my_tuple) # Output: ()
my_tuple = (1, 2, 3)
# nested tuple
print(my_tuple)
2.3 STRING
A string is a sequence of characters.
A character is simply a symbol. For example, the English language has 26 characters.
Computers do not deal with characters, they deal with numbers (binary). Even though you
may see characters on your screen, internally it is stored and manipulated as a
combination of 0's and 1's.
Topic Name B.Tech. 2015-2019
This conversion of character to a number is called encoding, and the reverse process is
decoding. ASCII and Unicode are some of the popular encoding used.
Example:
my_string = 'Hello'
print(my_string)
my_string = "Hello"
print(my_string)
my_string = '''Hello'''
print(my_string)
print(my_string)
OUTPUT:
Hello
Hello
Hello
Hello, welcome to the world of Python
2.4 DICTIONARY
Dictionary in Python is an unordered collection of data values, used to store data values
like a map, which unlike other Data Types that hold only single value as an element,
Dictionary holds key:value pair. Key value is provided in the dictionary to make it more
optimized. Each key-value pair in a Dictionary is separated by a colon :, whereas each
key is separated by a ‘comma’.
Topic Name B.Tech. 2015-2019
Creating a Dictionary
Dictionary can also be created by the built-in function dict(). An empty dictionary can be
created by just placing to curly braces{}.
Note – Dictionary keys are case sensitive, same name but different cases of Key will be
treated distinctly.
EXAMPLE:
1. # empty dictionary
2. my_dict = {}
3.
4. # dictionary with integer keys
5. my_dict = {1: 'apple', 2: 'ball'}
6.
7. # dictionary with mixed keys
8. my_dict = {'name': 'John', 1: [2, 4, 3]}
9.
10. # using dict()
11. my_dict = dict({1:'apple', 2:'ball'})
12.
13. # from sequence having each item as a pair
14. my_dict = dict([(1,'apple'), (2,'ball')])
2.5 List
Python offers a range of compound datatypes often referred to as sequences. List is one of
the most frequently used and very versatile datatype used in Python.
It can have any number of items and they may be of different types (integer, float, string
etc.).
1. # empty list
2. my_list = []
3.
4. # list of integers
5. my_list = [1, 2, 3]
6.
7. # list with mixed datatypes
8. my_list = [1, "Hello", 3.4]
Also, a list can even have another list as an item. This is called nested list.
# nested list
my_list = ["mouse", [8, 4, 6], ['a']]
List Index
We can use the index operator [] to access an item in a list. Index starts from 0. So, a list
having 5 elements will have index from 0 to 4.
Trying to access an element other that this will raise an IndexError. The index must be
an integer. We can't use float or other types, this will result into TypeError.
1. my_list = ['p','r','o','b','e']
2. # Output: p
3. print(my_list[0])
4.
5. # Output: o
6. print(my_list[2])
7.
8. # Output: e
9. print(my_list[4])
10.
11. # Error! Only integer can be used for indexing
12. # my_list[4.0]
13.
14. # Nested List
15. n_list = ["Happy", [2,0,1,5]]
16.
17. # Nested indexing
18.
19. # Output: a
20. print(n_list[0][1])
21.
22. # Output: 5
23. print(n_list[1][3])
Topic Name B.Tech. 2015-2019
Negative indexing
Python allows negative indexing for its sequences. The index of -1 refers to the last item,
-2 to the second last item and so on.
1. my_list = ['p','r','o','b','e']
2.
3. # Output: e
4. print(my_list[-1])
5.
6. # Output: p
7. print(my_list[-5])
1. my_list = ['p','r','o','g','r','a','m','i','z']
2. # elements 3rd to 5th
3. print(my_list[2:5])
4.
5. # elements beginning to 4th
6. print(my_list[:-5])
7.
8. # elements 6th to end
9. print(my_list[5:])
10.
11. # elements beginning to end
12. print(my_list[:])
Slicing can be best visualized by considering the index to be between the elements as
shown below. So if we want to access a range, we need two indices that will slice that
portion from the list.
1. # mistake values
2. odd = [2, 4, 6, 8]
3.
4. # change the 1st item
5. odd[0] = 1
6.
7. # Output: [1, 4, 6, 8]
8. print(odd)
9.
10. # change 2nd to 4th items
11. odd[1:4] = [3, 5, 7]
12.
13. # Output: [1, 3, 5, 7]
14. print(odd)
We can add one item to a list using append() method or add several items using
extend() method.
1. odd = [1, 3, 5]
2.
3. odd.append(7)
4.
5. # Output: [1, 3, 5, 7]
6. print(odd)
7.
8. odd.extend([9, 11, 13])
9.
10. # Output: [1, 3, 5, 7, 9, 11, 13]
11. print(odd)
We can also use + operator to combine two lists. This is also called concatenation
2.6 SET
A set is an unordered collection of items. Every element is unique (no duplicates) and
must be immutable (which cannot be changed).
However, the set itself is mutable. We can add or remove items from it.
Sets can be used to perform mathematical set operations like union, intersection,
symmetric difference etc.
It can have any number of items and they may be of different types (integer, float, tuple,
string etc.). But a set cannot have a mutable element, like list, set or dictionary, as its
element.
Topic Name B.Tech. 2015-2019
# set of integers
my_set = {1, 2, 3}
print(my_set)
print(my_set)
Empty curly braces {} will make an empty dictionary in Python. To make a set without
any elements we use the set() function without any argument.
# initialize a with {}
a = {}
print(type(a))
a = set()
print(type(a))
2.7 BOOLEANS
bool() parameters
It's not mandatory to pass a value to bool(). If you do not pass a value, bool() returns
False.
Topic Name B.Tech. 2015-2019
None
False
Zero of any numeric type. For example, 0, 0.0, 0j
Empty sequence. For example, (), [], ''.
Empty mapping. For example, {}
objects of Classes which has __bool__() or __len()__ method which returns 0 or
False
test = []
print(test,'is',bool(test))
test = [0]
print(test,'is',bool(test))
test = 0.0
print(test,'is',bool(test))
test = None
print(test,'is',bool(test))
test = True
print(test,'is',bool(test))
print(test,'is',bool(test))
Topic Name B.Tech. 2015-2019
3. LOOPS
3.1 INTRODUCTION
loops in python
Python programming language provides following types of loops to handle looping
requirements. Python provides three ways for executing the loops. While all the ways
provide similar basic functionality, they differ in their syntax and condition checking
time.
while expression:
statement(s)
Topic Name B.Tech. 2015-2019
All the statements indented by the same number of character spaces after a programming
construct are considered to be part of a single block of code. Python uses indentation as
its method of grouping statements.
number = 5
sum = 0
i = 0
while (i<number):
sum = sum + i
i = i+1
print(sum)
Output:
10
This is less like the for keyword in other programming languages, and works more like an
iterator method as found in other object-orientated programming languages.
With the for loop we can execute a set of statements, once for each item in a list, tuple, set
etc.
Here, val is the variable that takes the value of the item inside the sequence on each
iteration.
Loop continues until we reach the last item in the sequence. The body of for loop is
separated from the rest of the code using indentation.
Topic Name B.Tech. 2015-2019
https://www.programiz.com/python-programming/for-loop
# List of numbers
sum = 0
sum = sum+val
5. FUNCTION IN PYTHON
In Python, function is a group of related statements that perform a specific task.
Functions help break our program into smaller and modular chunks. As our program
grows larger and larger, functions make it more organized and manageable.
Syntax of Function
def function_name(parameters):
"""docstring"""
statement(s)
Example of a function
def greet(name):
parameter"""
Once we have defined a function, we can call it from another function, program or even
the Python prompt. To call a function we simply type the function name with appropriate
parameters.
>>> greet('Paul')
Hello, Paul. Good morning!
Docstring
The first string after the function header is called the docstring and is short for
documentation string. It is used to explain in brief, what a function does.
Topic Name B.Tech. 2015-2019
In the above example, we have a docstring immediately below the function header. We
generally use triple quotes so that docstring can extend up to multiple lines. This string is
available to us as __doc__ attribute of the function.
For example:
Try running the following into the Python shell to see the output.
1. >>> print(greet.__doc__)
2. This function greets to
3. the person passed into the
4. name parameter
5.
The return statement is used to exit a function and go back to the place from where it
was called.
Syntax of return
return [expression_list]
This statement can contain expression which gets evaluated and the value is returned. If
there is no expression in the statement or the return statement itself is not present inside
a function, then the function will return the None object.
For example:
1. >>> print(greet("May"))
2. Hello, May. Good morning!
3. None
4.
REFERENCES
[1] P. Aldo, Dielectric resonator antennas handbook, Artech House, Boston, London,
2007.
[2] S.A.Long, M.W.McAllister, and L.C.Shen, The resonant cylindrical dielectric
cavity antenna, IEEE Trans Antennas Propag , 31 (1983), 406-412.
Topic Name B.Tech. 2015-2019