?? generalized-hierarchical-qam.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0068)http://www.ece.umn.edu/users/pavan/Generalized-Hierarchical-Qam.html -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<CENTER>
<H4>Gray Coding</H4></CENTER>To Gray code an M-PAM constellation hierarchically,
one can do the following: Number the points on the constellation from 0 to M-1,
and expand them in binary (say integer B has the binary expansion (B(1) B(2)
B(3) ... B(m)). The the corresponding gray code (G(1) G(2) G(3) ... G(m)) can be
written using these well known equations: <BR>
<CENTER>G(1)=B(1) <BR>G(i)=xor(B(i), B(i-1)), i=2, 3, ... , m, </CENTER><BR>This
has been done interactively by undergraduate students using the following
programs.<BR>
<CENTER><A
href="http://www.ece.umn.edu/users/pavan/PSK/programs/website/pam.m">pam.m</A></TR></TD><BR><A
href="http://www.ece.umn.edu/users/pavan/PSK/programs/website/graycode.m">graycode.m</A></TR></TD><BR><A
href="http://www.ece.umn.edu/users/pavan/PSK/programs/website/binarycode.m">binarycode.m</A></TR></TD><BR></CENTER><BR>Download
these programs into a directory. Run "pam.m" on the MATLAB prompt. When prompted
enter the "d" vector. The program will then plot the constellation with the gray
codes. The following example shows hierarchical gray coding of PAMs, for a
2/4/8-PAM example. This has not been obtained from the above programs.
<CENTER><IMG src="Generalized-Hierarchical-Qam.files/general_8PAM.gif">
</CENTER><BR>
<P>QAMs can be viewed as 2 PAMs in quadrature. Gray code for a symbol in a QAM
constellation is got by interleaving the Gray codes of its PAM equivalents, as
(G(1_i) G(1_q) G(2_i) G(2_q) .... G(m_i) G(m_q)). This process can also be
automated using the following MATLAB codes. <BR>
<CENTER><A
href="http://www.ece.umn.edu/users/pavan/PSK/programs/website/qam.m">qam.m</A></TR></TD><BR><A
href="http://www.ece.umn.edu/users/pavan/PSK/programs/website/graycode.m">graycode.m</A></TR></TD><BR><A
href="http://www.ece.umn.edu/users/pavan/PSK/programs/website/binarycode.m">binarycode.m</A></TR></TD><BR></CENTER><BR>Download
these into a directory. Run "qam.m" at the MATLAB prompt. Enter the inphase
("d_i") and quadrature phase ("d_q") distance vectors when prompted. The
following example shows a 4/16-QAM constellation with the Gray codes [1], [2].
The Gray codes have been derived by hand, and not using the above programs.
<CENTER><IMG src="Generalized-Hierarchical-Qam.files/416-QAM_new.gif">
</CENTER><BR>
<CENTER>
<H4>MATLAB code usage </H4></CENTER>
<P>To use the recursive function, the reader first needs to define the distance
vectors for the constellation being considered. The following examples will
illustrate the definition of priority vector.
<P>Let us consider the generalized 2/4/8-PAM case. <BR>The three distances
decide the extent of unequal error protection. Distances are normalized with
respect to the last hierarchy to get the priority vector. If we set the
"priority_vector" as [4 2 1], then we have the special case of uniform 8-PAM. If
we set the "priority_vector" to [10 4 1], then we have a high degree of
variation in the performance of the LSB and the MSB.
<P>Having decided upon the constellation, please use the priority vectors in the
main program below. For QAMs, as shown in the paper, we normalize the distance
vectors in both the I and Q-phases w.r.t the minimum of the I&Q-distances in
the last hierarchy. Please download the following functions, and save them in
one directory. <BR><BR>
<CENTER><A
href="http://www.ece.umn.edu/users/pavan/arbitrary/qam_ber.m">qam_ber.m</A></TR></TD>
<BR><A
href="http://www.ece.umn.edu/users/pavan/arbitrary/recurse_other.m">recurse_other.m</A></TR></TD>
<BR><A
href="http://www.ece.umn.edu/users/pavan/arbitrary/lsb_error_pam.m">lsb_error_pam.m</A></TR></TD>
<BR><BR></CENTER>Please open qam_ber.m, and change the definition of the
priority vectors on line 3 and 4 accordingly. <BR><BR>priority_vector1=[ x y
...... 1] priority_vector2=[ x y ...... k], where k may be 1. <BR>Please turn
"warning off" at the matlab prompt. Then run the program "qam_ber" at the matlab
prompt. The program plots the BER for all the bits as a function of CNR from -5
dB to 24 dB. <BR>
<P>The following link shows some numerical examples [5]: <A
href="http://www.ece.umn.edu/users/pavan/arbitrary/uniform_final_web.html">Numerical
Examples</A></TD><BR>
<CENTER></CENTER>
<H4>References</H4>
<CENTER></CENTER>(1) P. K. Vitthaladevuni and M. -S. Alouini, ``BER computation
of 4/M-QAM hierarchical constellations'', Proceedings of IEEE Personal, Indoor,
and Mobile Radio Communication Conference (PIMRC'2001), San Diego, California,
vol. 1, pp. 85-89, October 2001. Journal version in IEEE Trans. on Broadcasting,
vol. 47, no. 3, pp. 228-239, September 2001.<BR><BR>(2) P. K. Vitthaladevuni and
M. -S. Alouini, ``BER computation of generalized QAM constellations'',
Proceedings of IEEE Global Communications Conference (GLOBECOM'2001), San
Antonio, Texas, vol. 1, pp. 632-636, November 2001. Journal version submitted to
IEEE Trans. on Information Theory.<BR><BR>(3) L. -L. Yang and L. Hanzo, ``A
recursive algorithm for the error probability evaluation of M-QAM'', IEEE
Commun. Letters, vol. 4, no. 10, pp. 304-306, October 2000.<BR><BR>(4) K. Cho
and D. Yoon, ``Bit error probability of M-ary quadrature amplitude modulation'',
Proceedings of IEEE Veh. Technol. Conf. (VTC'2000-Fall), Boston, Massachussets,
pp. 2422-2427, September 2000. <BR><BR>(5) P. K. Vitthaladevuni and M. -S.
Alouini,``A new look at the exact BER evaluation of PAM, QAM and PSK
constellations," Telektronikk: Special Issue on Information Theory and its
Applications, vol. , No. 1, pp. - , January-March 2002. </BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -