1: %% bare_conf.tex
2: %% V1.3
3: %% 2007/01/11
4: %% by Michael Shell
5: %% See:
6: %% http://www.michaelshell.org/
7: %% for current contact information.
8: %%
9: %% This is a skeleton file demonstrating the use of IEEEtran.cls
10: %% (requires IEEEtran.cls version 1.7 or later) with an IEEE conference paper.
11: %%
12: %% Support sites:
13: %% http://www.michaelshell.org/tex/ieeetran/
14: %% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/
15: %% and
16: %% http://www.ieee.org/
17:
18: %%*************************************************************************
19: %% Legal Notice:
20: %% This code is offered as-is without any warranty either expressed or
21: %% implied; without even the implied warranty of MERCHANTABILITY or
22: %% FITNESS FOR A PARTICULAR PURPOSE!
23: %% User assumes all risk.
24: %% In no event shall IEEE or any contributor to this code be liable for
25: %% any damages or losses, including, but not limited to, incidental,
26: %% consequential, or any other damages, resulting from the use or misuse
27: %% of any information contained here.
28: %%
29: %% All comments are the opinions of their respective authors and are not
30: %% necessarily endorsed by the IEEE.
31: %%
32: %% This work is distributed under the LaTeX Project Public License (LPPL)
33: %% ( http://www.latex-project.org/ ) version 1.3, and may be freely used,
34: %% distributed and modified. A copy of the LPPL, version 1.3, is included
35: %% in the base LaTeX documentation of all distributions of LaTeX released
36: %% 2003/12/01 or later.
37: %% Retain all contribution notices and credits.
38: %% ** Modified files should be clearly indicated as such, including **
39: %% ** renaming them and changing author support contact information. **
40: %%
41: %% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex,
42: %% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex
43: %%*************************************************************************
44:
45: % *** Authors should verify (and, if needed, correct) their LaTeX system ***
46: % *** with the testflow diagnostic prior to trusting their LaTeX platform ***
47: % *** with production work. IEEE's font choices can trigger bugs that do ***
48: % *** not appear when using other class files. ***
49: % The testflow support page is at:
50: % http://www.michaelshell.org/tex/testflow/
51:
52:
53:
54: % Note that the a4paper option is mainly intended so that authors in
55: % countries using A4 can easily print to A4 and see how their papers will
56: % look in print - the typesetting of the document will not typically be
57: % affected with changes in paper size (but the bottom and side margins will).
58: % Use the testflow package mentioned above to verify correct handling of
59: % both paper sizes by the user's LaTeX system.
60: %
61: % Also note that the "draftcls" or "draftclsnofoot", not "draft", option
62: % should be used if it is desired that the figures are to be displayed in
63: % draft mode.
64: %
65:
66: %\documentclass[conference]{IEEEtran}
67: \documentclass[conference,a4paper]{IEEEtran}
68:
69: \IEEEoverridecommandlockouts
70:
71: % Add the compsoc option for Computer Society conferences.
72: %
73: % If IEEEtran.cls has not been installed into the LaTeX system files,
74: % manually specify the path to it like:
75: % \documentclass[conference]{../sty/IEEEtran}
76:
77:
78:
79:
80:
81: % Some very useful LaTeX packages include:
82: % (uncomment the ones you want to load)
83:
84:
85: % *** MISC UTILITY PACKAGES ***
86: %
87: %\usepackage{ifpdf}
88: % Heiko Oberdiek's ifpdf.sty is very useful if you need conditional
89: % compilation based on whether the output is pdf or dvi.
90: % usage:
91: % \ifpdf
92: % % pdf code
93: % \else
94: % % dvi code
95: % \fi
96: % The latest version of ifpdf.sty can be obtained from:
97: % http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/
98: % Also, note that IEEEtran.cls V1.7 and later provides a builtin
99: % \ifCLASSINFOpdf conditional that works the same way.
100: % When switching from latex to pdflatex and vice-versa, the compiler may
101: % have to be run twice to clear warning/error messages.
102:
103:
104:
105:
106:
107:
108: % *** CITATION PACKAGES ***
109: %
110: %\usepackage{cite}
111: % cite.sty was written by Donald Arseneau
112: % V1.6 and later of IEEEtran pre-defines the format of the cite.sty package
113: % \cite{} output to follow that of IEEE. Loading the cite package will
114: % result in citation numbers being automatically sorted and properly
115: % "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using
116: % cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's
117: % \cite will automatically add leading space, if needed. Use cite.sty's
118: % noadjust option (cite.sty V3.8 and later) if you want to turn this off.
119: % cite.sty is already installed on most LaTeX systems. Be sure and use
120: % version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does
121: % not currently provide for hyperlinked citations.
122: % The latest version can be obtained at:
123: % http://www.ctan.org/tex-archive/macros/latex/contrib/cite/
124: % The documentation is contained in the cite.sty file itself.
125:
126:
127:
128:
129:
130:
131: % *** GRAPHICS RELATED PACKAGES ***
132: %
133: \ifCLASSINFOpdf
134: \usepackage[pdftex]{graphicx}
135: % declare the path(s) where your graphic files are
136: % \graphicspath{{../pdf/}{../jpeg/}}
137: % and their extensions so you won't have to specify these with
138: % every instance of \includegraphics
139: % \DeclareGraphicsExtensions{.pdf,.jpeg,.png}
140: \else
141: % or other class option (dvipsone, dvipdf, if not using dvips). graphicx
142: % will default to the driver specified in the system graphics.cfg if no
143: % driver is specified.
144: \usepackage[dvips]{graphicx}
145: % declare the path(s) where your graphic files are
146: % \graphicspath{{../eps/}}
147: % and their extensions so you won't have to specify these with
148: % every instance of \includegraphics
149: % \DeclareGraphicsExtensions{.eps}
150: \fi
151: % graphicx was written by David Carlisle and Sebastian Rahtz. It is
152: % required if you want graphics, photos, etc. graphicx.sty is already
153: % installed on most LaTeX systems. The latest version and documentation can
154: % be obtained at:
155: % http://www.ctan.org/tex-archive/macros/latex/required/graphics/
156: % Another good source of documentation is "Using Imported Graphics in
157: % LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or
158: % epslatex.pdf at: http://www.ctan.org/tex-archive/info/
159: %
160: % latex, and pdflatex in dvi mode, support graphics in encapsulated
161: % postscript (.eps) format. pdflatex in pdf mode supports graphics
162: % in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure
163: % that all non-photo figures use a vector format (.eps, .pdf, .mps) and
164: % not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats
165: % which can result in "jaggedy"/blurry rendering of lines and letters as
166: % well as large increases in file sizes.
167: %
168: % You can find documentation about the pdfTeX application at:
169: % http://www.tug.org/applications/pdftex
170:
171:
172:
173:
174:
175: % *** MATH PACKAGES ***
176: %
177: \usepackage[cmex10]{amsmath}
178: \usepackage{amssymb}
179: % A popular package from the American Mathematical Society that provides
180: % many useful and powerful commands for dealing with mathematics. If using
181: % it, be sure to load this package with the cmex10 option to ensure that
182: % only type 1 fonts will utilized at all point sizes. Without this option,
183: % it is possible that some math symbols, particularly those within
184: % footnotes, will be rendered in bitmap form which will result in a
185: % document that can not be IEEE Xplore compliant!
186: %
187: % Also, note that the amsmath package sets \interdisplaylinepenalty to 10000
188: % thus preventing page breaks from occurring within multiline equations. Use:
189: %\interdisplaylinepenalty=2500
190: % after loading amsmath to restore such page breaks as IEEEtran.cls normally
191: % does. amsmath.sty is already installed on most LaTeX systems. The latest
192: % version and documentation can be obtained at:
193: % http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/
194:
195:
196:
197:
198:
199: % *** SPECIALIZED LIST PACKAGES ***
200: %
201: \usepackage{algorithmic}
202: % algorithmic.sty was written by Peter Williams and Rogerio Brito.
203: % This package provides an algorithmic environment fo describing algorithms.
204: % You can use the algorithmic environment in-text or within a figure
205: % environment to provide for a floating algorithm. Do NOT use the algorithm
206: % floating environment provided by algorithm.sty (by the same authors) or
207: % algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated
208: % algorithm float types and packages that provide these will not provide
209: % correct IEEE style captions. The latest version and documentation of
210: % algorithmic.sty can be obtained at:
211: % http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/
212: % There is also a support site at:
213: % http://algorithms.berlios.de/index.html
214: % Also of interest may be the (relatively newer and more customizable)
215: % algorithmicx.sty package by Szasz Janos:
216: % http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/
217:
218: \usepackage{algorithm}
219:
220:
221: % *** ALIGNMENT PACKAGES ***
222: %
223: %\usepackage{array}
224: % Frank Mittelbach's and David Carlisle's array.sty patches and improves
225: % the standard LaTeX2e array and tabular environments to provide better
226: % appearance and additional user controls. As the default LaTeX2e table
227: % generation code is lacking to the point of almost being broken with
228: % respect to the quality of the end results, all users are strongly
229: % advised to use an enhanced (at the very least that provided by array.sty)
230: % set of table tools. array.sty is already installed on most systems. The
231: % latest version and documentation can be obtained at:
232: % http://www.ctan.org/tex-archive/macros/latex/required/tools/
233:
234:
235: %\usepackage{mdwmath}
236: %\usepackage{mdwtab}
237: % Also highly recommended is Mark Wooding's extremely powerful MDW tools,
238: % especially mdwmath.sty and mdwtab.sty which are used to format equations
239: % and tables, respectively. The MDWtools set is already installed on most
240: % LaTeX systems. The lastest version and documentation is available at:
241: % http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/
242:
243:
244: % IEEEtran contains the IEEEeqnarray family of commands that can be used to
245: % generate multiline equations as well as matrices, tables, etc., of high
246: % quality.
247:
248:
249: %\usepackage{eqparbox}
250: % Also of notable interest is Scott Pakin's eqparbox package for creating
251: % (automatically sized) equal width boxes - aka "natural width parboxes".
252: % Available at:
253: % http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/
254:
255:
256:
257:
258:
259: % *** SUBFIGURE PACKAGES ***
260: %\usepackage[tight,footnotesize]{subfigure}
261: % subfigure.sty was written by Steven Douglas Cochran. This package makes it
262: % easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE
263: % work, it is a good idea to load it with the tight package option to reduce
264: % the amount of white space around the subfigures. subfigure.sty is already
265: % installed on most LaTeX systems. The latest version and documentation can
266: % be obtained at:
267: % http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/
268: % subfigure.sty has been superceeded by subfig.sty.
269:
270:
271:
272: %\usepackage[caption=false]{caption}
273: %\usepackage[font=footnotesize]{subfig}
274: % subfig.sty, also written by Steven Douglas Cochran, is the modern
275: % replacement for subfigure.sty. However, subfig.sty requires and
276: % automatically loads Axel Sommerfeldt's caption.sty which will override
277: % IEEEtran.cls handling of captions and this will result in nonIEEE style
278: % figure/table captions. To prevent this problem, be sure and preload
279: % caption.sty with its "caption=false" package option. This is will preserve
280: % IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later
281: % (recommended due to many improvements over 1.2) of subfig.sty supports
282: % the caption=false option directly:
283: %\usepackage[caption=false,font=footnotesize]{subfig}
284: %
285: % The latest version and documentation can be obtained at:
286: % http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/
287: % The latest version and documentation of caption.sty can be obtained at:
288: % http://www.ctan.org/tex-archive/macros/latex/contrib/caption/
289:
290:
291:
292:
293: % *** FLOAT PACKAGES ***
294: %
295: %\usepackage{fixltx2e}
296: % fixltx2e, the successor to the earlier fix2col.sty, was written by
297: % Frank Mittelbach and David Carlisle. This package corrects a few problems
298: % in the LaTeX2e kernel, the most notable of which is that in current
299: % LaTeX2e releases, the ordering of single and double column floats is not
300: % guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a
301: % single column figure to be placed prior to an earlier double column
302: % figure. The latest version and documentation can be found at:
303: % http://www.ctan.org/tex-archive/macros/latex/base/
304:
305:
306:
307: %\usepackage{stfloats}
308: % stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e
309: % the ability to do double column floats at the bottom of the page as well
310: % as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in
311: % LaTeX2e). It also provides a command:
312: %\fnbelowfloat
313: % to enable the placement of footnotes below bottom floats (the standard
314: % LaTeX2e kernel puts them above bottom floats). This is an invasive package
315: % which rewrites many portions of the LaTeX2e float routines. It may not work
316: % with other packages that modify the LaTeX2e float routines. The latest
317: % version and documentation can be obtained at:
318: % http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/
319: % Documentation is contained in the stfloats.sty comments as well as in the
320: % presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE
321: % does not allow \baselineskip to stretch. Authors submitting work to the
322: % IEEE should note that IEEE rarely uses double column equations and
323: % that authors should try to avoid such use. Do not be tempted to use the
324: % cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does
325: % not format its papers in such ways.
326:
327:
328:
329:
330:
331: % *** PDF, URL AND HYPERLINK PACKAGES ***
332: %
333: %\usepackage{url}
334: % url.sty was written by Donald Arseneau. It provides better support for
335: % handling and breaking URLs. url.sty is already installed on most LaTeX
336: % systems. The latest version can be obtained at:
337: % http://www.ctan.org/tex-archive/macros/latex/contrib/misc/
338: % Read the url.sty source comments for usage information. Basically,
339: % \url{my_url_here}.
340:
341:
342:
343:
344:
345: % *** Do not adjust lengths that control margins, column widths, etc. ***
346: % *** Do not use packages that alter fonts (such as pslatex). ***
347: % There should be no need to do such things with IEEEtran.cls V1.6 and later.
348: % (Unless specifically asked to do so by the journal or conference you plan
349: % to submit to, of course. )
350:
351:
352: % correct bad hyphenation here
353: \hyphenation{op-tical net-works semi-conduc-tor}
354:
355: \newtheorem{lemma}{Lemma}
356: \newtheorem{theorem}{Theorem}
357: \newtheorem{corollary}{Corollary}
358:
359: \begin{document}
360: %
361: % paper title
362: % can use linebreaks \\ within to get better formatting as desired
363: \title{Link Scheduling in STDMA Wireless Networks: A Line Graph Approach}
364:
365:
366: % author names and affiliations
367: % use a multiple column layout for up to three different
368: % affiliations
369: \author{\IEEEauthorblockN{N. Praneeth Kumar}
370: \IEEEauthorblockA{Goldman Sachs (India) Securities Pvt. Ltd.\\
371: EGL Business Park, Domlur, Bangalore, India\\
372: Email: praneeth.kumar@gs.com}
373: \and
374: \IEEEauthorblockN{Ashutosh Deepak Gore and Abhay Karandikar}
375: \IEEEauthorblockA{Department of Electrical Engineering\\
376: Indian Institute of Technology - Bombay, India\\
377: Email: \{adgore,karandi\}@ee.iitb.ac.in}
378: }
379:
380: % conference papers do not typically use \thanks and this command
381: % is locked out in conference mode. If really needed, such as for
382: % the acknowledgment of grants, issue a \IEEEoverridecommandlockouts
383: % after \documentclass
384:
385: % for over three affiliations, or if they all won't fit within the width
386: % of the page, use this alternative format:
387: %
388: %\author{\IEEEauthorblockN{Michael Shell\IEEEauthorrefmark{1},
389: %Homer Simpson\IEEEauthorrefmark{2},
390: %James Kirk\IEEEauthorrefmark{3},
391: %Montgomery Scott\IEEEauthorrefmark{3} and
392: %Eldon Tyrell\IEEEauthorrefmark{4}}
393: %\IEEEauthorblockA{\IEEEauthorrefmark{1}School of Electrical and Computer Engineering\\
394: %Georgia Institute of Technology,
395: %Atlanta, Georgia 30332--0250\\ Email: see http://www.michaelshell.org/contact.html}
396: %\IEEEauthorblockA{\IEEEauthorrefmark{2}Twentieth Century Fox, Springfield, USA\\
397: %Email: homer@thesimpsons.com}
398: %\IEEEauthorblockA{\IEEEauthorrefmark{3}Starfleet Academy, San Francisco, California 96678-2391\\
399: %Telephone: (800) 555--1212, Fax: (888) 555--1212}
400: %\IEEEauthorblockA{\IEEEauthorrefmark{4}Tyrell Inc., 123 Replicant Street, Los Angeles, California 90210--4321}}
401:
402:
403: % use for special paper notices
404: %\IEEEspecialpapernotice{(Invited Paper)}
405:
406: % make the title area
407: \maketitle
408:
409: \begin{abstract}
410: We consider point to point link scheduling in Spatial Time Division
411: Multiple Access (STDMA) wireless networks under the physical
412: interference model. We propose a novel link scheduling algorithm
413: based on a line graph representation of the network, by embedding
414: the interferences between pairs of nodes into the edge weights of
415: the line graph. Our algorithm achieves lower schedule length and
416: lower run time complexity than existing algorithms.
417: \end{abstract}
418: % IEEEtran.cls defaults to using nonbold math in the Abstract.
419: % This preserves the distinction between vectors and scalars. However,
420: % if the conference you are submitting to favors bold math in the abstract,
421: % then you can use LaTeX's standard command \boldmath at the very start
422: % of the abstract to achieve this. Many IEEE journals/conferences frown on
423: % math in the abstract anyway.
424:
425: % no keywords
426:
427:
428:
429:
430: % For peer review papers, you can put extra information on the cover
431: % page as needed:
432: % \ifCLASSOPTIONpeerreview
433: % \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
434: % \fi
435: %
436: % For peerreview papers, this IEEEtran command inserts a page break and
437: % creates the second title. It will be ignored for other modes.
438: \IEEEpeerreviewmaketitle
439:
440:
441:
442: \section{Introduction}
443: % no \IEEEPARstart
444: % You must have at least 2 lines in the paragraph with the drop letter
445: % (should never be an issue)
446:
447: A prevalent scheme for spatial reuse in wireless networks is Spatial
448: Time Division Multiple Access (STDMA)
449: \cite{nelson_kleinrock__spatial_tdma}, in which time is divided into
450: fixed-length slots that are organized cyclically. An STDMA link
451: schedule defines the transmission rights for each time slot in such a
452: way that communicating pairs of nodes, i.e., links, assigned to the
453: same time slot do not collide. The interference between the links can
454: be modeled by assuming that transmission on a link is successful if
455: the distance between the nodes is less than some {\em communication
456: range} and no other node is transmitting within an {\em interference
457: range} from the receiver of the link. This is called protocol
458: interference model \cite{gupta_kumar__capacity_wireless}. Under these
459: assumptions, the network can be modeled by a {\em communication graph}
460: and scheduling algorithms employ edge coloring techniques to minimize
461: the schedule length. Though determining an optimal schedule is known
462: to be NP-complete \cite{ramanathan_lloyd__scheduling_algorithms},
463: heuristics have been proposed in
464: \cite{ramanathan_lloyd__scheduling_algorithms},
465: \cite{wang_li_song__efficient_interference},
466: \cite{alicherry_bhatia__joint_channel}.
467:
468: A more realistic model would be to consider a transmission on a link
469: to be successful if the Signal to Interference and Noise Ratio (SINR)
470: at the receiver is greater than some threshold, say $\gamma_c$. This
471: model is called physical interference model
472: \cite{gupta_kumar__capacity_wireless}. Recently, few authors
473: \cite{brar_blough_santi__computationally_efficient},
474: \cite{moscibroda_wattenhofer__complexity_connectivity},
475: \cite{gore_karandikar__link_scheduling},
476: \cite{gore_karandikar__high_spatial} have proposed scheduling
477: algorithms based on this physical interference model, which result in
478: improved network throughput. In
479: \cite{brar_blough_santi__computationally_efficient}, the authors
480: propose a polynomial time algorithm which gives a provable performance
481: guarantee within a constant factor compared to the optimal. This
482: algorithm is a greedy heuristic that determines a schedule based on
483: the feasibility of satisfying SINR conditions using a communication
484: graph based representation of the network.
485:
486: In this paper, we propose a novel scheduling algorithm for STDMA
487: wireless networks under physical interference model. Our approach is
488: based on a line graph \cite{west__graph_theory} representation of the
489: network where the weights of the edges correspond to interferences
490: between pairs of nodes. Analogous to a line graph, a conflict graph
491: model under physical interference assumptions has been suggested in
492: \cite{jain_padhye__impact_interference}. However, the authors of
493: \cite{jain_padhye__impact_interference} do not propose any specific
494: scheduling algorithm and use the weighted conflict graph only to
495: compute bounds on the network throughput. On the other hand, we use a
496: line graph representation of the network under the physical
497: interference model and develop a novel scheduling algorithm with lower
498: time complexity and substantially improved performance in terms of
499: schedule length.
500:
501: The rest of the paper is organized as follows. In Section \ref{tejkd},
502: we explain our system model, formulate the problem and describe the
503: proposed algorithm. In Section \ref{yuydk}, we prove the correctness
504: of our algorithm and derive its computational complexity. The
505: performance of our algorithm is evaluated in Section \ref{simul_sec}.
506: We conclude in Section \ref{conc}.
507:
508:
509: \section{Line graph based link scheduling algorithm}
510: \label{tejkd}
511:
512: Consider an STDMA wireless network $\Upsilon(\cdot)$ with $N$ static
513: nodes (wireless routers) in a two-dimensional plane. During a time
514: slot, a node can transmit to exactly one node, receive from exactly
515: one node or remain idle. We assume homogeneous and backlogged
516: nodes. Let:
517: \begin{eqnarray*}
518: P &=& \mbox{transmission power of every node}\\
519: N_0 &=& \mbox{thermal noise power spectral density}\\
520: \alpha &=& \mbox{path loss factor}
521: \end{eqnarray*}
522: The received signal power at a distance $d$ from a transmitter is
523: given by $\frac{P}{d^{\alpha}}$. The STDMA wireless network
524: $\Upsilon(\cdot)$ is modeled by its communication graph $\mathcal
525: G(\mathcal V, \mathcal E)$, where $\mathcal V$ and $\mathcal E$ denote
526: the sets of vertices and edges respectively, as follows:
527: \begin{enumerate}
528: \item
529: Every node $i$ in $\Upsilon(\cdot)$ is represented by a vertex $v_i
530: \in \mathcal V$ in $\mathcal G(\cdot)$.
531:
532: \item
533: If the Euclidean distance between two distinct nodes $a$ and $b$ is
534: no greater than the communication range $R_c := (\frac{P}{N_0
535: \gamma_c})^{\frac{1}{\alpha}}$, then there is a directed edge from
536: $v_a$ to $v_b$ in $\mathcal G(\cdot)$, i.e., $(v_a,v_b) \in
537: \mathcal E$.
538: \end{enumerate}
539: The set of edges in $\mathcal G(\cdot)$ to be scheduled is determined
540: by a routing algorithm. For simplicity, we only consider exhaustive
541: schedules, i.e., schedules which assign exactly one time slot to every
542: directed edge in $\mathcal G(\cdot)$.
543:
544:
545: \begin{algorithm}[h!]
546: \caption{LineGraphLinkSchedule (LGLS)}
547: \label{line_graph}
548: \begin{algorithmic}[1]
549: \STATE{\bf Input:} Communication graph ${\mathcal G}$(${\mathcal V}$,${\mathcal E}$), $\gamma_c$, $N_0$, $P$
550: \STATE{\bf Output:} A coloring ${\mathcal C}$: ${\mathcal E} \rightarrow \{1,2,\ldots\}$
551: \STATE ${\mathcal V'} \leftarrow {\mathcal E}$ \COMMENT{Phase 1 begins}
552: \STATE $\mbox{Construct the directed complete graph }{\mathcal G'}({\mathcal V'},{\mathcal E'})$
553: \FORALL{$e'_{ij} \in {\mathcal E'}$}
554: \IF{$\mbox{edges } i \mbox{ and } j \mbox{ have a common vertex in } {\mathcal G(\cdot)}$}
555: \STATE $w_{ij} \leftarrow 1$
556: \ELSE
557: \STATE $w_{ij} \leftarrow \gamma_c \frac{{d(t_j,r_j)}^\alpha}{{d(t_i,r_j)}^\alpha}$
558: \ENDIF
559: \ENDFOR \COMMENT{Phase 1 ends}
560: \FORALL[Phase 2 begins]{$e'_{ij} \in {\mathcal E'}$}
561: \STATE $w'(e'_{ij}) \leftarrow \max\{0,1-w_{ij}\}$
562: \ENDFOR \COMMENT{Phase 2 ends}
563: \FORALL[Phase 3 begins]{$v_j' \in {\mathcal V'}$}
564: \STATE ${\mathcal N}(v_j') \leftarrow \frac{N_0\gamma_c}{P} {{d(t_j,r_j)}^\alpha}$
565: \ENDFOR \COMMENT{Phase 3 ends}
566: \STATE ${\mathcal V_{uc}'} \leftarrow {\mathcal V'}$ \COMMENT{Phase 4 begins}
567: \STATE $p \leftarrow 0$
568: \WHILE {${\mathcal V_{uc}'} \neq \phi$}
569: \STATE $p \leftarrow p+1$
570: \STATE $\mbox{choose } v' \in {\mathcal V_{uc}'}$ randomly
571: \STATE ${\mathcal C}(v') \leftarrow p$
572: \STATE ${\mathcal V_{uc}'} \leftarrow {\mathcal V_{uc}'} \setminus \{v'\}$
573: \STATE ${\mathcal V_p'} \leftarrow \{v'\}$
574: \STATE $\psi \leftarrow \mbox{1}$
575: \WHILE {$\psi=1 \mbox{ and } {\mathcal V_{uc}'} \neq \phi$}
576: \STATE $u' \leftarrow \arg\max_{y' \in {\mathcal V}_{uc}'} \sum_{x' \in {\mathcal V}_p'} w'(e'_{x'y'})+w'(e'_{y'x'})$
577: \FORALL {$v_c' \in {\mathcal V_p'}$}
578: \IF {$\sum_{v_1' \in {\mathcal V_p'} \setminus \{v_c'\} \cup \{u'\}} w'(e'_{{v_1'}{v_c'}}) \leqslant |{\mathcal V_p'}|+{\mathcal N}(v_c')-1$}
579: \STATE $\psi \leftarrow 0$
580: \ENDIF
581: \ENDFOR
582: \IF {$\psi=1 \mbox{ and } \sum_{v_1' \in {\mathcal V_p'}} w'(e'_{{v_1'}u'}) > |{\mathcal V_p'}|+{\mathcal N}(u')-1$}
583: \STATE ${\mathcal C}(u') \leftarrow p$
584: \STATE ${\mathcal V_p'} \leftarrow {\mathcal V_p'} \cup \{u'\}$
585: \STATE ${\mathcal V_{uc}'} \leftarrow {\mathcal V_{uc}'} \setminus \{u'\}$
586: \ELSE
587: \STATE $\psi \leftarrow 0$
588: \ENDIF
589: \ENDWHILE
590: \ENDWHILE \COMMENT{Phase 4 ends}
591: \end{algorithmic}
592: \end{algorithm}
593: We now motivate our Line Graph based Link Scheduling (LGLS) algorithm,
594: and provide the pseudocode in Algorithm \ref{line_graph}. In Phase
595: 1, we first construct a directed complete line graph
596: \cite{west__graph_theory} ${\mathcal G'}({\mathcal V'},{\mathcal E'})$
597: which has the edges of ${\mathcal G}(\cdot)$ as its vertices, i.e.,
598: ${\mathcal V'}={\mathcal E}$. Let the edges of ${\mathcal G}(\cdot)$
599: and the corresponding vertices of ${\mathcal G'}(\cdot)$ be labeled
600: $1,2,\ldots,e$. Let $t_i$ and $r_i$ denote the transmitter and
601: receiver respectively of edge $i$ in ${\mathcal G}(\cdot)$. Let
602: $d(t_i,r_j)$ denote the Euclidean distance between $t_i$ and $r_j$.
603:
604: For any two edges $i$ and $j$ in graph ${\mathcal G}(\cdot)$, the
605: weight function $w_{ij}$ is defined as:
606: \begin{equation}
607: \begin{split}
608: \nonumber
609: w_{ij}&=
610: \begin{cases}
611: 1 & \text{if } i \text{ and } j
612: \text{ have a common vertex}, \\
613: \gamma_c \frac{{d(t_j,r_j)}^\alpha}{{d(t_i,r_j)}^\alpha} & \text{otherwise.}
614: \end{cases}
615: \end{split}
616: \end{equation}
617: This weight function $w_{ij}$ indicates the interference energy at
618: $r_j$ due to transmission from $t_i$ to $r_i$ scaled with respect to
619: the signal energy of $t_j$ at $r_j$.
620:
621: In Phase 2, we compute the co-schedulability weight function
622: $w'(\cdot)$. For any two edges $i$ and $j$ in $\mathcal G(\cdot)$, the
623: weight of the edge $e'_{ij}$ in ${\mathcal G'}(\cdot)$ is given by
624: $w'(e'_{ij})=\max\{0,1-w_{ij}\}$. Since $w_{ij}$ and $w_{ji}$ represent
625: the interference between links $i$ and $j$ in $\Upsilon(\cdot)$,
626: $w'(e'_{ij})$ and $w'(e'_{ji})$ intuitively represent the
627: co-schedulability of vertices $i$ and $j$ in $\mathcal G'(\cdot)$.
628: For example, if $w_{ij}$ is greater than or equal to $1$, it means
629: that the interference between links $i$ and $j$ in $\Upsilon(\cdot)$
630: is very high and these links cannot be scheduled simultaneously. This
631: will result in $w'(e'_{ij})$ being equal to $0$ indicating that the
632: vertices $i$ and $j$ in $\mathcal G'(\cdot)$
633: are not co-schedulable. On the other hand, if
634: $w_{ij}$ is almost $0$, $w'(e'_{ij})$ will be almost $1$ indicating
635: that the vertices $i$ and $j$ in $\mathcal G'(\cdot)$ are
636: co-schedulable.
637: In Phase 3, we determine the normalized noise power at the receiver of
638: each vertex of ${\mathcal G'}(\cdot)$.
639:
640: Our objective is to color the vertices of ${\mathcal
641: G'}(\cdot)$ (equivalently, edges of $\mathcal G(\cdot)$) using minimum
642: number of colors under the physical interference model, i.e., subject
643: to the condition that the SINR at every receiver of each link in
644: $\Upsilon(\cdot)$ is greater than the communication threshold
645: $\gamma_c$. Equivalently, for any ${\mathcal V_{cc}'} \subseteq
646: {\mathcal V'}$, the coloring of all nodes $v_i' \in {\mathcal
647: V_{cc}'}$ with the same color is defined to be {\em feasible} if
648: \begin{eqnarray}
649: \frac{\frac{P}{{d(t_{v_i'},r_{v_i'})}^\alpha}}{N_0+\sum_{v_j'\in{\mathcal
650: V_{cc}'} \setminus \{v_i'\}}\frac{P}{{d(t_{v_j'},r_{v_i'})}^\alpha}}
651: \geqslant \gamma_c \;\forall\; v_i' \in {\mathcal V_{cc}'}
652: \label{qwerty}
653: \end{eqnarray}
654: In $\mathcal G'(\cdot)$, this condition translates to the sum of
655: weights of edges incoming to a vertex from all the co-colored vertices
656: being greater than the sum of the number of {\em remaining} co-colored
657: vertices and the normalized noise power minus a constant factor (unity).
658:
659: The actual coloring of vertices of $\mathcal G'(\cdot)$, i.e., edges
660: of $\mathcal G(\cdot)$, occurs in Phase 4. Let ${\mathcal V_{uc}'}$
661: at any time denote the set of uncolored vertices of $\mathcal
662: G'(\cdot)$ till that time. Initially, $\mathcal V_{uc}'$ includes all
663: the vertices of $\mathcal G'(\cdot)$. First we choose a vertex
664: randomly from ${\mathcal V_{uc}'}$. This is assigned a new color, let
665: it be $p$. Then we choose that vertex from ${\mathcal V_{uc}'}$ which
666: maximizes the sum of weights of all the edges between that vertex and
667: the vertices colored by $p$. Now for each vertex colored with $p$, we
668: check if the sum of weights of all the incoming edges is greater than
669: the sum of the number of vertices colored with $p$ and the normalized
670: noise power minus a constant factor (unity). If it is satisfied, the
671: vertex is colored with $p$. If not, it is colored with a new
672: color. The algorithm exits when all the vertices are colored.
673:
674: \section{Analysis of LGLS Algorithm}
675: \label{yuydk}
676:
677: In this section, we prove the correctness of the LGLS algorithm and
678: derive its run time (computational) complexity. We follow the notation
679: of Algorithm \ref{line_graph}.
680:
681: \begin{theorem}
682: For any ${\mathcal V_{cc}'} \subseteq {\mathcal V'}$, if
683: $\sum_{v_2'\in{\mathcal V_{cc}'} \setminus \{v_1'\}}
684: w'(e'_{v_2'v_1'})$ $> |{\mathcal V_{cc}'}|+{\mathcal N}(v_1')-2$
685: $\;\forall\; v_1' \in {\mathcal V_{cc}'}$, then the coloring of all the
686: vertices of ${\mathcal V_{cc}'}$ with the same color is feasible.
687: \label{correctness}
688: \end{theorem}
689: \begin{IEEEproof}
690: $w'(e'_{v_2'v_1'}) \in [0,1]$. Suppose $w'(e'_{v_3'v_1'})=0$ for
691: some $v_1', v_3' \in {\mathcal V_{cc}'}$, $v_1' \neq v_3'$, then
692: $\sum_{v_2'\in{\mathcal V_{cc}'} \setminus \{v_1'\}}
693: w'(e'_{v_2'v_1'})=$ $\sum_{v_2'\in{\mathcal V_{cc}'} \setminus
694: \{v_1',v_3'\} } w'(e'_{v_2'v_1'})\leqslant$ $\sum_{v_2'\in{\mathcal
695: V_{cc}'} \setminus \{v_1',v_3'\} } 1 =$ $|{\mathcal V_{cc}'}
696: \setminus \{v_1',v_3'\}|=|{\mathcal V_{cc}'}|-2$, which contradicts
697: the hypothesis. So, an edge connecting any two vertices in
698: ${\mathcal V_{cc}'}$ has positive weight. But, $w'(e'_{v_2'v_1'})=0
699: $ or $ 1-w_{v_2'v_1'}$. So, $w'(e'_{v_2'v_1'})=1-w_{v_2'v_1'}
700: \;\forall\; v_1', v_2' \in {\mathcal V_{cc}'}$, $v_1' \neq v_2'$ and
701: $w_{v_2'v_1'}<1 \;\forall\; v_1', v_2' \in {\mathcal V_{cc}'}$,
702: $v_1' \neq v_2'$. If two vertices $v_1', v_2' \in {\mathcal
703: V_{cc}'}$ have a common vertex in $\mathcal G(\cdot)$, then
704: $w_{v_2'v_1'}=1$, which is a contradiction. So no two vertices in
705: ${\mathcal V_{cc}'}$ have a
706: common vertex in $\mathcal G(\cdot)$. From the hypothesis, \\
707: $\sum_{v_2'\in{\mathcal V_{cc}'} \setminus \{v_1'\}}
708: w'(e'_{v_2'v_1'}) > |{\mathcal V_{cc}'}|+{\mathcal N}(v_1')-2$ $
709: \;\forall\; v_1' \in {\mathcal V_{cc}'}$ \\ $\Leftrightarrow
710: \sum_{v_2'\in{\mathcal V_{cc}'} \setminus \{v_1'\}} (1-w_{v_2'v_1'})
711: > |{\mathcal V_{cc}'}|+{\mathcal N}(v_1')-2$ \\ $\Leftrightarrow
712: |{\mathcal V_{cc}'} \setminus \{v_1'\}|-\sum_{v_2'\in{\mathcal
713: V_{cc}'} \setminus \{v_1'\}}w_{v_2'v_1'} > $ $|{\mathcal
714: V_{cc}'}|+{\mathcal N}(v_1')-2$ \\ $\Leftrightarrow |{\mathcal
715: V_{cc}'}|-1-\sum_{v_2'\in{\mathcal V_{cc}'} \setminus
716: \{v_1'\}}w_{v_2'v_1'} > $ $|{\mathcal V_{cc}'}|+{\mathcal
717: N}(v_1')-2$ \\ $\Leftrightarrow \sum_{v_2'\in{\mathcal V_{cc}'}
718: \setminus \{v_1'\}}w_{v_2'v_1'} + {\mathcal N}(v_1') < 1 $ \\
719: $\Leftrightarrow \sum_{v_2'\in{\mathcal V_{cc}'} \setminus \{v_1'\}}
720: \gamma_c
721: \frac{{d(t_{v_1'},r_{v_1'})}^\alpha}{{d(t_{v_2'},r_{v_1'})}^\alpha}
722: + $ $\frac{N_0 \gamma_c}{P}{d(t_{v_1'},r_{v_1'})}^\alpha < 1$ \\
723: $\Leftrightarrow
724: \frac{\frac{P}{{d(t_{v_1'},r_{v_1'})}^\alpha}}{N_0+\sum_{v_2'\in{\mathcal
725: V_{cc}'} \setminus
726: \{v_1'\}}\frac{P}{{d(t_{v_2'},r_{v_1'})}^\alpha}}>\gamma_c$
727: $\;\forall\; v_1' \in {\mathcal V_{cc}'}$. \\
728: Therefore, the SINR threshold condition (\ref{qwerty}) is satisfied
729: at all the receivers of all the vertices of ${\mathcal V_{cc}'}$.
730: \end{IEEEproof}
731: \vspace{1ex}
732: With respect to (w.r.t.) the communication graph $\mathcal G(\mathcal
733: V,\mathcal E)$, let:
734: \begin{eqnarray*}
735: e &=& \mbox{number of edges}\\
736: v &=& \mbox{number of vertices}
737: \end{eqnarray*}
738:
739: \begin{theorem}
740: The run time complexity of LGLS algorithm under uniform load
741: conditions is $O(e^2)$.
742: \label{unfrm}
743: \end{theorem}
744: \begin{IEEEproof}
745: $|{\mathcal V'}|=|{\mathcal E}|$. Since $\mathcal G'(\cdot)$ is a
746: directed complete graph, $|{\mathcal E'}|=|{\mathcal V'}|^2=e^2$.
747: Since the computation of the function $w_{ij}$ for a given $i$ and
748: $j$ takes unit time, the computation of $w_{ij}$ for all edges $i$
749: and $j$ of $\mathcal G(\cdot)$ takes $O(e^2)$ time. Hence, the time
750: complexity of Phase 1 is $O(e^2)$. Similarly, the time complexity
751: of Phase 2 is also $O(e^2)$. The time complexity of Phase 3 is
752: $O(e)$. In $\mathcal G'(\cdot)$, let $C$ denote the total number of
753: colors used to color all vertices, and let $N_i$ denote the number
754: of vertices assigned color $i$. Since $C$ can never exceed the
755: number of vertices in $\mathcal G'(\cdot)$ (the number of edges in
756: $\mathcal G(\cdot)$), $C$ is $O(e)$. The time required by Lines
757: 21-26 is $O(1)$, let it be $k_1$, where $k_1$ is a constant. By
758: using a careful implementation of storing $\sum_{x' \in {\mathcal
759: V}_p'} w'(e'_{x'y'})$ and $\sum_{x' \in {\mathcal V}_p'}
760: w'(e'_{y'x'}) \;\forall\; y' \in {\mathcal V_{uc}'}$, the time
761: required by Line 28 will be $O(|{\mathcal V_{uc}'}|)$. Let it be
762: equal to $a_1 |{\mathcal V_{uc}'}|$, where $a_1$ is a constant.
763: With a careful implementation of storing $\sum_{x' \in {\mathcal
764: V}_p' \setminus \{y'\} \cup \{u'\}} w'(e'_{x'y'}) \;\forall\; y'
765: \in {\mathcal V_p'}$, Lines 30-32 take $O(1)$ time. Hence, Lines
766: 29-33 take time $O(|{\mathcal V}_p'|)$, let it be $a_2 |{\mathcal
767: V_p'}|$, where $a_2$ is a constant. Lines 34-40 take
768: $O(|{\mathcal V}_p'|)$ time, let it be $a_3 |{\mathcal V_p'}|$,
769: where $a_3$ is a constant. Thus the total run time of Phase 4 is,\\
770: $\tau = \sum_{i=1}^C (k_1 + \sum_{m=1}^{N_i} (a_1 |{\mathcal
771: V_{uc}'}|+(a_2+a_3) |{\mathcal V_p'}|))$.
772: \begin{eqnarray*}
773: {\mathcal V_{uc}'},{\mathcal V_p'} \subseteq {\mathcal V'}
774: &\Rightarrow&
775: |{\mathcal V_{uc}'}|,|{\mathcal V_p'}| \leqslant |{\mathcal V'}|=e.\\
776: \Rightarrow \tau
777: &\leqslant& \sum_{i=1}^C \Big(k_1 + \sum_{m=1}^{N_i} (a_1+a_2+a_3)e\Big) \\
778: &=& \sum_{i=1}^C k_1 + (a_1+a_2+a_3)e \sum_{i=1}^C \sum_{m=1}^{N_i} 1 \\
779: &=& k_1C+(a_1+a_2+a_3)e(e) \\
780: &=& O(e^2)
781: \end{eqnarray*}
782: Hence, the total time complexity of Algorithm \ref{line_graph} is
783: $O(e^2)$.
784: \end{IEEEproof}
785:
786: We compare our work with that of
787: \cite{brar_blough_santi__computationally_efficient}, since it is the
788: only work in STDMA link scheduling whose system model is closest to
789: our system model.
790:
791: Under uniform load on all edges, the time complexity of GreedyPhysical
792: (GP) algorithm of \cite{brar_blough_santi__computationally_efficient}
793: is $O(ve^{2})$, whereas the time complexity of the proposed LGLS
794: algorithm is $O(e^2)$. Thus, under uniform load conditions, the time
795: complexity of LGLS is much lower than that of GP.
796:
797: Note that our algorithm can be easily extended to incorporate
798: non-uniform load conditions by assigning integer weights to edges in
799: $\mathcal G(\cdot)$ and then considering each edge split into those
800: many edges. Similar to
801: \cite{brar_blough_santi__computationally_efficient}, we assume that
802: the ratio of the maximum load at any node to the minimum load at any
803: node is upper bounded by a constant.
804: \begin{corollary}
805: The run time complexity of LGLS algorithm under non-uniform load
806: conditions is $O(v^2e^2)$.
807: \end{corollary}
808: \begin{IEEEproof}
809: Let $l_{max}$ and $l_{min}$ denote the maximum load and minimum load
810: offered by a node in $\mathcal G(\cdot)$. We assume that
811: $\frac{l_{max}}{l_{min}}$ is upper bounded by $k$, a constant. We
812: normalize the load at each node w.r.t. $l_{min}$. So, the load at
813: each node is $i$, where $1 \leqslant i \leqslant k$. Thus, the
814: weight on each edge in $\mathcal G(\cdot)$ is upper bounded by
815: $\sum_{v \in \mathcal V} i \leqslant vk$, which is $O(v)$. Hence,
816: the total number of edges after replacing an edge by the number of
817: edges equal to its weight is $O(ve)$. Therefore, along similar
818: lines as the proof of Theorem \ref{unfrm}, the total time complexity
819: is $O(v^2e^2)$.
820: \end{IEEEproof}
821:
822: Thus, under non-uniform load on all edges, the time complexity of LGLS
823: is the same as the time complexity of GP (see
824: \cite{brar_blough_santi__computationally_efficient}, Section 4).
825:
826: \section{Performance Results}
827: \label{simul_sec}
828:
829: In our simulations, $N$ nodes are scattered uniformly in a square by
830: choosing the $X$ and $Y$ coordinates uniformly from $[0,L]$, where
831: $L=3000$ m. The system parameters are $\alpha=4.5$, $\gamma_c=7$ dB,
832: $P=1000$ mW and $N_0=-96$ dBm, which are chosen to match IEEE 802.11b
833: operation values \cite{clark_leung__outdoor_ieee}. The LGLS algorithm
834: is compared with the GP algorithm
835: \cite{brar_blough_santi__computationally_efficient} with a weight of
836: $1$ on all the edges. We vary $N$ from 25 to 250 in steps of 25. The
837: schedule length is averaged over 200 random graphs for each value of
838: $N$. Fig. \ref{simul} plots the average schedule length versus the
839: number of nodes. We observe that LGLS achieves 50-93\%
840: lower schedule length than GP.
841:
842: \begin{figure}[htbp]
843: \centering
844: \includegraphics[width=3.6in]{schedlength_21Jun.eps}
845: \caption{Schedule length vs. number of nodes for LGLS and GP algorithms.}
846: \label{simul}
847: \end{figure}
848:
849: \section{Conclusions}
850: \label{conc}
851: In this paper, we have proposed a novel scheduling algorithm based on
852: a line graph representation of STDMA network under the physical
853: interference model. Our results demonstrate that the schedule length
854: for the proposed algorithm is substantially lower than that of the
855: GreedyPhysical algorithm. This is due to the fact that we have
856: embedded SINR feasibility conditions into the edge weights of the line
857: graph, and consequently determined a conflict-free schedule.
858:
859:
860:
861: % An example of a floating figure using the graphicx package.
862: % Note that \label must occur AFTER (or within) \caption.
863: % For figures, \caption should occur after the \includegraphics.
864: % Note that IEEEtran v1.7 and later has special internal code that
865: % is designed to preserve the operation of \label within \caption
866: % even when the captionsoff option is in effect. However, because
867: % of issues like this, it may be the safest practice to put all your
868: % \label just after \caption rather than within \caption{}.
869: %
870: % Reminder: the "draftcls" or "draftclsnofoot", not "draft", class
871: % option should be used if it is desired that the figures are to be
872: % displayed while in draft mode.
873: %
874: %\begin{figure}[!t]
875: %\centering
876: %\includegraphics[width=2.5in]{myfigure}
877: % where an .eps filename suffix will be assumed under latex,
878: % and a .pdf suffix will be assumed for pdflatex; or what has been declared
879: % via \DeclareGraphicsExtensions.
880: %\caption{Simulation Results}
881: %\label{fig_sim}
882: %\end{figure}
883:
884: % Note that IEEE typically puts floats only at the top, even when this
885: % results in a large percentage of a column being occupied by floats.
886:
887:
888: % An example of a double column floating figure using two subfigures.
889: % (The subfig.sty package must be loaded for this to work.)
890: % The subfigure \label commands are set within each subfloat command, the
891: % \label for the overall figure must come after \caption.
892: % \hfil must be used as a separator to get equal spacing.
893: % The subfigure.sty package works much the same way, except \subfigure is
894: % used instead of \subfloat.
895: %
896: %\begin{figure*}[!t]
897: %\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}%
898: %\label{fig_first_case}}
899: %\hfil
900: %\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}%
901: %\label{fig_second_case}}}
902: %\caption{Simulation results}
903: %\label{fig_sim}
904: %\end{figure*}
905: %
906: % Note that often IEEE papers with subfigures do not employ subfigure
907: % captions (using the optional argument to \subfloat), but instead will
908: % reference/describe all of them (a), (b), etc., within the main caption.
909:
910:
911: % An example of a floating table. Note that, for IEEE style tables, the
912: % \caption command should come BEFORE the table. Table text will default to
913: % \footnotesize as IEEE normally uses this smaller font for tables.
914: % The \label must come after \caption as always.
915: %
916: %\begin{table}[!t]
917: %% increase table row spacing, adjust to taste
918: %\renewcommand{\arraystretch}{1.3}
919: % if using array.sty, it might be a good idea to tweak the value of
920: % \extrarowheight as needed to properly center the text within the cells
921: %\caption{An Example of a Table}
922: %\label{table_example}
923: %\centering
924: %% Some packages, such as MDW tools, offer better commands for making tables
925: %% than the plain LaTeX2e tabular which is used here.
926: %\begin{tabular}{|c||c|}
927: %\hline
928: %One & Two\\
929: %\hline
930: %Three & Four\\
931: %\hline
932: %\end{tabular}
933: %\end{table}
934:
935:
936: % Note that IEEE does not put floats in the very first column - or typically
937: % anywhere on the first page for that matter. Also, in-text middle ("here")
938: % positioning is not used. Most IEEE journals/conferences use top floats
939: % exclusively. Note that, LaTeX2e, unlike IEEE journals/conferences, places
940: % footnotes above bottom floats. This can be corrected via the \fnbelowfloat
941: % command of the stfloats package.
942:
943:
944:
945:
946: % conference papers do not normally have an appendix
947:
948:
949: % use section* for acknowledgement
950: % \section*{Acknowledgment}
951: % The authors would like to thank...
952:
953:
954:
955:
956:
957: % trigger a \newpage just before the given reference
958: % number - used to balance the columns on the last page
959: % adjust value as needed - may need to be readjusted if
960: % the document is modified later
961: %\IEEEtriggeratref{8}
962: % The "triggered" command can be changed if desired:
963: %\IEEEtriggercmd{\enlargethispage{-5in}}
964:
965: % references section
966:
967: % can use a bibliography generated by BibTeX as a .bbl file
968: % BibTeX documentation can be easily obtained at:
969: % http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/
970: % The IEEEtran BibTeX style support page is at:
971: % http://www.michaelshell.org/tex/ieeetran/bibtex/
972:
973: \bibliographystyle{IEEEtran}
974:
975: % argument is your BibTeX string definitions and bibliography database(s)
976:
977: \bibliography{IEEEabrv,l}
978:
979: %
980: % <OR> manually copy in the resultant .bbl file
981: % set second argument of \begin to the number of references
982: % (used to reserve space for the reference number labels box)
983:
984: % that's all folks
985: \end{document}
986:
987:
988: