<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">CN</journal-id><journal-title-group><journal-title>Communications and Network</journal-title></journal-title-group><issn pub-type="epub">1949-2421</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/cn.2013.51002</article-id><article-id pub-id-type="publisher-id">CN-28228</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Fast Converging Generalized Turbo Decoding Scheme with Enhanced Throughput for Mobile Radio
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>shok</surname><given-names>Kumar Shankhwar</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Sachin</surname><given-names>Sharma</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Rajeev</surname><given-names>Tripathi</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Arun</surname><given-names>Prakash</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ashutosh</surname><given-names>Singh</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>Electronics and Communication Engineering Department, Motilal Nehru National Institute of Technology, Allahabad, India</addr-line></aff><aff id="aff1"><addr-line>Electronics Engineering Department, Harcourt Butler Technological Institute, Kanpur, India</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>sak_neeraj@yahoo.com(SKS)</email>;<email>sachinsharma.hbtik@gmail.com(SS)</email>;<email>rt@mnnit.ac.in(RT)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>27</day><month>02</month><year>2013</year></pub-date><volume>05</volume><issue>01</issue><fpage>9</fpage><lpage>15</lpage><history><date date-type="received"><day>September</day>	<month>14,</month>	<year>2012</year></date><date date-type="rev-recd"><day>October</day>	<month>16,</month>	<year>2012</year>	</date><date date-type="accepted"><day>November</day>	<month>2,</month>	<year>2012</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
   The use of turbo codes enhances the data transmission efficiency and optimizes the performance of a communication system over wireless fading channels. In this paper, we present a brief overview of the various components of the turbo coding scheme, analyze the complexities of the most popular turbo decoding algorithms, and discuss the various implementation methods of the maximum a posteriori (MAP) algorithm. The paper considers the well-known log-MAP decoding algorithm by a linear approximation of the correction function used by the max* operator. We propose a generalized decoding scheme that optimizes the existing MAP algorithm for faster convergence and better throughput on the basis of varying channel conditions. The proposed scheme of decoding reduces complexity and enhances the throughput with only a negligible loss in BER performance. 
 
