<?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">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2016.411003</article-id><article-id pub-id-type="publisher-id">JCC-70939</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>
 
 
  OFDM System Implementation in DSP Platform TMS320C6678
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Rafael</surname><given-names>Masashi Fukuda</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>Taufik</surname><given-names>Abrão</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of Electrical Engineering (DEEL), Londrina State University (UEL), Londrina, Brazil</addr-line></aff><pub-date pub-type="epub"><day>08</day><month>09</month><year>2016</year></pub-date><volume>04</volume><issue>11</issue><fpage>26</fpage><lpage>36</lpage><history><date date-type="received"><day>August</day>	<month>20,</month>	<year>2016</year></date><date date-type="rev-recd"><day>Accepted:</day>	<month>September</month>	<year>25,</year>	</date><date date-type="accepted"><day>September</day>	<month>28,</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>
 
 
  The Orthogonal Frequency Division Multiplexing (OFDM) system is already used in commercial applications and is capable to deal with Intersymbolic Interference (ISI) caused by multipath channels. This system gained popularity after the application of the Fast Fourier Transform (FFT) and its inverse (IFFT) to modulate the signal in many subcarriers. This paper discusses implementation aspects of an OFDM system; such system is characterized by considering real constraints, including the memory consumption and the processing time. The OFDM modulator, channel samples and OFDM demodulator were implemented entirely in the DSP TMS320C6678 platform. As a proof-of-concept, a 256-QAM OFDM BER performance is compared with theoretical values. Moreover, the memory size is not demanding, consuming very few resources. It was observed a very high number of DSP clock cycles needed for the OFDM signal modulation, corresponding to more than 4 times the number used in demodulating the signal.
 
