{"id":509,"date":"2011-09-01T08:48:57","date_gmt":"2011-09-01T08:48:57","guid":{"rendered":"http:\/\/www.raymaps.com\/?p=509"},"modified":"2022-05-31T08:47:06","modified_gmt":"2022-05-31T08:47:06","slug":"ber-64-qam-awgn","status":"publish","type":"post","link":"https:\/\/www.raymaps.com\/index.php\/ber-64-qam-awgn\/","title":{"rendered":"Bit Error Rate of 64-QAM in AWGN"},"content":{"rendered":"<p style=\"text-align: justify;\">64-QAM is an important modulation scheme being used in WiMAX and LTE. It allows for transmission of 6 bits symbol which results in higher bit rate and spectral efficiency. The calculation of bit error rate of 64-QAM is a bit tricky as there are many different formulas available with varying degrees of accuracy. Here, we first calculate the bit error rate (BER) of 64-QAM using a simulation and then compare it to the theoretical curve for 64-QAM.<\/p>\n<pre lang=\"matlab\">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n% FUNCTION TO CALCULATE 64-QAM BER USING SIMULATION\n% n_bits: Input, number of bits\n% EbNodB: Input, energy per bit to noise PSD\n% ber: Output, bit error rate\n% Copyright RAYmaps (www.raymaps.com)\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\nfunction[ber]= M_QAM(n_bits,EbNodB);\nM=64;\nk=log2(M)\nEbNo=10^(EbNodB\/10);\nx=transpose(round(rand(1,n_bits)));\nh1=modem.qammod(M);\nh1.inputtype='bit';\nh1.symbolorder='gray';\ny=modulate(h1,x);\nn=randn(1,n_bits\/k)+j*randn(1,n_bits\/k);\ny=y+sqrt(7\/(2*EbNo))*n.';\nh2=modem.qamdemod(M)\nh2.outputtype='bit';\nh2.symbolorder='gray';\nh2.decisiontype='hard decision';\nz=demodulate(h2,y);\nber=(n_bits-sum(x==z))\/n_bits\nreturn\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n<\/pre>\n<pre lang=\"matlab\">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n% CALCULATE 64-QAM BER USING FORMULA\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\nEbNodB=0:2:16;\nEbNo=10.^(EbNodB\/10);\nk=6;\nM=64;\nx=sqrt(3*k*EbNo\/(M-1));\nPb=(4\/k)*(1-1\/sqrt(M))*(1\/2)*erfc(x\/sqrt(2));\nsemilogy(EbNodB,Pb)\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n<\/pre>\n<p style=\"text-align: justify;\">Using the above functions the BER of 64-QAM is calculated as shown below. Also shown is the constellation diagram of 64-QAM after addition of noise.<\/p>\n<figure id=\"attachment_515\" aria-describedby=\"caption-attachment-515\" style=\"width: 560px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.raymaps.com\/index.php\/ber-64-qam-awgn\/constellation\/\" rel=\"attachment wp-att-515\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-515\" title=\"64-QAM Constellation\" src=\"http:\/\/www.raymaps.com\/wp-content\/uploads\/2011\/09\/Constellation.jpg\" alt=\"64-QAM Constellation\" width=\"560\" height=\"420\" srcset=\"https:\/\/www.raymaps.com\/wp-content\/uploads\/2011\/09\/Constellation.jpg 560w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2011\/09\/Constellation-300x225.jpg 300w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/a><figcaption id=\"caption-attachment-515\" class=\"wp-caption-text\">64-QAM Constellation<\/figcaption><\/figure>\n<figure id=\"attachment_521\" aria-describedby=\"caption-attachment-521\" style=\"width: 571px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.raymaps.com\/index.php\/ber-64-qam-awgn\/64qam_ber-2\/\" rel=\"attachment wp-att-521\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-521\" title=\"64-QAM BER\" src=\"http:\/\/www.raymaps.com\/wp-content\/uploads\/2011\/09\/64QAM_BER1.jpg\" alt=\"64-QAM BER\" width=\"571\" height=\"428\" srcset=\"https:\/\/www.raymaps.com\/wp-content\/uploads\/2011\/09\/64QAM_BER1.jpg 571w, https:\/\/www.raymaps.com\/wp-content\/uploads\/2011\/09\/64QAM_BER1-300x224.jpg 300w\" sizes=\"auto, (max-width: 571px) 100vw, 571px\" \/><\/a><figcaption id=\"caption-attachment-521\" class=\"wp-caption-text\">64-QAM BER<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">It is observed that the theoretical curve almost overlaps the simulation results. There is only a very small difference at very low signal to noise ratio. The BER of 64-QAM at 16dB is approximately equal to the BER for QPSK at 8dB. Therefore the 64-QAM can only be used in scenarios where there is a very good signal to noise ratio.<\/p>\n<p style=\"text-align: justify;\">In this post we have used built in MATLAB functions for modulation and demodulation. In future posts we try to build up the simulation without using these functions!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>64-QAM is an important modulation scheme being used in WiMAX and LTE. It allows for transmission of 6 bits symbol which results in higher bit rate and spectral efficiency. The calculation of bit error rate of 64-QAM is a bit tricky as there are many different formulas available with varying degrees of accuracy. Here, we first calculate the bit error rate (BER) of 64-QAM using a simulation and then compare it to the theoretical curve for 64-QAM. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % FUNCTION TO CALCULATE 64-QAM BER USING SIMULATION % n_bits: Input, number of bits % EbNodB: Input, energy per bit to noise [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[189,11,18,219,15],"tags":[34,114,112],"class_list":["post-509","post","type-post","status-publish","format-standard","hentry","category-5g","category-berp","category-lte","category-modulation","category-wimax","tag-ber","tag-lte","tag-wimax"],"_links":{"self":[{"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/posts\/509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/comments?post=509"}],"version-history":[{"count":35,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/posts\/509\/revisions"}],"predecessor-version":[{"id":4253,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/posts\/509\/revisions\/4253"}],"wp:attachment":[{"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/media?parent=509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/categories?post=509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.raymaps.com\/index.php\/wp-json\/wp\/v2\/tags?post=509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}