Abstract

A resource allocation algorithm was designed to downlink the best effort services and the real-time-OFDMA systems on a wireless channel that varies accordingly with the time. The maximization of the throughput of a system and maintaining the RT and BE service requirements of the QoS is the major property that can be seen in the algorithm proposed. The AADTR (average absolute deviation of transmission rate) of the RT services tolerability that is used to control the fluctuations that rise in it and for the limitation to be provided to the RT packet delay.

The resources allocated representing the optimization problem is formulated and solved by using the dual optimization technique that projects the sub-gradient stochastic method. The simulation results have shown that the proposed algorithm satisfies the requirements of QoS maintaining the throughput at high level. The M-LWDF (modified largest weighted delay first) algorithm also supports the requirements.Due to the heavy demand of wireless and mobile computing usage, providing the required bandwidth to all the customers by the respective service providers has become a tedious job.

To meet the demand of networking attributes like bandwidth, rate and resource allocation, every day a new approach is being proposed and most of them deal with the perfect resourced allocation strategies. There are many existing techniques to handle the problem of resource allocation and each technique has its own advantages and disadvantages as discussed in Literature.

Allocating the resources by meeting the QoS standards is really a tedious job to handle and in this project I would like to evaluate the functionality of OFDM resource allocation to support the multimedia services as proposed by Kae Won Choi, Wha Sook Jeon at their IEEE transaction Resource Allocation in OFDMA Wireless Communications Systems Supporting Multimedia Services. I will implement the basic algorithm discussed in this transaction and try to evaluate the resource allocation performance based on few metrics like packet delivery rate and bandwidth allocation.

Load matrix concept is implemented at the coding level with respect to the algorithm discussed in and develops a dotnet based application to simulate the desired results. File transmission is done by considering two modes of communication like Best Effort (BE) and Real time (RT) that can be used transfer large files regarding multimedia services.

Destination displayer screen shows by selecting file receiving path

Destination displayer screen shows by selecting file receiving path

Project background  

Orthogonal Frequency Division Multiplexing is the common approaches used these days to transmit the data across mobile communication. It works on the principle of Frequency division multiplexing (FDD), where the complete frequency available to transmit the data is divided in to number of different channels that work across a single broadband medium.

Entire data is broken in to number of data streams and passed across a common broadband medium. In general the medium used to transmit the data can be of different types like cables, radio spectrum and optical fibers and the best example of the OFDM based data transmission can be a Cable networks used across TV, where different channels with different frequencies can be viewed using a single optical fiber cable. When ever a source wants to transmit the data, entire data is divided in to different digital data streams and are modulated across sub carriers. Spectral or Bandwidth efficiency of the data transmission can be increased a lot using the OFDM systems.

OFDMA systems can promise high data transfer services mixed with the QoS standards. There are many existing techniques that really deal with the frequency division multiplexing and most of them fail in terms of providing best Quality of Services to the meet the customer demands with respect to perfect resource allocation and bandwidth management techniques.

OFDMA can be considered as the best choice to support multimedia services while meeting the perfect packet delivery and error rates along with the optimized resource allocation strategies. Apart from the best services provided by this techniques, there exists a problem in supporting the multimedia services and is as discussed in Problem definition section.

Problem definition

To support the high speed data transfer techniques, a perfect scheduling and resource allocation is always required to meet the requirements from the users. In general the resource allocation is done in terms of user current used channel conditions and Quality of Service requirements. There are many existing scheduling and resource allocation techniques in literature but most of them concentrate on overall system capacity and utility in terms of performance.

A unique utility function is defined with respect to the available throughput of the users and in most of the cases this approach is suited for time division multiplexing rather than the required frequency division standards. As per the increase in demand for multimedia services across the OFDM systems, a proper resource allocation scheme is required to handle these requests for resources.

Multicast services should be provided to support these multimedia services and the bandwidth should be perfectly utilized to meet the resource requirements across the OFDM systems. In general a multicast OFDM system suffers with the variations of propagation channels across the base station and the mobile users and the data rate is affected with this loss channel gain across the OFDM systems.

Overall system performance is affected a lot due to the receiver channel conditions and there are many existing techniques like radio resource allocation can be used to improve the overall system throughput.

Sub carrier allocation and data rate allocation across the OFDM systems can also solve this problem, but these methods fail at multi resolution multicast service providing and solve this I will implement a multi resolution multicast radio.

Source Code:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ZedGraph;

namespace WindowsApplication1
{
public partial class GraphView : Form
{
public GraphView()
{
InitializeComponent();
}
public string[] txt = new string[8];//= new string[val.Length];
public double[] st = new double[3];// = new double[row];
public double[] et = new double[1];
public string[] services = new string[3];
public string[] Shortpath = new string[8];
public string[] lbl;//= new string[row];
public string who;
string[] name;
double[] value;
private void Chart_Load(object sender, EventArgs e)
{
//int k = 0;
//int l = 0;
//for (int i = 0; i <= PasibleRout.Length - 1; i++)
//{
// if (PasibleRout[i] != null)
// {
// k++;
// }
//}
//for (int i = 0; i <= PasibleRout.Length - 1; i++)
//{
// if (Shortpath[i] != null)
// {
// l++;
// }
//}
//double set = 10;
//name = new string[k];
//value = new double[k];
//spath = new double[l];
//for (int j = 0; j <= k - 1; j++)
//{
// value[j] = set;
// set += 10;
//}
//set = 10;
//for (int j = 0; j <= l - 1; j++)
//{
// spath[j] = set;
// set += 10;
//}
//Array.Copy(val, value, k);
//Array.Copy(PasibleRout, name, k);
services[0] = "Start-Time";
services[1] = "End-Time";
services[2] = "Down-Time";

GraphPane mypane = zgp1.GraphPane;
mypane.CurveList.Clear();
zgp1.Refresh();
CreateGraphPie1(zgp1);
SetSizePie1();

&nbsp;
}
private void SetSizePie1()
{
zgp1.Location = new Point(10, 10);

// Leave a small margin around the outside of the control
zgp1.Size = new Size(this.groupBox20.Width - 20, this.groupBox20.Height - 20);

}
private void CreateGraphPie1(ZedGraphControl zgc)
{
int row = 0;

//string[] txt = new string[val.Length];

//double[] val = new double[row];
string[] lbl = new string[row];
double[] tempval = new double[row];
string[] templbl = new string[row];

// sort(val, lbl);
GraphPane myPane = zgc.GraphPane;

//Set the titles and axis labels
myPane.Title.Text = "OFDMA Wirless Communications";
myPane.XAxis.Title.Text = who;
myPane.YAxis.Title.Text = "Transmission Delay";

// Set the XAxis to Text type
zgc.GraphPane.XAxis.Type = AxisType.Text;
// Set the XAxis label
zgc.GraphPane.XAxis.Scale.TextLabels = services ;
// Set the labels at an angle so they don't overlap
zgc.GraphPane.XAxis.Scale.FontSpec.Angle = 40;

BarItem mb = zgc.GraphPane.AddBar("OFDMA", null, st , Color.Maroon);
mb.IsVisible = true;
zgc.IsShowPointValues = true;
zgc.AxisChange();
zgp1.Refresh();
zgc.IsShowContextMenu = false;
zgc.IsShowPointValues = true;
zgc.AxisChange();
zgp1.Refresh();
}
//private void CreateGraphPie2(ZedGraphControl zgc)
//{
// int row = 0;

// //string[] txt = new string[val.Length];

// //double[] val = new double[row];
// string[] lbl = new string[row];
// double[] tempval = new double[row];
// string[] templbl = new string[row];

// // sort(val, lbl);
// GraphPane myPane = zgc.GraphPane;

// //Set the titles and axis labels
// myPane.Title.Text = "Shartest Path";
// myPane.XAxis.Title.Text = "Routers";
// myPane.YAxis.Title.Text = "Mesherment";

// // Set the XAxis to Text type
// zgc.GraphPane.XAxis.Type = AxisType.Text;
// // Set the XAxis label
// zgc.GraphPane.XAxis.Scale.TextLabels = Shortpath ;
// // Set the labels at an angle so they don't overlap
// zgc.GraphPane.XAxis.Scale.FontSpec.Angle = 40;

// LineItem mb = zgc.GraphPane.AddCurve("Biased Random", null, spath , Color.Blue);
// mb.IsVisible = true;
// zgc.IsShowPointValues = true;
// zgc.AxisChange();
// zgp1.Refresh();
// zgc.IsShowContextMenu = false;
// zgc.IsShowPointValues = true;
// zgc.AxisChange();
// zgp1.Refresh();
//}
private void sort(double[] v, string[] l)
{
double tmp, tmp2;
string ltemp;
int j;
for (int i = 0; i < v.Length - 1; i++)
{
for (j = 0; j < v.Length - 1 - i; j++)
if (v[j + 1] > v[j])
{ /* compare the two neighbours */
tmp = v[j]; /* swap a[j] and a[j+1] */
ltemp = l[j];
v[j] = v[j + 1];
l[j] = l[j + 1];
v[j + 1] = tmp;
l[j + 1] = ltemp;
}
tmp2 = v[j];
}
}
}
}