</p></abstract><kwd-group><kwd>Log-MAP Decoding; Mobile Radio; Turbo Decoder; UMTS; Wireless</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Increasing demand of bandwidth and support of multimedia traffic in mobile/wireless environment has developed the need of further improvement of wireless communication system performance. Turbo codes exhibit near Shannon-capacity performance and thus are specified in third generation cellular standards particularly in UMTS and cdma2000 [<xref ref-type="bibr" rid="scirp.28228-ref1">1</xref>]. The performance of iterative turbo decoder approaches near Shannon-capacity with increased number of iterations, which introduces computational delay in the system resulting in reduced throughput. The throughput performance can be improved by employing adaptive turbo decoder that adapts the decoding algorithm on the basis of prevailing channel conditions. The focus of this paper is on developing adaptive turbo decoder for reducing computational delay and thus improving throughput of the system [<xref ref-type="bibr" rid="scirp.28228-ref2">2</xref>]. There exists many advanced turbo decoding algorithms providing different combinations of performance and complexity. Here we consider log-MAP, max-log-MAP, constantlog-MAP and linear-log-MAP algorithms [<xref ref-type="bibr" rid="scirp.28228-ref3">3</xref>].</p><p>This paper evaluates above decoding schemes and proposes an adaptive turbo decoding architecture, and named it as generalized turbo decoder. The generalized decoder analyzes the channel conditions and selects appropriate decoding algorithm accordingly. For favorable channel conditions fast converging and least complex algorithm is selected, such as max-log-MAP. And, for poor channel conditions, the algorithm offering best BER performance but slow converging and complex algorithm is considered, such as log-MAP algorithm. Meticulous selection of decoding algorithms results in reduced computational delay, and thus improving throughput, which are complemented by simulation results. The proposed decoder architecture has the same architecture as proposed in [<xref ref-type="bibr" rid="scirp.28228-ref3">3</xref>] with an additional block of channel estimator to estimate the channel statistics, depending upon the channel conditions. The proposed decoder selects the appropriate decoding algorithm and optimizes the decoding performance, on the basis of channel conditions. The simulation results show that the proposed decoder architecture achieves the desired BER performance with reduced number of iterations and thus converges faster. The paper also contributes some critical implementation issues and discusses, in particular the computation of the max* operator. Simple, but effective, solutions for complexity problems are proposed and illustrated through simulations results. However, in the description of the algorithm, we have not provided the details of Viterbi algorithm [<xref ref-type="bibr" rid="scirp.28228-ref4">4</xref>] with the assumption that it is known to the reader. The remainder of this paper is organized as follows: Section 2 provides an overview of the UMTS turbo encoder and Section 3 discusses the channel model and how to normalize the inputs to the decoder. The next three sections describe the decoder, with Section 4 describing the algorithm, Section 5 discussing the system model, and Section 6 describing max* operator implementation of the MAP algorithm. The performance evaluation of the proposed generalized turbo decoding and log-MAP algorithm for fading channel is carried out in Section 7. Finally, Section 8 concludes the paper.</p></sec><sec id="s2"><title>2. Turbo Encoder</title><p>As shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>, the UMTS turbo encoder is composed of two constraint length 4 Recursive Systematic Convolutional (RSC) encoders concatenated in parallel [5,6]. Feedback of shift register output to input of encoder effect the behavior of error pattern. The feedforward generator is 15 and the feedback Generator is 13, both in octal. The number of data bits at the input of the turbo encoder is K. Data is encoded by the first (i.e., upper) encoder in its natural order and by the second (i.e., lower) encoder after being interleaved. At first, the two switches are in the up position. Data is feed into the interleaver in a row wise fashion (with the first data bit placed in the upper-left position of the matrix) followed by intrarow or interrow permutations on each the matrix depending on the block length [<xref ref-type="bibr" rid="scirp.28228-ref7">7</xref>]. After the intrarow and interrow permutations, data is read from the interleaver in a column wise fashion. The data bits are transmitted together with the parity bits generated by the two encoders. Thus, the overall code rate of the encoder is<img src="2-6101259\09254e60-d479-4c49-800a-d946ad20289c.jpg" />, not including the tail bits (discussed below). The first 3 <img src="2-6101259\4072fef2-448a-4b46-b3e9-00d2970054ec.jpg" /> output bits of the encoder are in the form: <img src="2-6101259\8d69433f-5fad-4312-8386-fd09a345ed1e.jpg" />where <img src="2-6101259\c94b1726-c5ca-4bee-b2a8-b2a51982058f.jpg" /> is the <img src="2-6101259\29c46cd9-e7cf-422e-ab57-4a0946811611.jpg" />th systematic (i.e., data) bit, <img src="2-6101259\bf49dd98-dc5b-43a1-ad49-495326dc4eb7.jpg" />is the parity output from the upper (un interleaved) encoder, and <img src="2-6101259\f4bdbd46-0b07-47d1-8b1c-fbf62054fa97.jpg" /> is the parity output from the lower (interleaved) encoder. After the <img src="2-6101259\e56340d5-a744-4c6b-aa55-f7590aad7183.jpg" /> data bits have been encoded, the trellises of both encoders are forced back to the all-zeros state by the proper selection of tail bits. The tail bits of an RSC will depend on the state of the encoder. The tail bits are generated for each encoder by throwing the two switches into the down position, thus causing the inputs to the two</p><p>encoders to be indicated by the dotted lines. The tail bits are then transmitted at the end of the encoded frame according to</p><p><img src="2-6101259\6e70397b-797c-4c33-9830-45bd9ad0b33c.jpg" /></p><p>where <img src="2-6101259\e98c10c3-8eda-4a37-b8fb-b027bb1be557.jpg" /> and <img src="2-6101259\c7fb3b05-4ba0-42db-957b-1919b5699ca1.jpg" /> represents the tail bits of the upper and lower encoder, <img src="2-6101259\651bce45-bb80-4dc6-86b7-c8ac5b3cf6f9.jpg" />and <img src="2-6101259\1f9b4e6a-b850-4a19-8b5b-8c05b027f5d6.jpg" /> represents the parity bit of upper and lower encoder. Thus, when tail bits are taken into account, the number of coded bits is<img src="2-6101259\79156251-29b7-4853-9ce3-d8ff6f23442f.jpg" />, and the code rate is<img src="2-6101259\a48fc1ae-90cc-4a49-bad3-6a4a341f0ed6.jpg" />.</p></sec><sec id="s3"><title>3. Channel Model</title><p>BPSK modulation is assumed, along with either an AWGN or flat-fading channel. The output of the receiver’s matched filter is<img src="2-6101259\edc0c604-0ba0-4927-8d60-0fc53382ac72.jpg" />, where <img src="2-6101259\4e55000a-5b46-4ed1-82d2-81bbe29a60b8.jpg" /> for the systematic bits, <img src="2-6101259\9ae9e82a-b1f1-4d59-9b8f-7046f84baa86.jpg" />for the upper encoder’s parity bits, <img src="2-6101259\8f582d7a-1d62-414c-a7f7-e4eabe90fb08.jpg" />for the lower encoder’s parity bits, <img src="2-6101259\e8e0bf8f-e88c-4376-af3b-bf3926045ac5.jpg" />is the channel gain (<img src="2-6101259\22a5ed57-6d21-4936-bce3-bf9653c30c09.jpg" />for AWGN and is a Rayleigh random variable for Rayleigh flat-fading), n<sub>k</sub> is Gaussian noise with variance</p><p><img src="2-6101259\75ac9f3b-3cea-446c-a497-e67005be13d1.jpg" />,</p><p><img src="2-6101259\10522599-2db0-48aa-9e2f-0349819d14be.jpg" />is the energy per code bit, <img src="2-6101259\f16bafeb-881f-4863-9ba3-e1637388a1b8.jpg" />is the energy per data bit, and <img src="2-6101259\7322288c-2c2b-4c24-957e-e864d47ef006.jpg" /> is the one-sided noise spectral density. The input to the decoder is in the form</p><disp-formula id="scirp.28228-formula60704"><label>(1)</label><graphic position="anchor" xlink:href="2-6101259\3dc19833-791e-41f2-87ef-23823abbb340.jpg"  xlink:type="simple"/></disp-formula><p>By applying Bayes rule and assuming that <img src="2-6101259\b16fef0f-f545-4b5f-949b-89d1551afa01.jpg" /></p><disp-formula id="scirp.28228-formula60705"><label>(2)</label><graphic position="anchor" xlink:href="2-6101259\1653c4ae-d331-4a1d-9684-1c16254c728e.jpg"  xlink:type="simple"/></disp-formula><p>where <img src="2-6101259\7769498f-edfc-4053-9a3e-8bab3427164a.jpg" /> is the conditional probability density function (pdf) of <img src="2-6101259\80b66fe2-f126-4713-ba22-e9fdbcbf7ece.jpg" /> given<img src="2-6101259\49779f44-f6c1-475c-8996-ccdee92dba5a.jpg" />, which is Gaussian with mean <img src="2-6101259\6ed10a75-ebde-4e20-8153-f1766deea264.jpg" /> and variance<img src="2-6101259\13e8d60e-3202-44f4-9ffb-09f2ad561160.jpg" />. Substituting the expression for the Gaussian pdf and simplifying yields</p><disp-formula id="scirp.28228-formula60706"><label>(3)</label><graphic position="anchor" xlink:href="2-6101259\699c45a1-17ac-4002-b3ba-4b95e0fecba6.jpg"  xlink:type="simple"/></disp-formula><p>Thus, the matched filter coefficients must be scaled by a factor <img src="2-6101259\7cd6e228-f659-4e11-823e-99b651936477.jpg" /> before being sent to the decoder. The notation <img src="2-6101259\4a8c020f-2a06-49bc-abdf-d626a796e261.jpg" /> denotes the received LLR corresponding to systematic bit<img src="2-6101259\2473c944-6646-404e-8421-66875d3b84e8.jpg" />, <img src="2-6101259\e11f2f8e-764d-4271-ba9a-f04196777e24.jpg" />denotes the received LLR for the upper parity bit<img src="2-6101259\83acd262-7874-4f63-974b-a8eeeed41996.jpg" />, and <img src="2-6101259\3585548e-42fe-490e-8dc7-d003a2e599cb.jpg" /> denotes the received LLR corresponding to the lower parity bit<img src="2-6101259\45770e93-9a58-455c-a904-1bbcceebe106.jpg" />.</p></sec><sec id="s4"><title>4. Turbo Decoder</title><p>The architecture of the decoder is as shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p><p>Decoding will be done in an iterative manner, because of the feedback [<xref ref-type="bibr" rid="scirp.28228-ref8">8</xref>]. Each full iteration consists of two half iterations, one for each constituent RSC code. The timing of the decoder is such that RSC decode#1 operates during the first half-iteration, and RSC decoder#2 operates during the second half iteration.</p><p>The value<img src="2-6101259\be84f0fb-bf6e-43fb-838f-11e10b1fbca1.jpg" />, <img src="2-6101259\e48bf523-0ed8-4b46-afd2-03a47607fd42.jpg" />, is the extrinsic information produced by decoder#2 and introduced to the input of decoder#1. Before to the first iteration, <img src="2-6101259\a51c1168-1270-4bcb-bea9-f41b6f52215d.jpg" />is initialized to all zeros. After each complete iteration, the values of <img src="2-6101259\ba97bca1-f5eb-4706-82a5-6ded28644899.jpg" /> will be updated to reflect beliefs regarding the data propagated from decoder#2 back to decoder#1. <img src="2-6101259\f6dbde05-0471-4fa5-9bc9-31fa454d1437.jpg" />is not defined for <img src="2-6101259\b95ff224-9067-4279-9026-803caa2445b5.jpg" /> so it will be taken as 0. The output of RSC decoder#1 is the LLR of <img src="2-6101259\b3c7ac50-feb9-4e92-9abd-aba319e842c4.jpg" /> that is obtained by</p><p><img src="2-6101259\2cbddaf9-0543-4ba5-b896-49bf3c00ee50.jpg" /></p><p>Similarly for decoder#2</p><p><img src="2-6101259\56e9d1d1-c039-45c3-b2eb-b1dc99627d1c.jpg" /></p><p>Once the iterations have been completed, a hard bit decision is taken using<img src="2-6101259\c6af13ee-9205-4f19-8a54-b793a21c3dd7.jpg" />, where <img src="2-6101259\f24f9a82-891a-4991-86ea-fcaae4d5979b.jpg" /> when <img src="2-6101259\8d79206c-c353-48f6-89b5-bba6b21a9cbc.jpg" /> and <img src="2-6101259\1e4afe2b-a905-4244-856c-118e52816025.jpg" /> when<img src="2-6101259\ac769526-1593-4276-a002-a1c236b29adf.jpg" />.</p><p>Here one modification is that a channel estimator as in [<xref ref-type="bibr" rid="scirp.28228-ref9">9</xref>], is attached with the decoder that will estimate channel condition through received pilot symbols [10,11]. Two RSC decoders choose the decoding process that will depend on the channel condition. Since for lower <img src="2-6101259\a2b24340-af17-4262-b747-3863cdf43498.jpg" /> log-map algorithm is used where high <img src="2-6101259\d7496d43-039e-4f9c-b643-9616a08a55b2.jpg" /> does not require it, so here we can use some linear approximation that will reduce complexity and increase throughput. The flowchart of decoding operation is given below:</p><p><img src="2-6101259\bf8053e0-416e-4501-96d4-f1a7c37b9158.jpg" /></p><p>Flow chart for proposed turbo decoding process.</p></sec><sec id="s5"><title>5. System Model</title><p>Each of the two RSC decoders in <xref ref-type="fig" rid="fig2">Figure 2</xref> operates by sweeping through the code trellis twice, once in each of the forward and reverse directions. Each sweep uses a modified version of the Viterbi algorithm to compute partial path metrics, where the modifications is that the ACS operations are replaced with the max* operator. Here we use different algorithm technique for different channel condition.</p><sec id="s5_1"><title>5.1. Trellis Structure and Branch Metrics</title><p>The trellis of the RSC encoder used by the UMTS turbo code is shown in <xref ref-type="fig" rid="fig3">Figure 3</xref> Solid lines indicate data <img src="2-6101259\48f57658-f116-449f-9302-4294e782eaa0.jpg" /> and dotted lines indicate data<img src="2-6101259\fafa2a99-16fd-40f5-9bdd-ef80b8645f73.jpg" />. The branch metric associated with the branch connecting states <img src="2-6101259\6db0f507-e208-4415-985f-8481a8843682.jpg" /> (on the left) and <img src="2-6101259\bb2ba55d-f914-476d-a10d-fdac3bd1c8ba.jpg" /> (on the right) is <img src="2-6101259\83aea52a-6591-4c79-9380-16bb55ada185.jpg" />, where <img src="2-6101259\0c4da6a8-afdd-47f2-a37a-3960c4255b02.jpg" /> is the data bit associated with the branch and <img src="2-6101259\3e8d330d-4eeb-4efc-98fe-da68faf51d9b.jpg" /> is the parity bit associated with the branch. Because the RSC encoder is rate<img src="2-6101259\1164af19-d40f-4f49-9aaa-27481f35f784.jpg" />, there are only four distinct branch metrics</p><disp-formula id="scirp.28228-formula60707"><label>(4)</label><graphic position="anchor" xlink:href="2-6101259\62f46b76-32c6-4509-8621-4b01c6cdc7df.jpg"  xlink:type="simple"/></disp-formula><p>where for decoder#1 <img src="2-6101259\9643d7f4-fee9-4175-a777-ce87c5778be2.jpg" /> and for decoder #2 <img src="2-6101259\ad81fafb-615b-40c2-8e46-c3e8fd0b4215.jpg" /> and<img src="2-6101259\9ebfdaee-61c3-4ca3-951b-ef68e728f66b.jpg" />.</p></sec><sec id="s5_2"><title>5.2. Backward Recursion</title><p>The proposed decoder begins with the backward recursion, saving normalized partial path metrics at all the nodes in the trellis (with an exception noted below),</p><disp-formula id="scirp.28228-formula60708"><label>(5)</label><graphic position="anchor" xlink:href="2-6101259\2bb4c8d2-7b1d-410a-acf9-06e693b791b2.jpg"  xlink:type="simple"/></disp-formula><p>where the tilde above <img src="2-6101259\4732684c-a90a-4559-9082-f9c5dd1b1049.jpg" /> indicates that the metric has not yet been normalized and <img src="2-6101259\07c70b3a-12bd-426f-b43a-a94f2b15c7be.jpg" /> and Sj2 are the two states at stage <img src="2-6101259\b1c97563-4493-442d-8ef9-a455d19a6e3a.jpg" /> in the trellis that are connected to state <img src="2-6101259\350aa512-2b79-4e90-bcb1-c08e2fae7ba1.jpg" /> at stage<img src="2-6101259\af44605b-9a16-4d42-a7db-2434c8f06481.jpg" />. After the calculation of<img src="2-6101259\efcff8e1-22df-43f3-965a-9f7e06c8eaa0.jpg" />, the partial path metrics are normalized according to</p><disp-formula id="scirp.28228-formula60709"><label>(6)</label><graphic position="anchor" xlink:href="2-6101259\2e51a456-fdca-4237-9284-7ef5c79ced01.jpg"  xlink:type="simple"/></disp-formula><p>Because after normalization<img src="2-6101259\12d33b50-122b-4bfe-b0e4-fde0c285b701.jpg" />; for all<img src="2-6101259\6ea605be-e804-40c7-9d9a-791da5c01948.jpg" />, only the other seven&#160; normalized partial path metrics<img src="2-6101259\81627032-fca6-41a6-b5d8-d3016545497d.jpg" />, <img src="2-6101259\395324b7-c8fd-42f9-a579-1bca7cf6d258.jpg" />, need to be stored. This constitutes a 12.5% savings in memory relative to either no normalization or other common normalization techniques (such as subtracting by the largest metric).</p></sec><sec id="s5_3"><title>5.3. Forward Recursion</title><p>Beginning with stage <img src="2-6101259\3c2a0a2e-3a07-4431-ba5e-a6c24f66362e.jpg" /> and proceeding through the trellis in the forward direction until stage<img src="2-6101259\ae0beb39-c005-4819-8ea8-3562a82ae339.jpg" />, the unnormalized partial path metrics are found according to</p><disp-formula id="scirp.28228-formula60710"><label>(7)</label><graphic position="anchor" xlink:href="2-6101259\9f179f6e-f4fc-4420-8831-a284c4b24a1a.jpg"  xlink:type="simple"/></disp-formula><p>where <img src="2-6101259\49c8aa70-75dc-4871-9235-c7ea743463c1.jpg" /> and <img src="2-6101259\d47623ca-70c8-41c1-af6b-03ea9d82cfc1.jpg" /> are the two states at stage <img src="2-6101259\b02f7b2c-669e-4da4-8fc5-76e435ffafab.jpg" /> that are connected to state <img src="2-6101259\1118c882-ab9c-448a-bc46-51146662026c.jpg" />at stage<img src="2-6101259\ec071bff-2743-42d7-ae6f-6e81ea7e5b64.jpg" />. After the calculation of<img src="2-6101259\3144234d-b21e-4a56-801b-31d2375c35e1.jpg" />, the partial path metrics are normalized using</p><disp-formula id="scirp.28228-formula60711"><label>(8)</label><graphic position="anchor" xlink:href="2-6101259\0aead129-d4a4-4781-91ae-2cdc81e61b94.jpg"  xlink:type="simple"/></disp-formula><p>As the <img src="2-6101259\261dee67-ebdc-4e37-88e9-d2053eee2523.jpg" /> are computed for stage<img src="2-6101259\489d56a3-d08a-4fdf-957c-112662a29c9e.jpg" />, the algorithm can simultaneously obtain an LLR estimate for data bit<img src="2-6101259\7c2d7ba1-dbfd-4d78-ba4a-6d03a83bf3cd.jpg" />. This LLR is found by first noting that the likelihood of the branch connecting state <img src="2-6101259\8a671c30-3d60-45dc-b472-7661f13688f7.jpg" /> at time <img src="2-6101259\898731f3-2c8d-4a27-aa73-9dfc07d6b32c.jpg" /> to state <img src="2-6101259\9fea8a2a-a7d7-433e-af81-f1ebca9b6250.jpg" /> at time <img src="2-6101259\1b715340-e815-48cb-93b9-9aed96efe361.jpg" /> is</p><disp-formula id="scirp.28228-formula60712"><label>(9)</label><graphic position="anchor" xlink:href="2-6101259\108831b1-044e-426c-9ab5-3549987316c4.jpg"  xlink:type="simple"/></disp-formula><p>The likelihood of data 1 (or 0) is then the Jacobi logarithm of the likelihood of all branches corresponding to data 1 (or 0), and thus where the max*operator is</p><disp-formula id="scirp.28228-formula60713"><label>(10)</label><graphic position="anchor" xlink:href="2-6101259\d1f499a0-4bea-41a3-b05f-45b1d0310291.jpg"  xlink:type="simple"/></disp-formula><p>recursively over the likelihoods of all data 1 branches</p><p><img src="2-6101259\62858b3d-6294-4e77-b9d0-b86161a56d86.jpg" /></p><p>or data 0 branches</p><p><img src="2-6101259\2d84b263-2bae-4661-bad4-ace4a9f06a19.jpg" />.</p><p>Once <img src="2-6101259\a2b88367-475e-4c47-9482-3a883869dbf6.jpg" /> is calculated, <img src="2-6101259\2ef8332d-ff27-45f4-b6b0-bfd3973256cc.jpg" />is no longer needed and may be discarded.</p></sec></sec><sec id="s6"><title>6. The Max* Operator</title><p>The RSC decoders in <xref ref-type="fig" rid="fig2">Figure 2</xref> are each executed using a version of the classic MAP algorithm [<xref ref-type="bibr" rid="scirp.28228-ref12">12</xref>] implemented in the log-domain [<xref ref-type="bibr" rid="scirp.28228-ref13">13</xref>]. The algorithm is based on the Viterbi algorithm [<xref ref-type="bibr" rid="scirp.28228-ref4">4</xref>] with two key modifications: First, the trellis must be swept through not only in the forward direction but also in there verse direction, and second, the add-compare-select(ACS) operation of the Viterbi algorithm is replaced with the Jacobi logarithm, also known as the max* operator [<xref ref-type="bibr" rid="scirp.28228-ref14">14</xref>] here we consider four versions of the algorithm: log-MAP, max-log-MAP, constant-logMAP, and linear-log-MAP. The only difference among these algorithms is the manner in which the max* operation is performed.</p><sec id="s6_1"><title>6.1. Log-MAP Algorithm</title><p>With the log-MAP algorithm, the Jacobi logarithm is computed exactly using</p><disp-formula id="scirp.28228-formula60714"><label>(11)</label><graphic position="anchor" xlink:href="2-6101259\7075bf32-81c6-475b-97b2-231b77c91aaf.jpg"  xlink:type="simple"/></disp-formula><p>which is the maximum of the function’s two arguments plus a nonlinear correction function that is only a function of the absolute difference between the two arguments. The correction function<img src="2-6101259\1ad4ea11-89ed-4691-b3cb-9e3d4c3214e7.jpg" />. The logMAP algorithm is the most complex of the four algorithms when implemented in software, but it offers the best bit error rate (BER) performance.</p></sec><sec id="s6_2"><title>6.2. Max-Log-MAP Algorithm</title><p>With the max-log-MAP algorithm, the Jacobi logarithm is loosely approximated using</p><disp-formula id="scirp.28228-formula60715"><label>(12)</label><graphic position="anchor" xlink:href="2-6101259\1b97fcfb-53b6-4aef-917a-3fca41552636.jpg"  xlink:type="simple"/></disp-formula><p>i.e., the correction function is not used at all. The max-log-MAP algorithm is the least complex of the four algorithms but offers the worst BER performance.</p></sec><sec id="s6_3"><title>6.3. Constant-Log-MAP Algorithm</title><p>The constant-log-MAP algorithm, first introduced in [<xref ref-type="bibr" rid="scirp.28228-ref15">15</xref>]. It approximates the Jacobi logarithm using</p><disp-formula id="scirp.28228-formula60716"><label>(13)</label><graphic position="anchor" xlink:href="2-6101259\8ec45bc7-9e47-4cef-84dc-9f5adc8d862b.jpg"  xlink:type="simple"/></disp-formula><p>where it is shown in [<xref ref-type="bibr" rid="scirp.28228-ref16">16</xref>] that the best values for the UMTS turbo code are <img src="2-6101259\704c771f-a181-4879-b317-9f02e2449e98.jpg" /> and<img src="2-6101259\405965c4-7ac2-44f1-bbc6-e60e6148c034.jpg" />. In this algorithm correction function implemented by a 2-element look-up table.</p></sec><sec id="s6_4"><title>6.4. Linear-Log-MAP Algorithm</title><p>This algorithm uses the following linear approximation to the Jacobi logarithm:</p><disp-formula id="scirp.28228-formula60717"><label>(14)</label><graphic position="anchor" xlink:href="2-6101259\49fe7132-a387-4dc4-9c89-d631ce41de92.jpg"  xlink:type="simple"/></disp-formula><p>In [<xref ref-type="bibr" rid="scirp.28228-ref17">17</xref>], <img src="2-6101259\5d15b251-0cd0-412c-869b-4361153de07b.jpg" />and <img src="2-6101259\4dfd416d-a9c0-4c46-b4e7-2666b232a4ad.jpg" /> can be find by minimizing the total squared error between the exact correction function and its linear approximation. Performing his minimization yields <img src="2-6101259\659b2b78-4827-450b-887f-27bcbbbd4632.jpg" /> and<img src="2-6101259\de9fa394-88cb-4ba3-a41c-6faa6b7a68f5.jpg" />.</p></sec></sec><sec id="s7"><title>7. Simulation Results</title><p>If we decode the same received frame by all four algorithm. The bit error rate (BER) is shown for the <img src="2-6101259\99370b79-59f1-4a49-a1ce-c987a9c2276d.jpg" /> bit UMTS turbo code in <xref ref-type="fig" rid="fig4">Figure 4</xref> for 10 iteration.&#160; If the simulations were run to<img src="2-6101259\dcf9d83e-233a-45eb-b699-e6f34bf2fa15.jpg" />, an error floor would begin to appear. The beginning of a floor can be seen in the simulation of the <img src="2-6101259\166c1cd8-0395-42b9-b710-44f596aa4cf5.jpg" /> bit code in AWGN channel [<xref ref-type="bibr" rid="scirp.28228-ref14">14</xref>]. Similarly, it can be seen in Rayleigh fading channel for higher<img src="2-6101259\4446b3f9-dde9-43f9-93d3-ad2c067bd957.jpg" />. In the error floor region, all four algorithms will perform roughly the same. It can be seen in <xref ref-type="fig" rid="fig4">Figure 4</xref> that the algorithms are beginning to converge as the BER curves begin to flare into a floor. Thus, while the choice of algorithm has</p><p>acritical influence on performance at low signal-to-noise ratio.</p><p>The choice becomes irrelevant at high SNR. This suggests that in a software implementation [<xref ref-type="bibr" rid="scirp.28228-ref18">18</xref>], perhaps the algorithm choice should be made adaptive (e.g., choose linear-log-MAP at low SNR and max-log-MAP at high SNR).</p><p>Regarding to above discussion we could make a generalized decoding process for AWGN channel which can decode as a log-MAP decoder when<img src="2-6101259\8eb8005f-0617-40cb-81e0-49c107c40cb6.jpg" />, linear-log-MAP decoder when<img src="2-6101259\96b82379-d612-41d7-9fd8-7b222b2d1351.jpg" />, constant-log-MAP decoder when<img src="2-6101259\c9b8154f-e8ac-4ca2-963c-6c2fd7af941f.jpg" />, maxlog-MAP decoder when<img src="2-6101259\a3918c8f-8edb-4ed6-a8eb-f87c48f261c8.jpg" />. The proposed concept of generalization can be used in Rayleigh fading channel for higher<img src="2-6101259\359ae1a6-2515-4b46-90c2-c0abb3a3354d.jpg" />.</p><p>The simulations were run on a PC with a 2.13-GHz Intel Core-i3 CPU and the 64 bit Windows 7 operating system for <img src="2-6101259\57aea94e-7025-48e1-bc0e-a52f7b40b97f.jpg" /> and 10 decoder iteration. From the Figures 5 and 6 it is clear that BER performance little bit reduced in case of generalized decoding scheme but the overall throughput for generalized decoding is seven times greater than log-map decoding. Analysis also confirms that the log-MAP decoding algorithm is the least-efficient algorithm as compared to max-log-MAP algorithm in terms of processing power and computational delay; it is mainly due to complex process of calculating correction function for log-MAP decoder.</p><p>The other three algorithms are of similar complexities, with max-log-MAP shows minimal computational delay resulting in highest throughput per iteration. A comparison of the constant-log-MAP and linear-logMAP algorithms shows that there is the tradeoff between them in terms of complexity and performance. However, the linear-logMAP algorithm offers slightly better BER performance at the cost of slight reduction in overall throughput.</p><p>This type of generalised decoding algorithm can be use in software implimention for fixed number of iterations. From Figures 7 and 8 clearly shows that the as the number of iterations increases the BER decreases.</p></sec><sec id="s8"><title>8. Conclusion</title><p>In this paper, we propose a simple but effective adaptation of generalized turbo decoder. The proposed algorithm is characterized and evaluated through extensive simulation, showing that it optimizes the decoding performance with faster convergence. The simulation results shows that the adaptation of log-MAP based turbo decoding schemes offer better performance in terms of enhanced overall throughput with reduced complexity in comparison to the log-MAP algorithm. This has been achieved at the expense of only a modest increase in BER.</p></sec><sec id="s9"><title>REFERENCES</title></sec></body><back><ref-list><title>References</title><ref id="scirp.28228-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">M. Guan and M. Yang, “Comparison and Design of Decoder in B3G Mobile Communication System,” Communications and Network, Vol. 1 No. 1, 2009, pp. 20-24.  
doi:10.4236/cn.2009.11003</mixed-citation></ref><ref id="scirp.28228-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Y.-N. Lin, W.-W. Hung, W.-C. Lin, T.-J. Chen and E.-H. Lu, “An Efficient Soft-Input Scaling Scheme for Turbo Decoding,” IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing, Taichung, 5-7 June 2006, pp. 252-255.   
doi:10.1109/SUTC.2006.28</mixed-citation></ref><ref id="scirp.28228-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">M. C. Valenti and J. Sun, “The UMTS Turbo Code and an Efficient Decoder Implementation Suitable for Software-Defined Radios,” International Journal of Wireless Information Networks, Vol. 8, No. 4, 2001, pp. 203-215. 
doi:10.1023/A:1017925603986</mixed-citation></ref><ref id="scirp.28228-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">A. J. Viterbi, “Error Bounds for Convolutional Codes and an Asymptoticallyoptimum Decoding Algorithm,” IEEE Transactions on Information Theory, Vol. 13, No. 2, 1967, pp. 260-269. doi:10.1109/TIT.1967.1054010</mixed-citation></ref><ref id="scirp.28228-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">European Telecommunications Standards Institute, Universal Mobile Telecommunications System (UMTS), “Multiplexing and Channel Coding (FDD),” 3GPP TS 125.212 Version 3.4.0, 2000, pp. 14-20.</mixed-citation></ref><ref id="scirp.28228-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">S. Chronopoulos, G. Tatsis and P. Kostarakis, “Turbo Codes—A New PCCC Design,” Communications and Network, Vol. 3 No. 4, 2011, pp. 229-234.  
doi:10.4236/cn.2011.34027</mixed-citation></ref><ref id="scirp.28228-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">S. Rekh, S. S. Rani and A. Shanmugam, “Optimal Choice of Inter Leaver for Turbo Codes,” Academic Open Internet Journal, Vol. 15, 2005.</mixed-citation></ref><ref id="scirp.28228-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">S. Shah and V. Sinha, “Iterative Decoding vs. Viterbi Decoding: A Comparison,” Proceedings of the 14th National Conference on Communications NCCC 2008, Mumbai, 17 March 2008, pp. 491-493.</mixed-citation></ref><ref id="scirp.28228-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">M. Imani and H. Bakhshi, “Training Based Channel Estimation in MIMO-OFDM Systems,” Communications and Network, Vol. 4, No. 1, 2012, pp. 54-60.  
doi:10.4236/cn.2012.41008</mixed-citation></ref><ref id="scirp.28228-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Y. Abdelkader and E. Jamal, “Optimal Spacing Design for Pilots in OFDM Systems over Multipath Fading Channels,” Communications and Network, Vol. 2 No. 4, 2010, pp. 221-229. doi:10.4236/cn.2010.24032</mixed-citation></ref><ref id="scirp.28228-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">M. Imani and H. Bakhshi, “The Tight Bound for the Number of Pilots in Channel Estimation for OFDM Systems,” Communications and Network, Vol. 4 No. 2, 2012, pp. 146-150. doi:10.4236/cn.2012.42019</mixed-citation></ref><ref id="scirp.28228-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">L. R. Bahl, J. Cocke, F. Jelinek and J. Raviv, “Optimaldecoding Oflinear Codes for Minimizing Symbol Error Rate,” IEEE Transactions on Information Theory, Vol. 20, No. 2, 1974, pp. 284-287.</mixed-citation></ref><ref id="scirp.28228-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">P. Robertson, P. Hoeher and E. Villebrun, “Optimal and Sub-Optimalmaximum a Posteriori Algorithms Suitable for Turbo Decoding,” European Transactions on Telecommunications, Vol. 8, No. 2, 1997, pp. 119-125. 
doi:10.1002/ett.4460080202</mixed-citation></ref><ref id="scirp.28228-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">A. J. Viterbi, “An Intuitive Justification and a Simplified Implementationof the MAP Decoder for Convolutional Codes,” IEEE Journal on Selected Areas in Communications, Vol. 16, No. 2, 1998, pp. 260-264. 
doi:10.1109/49.661114</mixed-citation></ref><ref id="scirp.28228-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">W. J. Gross and P. G. Gulak, “Simplified MAP lgorithm Suitablefor Implementation of Turbo Decoders,” Electronics Letters, Vol. 34, No. 16, 1998, pp. 1577-1578. 
doi:10.1049/el:19981120</mixed-citation></ref><ref id="scirp.28228-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">B. Classon, K. Blankenship and V. Desai, “Turbo Decoding with the constant-Log-MAP Algorithm,” Proceedings International Symposium on Turbo Codes and Related Topics, Brest, 4-7 September 2000, pp. 467-470.</mixed-citation></ref><ref id="scirp.28228-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">J. F. Cheng and T. Ottosson, “Linearly Approximated Log-MAP Algorithms for Turbo Decoding,” IEEE Proceedings of Vehicular Technology Conference (VTC) (Houston, TX), Tokyo, 15-18 May 2000, pp. 2252-2256.</mixed-citation></ref><ref id="scirp.28228-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">S. Choudhury, “Modeling and Simulation of a Turbo Encoder and Decoder for Wireless Communication Systems,” UT Austin, 2002.</mixed-citation></ref></ref-list></back></article>