</p></abstract><kwd-group><kwd>OFDM</kwd><kwd> DSP Platform</kwd><kwd> Implementation</kwd><kwd> Bit Error Rate</kwd><kwd> Signal Processing</kwd><kwd>  Telecommunication Systems</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Signal processing is deployed in lots of equipment such as radars, cell phones, missiles, space buses, radars, and so on. Basic mathematical operations can be performed by using discrete digital components, e.g., a full adder circuit, while subtraction can be implemented using the same circuit with the subtrahend being represented by two’s complement. Digital Signal Processing (DSP) platforms are integrated circuit boards designed aiming to optimize the implementability of the algorithms and mathematical operations including sums, multiplications and so on. The internal architecture of a floating DSP is more complex than a fixed point device [<xref ref-type="bibr" rid="scirp.70939-ref1">1</xref>] . In some optimized libraries, the fixed point operations are preferred since this format reduces the DSP clock cycles necessary to perform some specific calculation, requiring the conversion between any existent float variables to fixed point variables inside the code. Currently, the powerful DSP hardware makes possible the construction and implementation of complex systems and signals, which require a great number of calculations and processing for real-time applications, where calculation and processing speed are critical.</p><p>Orthogonal Frequency Division Multiplexing (OFDM) is a transmission technique currently available in commercial applications, such as wireless networks (Wi-Fi 802.11) and cellular systems (LTE) [<xref ref-type="bibr" rid="scirp.70939-ref2">2</xref>] . In early days of the OFDM, the analog implementations of such transmission technique have resulted in incredible complex due to the deployment of discrete sinusoidal oscillators and coherent demodulators. After sometime, such system gained popularity after the digital approach used the Discrete Fourier Transform (DFT) and the correspondent Inverse Discrete Fourier Transform (IDFT) to demodulate and modulate the OFDM signal in N subcarriers, respectively. These operations can be calculated in an efficient way with the Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT) algorithms.</p><p>Among the three losses associated to the wireless radio channel, namely path loss, shadowing and fading terms, the OFDM system offers resistance to fading, when the number of subcarriers is large enough such that the flat fading condition is achieved. The delay spread that occurs in channels with multipath can provoke some intersymbol interference (ISI). To completely eliminate this effect, OFDM uses the Cyclic Prefix (CP). The CP addition can be easily implemented digitally, because the CP addition is a simple vector concatenation.</p><p>In the literature, there are works discussing the implementation aspects of specific parameter of the OFDM system. Among them, [<xref ref-type="bibr" rid="scirp.70939-ref3">3</xref>] demonstrated an effectiveness of a PAPR reduction algorithm implemented in a C6713 DSP hardware. In [<xref ref-type="bibr" rid="scirp.70939-ref4">4</xref>] , an optimization for FFT operations is implemented inside an iPROVE FPGA board and the results are compared with Carmel DSP and TMS320C62X. In [<xref ref-type="bibr" rid="scirp.70939-ref5">5</xref>] , narrowband interference cancellation algorithms applied to multiband OFDM ultra-wideband systems are implemented in TMS320C6713 DSP and some implementation parameters are discussed.</p><p>This paper deals with the implementability of an OFDM transmission. For that, the DSP TMS320 platform receives data from a computer, data is processed and modulated using an OFDM modulator, the channel coefficients are generated and applied to the signal, the OFDM symbols are demodulated and sent back to the computer. The DSP TMS320C6678 platform deployed presents a high performance multicore processor with 8 cores, each core can reach 1.25 GHz, supporting fixed and floating point operations. It has I2C and SPI interface, a 64-bit DDR3 interface, 64 timers, 16 GPIO pins [<xref ref-type="bibr" rid="scirp.70939-ref6">6</xref>] . The evaluation board available at UEL’s laboratory is a TMDSEVM6678L, which has a RS232 UART for serial communication, 512 MB DDR3, Ethernet interface and some other features [<xref ref-type="bibr" rid="scirp.70939-ref7">7</xref>] .</p><p>This work will be structured as following: in Section 2, the theory of the OFDM system is presented. Block diagrams, mathematical relations and some OFDM design parameters are stated. In Section 3, some implementation details and tools utilized are shown. In Section 4, simulations are presented and results discussed. In Section 5, the conclusions of the work are highlighted.</p><p>Notation: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x2.png" xlink:type="simple"/></inline-formula>and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x3.png" xlink:type="simple"/></inline-formula> represents the direct and inverse Fourier transform, respectively; <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x4.png" xlink:type="simple"/></inline-formula>represents circular convolution operator; <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x5.png" xlink:type="simple"/></inline-formula>represents the real part of a complex number; <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x6.png" xlink:type="simple"/></inline-formula>and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x7.png" xlink:type="simple"/></inline-formula> mean that X follows a Uniform and Gaussian statistical distribution, respectively.</p></sec><sec id="s2"><title>2. OFDM System</title><p>A block diagram representing an OFDM transmitter is depicted in <xref ref-type="fig" rid="fig1">Figure 1</xref>. Bits of information are mapped into constellation symbols (for example, BPSK, QPSK, or QAM), passed on a serial to parallel (S/P) converter, the IDFT is performed, the cyclic prefix (CP) is added and data is converted from parallel to serial (P/S), converted to analogical signal (D/A), converted to passband with carrier frequency <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x8.png" xlink:type="simple"/></inline-formula> and finally sent to the receiver via a wireless radio fading channel.</p><p>The OFDM receiver is depicted in <xref ref-type="fig" rid="fig2">Figure 2</xref>. The signal that reaches the receiver antenna is converted to baseband (coherent multiplication with a local oscillator with frequency <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x9.png" xlink:type="simple"/></inline-formula> and filtered), the signal is discretized via analogical-to-digital (A/D) converter, the cyclic prefix is removed and data is parallelized; after that, the DFT is calculated, the elements are converted to serial and finally demapped respectively with adopted constellation to obtain the demodulated bits.</p><p>OFDM systems use a great number of orthogonal subcarriers to transmit information; hence, the data rate on each subchannel is much less than the system data rate [<xref ref-type="bibr" rid="scirp.70939-ref8">8</xref>] . Mathematically, two signals are orthonormal if they satisfy the orthogonality condition:</p><disp-formula id="scirp.70939-formula1373"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730438x10.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x11.png" xlink:type="simple"/></inline-formula> represents an OFDM symbol period. So, two subcarriers <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x12.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x13.png" xlink:type="simple"/></inline-formula> are</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> OFDM transmitter block diagram</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730438x14.png"/></fig><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> OFDM receiver block diagram</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730438x15.png"/></fig><p>orthogonal if the integral on the interval of one period of the multiplication of the signals is zero. In [<xref ref-type="bibr" rid="scirp.70939-ref8">8</xref>] , it is proven that the subcarriers can be overlapped by a factor of 50% without lose of orthogonality.</p><p>The transmitted OFDM signal can be represented in time domain as:</p><disp-formula id="scirp.70939-formula1374"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730438x16.png"  xlink:type="simple"/></disp-formula><p>where x[k] represents the k-th modulation symbol, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x17.png" xlink:type="simple"/></inline-formula>the OFDM symbol period, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x18.png" xlink:type="simple"/></inline-formula>the carrier frequency, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x19.png" xlink:type="simple"/></inline-formula>represents the <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x19.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x20.png" xlink:type="simple"/></inline-formula>-th subcarrier frequency separated by a factor of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x19.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x21.png" xlink:type="simple"/></inline-formula> and N is the number of subcarriers. In the discrete form, the OFDM can be represented as:</p><disp-formula id="scirp.70939-formula1375"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730438x22.png"  xlink:type="simple"/></disp-formula><p>In <xref ref-type="fig" rid="fig3">Figure 3</xref>, a representation for the Equation (2) with N = 4 subcarriers is sketched in the frequency domain with x-axis representing the frequencies and y-axis the Power Spectrum Density (PSD). Substituting the index k with its respective range of values (k = 0, ..., 3), we can see the spectrum of 4 subcarriers with overlap. As depicted in this figure, the carrier frequency is not in the center of the spectrum occupied by the OFDM transmitted symbol, and each subcarrier is separated by a factor of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x23.png" xlink:type="simple"/></inline-formula>.</p><p>The received signal corrupted by multiplicative noise, considering only the effect of fading channel, i.e., assuming that the additive white Gaussian noise effect can be neglected (high SNR regime) in discrete-time domain can be expressed by the circular convolution of the signal s[n] and channel impulse response h[n]:</p><disp-formula id="scirp.70939-formula1376"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730438x24.png"  xlink:type="simple"/></disp-formula><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Subcarriers for N = 4. OFDM spectrum non-centralized with 50% of superposition</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730438x25.png"/></fig><p>Hence, the original signal s[n] can be recovered in the frequency domain using frequency equalization: as:</p><disp-formula id="scirp.70939-formula1377"><label>(5)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730438x26.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x27.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x28.png" xlink:type="simple"/></inline-formula> represents the direct and inverse Fourier transform, respectively.</p><p>To obtain a satisfactory performance, the OFDM must achieve flat fading condition. In other words, the channel coherence band <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x29.png" xlink:type="simple"/></inline-formula> needs to be considerably greater than the channel of each subcarrier <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x30.png" xlink:type="simple"/></inline-formula> as:</p><disp-formula id="scirp.70939-formula1378"><label>(6)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730438x31.png"  xlink:type="simple"/></disp-formula><p>where W represents the OFDM system bandwidth and N the number of subcarriers. Note that the right side of Equation (6) considers a system without spectral superposition. So, the number of subcarriers is a parameter of the OFDM system and can be increased to achieve the flat fading condition.</p><p>Another channel parameter that exerts influence in the OFDM system design is the delay spread (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x32.png" xlink:type="simple"/></inline-formula>), which is related to the power delay profile (PDP). Considering a multipath channel, the signal is reflected on countless surfaces resulting in delayed versions of the original signal, causing ISI. The average power of received replica and the associated delay is represented in the PDP graphs. There are different models to represent the PDP, for example the uniform, or the decreasing exponential models, such as the IEEE 802.11, as discussed in [<xref ref-type="bibr" rid="scirp.70939-ref9">9</xref>] .</p><p>To eliminate the ISI caused by multipath channel, the CP is added to the signal vector. Considering h[n] the discrete channel impulse response with length<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x33.png" xlink:type="simple"/></inline-formula>, and s[n] the discrete form of the information signal, the CP addition can be easily performed by concatenating the last <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x34.png" xlink:type="simple"/></inline-formula> samples of s[n] onto the beginning of the vector. In <xref ref-type="fig" rid="fig4">Figure 4</xref>, a graphic representation of the CP addition operation is presented; the last <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x35.png" xlink:type="simple"/></inline-formula> samples are concatenated to the beginning of the vector to create the OFDM symbol <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x36.png" xlink:type="simple"/></inline-formula> in the discrete form and ready to be transmitted. If the CP length<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x37.png" xlink:type="simple"/></inline-formula>, the ISI can be eliminated at the receiver side.</p></sec><sec id="s3"><title>3. DSP Implementation</title><p>In this work, the Code Composer Studio (CCS) software was deployed as the Integrated Development Environment (IDE) to write, compile and debug the entire developed code. Another software installed was the BIOS Multicore Software Development Kit (MCSDK), which provided some boot utilities, chip support libraries, drivers, and basic</p><fig id="fig4"  position="float"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> Cyclic Prefix (CP) addition on the OFDM symbol</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730438x38.png"/></fig><p>platform utilities [<xref ref-type="bibr" rid="scirp.70939-ref10">10</xref>] . The code was written in C language and the serial interface was utilized to communicate the DSP board TMDSEVM6678 with the personal computer (PC), as represented in <xref ref-type="fig" rid="fig5">Figure 5</xref>. The information bits from the PC are passed to the DSP platform, where the data are processed to form the OFDM symbols, while channel distortions are taken in account; the OFDM symbols are demodulated and sent back to the computer. Another aspect considered is that the noise values were generated inside the DSP platform via Box Muller transform, which is described in Section 3.1. The modulation used was an M-QAM using Gray codification and a conventional slicer for hard decision region.</p><p>There are some specific functions implemented in an optimized way for specific DSP platforms. For the TMDSEVM6678 platform, the TI C6000 DSPLIB library of signal processing provides some routines for signal processing. In this work, the FFT, IFFT and convolution operations were performed using the DSPLIB optimized functions. In the DSPLIB documentation [<xref ref-type="bibr" rid="scirp.70939-ref11">11</xref>] for the FFT and IFFT functions used in this work, the input vectors must be a short type and with the format Q.15, which means one bit representing the integer part and 15 representing the fractional part. The user should be careful about the overflow that can occur and its variation depending on the FFT order.</p><p>To verify the DSP clock cycles consumed in executing a piece of the code, the CCS provides the necessary tools to this verification. The user can obtain the clock information going to the clock menu and enabling it, or using the Profiler tool. Another method is calling the function itoll provided by the header c6x.h, which returns the DSP clock count value that can be stored inside a variable.</p>Random Number Generation<p>In [<xref ref-type="bibr" rid="scirp.70939-ref12">12</xref>] , a method to generate random variables with Gaussian distribution with zero mean and unitary standard deviation is described. The method used is the Marsaglia polar approach of the Box Muller transformation [<xref ref-type="bibr" rid="scirp.70939-ref13">13</xref>] . This method considers two random variables (r.v.)<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x39.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x40.png" xlink:type="simple"/></inline-formula>, applying the transformation:</p><disp-formula id="scirp.70939-formula1379"><label>(7)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730438x41.png"  xlink:type="simple"/></disp-formula><p>in which the random variables of such transformations follow a normalized Gaussian distribution:<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x42.png" xlink:type="simple"/></inline-formula>.</p><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Block diagram representing the communication between the computer and the DSP platform</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730438x43.png"/></fig><p>Finally, to obtain different values of mean (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x44.png" xlink:type="simple"/></inline-formula>) and variance (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x45.png" xlink:type="simple"/></inline-formula>) considering<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x45.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x46.png" xlink:type="simple"/></inline-formula>, a simple linear transformation is applied:</p><disp-formula id="scirp.70939-formula1380"><label>. (8)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-1730438x47.png"  xlink:type="simple"/></disp-formula><p>Resulting in<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x48.png" xlink:type="simple"/></inline-formula>.</p></sec><sec id="s4"><title>4. Results and Discussion</title><p>In this section, some experiments using the DSP platform are described and analyzed. First, the 256-QAM OFDM algorithm is validated comparing the bit error rate (BER) values obtained via Monte Carlo simulation with the theoretical curves of a 256-QAM modulation. At the flat fading condition, the 256 QAM OFDM BER performance should be close as possible to the conventional 256-QAM BER performance. After this Tx-Rx OFDM code validation, an experiment sending an image data to the DSP platform was performed aiming to corroborate the effectiveness of the proposed OFDM DSP-based system implementation. The image data generated at PC was sent to the DSP platform, it was modulated and converted to OFDM symbols and sent to the receiver through a simulated wireless radio fading channel in discrete-time domain. Besides, the additive thermal noise effects were included at the receiver input; after that, the OFDM symbols were demodulated and sent back to the PC, where the original data were compared with the recovered data aiming to determine the average BER. As a figure-of-merit of implementability, the DSP resources allocated to the Tx-Rx OFDM execution were determined in therms of memory occupation and DSP clock cycles.</p><sec id="s4_1"><title>4.1. Validation</title><p>The OFDM system performance was measured verifying the bit error rate (BER) in two different channels: a) multipath fading channel; and b) pure additive white Gaussian noise (AWGN), just for noise power calibration purpose. Simulation parameters are summarized in <xref ref-type="table" rid="table1">Table 1</xref>. On the receiver side, the perfect channel information (CSI) has been considered and the channel fading effect was removed using frequency equalization, as indicated in Equation (5).</p><p>The BER performance simulated on the DSP platform and the theoretical curves of the 256-QAM are presented in <xref ref-type="fig" rid="fig6">Figure 6</xref>. As expected, for fading and AWGN channel, the OFDM 256-QAM performances converge to the 256-QAM at AWGN and Fading channels. The BER results obtained were consistent with the theory.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> OFDM BER performance simulation parameters</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Parameter</th><th align="center" valign="middle" >Value</th></tr></thead><tr><td align="center" valign="middle" >Modulation</td><td align="center" valign="middle" >256 - QAM</td></tr><tr><td align="center" valign="middle" >Subcarriers</td><td align="center" valign="middle" >N = 256</td></tr><tr><td align="center" valign="middle" >Channel</td><td align="center" valign="middle" >AWGN, SNR &#206; {0.0; 18} [dB], 4-paths Rayleigh fading channels</td></tr><tr><td align="center" valign="middle" >Codification</td><td align="center" valign="middle" >Gray Code</td></tr></tbody></table></table-wrap><fig id="fig6"  position="float"><label><xref ref-type="fig" rid="fig6">Figure 6</xref></label><caption><title> DSP BER performance of a 256-QAM OFDM system</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730438x49.png"/></fig></sec><sec id="s4_2"><title>4.2. Image Data</title><p>The image data sent in this experiment was the Lenna, an image commonly used in image processing [<xref ref-type="bibr" rid="scirp.70939-ref14">14</xref>] . The parameters used in this experiment are the same presented in <xref ref-type="table" rid="table1">Table 1</xref> unless the channel condition; it was considered only the flat fading channel condition. To recover the Lenna image at receiver side, it was considered two different values of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x50.png" xlink:type="simple"/></inline-formula>: 0 and 18 dB; the quality of recovered images is shown in <xref ref-type="fig" rid="fig7">Figure 7</xref>(a) and <xref ref-type="fig" rid="fig7">Figure 7</xref>(b), respectively. The BER measured after the channel effects were 0.2424 and 0.0203, respectively. Due to the Monte-Carlo simulations, the obtained BER values were consistent with the ones observed in <xref ref-type="fig" rid="fig6">Figure 6</xref> for the corresponding<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x50.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x51.png" xlink:type="simple"/></inline-formula>. Observing the figure on the left side, the image with high BER is more blurred than the image on the right side, with lower BER.</p></sec><sec id="s4_3"><title>4.3. DSP Resources</title><p>The OFDM DSP-based system implementability was verified by measuring the DSP platform resource allocated to the entire code execution. To perform this task, the number of DSP clock cycles was counted. For modulation, it was taken in to account the 256-QAM modulation, IFFT calculation and CP addition. On the demodulation, it was considered the CP removal, FFT calculation, channel equalization and 256-QAM demodulation. The mean values measured are presented in table <xref ref-type="table" rid="table2">Table 2</xref>.</p><p>The number of cycles of one OFDM symbol was different from the others due to QAM modulation and demodulation implementation. To demodulate the signal, the implemented code separates/classifies the constellation map into decision regions and</p><fig-group id="fig7"><label><xref ref-type="fig" rid="fig7">Figure 7</xref></label><caption><title> Same image recovered in the DSP platform after the fading channel emulation effect considering two different values of noise powers; respective BER is highlighted. (a) Relation<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x54.png" xlink:type="simple"/></inline-formula>. BER = 0.2424; (b) Relation<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-1730438x55.png" xlink:type="simple"/></inline-formula>. BER = 0.0203.</title></caption><fig id ="fig7_1"><label> (b)</label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730438x52.png"/></fig><fig id ="fig7_2"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-1730438x53.png"/></fig></fig-group><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Mean values of DSP cycles count for 256 QAM OFDM with FFT size N = 256</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Parameter</th><th align="center" valign="middle" >Value (DSP Cycles)</th></tr></thead><tr><td align="center" valign="middle" >256 QAM OFDM Modulation</td><td align="center" valign="middle" >2,893,850.31</td></tr><tr><td align="center" valign="middle" >256 QAM OFDM Demodulation</td><td align="center" valign="middle" >606,401.31</td></tr></tbody></table></table-wrap><p>verified if the received symbol was inside or not a specific region to demodulate/de- mapping the symbol. On the modulation, it has two &quot;for&quot; loops to convert the information to components in phase and quadrature, and that part of the code was responsible for a great part of the total cycles consumed in the modulation process.</p><p>Even with more components needed to the signal demodulation, including mainly channel equalization, the number of cycles consumed in the OFDM demodulation process was smaller than the number necessary for the OFDM modulation.</p><p>To measure the code size, the file created by the compiler with extension .map was verified, as discussed in [<xref ref-type="bibr" rid="scirp.70939-ref15">15</xref>] . The memory parameters are presented at <xref ref-type="table" rid="table3">Table 3</xref>.</p><p>Consulting [<xref ref-type="bibr" rid="scirp.70939-ref7">7</xref>] , the memory address 0x0C000000 corresponds to the DDR3 memory with size of 256 Mbytes. In <xref ref-type="table" rid="table3">Table 3</xref>, the memory MSMCSRAM shows a lower size, 0x00200000, which was caused by some definitions in linker.cmd file inside the CCS project. Converting the memory used to decimal value, it corresponds to 457,490 bytes. The percentage consumed was very low comparing with the total 256 Mbytes available on the address 0x0C000000, not being a critical parameter for the system implementation.</p></sec></sec><sec id="s5"><title>5. Conclusions</title><p>The signal processing in the OFDM system had an important role in simplifying its implementation using the FFT and IFFT to modulate the signal in multicarrier-based systems instead of using analogical huge number of discrete oscillators. In this work, a</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> DSP Memory addresses and memory occupation obtained consulting the .map file</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Name</th><th align="center" valign="middle" >Origin</th><th align="center" valign="middle" >Length</th><th align="center" valign="middle" >Used</th></tr></thead><tr><td align="center" valign="middle" >L2SRAM</td><td align="center" valign="middle" >0x00800000</td><td align="center" valign="middle" >0x00080000</td><td align="center" valign="middle" >0x0000000</td></tr><tr><td align="center" valign="middle" >L1PSRAM</td><td align="center" valign="middle" >0x00E00000</td><td align="center" valign="middle" >0x00007FFF</td><td align="center" valign="middle" >0x0000000</td></tr><tr><td align="center" valign="middle" >L1DSRAM</td><td align="center" valign="middle" >0x00F00000</td><td align="center" valign="middle" >0x00007FFF</td><td align="center" valign="middle" >0x0000000</td></tr><tr><td align="center" valign="middle" >MSMCSRAM</td><td align="center" valign="middle" >0x0C000000</td><td align="center" valign="middle" >0x00200000</td><td align="center" valign="middle" >0x006FB12</td></tr><tr><td align="center" valign="middle" >DDR3</td><td align="center" valign="middle" >0x80000000</td><td align="center" valign="middle" >0x10000000</td><td align="center" valign="middle" >0x0000000</td></tr></tbody></table></table-wrap><p>256-QAM DSP-based baseband OFDM was implemented and analyzed in terms of BER performance, qualitative recovered image performance, DSP clock cycles and DSP memory requirement.</p><p>The 256-QAM OFDM BER system performance was obtained via Monte-Carlo simulation and these values were corroborated with a theoretical curve of a conventional 256-QAM modulation single-carrier system. In attaining the flat fading condition, the M-QAM OFDM performance converged to the M-QAM modulation and the code implemented on the DSP behaved as expected.</p><p>By verifying the clock cycles, the number of DSP cycles consumed to modulate the OFDM signal was greater than the number used to demodulate the signal. The reason is that the M-QAM modulation function was responsible for a great part of the cycles used. In the future work, assembly language optimization aspects should be implemented, while the processing gain concerning DSP clock cycles should be evidenced.</p><p>By analyzing the memory requirement of the entire implemented baseband OFDM, the amount memory allocated had size of 457,490 bytes of the memory block that corresponded to the address 0x0C000000 and was not a critical issue for the deployed DSP platform.</p><p>With the increase of new technologies, for example, Internet of Things, with countless chips communicating with each other, there is great appeal and interest of investigation around the viability of the implementation of sophisticated but efficient wireless transmission-modulation schemes on chip with scarce resources availability. This paper provides a multi-functional analysis of the implementability of an OFDM baseband system on a robust DSP platform, which can be extended for another DSP, FPGA or microprocessors platforms.</p></sec><sec id="s6"><title>Acknowledgements</title><p>Thanks to Raul Ambrosio Valente Neto for the explanation on the random number generation. Colleagues at T &amp; SP Lab at UEL University are grateful recognized for the conceptual discussions and hints.</p></sec><sec id="s7"><title>Cite this paper</title><p>Fukuda, R.M. and Abr&#227;o, T. (2016) OFDM System Implementation in DSP Platform TMS320C6678. Journal of Computer and Communications, 4, 26-36. http://dx.doi.org/10.4236/jcc.2016.411003</p></sec></body><back><ref-list><title>References</title><ref id="scirp.70939-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Smith, S.W. (1997) The Scientist and Engineer’s Guide to Digital Signal Processing. California Technical Publishing, San Diego.</mixed-citation></ref><ref id="scirp.70939-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Hanzo, L.L., Akhtman, Y., Wang, L. and Jiang, M. (2011) MIMO-OFDM for LTE, WiFi and WiMAX: Coherent versus Non-Coherent and Cooperative Turbo Transceivers. Wiley-IEEE Press, Chichester.</mixed-citation></ref><ref id="scirp.70939-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Dongwen, N., Baohui, Z., Dong, L. and Bo, Z.Q. (2011) Implementation of Algorithm for Reducing the PAPR of OFDM System Based on DSP. 46th International Universities’ Power Engineering Conference, Soest, 5-8 September 2011, 1-3.</mixed-citation></ref><ref id="scirp.70939-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Lee, J.H., Moon, J.H., Heo, K.L., Sunwoo, M.H., Oh, S.K. and Kim, I.H. (2004) Implementation of Application-Specific DSP for OFDM Systems. 2004 IEEE International Symposium on Circuits and Systems (IEEE Cat. No.04CH37512), Vol. 3, III-665-8.</mixed-citation></ref><ref id="scirp.70939-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Jeng, L.-D., Meng, F.-W. and Yang, C.-C. (2009) DSP Implementation of Narrowband Interference Cancellation Algorithms in MB-OFDM Based Ultra-Wideband Communication System. 2009 International Symposium on Intelligent Signal Processing and Communication Systems (ISPACS), Kanazawa, 7-9 January 2009, 146-149.  
http://dx.doi.org/10.1109/ISPACS.2009.5383879</mixed-citation></ref><ref id="scirp.70939-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Texas Instruments (2014) Multicore Fixed and Floating-Point Digital Signal Processor. Literature Number SPRS691E.</mixed-citation></ref><ref id="scirp.70939-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Texas Instruments (2012) TMDSEVM6678L EVM Technical Reference Manual Version 2.01. Literature Number SPRUH58.</mixed-citation></ref><ref id="scirp.70939-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Goldsmith, A. (2005) Wireless Communications. Cambridge University Press, Cambridge.  
http://dx.doi.org/10.1017/CBO9780511841224</mixed-citation></ref><ref id="scirp.70939-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Cho, Y.S., Kim, J., Yang, W.Y. and Kang, C.G. (2010) MIMO-OFDM Wireless Communications with MATLAB. John Wiley &amp; Sons (Asia) Pte Ltd., Singapore.</mixed-citation></ref><ref id="scirp.70939-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Texas Instruments (2012) BIOS MCSDK 2.0 Getting Started Guide.</mixed-citation></ref><ref id="scirp.70939-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Texas Instruments (2003) Signal Processing Examples Using TMS320C64x Digital Signal Processing Library (DSPLIB). Application Report SPRA884A.</mixed-citation></ref><ref id="scirp.70939-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Knuth, D.E. (1997) The Art of Computer Programming, Volume 2: Seminumerical Algorithms. 3rd Edition, Addison-Wesley Longman Publishing Co., Inc., Boston.</mixed-citation></ref><ref id="scirp.70939-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Box, G.E.P. and Muller, M.E. (1958) A Note on the Generation of Random Normal Deviates. The Annals of Mathematical Statistics, 29, 610-611.  
http://dx.doi.org/10.1214/aoms/1177706645</mixed-citation></ref><ref id="scirp.70939-ref14"><label>14</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Hutchinson</surname><given-names> J. </given-names></name>,<etal>et al</etal>. (<year>2001</year>)<article-title>Culture, Communication, and an Information Age Madonna</article-title><source> IEEE Professional Communication Society Newsletter</source><volume> 45</volume>,<fpage> 1</fpage>-<lpage>7</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.70939-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">TI E2E Community (2012) Topic: Where to Find the Code Size in CCS v5.  
http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/187966</mixed-citation></ref></ref-list></back></article>