<?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">CS</journal-id><journal-title-group><journal-title>Circuits and Systems</journal-title></journal-title-group><issn pub-type="epub">2153-1285</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/cs.2016.76052</article-id><article-id pub-id-type="publisher-id">CS-66233</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><subject> Engineering</subject><subject> Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  Design and FPGA-Implementation of Minimum PED Based K-Best Algorithm in MIMO Detector
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>oornima</surname><given-names>Ramasamy</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>Mahabub</surname><given-names>Basha Ahmedkhan</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Mounika</surname><given-names>Rangasamy</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of ECE, K.S.R. College of Engineering, Tiruchengode, India</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>poorni_be@yahoo.co.in(OR)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>04</day><month>05</month><year>2016</year></pub-date><volume>07</volume><issue>06</issue><fpage>612</fpage><lpage>621</lpage><history><date date-type="received"><day>21</day>	<month>March</month>	<year>2016</year></date><date date-type="rev-recd"><day>accepted</day>	<month>1</month>	<year>May</year>	</date><date date-type="accepted"><day>4</day>	<month>May</month>	<year>2016</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>
 
 
  Minimum Partial Euclidean Distance (MPED) based K-best algorithm is proposed to detect the best signal for MIMO (Multiple Input Multiple Output) detector. It is based on Breadth-first search method. The proposed algorithm is independent of the number of transmitting/receiving antennas and constellation size. It provides a high throughput and reduced Bit Error Rate (BER) with the performance close to Maximum Likelihood Detection (MLD) method. The main innovations are the nodes that are expanded and visited based on MPED algorithm and it keeps track of finally selecting the best candidates at each cycle. It allows its complexity to scale linearly with the modulation order. Using Quadrature Amplitude Modulation (QAM) the complex domain input signals are modulated and are converted into wavelet packets and these packets are transmitted using Additive White Gaussian Noise (AWGN) channel. Then from the number of received signals the best signal is detected using MPED based K-best algorithm. It provides the exact best node solution with reduced complexity. The pipelined VLSI architecture is the best suited for implementation because the expansion and sorting cores are data driven.
   
  The proposed method is implemented targeting Xilinx Virtex 5 device for a 4
   
  &#215;
   
  4, 64-QAM system and it achieves throughput of 1.1 Gbps. The results of resource utilization are tabulated and compared with the existing algorithms.
 
