|
This was actually for design competition at IIT Madras. A professor had explained everything on
their website at the time and I had found it 3 days before the actual competition. I figured that it would be
a fun project to work on and something that would flex my programming skills. Of course, I couldn't finish the
project for the competition but I thought that it was still worthwhile to do.
|
|
Here's a picture of what a cellular network looks like.
|
|
|
This is the usual way that a cellular network is designed and managed. The antenna that transmits
signals to your cellphone is at the center of each hexagon (or almost; I don't really know how cellular
companies do it). Here is a diagram that shows a cellular network in action.
|
|
|
After some distance away from the cell tower (called a base station) the signal strength becomes
weak enough that you can use another frequency signal after this distance. It's called frequency reuse distance
and it helps you add more channels of communication to a cellular network. The antenna on top of the base
station can has a specified beamwidth, although for this project, it can have either 360 degrees, 120 degrees,
180 degrees or 60 degrees and I was supposed to program each of these. The frequency reuse distance happened
to be the length of one hexagonal point to the next, so you could easily figure out the frequency assignment.
But for a program to do something like this it was a tougher problem, and I believe one that Computer Scientists
have been working on for a long time.
|
|
I decided to use Matlab because I didn't know it too well. So thanks to this project, I now consider
myself an expert. Matlab also allowed you to store datapoints in different ways that were rather convenient. I
stored all the datapoints on a cellular network in a matrix which had groups of matrices. Each group contained the
x and y co-ordinates of one hexagon. Now all the program needed to do was to calculate the distance from the
base station to a vertex on the hexagon and compare it to the frequency reuse distance. If it was less the
hexagon was assigned that frequency. If it was more then the program moved on to the next hexagon. The frequencies were
represented by a color code and you could specify how many colors you would want to use.
|
|
It worked well at times and then at times it didn't. I suspect that the memory was being overwritten every
time I would run the program. It was bad enough that I could not move on to the next part of the project -
taking obstacles into account. The competition required you to come up with something that would account for
obstacles like mountains and the like. This was to be represented by a straight line of any length in the
program. Then the frequency assignments had to be different on either side of the line.
|
|
Now after 3 years and talking to my husband about computational complexity, I was able to figure
out why this project was so difficult to do in the first place. This might actually become a re-project for
me, and this time it will be done in another programming language that I am yet to learn.
|
|
Copyright 2006 by Nisha Kramer. All rights reserved
|