</p></abstract><kwd-group><kwd>Multiple Input Multiple Output Detector</kwd><kwd> K-Best Algorithm</kwd><kwd> Partial Euclidean Distance</kwd><kwd> Quadrature Amplitude Modulation</kwd><kwd> Field Programmable Gate Array</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Today MIMO system is one of the wireless communication technologies which provide increased data throughput and link range without any additional bandwidth. MIMO plays a key role in every new wireless standard, such as HSDPA (High Speed Download Packet Access), IEEE 802.11n [<xref ref-type="bibr" rid="scirp.66233-ref1">1</xref>] , IEEE 802.16e and 3GPP-LTE. At receivers, MIMO signal detection plays an important role in meeting the tough requirements of real-time processing. The design of low complexity, high performance and high throughput receivers are the key challenges in the design of any MIMO receiver. Several MIMO detection algorithms have been proposed to address this challenge, which offers various tradeoffs between the performance and the computational complexity.</p><p>Among the large variety of the MIMO detection techniques Maximum Likelihood (ML) detection [<xref ref-type="bibr" rid="scirp.66233-ref2">2</xref>] provides the optimum solution with minimum BER but the computational complexity of full search grows exponentially as the increase in the constellation size or the number of transmitting and receiving antennas. On the other hand, linear detection algorithms such as the Successive Interference Cancellation (SIC) detectors [<xref ref-type="bibr" rid="scirp.66233-ref2">2</xref>] or Minimum Mean-Square Error (MMSE) detection [<xref ref-type="bibr" rid="scirp.66233-ref3">3</xref>] and Zero-Forcing (ZF) can greatly reduce the computational complexity but at the same time they have reduced performance.</p><p>Finally to solve the trade-off between complexity and performance loss tree search algorithms are introduced. Depth-first and Breadth-first search algorithms are two main categories in tree search algorithms. In Depth-first search algorithm the tree is traversed in both forward and backward direction with variable throughput which results in extra overhead in hardware. But in Breadth-first search algorithm [<xref ref-type="bibr" rid="scirp.66233-ref4">4</xref>] the tree is traversed only in the forward direction with fixed throughput. A well-known approach in Breadth-first search method is the K-best algorithm [<xref ref-type="bibr" rid="scirp.66233-ref4">4</xref>] . The K-best algorithm guarantees a Signal to Noise Ratio (SNR)-independent fixed-throughput with a performance close to ML. In each cycle, K (Parent node) &#215; M (Child node) children should be enumerated, which results in large computation complexity in K-best algorithm. Here the K values are selected randomly. To increase the value of K, the performance result becomes close to the ML detection. However, a higher K value results in more hardware complexity. Thus K = 10 is close to ML while having moderate complexity for a 4 &#215; 4, 64-QAM MIMO system [<xref ref-type="bibr" rid="scirp.66233-ref5">5</xref>] .</p><p>In this paper, to reduce the computational complexity in K-best algorithm, a MPED based K-best algorithm is designed and implemented on FPGA board (a reduced complexity systems), which making a significant reduction in the over-all hardware/software complexity of the system. The K value is chosen based on the square root of constellation order of QAM. So for a 4 &#215; 4, 64-QAM MIMO detector with K = 8 is chosen. All the results presented on system performance were first tested in Matlab and then translated into hardware blocks in Simulink using Xilinx System Generator (SysGen). Once the hardware designs were completed, the bit streams were generated using Xilinx synthesis tools, which were required for the FPGA implementation. An efficient VLSI implementation is the key to enable real-time wireless communication.</p></sec><sec id="s2"><title>2. MIMO System</title><p>Assume the MIMO system with N<sub>t</sub> transmitting and N<sub>r</sub> receiving antennas as shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>. The equivalent baseband signal between the transmitting antenna and receiving antenna for the AWGN channel is stated in a complex-valued N<sub>t</sub> &#215; N<sub>r</sub> channel matrix H [<xref ref-type="bibr" rid="scirp.66233-ref6">6</xref>] .</p><p>The complex-valued base band received signal is expressed as,</p><disp-formula id="scirp.66233-formula220"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-7600573x6.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-7600573x7.png" xlink:type="simple"/></inline-formula> in which N<sub>t</sub>-dimensional complex transmitting signal vector, from which each element is obtained independently from the complex constellation of QAM. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-7600573x8.png" xlink:type="simple"/></inline-formula>in which N<sub>r</sub>-dimensional complex received signal vector, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-7600573x9.png" xlink:type="simple"/></inline-formula>is a complex-zero mean Gaussian noise</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> MIMO channel model</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-7600573x10.png"/></fig><p>with the variance of σ<sup>2</sup> per dimension. A complex domain frame work is developed here; and on the other hand for the received signal, the real value decomposition can also be derived [<xref ref-type="bibr" rid="scirp.66233-ref7">7</xref>] .</p><p>Due to the intrinsic challenges in the implementation in the complex domain, most of the MIMO detection algorithms in the literature have been proposed for the real domain [<xref ref-type="bibr" rid="scirp.66233-ref5">5</xref>] . On account of the deeper search tree, the real domain implementation results in a larger silicon area and a larger latency. However, in the complex domain a high throughput MIMO detector with an acceptable complexity for the high-order constellations has always been a challenge in the literature. To address this challenge, a high throughput detection algorithm along for a 4 &#215; 4, 64-QAM complex MIMO detector with its VLSI architecture is proposed, which is scalable to higher order constellation schemes (256-QAM) and for larger number of transmitting and receiving antennas.</p>K-Best Algorithm<p>In K-best algorithm each level of the tree is expanded from root to the leaves and selects the best candidates with the lowest path metric that is possible in each level. The path at the last level of the tree with the lowest Partial Euclidean Distance (PED) is the hard-decision [<xref ref-type="bibr" rid="scirp.66233-ref8">8</xref>] output of the detector, whereas, all of the existing paths at the last level of the tree are considered to calculate shortest path node is the soft-decision [<xref ref-type="bibr" rid="scirp.66233-ref8">8</xref>] output of the detector. The size of the tree search grows considerably when the constellation size is increased one. Therefore, at each level of the tree an enhanced way is needed to calculate the K-best candidates without performing an exhaustive search.</p><p>The objective of the MIMO detection method is to find the closest lattice points [<xref ref-type="bibr" rid="scirp.66233-ref9">9</xref>] for a given received signal</p><disp-formula id="scirp.66233-formula221"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-7600573x11.png"  xlink:type="simple"/></disp-formula><p>where O is the set of vectors from the real entries in the constellation.</p><p>The channel matrix H is QR decomposed as H = QR, where Q is the unitary N<sub>r</sub> &#215; N<sub>t</sub> matrix and R is the upper triangular N<sub>t</sub> &#215; N<sub>t</sub> matrix. By taking hermetian of Q or (Q<sup>H</sup>), the nulling operation can be performed, which results in Z = Q<sup>H</sup> &#215; Y, which in turn equals to Rx + w, where w = Q<sup>H</sup> + e, the nulling matrix is always known to be one, where the noise w after nulling remains spatially white. Since R is an upper triangular matrix in nature, hence the Equation (2) can be represented as</p><disp-formula id="scirp.66233-formula222"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-7600573x12.png"  xlink:type="simple"/></disp-formula><p>the Equation (3) is considered as an tree-search problem with N<sub>t</sub> levels, where, starting from the last row, one symbol is detected and, based on that, the next symbol in the upper row is detected, and so on.</p><p>The two computing procedures in the K-best algorithms are</p><p>1) Expansion: The K-best algorithm in the complex domain can be expressed as K (Parents of each level) &#215;M (Children per parent). KM children should be enumerated, which results in higher computational complexity. The relaxed K-best algorithm and base-centric search methodology [<xref ref-type="bibr" rid="scirp.66233-ref10">10</xref>] based on Quadrature Phase Shift Keying (QPSK) modulation [<xref ref-type="bibr" rid="scirp.66233-ref11">11</xref>] are compared [<xref ref-type="bibr" rid="scirp.66233-ref9">9</xref>] . These modulation schemes do not scale linearly with the constellation size and the performance loss that occurs in these schemes is compared to the K-best algorithm. In the on demand expansion scheme the nodes are expanded by considering all the nodes with PED, which in turn reduces the performance for higher order constellations.</p><p>2) Sorting: In the K-best algorithm, for each level of the complex-domain, KM children should be sorted. In [<xref ref-type="bibr" rid="scirp.66233-ref12">12</xref>] and [<xref ref-type="bibr" rid="scirp.66233-ref13">13</xref>] , most of the sorting schemes such as bubble sorting [<xref ref-type="bibr" rid="scirp.66233-ref14">14</xref>] , which is sorting mechanism on the basis of Schnorr-Euchner (SE) technique [<xref ref-type="bibr" rid="scirp.66233-ref15">15</xref>] , and a distributed sorting scheme are compared. But these techniques take high time for large values of the K and M or it will have a performance loss.</p><p>To overcome the above two challenges the MPED based K-best algorithm is proposed, in which the node with the minimum PED is considered as the parent node at each level. The computational complexity and performance will be better than the on-demand expansion scheme and works well for any values of K and M without any performance loss.</p></sec><sec id="s3"><title>3. Proposed MPED Based K-Best Algorithm</title><p>The proposed MPED based K-best algorithm is based on the Breadth-first tree search method. The algorithm is initialized by considering the level l of the trees and assumes the candidate nodes in the level l + 1 is known in</p><p>the tree. The individual nodes in the level K<sub>l</sub><sub>+1</sub> will be having <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-7600573x13.png" xlink:type="simple"/></inline-formula> possible children’s and the K value or number of cycles will also be based on the square root of constellation order, so there will be <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-7600573x14.png" xlink:type="simple"/></inline-formula> possible children in the tree.</p><p>The main objective of the proposed scheme is to find the First Best Child (FBC) of the initial parent node, based on the Minimum PED of the received first <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-7600573x15.png" xlink:type="simple"/></inline-formula> children. Assuming that initial parent node is non-nu-</p><p>merical value. In other words, the key innovation behind the proposed MPED based K-best algorithm is to find the FBC of each initial parent node in the level K<sub>l</sub><sub>+1</sub>,and among these children the best candidate at level K<sub>l</sub><sub>+1</sub>, is the one which is having the minimum PED value. The best candidate selected act as a parent node for the next level. The children’s for the second level parents are generated and it replaces the first level siblings. In order to find the best path the process is repeated K times. For each level of tree the same procedure is repeated till the best path is found.</p><p>The proposed MPED based K-best algorithm scheme is diagrammatically represented in <xref ref-type="fig" rid="fig2">Figure 2</xref> for level l which includes the modulation order M = 64, so the total number of levels are given by<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-7600573x16.png" xlink:type="simple"/></inline-formula>, and the K = 8. It shows the way of deriving the K<sub>l</sub> from K<sub>l</sub><sub>+1</sub> level. The input to the algorithm is initially applied with zero PED value, the parent node at the level K<sub>l</sub><sub>+1</sub> has four children’s, the corresponding PED values of the four children’s are shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p><p>Here the parent can find its own children’s without visiting all the nodes in the tree. Let the representation of S<sub>l</sub> consist of best selected child for the first parent, and let P<sub>T</sub> represents the corresponding PED values (in <xref ref-type="fig" rid="fig2">Figure 2</xref>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-7600573x17.png" xlink:type="simple"/></inline-formula>and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-7600573x18.png" xlink:type="simple"/></inline-formula>, where S<sub>ij</sub> represents the j<sup>th</sup> child of the i<sup>th</sup> parent node in the first lev-</p><p>el of the algorithm). From <xref ref-type="fig" rid="fig2">Figure 2</xref>, it is noted that the child with lowest PED value is certainly the best child selected at the level 1. Similarly the above steps are followed for all the levels. Finally the best child is obtained based on the MPED based K-best algorithm.</p><p>The proposed scheme involves the following features:</p><p>1) It can be easily adapted to real domain.</p><p>2) Based on the QAM constellation size the K value is chosen in proposed scheme so as compared to the existing algorithm (K value is randomly chosen) it has less computational complexity.</p><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> The proposed MPED based K-best algorithm for √M=8 and K=8 and simulated PED values</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-7600573x19.png"/></fig><p>3) It can be applied to infinite lattices and be jointly applied with lattice reduction.</p><p>4) Increased performance is obtained by using Wavelet Packet Transformation (WPT) with the AWGN channel.</p><p>5) It has reduced BER.</p><p>6) Easily implemented in VLSI architecture.</p></sec><sec id="s4"><title>4. Proposed VLSI Architecture</title><p>In VLSI architecture one of the main key challenges is to achieve high throughput with minimum number of levels that are being used in the architecture. To address this challenge, a pipelined structure is used, which performs the child expansion and minimization in a pipelined fashion and the sorting is implemented in a distributed way. The pipelined architecture involves the sorter block which sorts all the signals and the Processing Element (PE) block generates the best signal from the sorted signals.</p><p>The proposed pipelined VLSI architecture for a 4 &#215; 4, 64-QAM hard output MIMO detector is shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>. Each layer gets the entries of z<sub>i</sub>, r<sub>ij</sub> and the K parents [<xref ref-type="bibr" rid="scirp.66233-ref16">16</xref>] of the previous layer as inputs and generates the K parents of the next layer as outputs. The proposed architecture consists of eight layers (2N<sub>t</sub> = 8 stages), from L1 to L8, corresponding to the 8-level detection tree.</p><p>From the MPED based K-best algorithm, the best signal is detected and this signal is taken as an input to the 8th level of the tree, which opens up all the possible values in O = {−3, −1, 1, 3}and calculates their corresponding PED [<xref ref-type="bibr" rid="scirp.66233-ref9">9</xref>] . The output of this stage is resulting in PED values, which is performed by Level I and for each of the nodes, the First Child (FC) is found and its PED value is updated using Level II.</p><sec id="s4_1"><title>4.1. Sorter Block</title><p>Using the Sorter block the FC is sorted and from that the child with lowest PED is determined. This is represented y <xref ref-type="fig" rid="fig3">Figure 3</xref>, which includes four clock cycles and all eight resulting PEDs is sorted out. The number of clock cycles required for sorting is partial than the classic bubble sort in [<xref ref-type="bibr" rid="scirp.66233-ref14">14</xref>] . The key idea that makes this sorter faster is the implementation of two tasks in one clock cycle through the introduction of intermediate registers. The output from the sorter block is loaded simultaneously to the PE I block.</p></sec><sec id="s4_2"><title>4.2. PE I Block</title><p>The PE block contains a data register file and three computation units: an arithmetic/logic unit, a multiplier and a shifter. The PE I block takes the FC of each level as an input and generates the K-best candidate of that level one-by-one. The node with the lowest PED is definitely one of the K-best candidates in L7. This value is passed to the PE II block in L6. By removing the first child, its next sibling is calculated by the PE I block. The PED of this sibling is compared with other FCs, already present in that stage. The next K-best candidate with the lowest PED among this new set were found. This process is repeated 8 times (taking 8 cycles) until all the K-best values of the second level of the tree are generated and passed to the PE II block.</p><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Proposed Pipelined VLSI architecture of the MPED based K-best algorithm for the detection of a 4 &#215; 4, 64-QAM system with K = 8</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-7600573x20.png"/></fig></sec><sec id="s4_3"><title>4.3. PE II Block</title><p>The PE II block receives the K-best candidates of L7, one after the other, and generates the FC of each received K-best candidate one-by-one and sorts them as they arrive. It finally transfers them to its following PE I block. This process repeats for all the levels down to the first level. Since at the first level only the FC with the lowest PED is of concern, whose solution S is the hard-decision output of the detector.</p></sec></sec><sec id="s5"><title>5. Simulation Results</title><p>A 4 &#215; 4 64-QAM MIMO system with K = 8 is considered in our simulation. The simulation is carried out using Matlab. The input message signal is chosen and it can be plotted in the random bit form. To apply the proposed method for the input message signal, the best candidates are identified for each cycle.</p><sec id="s5_1"><title>5.1. Best Candidates for the Proposed Detection Algorithm</title><p>The best candidates for the proposed MPED based K-best algorithm obtained as a result of simulation for the given input message stream are listed below.</p><p>1) The best candidate of 1 cycle is 3.283351e+003.</p><p>2) The best candidate of 2 cycle is −1.083299e+002.</p><p>3) The best candidate of 3 cycle is 3.279795e+003.</p><p>4) The best candidate of 4 cycle is −2.166598e+002.</p><p>5) The best candidate of 5 cycle is 3.393075e+003.</p><p>6) The best candidate of 6 cycle is −3.249897e+002.</p><p>7) The best candidate of 7 cycle is 3.389520e+003.</p><p>8) The best candidate of 8 cycle is −4.333195e+002.</p></sec><sec id="s5_2"><title>5.2. BER Performance Analysis for Proposed Algorithm with Rayleigh and AWGN Channel</title><p>Based on BER vs. SNR the simulation results of the MIMO detections are presented in this section. BER is a key parameter that is used in assessing systems that transmit digital data from one location to another. It is defined as,</p><disp-formula id="scirp.66233-formula223"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-7600573x21.png"  xlink:type="simple"/></disp-formula><p>If the medium between the transmitter and receiver is good and the signal to noise ratio is high, then the bit error rate will be very small possibly insignificant and having no noticeable effect on the overall system However if noise can be detected, then there is chance that the bit error rate will need to be considered. The BER is compared with the Rayleigh fading channel as well as AWGN fading channel scheme as shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>, with the increased SNR value from 0 to 20 dB. The analysis shows BER is less in AWGN channel with the proposed algorithm than the Rayleigh channel.</p><fig id="fig4"  position="float"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> BER comparisons for proposed algorithm with Rayleigh and AWGN channel</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-7600573x22.png"/></fig></sec><sec id="s5_3"><title>5.3. Performance Analysis of MPED Based K-Best Algorithm</title><p>In this section we compare the proposed method (MPED based K-algorithm) with the existing MIMO detection algorithms such as ZF, MMSE-SIC and ML. The MPED based K-best algorithm gives reduced BER as compared to ZF and MMSE-SIC detector algorithms as shown in <xref ref-type="fig" rid="fig5">Figure 5</xref>. Also its result is close to ML detection method. It shows that the performance of the proposed method is close to optimum ML detection method.</p></sec><sec id="s5_4"><title>5.4. BER Comparison for FFT and WPT on Proposed Algorithm</title><p>Fast Fourier Transform (FFT) is a powerful tool for analyzing the components of a stationary signal (no change in the properties of signal). But it is less useful in analyzing non-stationary signal (change in the properties of signal). Wavelet Packet Transforms allows the components of both stationary and non-stationary signals to be analyzed. The main difference is that wavelets are well localized in both time and frequency domain whereas the Fourier transform is only localized in frequency domain. The BER is compared for both FFT as well as WPT [<xref ref-type="bibr" rid="scirp.66233-ref11">11</xref>] as shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>. From the figure the Wavelet scheme produces a less BER irrespective of the SNR, than the FFT scheme. So WPT transformation technique is used in our proposed method for processing the signal.</p></sec></sec><sec id="s6"><title>6. Complexity Analysis</title><p>The proposed complex MIMO detector and the recently proposed MIMO detectors in the real and complex domains which were compared and reported in the literature is shown in <xref ref-type="table" rid="table1">Table 1</xref>. This comparison suggests that the proposed scheme has the high performance i.e., higher throughput, lower area, lower energy and lower latency compared to all the reported real and complex-domain VLSI realizations.</p><p>This design has a larger core area than the one in [<xref ref-type="bibr" rid="scirp.66233-ref9">9</xref>] , which is related to the nature of the complex-domain implementation and extra resources for the complex-domain calculations. Thus the major difference between all of these schemes, including the one in this paper, is the way the detection algorithm is implemented, which translates to different throughput and hardware complexity. It is shown that the proposed algorithm is imple-</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Design comparison of the current VLSI implementations for 4 &#215; 4 MIMO detectors</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >References</th><th align="center" valign="middle" >TCAS-II 2010 [<xref ref-type="bibr" rid="scirp.66233-ref17">17</xref>]</th><th align="center" valign="middle" >DATE 2009 [<xref ref-type="bibr" rid="scirp.66233-ref18">18</xref>]</th><th align="center" valign="middle" >TVLSI 2010 [<xref ref-type="bibr" rid="scirp.66233-ref19">19</xref>]</th><th align="center" valign="middle" >JSSC 2010 [<xref ref-type="bibr" rid="scirp.66233-ref20">20</xref>]</th><th align="center" valign="middle" >JSSC 2011 [<xref ref-type="bibr" rid="scirp.66233-ref21">21</xref>]</th><th align="center" valign="middle" >TVLSI 2011 [<xref ref-type="bibr" rid="scirp.66233-ref22">22</xref>]</th><th align="center" valign="middle" >TVLSI 2011 [<xref ref-type="bibr" rid="scirp.66233-ref9">9</xref>]</th><th align="center" valign="middle" >TVLSI 2013 [<xref ref-type="bibr" rid="scirp.66233-ref5">5</xref>]</th><th align="center" valign="middle" >Proposed Work</th></tr></thead><tr><td align="center" valign="middle" >Modulation</td><td align="center" valign="middle" >16-QAM</td><td align="center" valign="middle" >64-QAM</td><td align="center" valign="middle" >64-QAM</td><td align="center" valign="middle" >(4-64) QAM</td><td align="center" valign="middle" >64-QAM</td><td align="center" valign="middle" >(16-64) QAM</td><td align="center" valign="middle" >64-QAM</td><td align="center" valign="middle" >64-QAM</td><td align="center" valign="middle" >64-QAM</td></tr><tr><td align="center" valign="middle" >Antenna</td><td align="center" valign="middle" >4 &#215; 4</td><td align="center" valign="middle" >4 &#215; 4</td><td align="center" valign="middle" >4 &#215; 4</td><td align="center" valign="middle" >4 &#215; 4 - 8x8</td><td align="center" valign="middle" >4 &#215; 4</td><td align="center" valign="middle" >4 &#215; 4</td><td align="center" valign="middle" >4 &#215; 4</td><td align="center" valign="middle" >4 &#215; 4</td><td align="center" valign="middle" >4 &#215; 4</td></tr><tr><td align="center" valign="middle" >Method</td><td align="center" valign="middle" >SISO-SD</td><td align="center" valign="middle" >Sys. Like Detection</td><td align="center" valign="middle" >K-Best</td><td align="center" valign="middle" >MBF-FD(SD)</td><td align="center" valign="middle" >SISO MMSE PIC</td><td align="center" valign="middle" >MMF-LSD</td><td align="center" valign="middle" >K-Best</td><td align="center" valign="middle" >Modified K-Best</td><td align="center" valign="middle" >MPED based K-Best</td></tr><tr><td align="center" valign="middle" >Domain</td><td align="center" valign="middle" >Complex</td><td align="center" valign="middle" >Complex</td><td align="center" valign="middle" >Real</td><td align="center" valign="middle" >Complex</td><td align="center" valign="middle" >Complex</td><td align="center" valign="middle" >Real</td><td align="center" valign="middle" >Real</td><td align="center" valign="middle" >Complex</td><td align="center" valign="middle" >Complex</td></tr><tr><td align="center" valign="middle" >K-value</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >5-64</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >10</td><td align="center" valign="middle" >10</td><td align="center" valign="middle" >8</td></tr><tr><td align="center" valign="middle" >Process size</td><td align="center" valign="middle" >90 nm</td><td align="center" valign="middle" >45 nm</td><td align="center" valign="middle" >65 nm</td><td align="center" valign="middle" >0.13 &#181;m</td><td align="center" valign="middle" >90 nm</td><td align="center" valign="middle" >0.18 &#181;m</td><td align="center" valign="middle" >0.13 &#181;m</td><td align="center" valign="middle" >0.13 &#181;m</td><td align="center" valign="middle" >0.13 &#181;m</td></tr><tr><td align="center" valign="middle" >f<sub>max</sub> (MHz)</td><td align="center" valign="middle" >250</td><td align="center" valign="middle" >574.7</td><td align="center" valign="middle" >158</td><td align="center" valign="middle" >198</td><td align="center" valign="middle" >568</td><td align="center" valign="middle" >250</td><td align="center" valign="middle" >282</td><td align="center" valign="middle" >417</td><td align="center" valign="middle" >435</td></tr><tr><td align="center" valign="middle" >Throughput (Mb/s)</td><td align="center" valign="middle" >90</td><td align="center" valign="middle" >215</td><td align="center" valign="middle" >732 - 100</td><td align="center" valign="middle" >285 - 431</td><td align="center" valign="middle" >757</td><td align="center" valign="middle" >31.7 - 146.3</td><td align="center" valign="middle" >675</td><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >1100</td></tr><tr><td align="center" valign="middle" >Gate count (kG)</td><td align="center" valign="middle" >96</td><td align="center" valign="middle" >33.1</td><td align="center" valign="middle" >1760</td><td align="center" valign="middle" >350</td><td align="center" valign="middle" >410</td><td align="center" valign="middle" >25.4 - 48.2</td><td align="center" valign="middle" >114</td><td align="center" valign="middle" >340</td><td align="center" valign="middle" >328</td></tr><tr><td align="center" valign="middle" >NHE</td><td align="center" valign="middle" >1.6</td><td align="center" valign="middle" >0.45</td><td align="center" valign="middle" >4.81 - 35.2</td><td align="center" valign="middle" >1.23 - 0.81</td><td align="center" valign="middle" >0.78</td><td align="center" valign="middle" >0.58 - 0.24</td><td align="center" valign="middle" >0.17</td><td align="center" valign="middle" >0.34</td><td align="center" valign="middle" >0.3</td></tr><tr><td align="center" valign="middle" >Energy/bit</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >250 PJ/b</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >200 pJ/b</td><td align="center" valign="middle" >110 pJ/b</td><td align="center" valign="middle" >100 pJ/b</td></tr><tr><td align="center" valign="middle" >Power (mW)</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >165</td><td align="center" valign="middle" >57-74</td><td align="center" valign="middle" >189.1</td><td align="center" valign="middle" >57-90</td><td align="center" valign="middle" >135</td><td align="center" valign="middle" >1700</td><td align="center" valign="middle" >1684</td></tr><tr><td align="center" valign="middle" >Latency (&#181;s)</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >N/A</td><td align="center" valign="middle" >0.6</td><td align="center" valign="middle" >0.36</td><td align="center" valign="middle" >0.27</td></tr><tr><td align="center" valign="middle" >Hard/soft</td><td align="center" valign="middle" >Soft</td><td align="center" valign="middle" >Soft</td><td align="center" valign="middle" >Hard</td><td align="center" valign="middle" >Soft</td><td align="center" valign="middle" >Soft</td><td align="center" valign="middle" >Soft</td><td align="center" valign="middle" >Hard</td><td align="center" valign="middle" >Hard</td><td align="center" valign="middle" >Hard</td></tr></tbody></table></table-wrap><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Analysis of MPED based K-best algorithm with various detection algorithm</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-7600573x23.png"/></fig><fig id="fig6"  position="float"><label><xref ref-type="fig" rid="fig6">Figure 6</xref></label><caption><title> BER comparison for FFT and Wavelet scheme</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-7600573x24.png"/></fig><p>mented using a feed forward architecture. According to the proposed algorithm, K-best candidates of each layer of the architecture are generated in Kclock cycles, which increase the throughput of the system.</p><p>The throughput of the system is the number of packets produced per unit time. This is measured in units of whatever is being produced (I/O samples, memory words, iterations) per unit time. The latency is the number of cycles required for the system to accept next input and the gate count involves the total core area of the design.</p><p>The Normalized Hardware Efficiency (NHE) is calculated, which is given by the gate count and the corresponding scaled throughput [<xref ref-type="bibr" rid="scirp.66233-ref5">5</xref>] in the same technology for all designs. So</p><disp-formula id="scirp.66233-formula224"><label>(5)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/2-7600573x25.png"  xlink:type="simple"/></disp-formula><p>Moreover, the proposed scheme is implemented in the FPGA platform. The synthesis results and the required resources for the 4 &#215; 4, 64-QAM MIMO detector using the proposed scheme is shown in <xref ref-type="table" rid="table1">Table 1</xref>.</p></sec><sec id="s7"><title>7. Conclusion</title><p>To detect the best signal for high performance MIMO detector, a MPED based K-best algorithm has been proposed. This proposed algorithm is scalable both in terms of number of transmitting/receiving antennas and the constellation size. It gives a reduced BER and low computational complexity as compared to existing algorithms. This is carried out by simulating both in terms of FFT scheme and wavelet scheme using Matlab. The proposed design was implemented in Virtex-5 FPGA from Xilinx platform; it provides a high throughput of 1.1 Gigabits per second (Gb/s) at 435 MHz with the area of 328 K gates in a 0.13-&#181;m VLSI process. This algorithm is applicable for real time wireless communication.</p></sec><sec id="s8"><title>Cite this paper</title><p>Poornima Ramasamy,Mahabub Basha Ahmedkhan,Mounika Rangasamy, (2016) Design and FPGA-Implementation of Minimum PED Based K-Best Algorithm in MIMO Detector. Circuits and Systems,07,612-621. doi: 10.4236/cs.2016.76052</p></sec></body><back><ref-list><title>References</title><ref id="scirp.66233-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Bansode, R.S. and Borole, P. (2013) Hardware Implementation of an OFDM Transceiver for 802.11n Systems. International Journal of Scientific &amp; Engineering Research, 4, 1530-1540.http://www.ijser.org/researchpaper/hardware-implementation-of-an-ofdm-transceiver-for-80211n-systems.pdf</mixed-citation></ref><ref id="scirp.66233-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Wubben, D., Bohnke, R., Kuhn, V. and Kammeyer, K.-D. (2004) Near-Maximum Likelihood Detection of MIMO Systems Using MMSE-Based Lattice-Reduction. IEEE International Conference on Communication, Vol. 2, 2798- 2802. http://dx.doi.org/10.1109/icc.2004.1312611</mixed-citation></ref><ref id="scirp.66233-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Wubben, D., Bohnke, R., Kuhn, V. and Kammeyer, K.D. (2004) MMSE-Based Lattice-Reduction for Near-ML Detection of MIMO Systems. IEEE International Conference on Antenna, 18-19 March 2004, 106-113. http://dx.doi.org/10.1109/wsa.2004.1407656</mixed-citation></ref><ref id="scirp.66233-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Chen, S.Z., Zhang, T. and Xin, Y. (2005) Breadth-First Tree Search MIMO Signal Detector Design and VLSI Implementation. Military Communications Conference (MILCOM 2005), Vol. 3, 1470-1476.</mixed-citation></ref><ref id="scirp.66233-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Mahdavi, M. and Shabany, M. (2013) Novel MIMO Detection Algorithm for High-Order Constellations in the Complex Domain. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 21, 834-847.</mixed-citation></ref><ref id="scirp.66233-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Lin, H.-L., Chang, R.C., and Chen, H.-L. (2008) A High-Speed SDM-MIMO Decoder Using Efficient Candidate Searching for Wireless Communication. IEEE Transactions on Circuits and Systems II: Express Briefs, 55, 289-293.http://dx.doi.org/10.1109/TCSII.2008.918973</mixed-citation></ref><ref id="scirp.66233-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Guo, Z. and Nilsson, P. (2006) Algorithm and Implementation of the K-Best Sphere Decoding for MIMO Detection. IEEE Journal on Selected Areas in Communications, 24, 491-503. http://dx.doi.org/10.1109/JSAC.2005.862402</mixed-citation></ref><ref id="scirp.66233-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Shen, C.A., Eltawil, A.M., Salama, K.N. and Mondal, S. (2011) A Best-First Soft/Hard Decision Tree Searching MIMO Decoder for a 4 × 4 64-QAM System. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 20, 1537-1541.</mixed-citation></ref><ref id="scirp.66233-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Shabany, M. and Gulak, P.G. (2012) A 675 Mbps, 4 × 4, 64-QAM K-Best MIMO Detector in 0.13 μm CMOS. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 20, 135-147.http://dx.doi.org/10.1109/TVLSI.2010.2090367</mixed-citation></ref><ref id="scirp.66233-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Lin, H.-L., Chang, R.C. and Chan, H. (2008) A High-Speed SDM-MIMO Decoder Using Efficient Candidate Searching for Wireless Communication. IEEE Transactions on Circuits and Systems II: Express Briefs, 5, 289-293.</mixed-citation></ref><ref id="scirp.66233-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Chen, S., Zhang, T. and Xin, Y. (2007) Relaxed K-Best MIMO Signal Detector Design and VLSI Implementation. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 15, 328-337. http://dx.doi.org/10.1109/TVLSI.2007.893621</mixed-citation></ref><ref id="scirp.66233-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Trivedi, S., Raeen, M.S. and Pawar, S.S. (2012) BER Analysis of MIMO-OFDM System Using BPSK Modulation Scheme. International Journal of Advanced Computer Research, 2, 208-214.</mixed-citation></ref><ref id="scirp.66233-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Bingham, J.A.C. (1990) Multicarrier Modulation for Data Transmission: An Idea Whose Time Has Come. IEEE Communications Magazine, 28, 5-14. http://dx.doi.org/10.1109/35.54342</mixed-citation></ref><ref id="scirp.66233-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Wong, K.W., Tsui, C.Y., Cheng, R.S.K. and Mow, W.H. (2002) A VLSI Architecture of a K-Best Lattice Decoding Algorithm for MIMO Channels. IEEE International Symposium on Circuits and Systems, 3, 273-276.</mixed-citation></ref><ref id="scirp.66233-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Guo, Z. and Nilsson, P. (2004) Reduced Complexity Schnorr-Euchner Decoding Algorithms for MIMO Systems. IEEE Communications Letters, 8, 286-288. http://dx.doi.org/10.1109/LCOMM.2004.827376</mixed-citation></ref><ref id="scirp.66233-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Smolyakov, V., Patel, D., Shabany, M. and Gulak, P.G. (2010) A WiMAX/LTE Compliant FPGA Implementation of a High-Throughput Low-Complexity 4×4 64-QAM Soft MIMO Receiver. 2010 Conference Record of the 44th Asilomar Conference on Signals, Systems and Computers (ASILOMAR), Pacific Grove, 7-10 November 2010, 385-389. http://dx.doi.org/10.1109/ACSSC.2010.5757541</mixed-citation></ref><ref id="scirp.66233-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Witte, E.M., Borlenghi, F., Ascheid, G., Leupers, R. and Meyr, H. (2010) A Scalable VLSI Architecture for Soft-Input Soft-Output Single Tree-Search Sphere Decoding. IEEE Transactions on Circuits and Systems II: Express Briefs, 57, 706-710. http://dx.doi.org/10.1109/TCSII.2010.2056014</mixed-citation></ref><ref id="scirp.66233-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Bhagawat, P., Dash, R. and Choi, G. (2009) Systolic Like Soft-Detection Architecture for 4×4 64-QAM MIMO System. Proceedings of the IEEE Design, Automation &amp; Test in Europe Conference &amp; Exhibition, Nice, 20-24 April 2009, 870-873. http://dx.doi.org/10.1109/date.2009.5090784</mixed-citation></ref><ref id="scirp.66233-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Mondal, S., Eltawil, A., Shen, C. and Salama, K. (2010) Design and Implementation of a Sort-Free K-Best Sphere Decoder. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 18, 1497-1501. http://dx.doi.org/10.1109/TVLSI.2009.2025168</mixed-citation></ref><ref id="scirp.66233-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Kim, B. and Park, I.C. (2008) K-Best MIMO Detection Based on Interleaving of Distributed Sorting. Electronics Letters, 44, 42-43. http://dx.doi.org/10.1049/el:20082129</mixed-citation></ref><ref id="scirp.66233-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Wenk, M., Zellweger, M., Burg, A., Felber, N. and Fichtner, W. (2006) K-Best MIMO Detection VLSI Architectures Achieving up to 424 Mb/s. IEEE International Symposium on Circuits and Systems, Kos, 21-24 May 2006, 1151-1154.</mixed-citation></ref><ref id="scirp.66233-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Myllyl, M., Cavallaro, J. and Juntti, M. (2011) Architecture Design and Implementation of the Metric First List Sphere Detector Algorithm. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 19, 895-899. http://dx.doi.org/10.1109/TVLSI.2010.2041800</mixed-citation></ref></ref-list></back></article>