<?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">
    ijcns
   </journal-id>
   <journal-title-group>
    <journal-title>
     International Journal of Communications, Network and System Sciences
    </journal-title>
   </journal-title-group>
   <issn pub-type="epub">
    1913-3715
   </issn>
   <issn publication-format="print">
    1913-3723
   </issn>
   <publisher>
    <publisher-name>
     Scientific Research Publishing
    </publisher-name>
   </publisher>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="doi">
    10.4236/ijcns.2024.178008
   </article-id>
   <article-id pub-id-type="publisher-id">
    ijcns-135214
   </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 
     </subject>
     <subject>
       Communications
     </subject>
    </subj-group>
   </article-categories>
   <title-group>
    Interference in Complex CDMA-OFDM/OQAM for Better Performance at Low SNR
   </title-group>
   <contrib-group>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Chrislin Martial
      </surname>
      <given-names>
       Lélé
      </given-names>
     </name>
    </contrib>
   </contrib-group> 
   <aff id="affnull">
    <addr-line>
     aGET, ENSP Yaoundé, Yaoundé, Cameroon
    </addr-line> 
   </aff> 
   <pub-date pub-type="epub">
    <day>
     13
    </day> 
    <month>
     08
    </month>
    <year>
     2024
    </year>
   </pub-date> 
   <volume>
    17
   </volume> 
   <issue>
    08
   </issue>
   <fpage>
    113
   </fpage>
   <lpage>
    128
   </lpage>
   <history>
    <date date-type="received">
     <day>
      1,
     </day>
     <month>
      July
     </month>
     <year>
      2024
     </year>
    </date>
    <date date-type="published">
     <day>
      10,
     </day>
     <month>
      July
     </month>
     <year>
      2024
     </year> 
    </date> 
    <date date-type="accepted">
     <day>
      10,
     </day>
     <month>
      August
     </month>
     <year>
      2024
     </year> 
    </date>
   </history>
   <permissions>
    <copyright-statement>
     © 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>
    This article is about orthogonal frequency-division multiplexing with quadrature amplitude modulation combined with code division multiplexing access for complex data transmission. It aims to present a method which uses two interfering subsets in order to improve the performance of the transmission scheme. The idea is to spread in a coherent manner some data amongst two different codes belonging to the two different subsets involved in complex orthogonal frequency-division multiplexing with quadrature amplitude modulation and code division multiplexing access. This will improve the useful signal level at the receiving side and therefore improve the decoding process especially at low signal to noise ratio. However, this procedure implies some interference with other codes therefore creating a certain noise which is noticeable at high signal to noise ratio.
   </abstract>
   <kwd-group> 
    <kwd>
     CDMA
    </kwd> 
    <kwd>
      OFDM/OQAM
    </kwd> 
    <kwd>
      Complex Data
    </kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <sec id="s1">
   <title>1. Introduction</title>
   <p>Nowadays, multi-carrier modulations are widely used in many standards such as WIMAX (Worldwide Interoperability for Microwave Access) <xref ref-type="bibr" rid="scirp.135214-1">
     [1]
    </xref>, DAB (Digital Audio Broadcasting) <xref ref-type="bibr" rid="scirp.135214-2">
     [2]
    </xref>, DVB-T (Digital Video Broadcasting-Terrestrial) <xref ref-type="bibr" rid="scirp.135214-3">
     [3]
    </xref>. One of the main modulations used is CP-OFDM (Orthogonal Frequency Division Multiplexing with Cyclic Prefix) <xref ref-type="bibr" rid="scirp.135214-4">
     [4]
    </xref> <xref ref-type="bibr" rid="scirp.135214-5">
     [5]
    </xref> as it enables a simple structure of the transmitter and receiver implemented by a simple IFFT (Inverse Fast Fourier Transform) or FFT (Fast Fourier Transform). CP-OFDM is similar to OFDM/QAM (Orthogonal Frequency-Division Multiplexing with Quadrature Amplitude Modulation) when CP is not used. The use of Cyclic Prefic (CP) enables to cope with time-dispersive channels and Intersymbols Interference (ISI) that are produced by these channels. However, CP-OFDM has some drawbacks:</p>
   <p>Since the Fourier transform of the rectangular window function is proportional to sinc(f) function. This bad PDS is tackled by inserting null sub-carriers at the boundary of the DFT (Discrete Fourier Transform) or IDFT (Inverse Discrete Fourier Transform) in order to avoid interference with neighbor systems. Null sub-carriers mean also loss of spectral efficiency. These drawbacks mainly the second one make OFDM/QAM not really suitable for application or system that requires a demanding frequency localization and for systems that will be designed in the range of cognitive radio. One alternative to OFDM/QAM is OFDM/OQAM (Orthogonal frequency-division multiplexing with Offset Quadrature Amplitude Modulation) <xref ref-type="bibr" rid="scirp.135214-6">
     [6]
    </xref>-<xref ref-type="bibr" rid="scirp.135214-8">
     [8]
    </xref> which allows the possibility to use different prototype filter such as the Square Root-Raised Cosine(SRRC) filter <xref ref-type="bibr" rid="scirp.135214-9">
     [9]
    </xref>-<xref ref-type="bibr" rid="scirp.135214-11">
     [11]
    </xref>, Extended Gaussian Functions (EGF) <xref ref-type="bibr" rid="scirp.135214-12">
     [12]
    </xref> <xref ref-type="bibr" rid="scirp.135214-13">
     [13]
    </xref>, other filters are designed using specific techniques such as the so-called frequency sampling technique <xref ref-type="bibr" rid="scirp.135214-14">
     [14]
    </xref>. These functions have the ability to provide a better PDS than the one obtained with the rectangular window function. This paper is about this specific OFDM/OQAM modulation, which relies on real orthogonality. However, <xref ref-type="bibr" rid="scirp.135214-15">
     [15]
    </xref> showed that when combining OFDM/OQAM with CDMA especially with Walsh-Hadamard codes one can obtain complex orthogonality. The current work is a continuation of the work in <xref ref-type="bibr" rid="scirp.135214-15">
     [15]
    </xref> where we use the two subsets of the Hadamard codes to create constructive interferences in order to improve performances of the decoding process at lower Signal to Noise Ratio (SNR). To reach this goal, firstly, we provide a structure of OFDM/OQAM modulation for the transmitter and the receiver without advance elements. Secondly, Code Division Multiplexing Access (CDMA) is introduced in time domain for real data transmission and later for complex data transmission. After that, our method which uses interference from two subsets is presented. This paper is divided in five sections. Section II named OFDM/OQAM develops and presents some modulator and demodulator structures. Then Section III describes CDMA and the method we are suggesting in order to use interferences of codes in a constructive manner. It can be noticed that a study pertaining to interference alignment can be found in <xref ref-type="bibr" rid="scirp.135214-16">
     [16]
    </xref>, however, the focus of our method is related to interferences using Walsh-Hadamard codes. This is followed by the section Simulations and Results, which gives the performances of several schemes in presence of AWGN channel. At the end a section entitled conclusion summarizes the main ideas and results of the article. As in <xref ref-type="bibr" rid="scirp.135214-8">
     [8]
    </xref>, we denote discrete filters with lower case letters for example h[n], and their Z-transform with upper case letters e.g. H(z). The real part of the complex-valued number c is designated respectively by 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        ℜ 
      </mi> 
      <mrow> 
       <mo>
         { 
       </mo> 
       <mi>
         c 
       </mi> 
       <mo>
         } 
       </mo> 
      </mrow> 
     </mrow> 
    </math>. Superscript * denotes complex conjugation. Contrary to <xref ref-type="bibr" rid="scirp.135214-8">
     [8]
    </xref> H<sup>*</sup>(Z) = (H(Z))<sup>*</sup> and M = 2N will represents the total number of sub-carriers. δ<sub>m</sub><sub>,</sub><sub>p</sub> represents the Kronecker function. ↑ N and ↓ N are respectively used for upsampling and downsampling processes with the factor N. For two continuous (Resp. discrete) functions g(t) (Resp. g[k]) and f(t) (Resp. f[k]) the scalar product between g(t) and f(t) (Resp. g[k] and f[k]) is given by:</p>
   <p>
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mrow> 
       <mo>
         〈 
       </mo> 
       <mrow> 
        <mi>
          g 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          f 
        </mi> 
       </mrow> 
       <mo>
         〉 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mstyle displaystyle="true"> 
       <mrow> 
        <msubsup> 
         <mo>
           ∫ 
         </mo> 
         <mrow> 
          <mo>
            − 
          </mo> 
          <mi>
            ∞ 
          </mi> 
         </mrow> 
         <mrow> 
          <mo>
            + 
          </mo> 
          <mi>
            ∞ 
          </mi> 
         </mrow> 
        </msubsup> 
        <mrow> 
         <mi>
           g 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            t 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <msup> 
          <mi>
            f 
          </mi> 
          <mo>
            * 
          </mo> 
         </msup> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            t 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mtext>
           d 
         </mtext> 
         <mi>
           t 
         </mi> 
        </mrow> 
       </mrow> 
      </mstyle> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <mtext>
          Resp 
        </mtext> 
        <mo>
          . 
        </mo> 
        <mo>
          = 
        </mo> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             k 
           </mi> 
           <mo>
             = 
           </mo> 
           <mo>
             − 
           </mo> 
           <mi>
             ∞ 
           </mi> 
          </mrow> 
          <mrow> 
           <mo>
             + 
           </mo> 
           <mi>
             ∞ 
           </mi> 
          </mrow> 
         </munderover> 
         <mrow> 
          <mi>
            g 
          </mi> 
          <mrow> 
           <mo>
             [ 
           </mo> 
           <mi>
             k 
           </mi> 
           <mo>
             ] 
           </mo> 
          </mrow> 
          <msup> 
           <mi>
             f 
           </mi> 
           <mo>
             * 
           </mo> 
          </msup> 
          <mrow> 
           <mo>
             [ 
           </mo> 
           <mi>
             k 
           </mi> 
           <mo>
             ] 
           </mo> 
          </mrow> 
         </mrow> 
        </mstyle> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
      <mo>
        . 
      </mo> 
     </mrow> 
    </math> (1)</p>
   <p>Finally, the superscript <sup>t</sup> represents the transpose operator. Let us start with OFDM/OQAM modulation.</p>
  </sec><sec id="s2">
   <title>2. OFDM/OQAM</title>
   <p>This section is on OFDM/OQAM modulation. Where we give the main elements of OFDM/OQAM modulator and OFDM/OQAM demodulator. As the OFDM/OQAM modulator is concerned, in continuous form, we can define the OFDM/OQAM transmitted signal as in <xref ref-type="bibr" rid="scirp.135214-8">
     [8]
    </xref> by:</p>
   <p>
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        s 
      </mi> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mi>
         t 
       </mi> 
       <mo>
         ) 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mstyle displaystyle="true"> 
       <munderover> 
        <mo>
          ∑ 
        </mo> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           0 
         </mn> 
        </mrow> 
        <mrow> 
         <mi>
           M 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </munderover> 
       <mrow> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             n 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mn>
             2 
           </mn> 
           <msub> 
            <mi>
              L 
            </mi> 
            <mi>
              T 
            </mi> 
           </msub> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </munderover> 
         <mrow> 
          <msub> 
           <mi>
             a 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <msub> 
           <mi>
             h 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <mrow> 
           <mo>
             ( 
           </mo> 
           <mi>
             t 
           </mi> 
           <mo>
             ) 
           </mo> 
          </mrow> 
         </mrow> 
        </mstyle> 
       </mrow> 
      </mstyle> 
     </mrow> 
    </math> (2)</p>
   <p>with 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         h 
       </mi> 
       <mrow> 
        <mi>
          m 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          n 
        </mi> 
       </mrow> 
      </msub> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mi>
         t 
       </mi> 
       <mo>
         ) 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mi>
        h 
      </mi> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <mi>
          t 
        </mi> 
        <mo>
          − 
        </mo> 
        <mi>
          n 
        </mi> 
        <msub> 
         <mi>
           τ 
         </mi> 
         <mn>
           0 
         </mn> 
        </msub> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
      <mi>
        exp 
      </mi> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <mi>
          j 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mn>
            2 
          </mn> 
          <mi>
            π 
          </mi> 
          <mi>
            m 
          </mi> 
          <msub> 
           <mi>
             F 
           </mi> 
           <mn>
             0 
           </mn> 
          </msub> 
          <mi>
            t 
          </mi> 
          <mo>
            + 
          </mo> 
          <msub> 
           <mi>
             ϕ 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
     </mrow> 
    </math>, 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         τ 
       </mi> 
       <mn>
         0 
       </mn> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mrow> 
       <mrow> 
        <msub> 
         <mi>
           T 
         </mi> 
         <mn>
           0 
         </mn> 
        </msub> 
       </mrow> 
       <mo>
         / 
       </mo> 
       <mn>
         2 
       </mn> 
      </mrow> 
     </mrow> 
    </math>, 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         ϕ 
       </mi> 
       <mrow> 
        <mi>
          m 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          n 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mi>
        π 
      </mi> 
      <mrow> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mi>
            m 
          </mi> 
          <mo>
            + 
          </mo> 
          <mi>
            n 
          </mi> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mo>
         / 
       </mo> 
       <mn>
         2 
       </mn> 
      </mrow> 
      <mo>
        + 
      </mo> 
      <msub> 
       <mi>
         k 
       </mi> 
       <mn>
         0 
       </mn> 
      </msub> 
      <mi>
        m 
      </mi> 
      <mi>
        n 
      </mi> 
      <mi>
        π 
      </mi> 
     </mrow> 
    </math> and 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         k 
       </mi> 
       <mn>
         0 
       </mn> 
      </msub> 
      <mo>
        ∈ 
      </mo> 
      <mrow> 
       <mo>
         { 
       </mo> 
       <mrow> 
        <mn>
          0 
        </mn> 
        <mo>
          , 
        </mo> 
        <mn>
          1 
        </mn> 
        <mo>
          , 
        </mo> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
       <mo>
         } 
       </mo> 
      </mrow> 
     </mrow> 
    </math>. h(t) represents a prototype filter which must obey to the real orthogonality principle i.e. 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        ℜ 
      </mi> 
      <mrow> 
       <mo>
         〈 
       </mo> 
       <mrow> 
        <msub> 
         <mi>
           h 
         </mi> 
         <mrow> 
          <mi>
            m 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            n 
          </mi> 
         </mrow> 
        </msub> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           h 
         </mi> 
         <mrow> 
          <mi>
            p 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            q 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
       <mo>
         〉 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <msub> 
       <mi>
         δ 
       </mi> 
       <mrow> 
        <mi>
          m 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          p 
        </mi> 
       </mrow> 
      </msub> 
      <msub> 
       <mi>
         δ 
       </mi> 
       <mrow> 
        <mi>
          n 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          q 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math>. The symbols a<sub>m</sub><sub>,</sub><sub>n</sub> here are real, that is why we have two more symbols than in OFDM/QAM, L<sub>T</sub> is replaced by 2L<sub>T</sub> to stress that the a<sub>m</sub><sub>,</sub><sub>n</sub> symbols correspond to the real and imaginary part of complex QAM as described in <xref ref-type="bibr" rid="scirp.135214-8">
     [8]
    </xref> <xref ref-type="bibr" rid="scirp.135214-17">
     [17]
    </xref>. Using h[k] = h(kTs) and 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         h 
       </mi> 
       <mrow> 
        <mi>
          m 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          n 
        </mi> 
       </mrow> 
      </msub> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mi>
         k 
       </mi> 
       <mo>
         ] 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mi>
        h 
      </mi> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mrow> 
        <mi>
          k 
        </mi> 
        <mo>
          − 
        </mo> 
        <mi>
          n 
        </mi> 
        <mi>
          N 
        </mi> 
       </mrow> 
       <mo>
         ] 
       </mo> 
      </mrow> 
      <mi>
        exp 
      </mi> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <mi>
          j 
        </mi> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mrow> 
           <mrow> 
            <mn>
              2 
            </mn> 
            <mi>
              π 
            </mi> 
            <mi>
              m 
            </mi> 
            <mi>
              k 
            </mi> 
           </mrow> 
           <mo>
             / 
           </mo> 
           <mi>
             M 
           </mi> 
          </mrow> 
          <mo>
            + 
          </mo> 
          <msub> 
           <mi>
             ϕ 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
     </mrow> 
    </math>, the discrete form s[k] = s(kTs) is obtained by sampling s(t) by the period interval Ts = T<sub>0</sub>/M i.e.</p>
   <p>
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        s 
      </mi> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mi>
         k 
       </mi> 
       <mo>
         ] 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mstyle displaystyle="true"> 
       <munderover> 
        <mo>
          ∑ 
        </mo> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           0 
         </mn> 
        </mrow> 
        <mrow> 
         <mi>
           M 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </munderover> 
       <mrow> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             n 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mn>
             2 
           </mn> 
           <msub> 
            <mi>
              L 
            </mi> 
            <mi>
              T 
            </mi> 
           </msub> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </munderover> 
         <mrow> 
          <msub> 
           <mi>
             a 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <msub> 
           <mi>
             h 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <mrow> 
           <mo>
             [ 
           </mo> 
           <mi>
             k 
           </mi> 
           <mo>
             ] 
           </mo> 
          </mrow> 
         </mrow> 
        </mstyle> 
       </mrow> 
      </mstyle> 
     </mrow> 
    </math> (3)</p>
   <p>Since h[k] can have an anticausal part of length D<sub>0</sub>, we delay the signal s[k] by D<sub>0</sub> samples in order to obtain a structure with only causal filters. By using 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         θ 
       </mi> 
       <mrow> 
        <mi>
          m 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          n 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <msub> 
       <mi>
         ϕ 
       </mi> 
       <mrow> 
        <mi>
          m 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          n 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        + 
      </mo> 
      <mi>
        π 
      </mi> 
      <mi>
        m 
      </mi> 
      <mi>
        n 
      </mi> 
      <mo>
        − 
      </mo> 
      <mrow> 
       <mrow> 
        <mn>
          2 
        </mn> 
        <mi>
          π 
        </mi> 
        <mi>
          m 
        </mi> 
        <msub> 
         <mi>
           D 
         </mi> 
         <mn>
           0 
         </mn> 
        </msub> 
       </mrow> 
       <mo>
         / 
       </mo> 
       <mi>
         M 
       </mi> 
      </mrow> 
     </mrow> 
    </math>, M = 2N, 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         b 
       </mi> 
       <mrow> 
        <mi>
          m 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          n 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mi>
          m 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          n 
        </mi> 
       </mrow> 
      </msub> 
      <mi>
        exp 
      </mi> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <mi>
          j 
        </mi> 
        <msub> 
         <mi>
           θ 
         </mi> 
         <mrow> 
          <mi>
            m 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            n 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
     </mrow> 
    </math>, F<sub>0</sub>T<sub>0</sub> = 1, 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        g 
      </mi> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mi>
         k 
       </mi> 
       <mo>
         ] 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mi>
        h 
      </mi> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mrow> 
        <mi>
          k 
        </mi> 
        <mo>
          − 
        </mo> 
        <msub> 
         <mi>
           D 
         </mi> 
         <mn>
           0 
         </mn> 
        </msub> 
       </mrow> 
       <mo>
         ] 
       </mo> 
      </mrow> 
     </mrow> 
    </math> we get:</p>
   <p>
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mtable> 
      <mtr> 
       <mtd> 
        <msub> 
         <mi>
           s 
         </mi> 
         <mn>
           1 
         </mn> 
        </msub> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mi>
           k 
         </mi> 
         <mo>
           ] 
         </mo> 
        </mrow> 
        <mo>
          = 
        </mo> 
        <mi>
          s 
        </mi> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mrow> 
          <mi>
            k 
          </mi> 
          <mo>
            − 
          </mo> 
          <msub> 
           <mi>
             D 
           </mi> 
           <mn>
             0 
           </mn> 
          </msub> 
         </mrow> 
         <mo>
           ] 
         </mo> 
        </mrow> 
        <mo>
          = 
        </mo> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             M 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </munderover> 
         <mrow> 
          <mstyle displaystyle="true"> 
           <munderover> 
            <mo>
              ∑ 
            </mo> 
            <mrow> 
             <mi>
               n 
             </mi> 
             <mo>
               = 
             </mo> 
             <mn>
               0 
             </mn> 
            </mrow> 
            <mrow> 
             <mn>
               2 
             </mn> 
             <msub> 
              <mi>
                L 
              </mi> 
              <mi>
                T 
              </mi> 
             </msub> 
             <mo>
               − 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
           </munderover> 
           <mrow> 
            <msub> 
             <mi>
               a 
             </mi> 
             <mrow> 
              <mi>
                m 
              </mi> 
              <mo>
                , 
              </mo> 
              <mi>
                n 
              </mi> 
             </mrow> 
            </msub> 
            <msub> 
             <mi>
               h 
             </mi> 
             <mrow> 
              <mi>
                m 
              </mi> 
              <mo>
                , 
              </mo> 
              <mi>
                n 
              </mi> 
             </mrow> 
            </msub> 
            <mrow> 
             <mo>
               [ 
             </mo> 
             <mrow> 
              <mi>
                k 
              </mi> 
              <mo>
                − 
              </mo> 
              <msub> 
               <mi>
                 D 
               </mi> 
               <mn>
                 0 
               </mn> 
              </msub> 
             </mrow> 
             <mo>
               ] 
             </mo> 
            </mrow> 
           </mrow> 
          </mstyle> 
         </mrow> 
        </mstyle> 
       </mtd> 
      </mtr> 
      <mtr> 
       <mtd> 
        <mo>
          = 
        </mo> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             M 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </munderover> 
         <mrow> 
          <mstyle displaystyle="true"> 
           <munderover> 
            <mo>
              ∑ 
            </mo> 
            <mrow> 
             <mi>
               n 
             </mi> 
             <mo>
               = 
             </mo> 
             <mn>
               0 
             </mn> 
            </mrow> 
            <mrow> 
             <mn>
               2 
             </mn> 
             <msub> 
              <mi>
                L 
              </mi> 
              <mi>
                T 
              </mi> 
             </msub> 
             <mo>
               − 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
           </munderover> 
           <mrow> 
            <msub> 
             <mi>
               b 
             </mi> 
             <mrow> 
              <mi>
                m 
              </mi> 
              <mo>
                , 
              </mo> 
              <mi>
                n 
              </mi> 
             </mrow> 
            </msub> 
            <munder> 
             <munder> 
              <mrow> 
               <mi>
                 g 
               </mi> 
               <mrow> 
                <mo>
                  [ 
                </mo> 
                <mrow> 
                 <mi>
                   k 
                 </mi> 
                 <mo>
                   − 
                 </mo> 
                 <mi>
                   n 
                 </mi> 
                 <mi>
                   N 
                 </mi> 
                </mrow> 
                <mo>
                  ] 
                </mo> 
               </mrow> 
               <msup> 
                <mtext>
                  e 
                </mtext> 
                <mrow> 
                 <mi>
                   j 
                 </mi> 
                 <mn>
                   2 
                 </mn> 
                 <mi>
                   π 
                 </mi> 
                 <mi>
                   m 
                 </mi> 
                 <mfrac> 
                  <mrow> 
                   <mi>
                     k 
                   </mi> 
                   <mo>
                     − 
                   </mo> 
                   <mi>
                     n 
                   </mi> 
                   <mi>
                     N 
                   </mi> 
                  </mrow> 
                  <mi>
                    M 
                  </mi> 
                 </mfrac> 
                </mrow> 
               </msup> 
              </mrow> 
              <mo stretchy="true">
                ︸ 
              </mo> 
             </munder> 
             <mrow> 
              <msub> 
               <mi>
                 f 
               </mi> 
               <mi>
                 m 
               </mi> 
              </msub> 
              <mrow> 
               <mo>
                 [ 
               </mo> 
               <mrow> 
                <mi>
                  k 
                </mi> 
                <mo>
                  − 
                </mo> 
                <mi>
                  n 
                </mi> 
                <mi>
                  N 
                </mi> 
               </mrow> 
               <mo>
                 ] 
               </mo> 
              </mrow> 
             </mrow> 
            </munder> 
           </mrow> 
          </mstyle> 
         </mrow> 
        </mstyle> 
       </mtd> 
      </mtr> 
      <mtr> 
       <mtd> 
        <mo>
          = 
        </mo> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             M 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </munderover> 
         <mrow> 
          <mstyle displaystyle="true"> 
           <munderover> 
            <mo>
              ∑ 
            </mo> 
            <mrow> 
             <mi>
               n 
             </mi> 
             <mo>
               = 
             </mo> 
             <mn>
               0 
             </mn> 
            </mrow> 
            <mrow> 
             <mn>
               2 
             </mn> 
             <msub> 
              <mi>
                L 
              </mi> 
              <mi>
                T 
              </mi> 
             </msub> 
             <mo>
               − 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
           </munderover> 
           <mrow> 
            <msub> 
             <mi>
               b 
             </mi> 
             <mrow> 
              <mi>
                m 
              </mi> 
              <mo>
                , 
              </mo> 
              <mi>
                n 
              </mi> 
             </mrow> 
            </msub> 
            <msub> 
             <mi>
               f 
             </mi> 
             <mi>
               m 
             </mi> 
            </msub> 
            <mrow> 
             <mo>
               [ 
             </mo> 
             <mrow> 
              <mi>
                k 
              </mi> 
              <mo>
                − 
              </mo> 
              <mi>
                n 
              </mi> 
              <mi>
                N 
              </mi> 
             </mrow> 
             <mo>
               ] 
             </mo> 
            </mrow> 
           </mrow> 
          </mstyle> 
         </mrow> 
        </mstyle> 
       </mtd> 
      </mtr> 
     </mtable> 
    </math> (4)</p>
   <p>The process of obtaining b<sub>m</sub><sub>,</sub><sub>n</sub> from a<sub>m</sub><sub>,</sub><sub>n</sub> will be referred as Pre-Processing as presented in <xref ref-type="bibr" rid="scirp.135214-17">
     [17]
    </xref>. We will also use the following notation 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         u 
       </mi> 
       <mrow> 
        <mi>
          m 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          n 
        </mi> 
       </mrow> 
      </msub> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mi>
         k 
       </mi> 
       <mo>
         ] 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <msub> 
       <mi>
         h 
       </mi> 
       <mrow> 
        <mi>
          m 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          n 
        </mi> 
       </mrow> 
      </msub> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mrow> 
        <mi>
          k 
        </mi> 
        <mo>
          − 
        </mo> 
        <msub> 
         <mi>
           D 
         </mi> 
         <mn>
           0 
         </mn> 
        </msub> 
       </mrow> 
       <mo>
         ] 
       </mo> 
      </mrow> 
     </mrow> 
    </math>. s<sub>1</sub>[k] is the sum of M sub-bands where the m<sup>th</sup> branch is an N-fold expander follows by the filter f<sub>m</sub>[n] [18, page 117] as depicted in <xref ref-type="fig" rid="fig1">
     Figure 1
    </xref>.</p>
   <p>This is actually a synthesis uniform filter-bank. An efficient structure is obtained by using: polyphase decomposition type I <xref ref-type="bibr" rid="scirp.135214-18">
     [18]
    </xref> <xref ref-type="bibr" rid="scirp.135214-19">
     [19]
    </xref> as described in (<xref ref-type="bibr" rid="scirp.135214-20">
     [20]
    </xref> page 766) <xref ref-type="bibr" rid="scirp.135214-21">
     [21]
    </xref>, noble identity (<xref ref-type="bibr" rid="scirp.135214-18">
     [18]
    </xref> page 119) <xref ref-type="bibr" rid="scirp.135214-19">
     [19]
    </xref> (<xref ref-type="bibr" rid="scirp.135214-20">
     [20]
    </xref> page 769), and by taking into account that interpolating by a factor N then, delaying the m<sup>th</sup> sub-band by m samples and summing all the sub-bands can be represented by two switches and an N-samples delay and an adder. All these elements lead to a complete OFDM/OQAM modulator given in <xref ref-type="fig" rid="fig2">
     Figure 2
    </xref>. Some details to obtain such a structure can be found in <xref ref-type="bibr" rid="scirp.135214-8">
     [8]
    </xref> and <xref ref-type="bibr" rid="scirp.135214-22">
     [22]
    </xref>.</p>
   <fig id="fig1" position="float">
    <label>Figure 1</label>
    <caption>
     <title>Figure 1. OFDM/OQAM modulator-structure I.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9702604-rId42.jpeg?20240813033355" />
   </fig>
   <fig id="fig2" position="float">
    <label>Figure 2</label>
    <caption>
     <title>Figure 2. A complete OFDM/OQAM modulator structure.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9702604-rId43.jpeg?20240813033355" />
   </fig>
   <p>Now, let us talk about the demodulator and its structures while considering a perfect channel environment (the received signal is the same as the transmitted one). The demodulation process is based on the real orthogonality property, which is presented in continuous form as given in Equation (2). Indeed, let us denote by:</p>
   <p>
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         c 
       </mi> 
       <mrow> 
        <mi>
          p 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          q 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mrow> 
       <mo>
         〈 
       </mo> 
       <mrow> 
        <mi>
          s 
        </mi> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           h 
         </mi> 
         <mrow> 
          <mi>
            p 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            q 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
       <mo>
         〉 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mstyle displaystyle="true"> 
       <munderover> 
        <mo>
          ∑ 
        </mo> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           0 
         </mn> 
        </mrow> 
        <mrow> 
         <mi>
           M 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </munderover> 
       <mrow> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             n 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mn>
             2 
           </mn> 
           <msub> 
            <mi>
              L 
            </mi> 
            <mi>
              T 
            </mi> 
           </msub> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </munderover> 
         <mrow> 
          <msub> 
           <mi>
             a 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </mstyle> 
       </mrow> 
      </mstyle> 
      <mrow> 
       <mo>
         〈 
       </mo> 
       <mrow> 
        <msub> 
         <mi>
           h 
         </mi> 
         <mrow> 
          <mi>
            m 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            n 
          </mi> 
         </mrow> 
        </msub> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           h 
         </mi> 
         <mrow> 
          <mi>
            p 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            q 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
       <mo>
         〉 
       </mo> 
      </mrow> 
      <mo>
        . 
      </mo> 
     </mrow> 
    </math></p>
   <p>By taking the real part we obtain:</p>
   <p>
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mi>
          p 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          q 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mi>
        ℜ 
      </mi> 
      <mrow> 
       <mo>
         { 
       </mo> 
       <mrow> 
        <msub> 
         <mi>
           c 
         </mi> 
         <mrow> 
          <mi>
            p 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            q 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
       <mo>
         } 
       </mo> 
      </mrow> 
     </mrow> 
    </math></p>
   <p>This last result is obtained following the real orthogonality principle. The design of the prototype filter <xref ref-type="bibr" rid="scirp.135214-8">
     [8]
    </xref> <xref ref-type="bibr" rid="scirp.135214-12">
     [12]
    </xref> <xref ref-type="bibr" rid="scirp.135214-13">
     [13]
    </xref> <xref ref-type="bibr" rid="scirp.135214-23">
     [23]
    </xref>-<xref ref-type="bibr" rid="scirp.135214-25">
     [25]
    </xref> is not the interest of this paper. However, is worth mentioning that the design in continuous time of this prototype while applying their discretized version as far as digital implementation is concerned will lead to loss of orthogonality in discrete mode due to:</p>
   <p>These two problems were already mentioned in <xref ref-type="bibr" rid="scirp.135214-8">
     [8]
    </xref>. We assumed, we have a perfect orthogonality or a nearly-perfect orthogonality in discrete mode. Since we are dealing with s<sub>1</sub>[k] instead of s[k] let us first rewrite the appropriate equation for s<sub>1</sub>[k]. From Equation (4)</p>
   <p>
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         s 
       </mi> 
       <mn>
         1 
       </mn> 
      </msub> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mi>
         k 
       </mi> 
       <mo>
         ] 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mstyle displaystyle="true"> 
       <munderover> 
        <mo>
          ∑ 
        </mo> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           0 
         </mn> 
        </mrow> 
        <mrow> 
         <mi>
           M 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </munderover> 
       <mrow> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             n 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mn>
             2 
           </mn> 
           <msub> 
            <mi>
              L 
            </mi> 
            <mi>
              T 
            </mi> 
           </msub> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </munderover> 
         <mrow> 
          <msub> 
           <mi>
             a 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <msub> 
           <mi>
             u 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <mrow> 
           <mo>
             [ 
           </mo> 
           <mi>
             k 
           </mi> 
           <mo>
             ] 
           </mo> 
          </mrow> 
         </mrow> 
        </mstyle> 
       </mrow> 
      </mstyle> 
     </mrow> 
    </math>.</p>
   <p>Using v = k − D<sub>0</sub> we have:</p>
   <p>
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mtable> 
      <mtr> 
       <mtd> 
        <mrow> 
         <mo>
           〈 
         </mo> 
         <mrow> 
          <msub> 
           <mi>
             u 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <mo>
            , 
          </mo> 
          <msub> 
           <mi>
             u 
           </mi> 
           <mrow> 
            <mi>
              p 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              q 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
         <mo>
           〉 
         </mo> 
        </mrow> 
        <mo>
          = 
        </mo> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             k 
           </mi> 
           <mo>
             = 
           </mo> 
           <mo>
             − 
           </mo> 
           <mi>
             ∞ 
           </mi> 
          </mrow> 
          <mrow> 
           <mo>
             + 
           </mo> 
           <mi>
             ∞ 
           </mi> 
          </mrow> 
         </munderover> 
         <mrow> 
          <msub> 
           <mi>
             u 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <mrow> 
           <mo>
             [ 
           </mo> 
           <mi>
             k 
           </mi> 
           <mo>
             ] 
           </mo> 
          </mrow> 
          <msubsup> 
           <mi>
             u 
           </mi> 
           <mrow> 
            <mi>
              p 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              q 
            </mi> 
           </mrow> 
           <mo>
             * 
           </mo> 
          </msubsup> 
          <mrow> 
           <mo>
             [ 
           </mo> 
           <mi>
             k 
           </mi> 
           <mo>
             ] 
           </mo> 
          </mrow> 
         </mrow> 
        </mstyle> 
       </mtd> 
      </mtr> 
      <mtr> 
       <mtd> 
        <mo>
          = 
        </mo> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             k 
           </mi> 
           <mo>
             = 
           </mo> 
           <mo>
             − 
           </mo> 
           <mi>
             ∞ 
           </mi> 
          </mrow> 
          <mrow> 
           <mo>
             + 
           </mo> 
           <mi>
             ∞ 
           </mi> 
          </mrow> 
         </munderover> 
         <mrow> 
          <msub> 
           <mi>
             h 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <mrow> 
           <mo>
             [ 
           </mo> 
           <mrow> 
            <mi>
              k 
            </mi> 
            <mo>
              − 
            </mo> 
            <msub> 
             <mi>
               D 
             </mi> 
             <mn>
               0 
             </mn> 
            </msub> 
           </mrow> 
           <mo>
             ] 
           </mo> 
          </mrow> 
          <msubsup> 
           <mi>
             h 
           </mi> 
           <mrow> 
            <mi>
              p 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              q 
            </mi> 
           </mrow> 
           <mo>
             * 
           </mo> 
          </msubsup> 
          <mrow> 
           <mo>
             [ 
           </mo> 
           <mrow> 
            <mi>
              k 
            </mi> 
            <mo>
              − 
            </mo> 
            <msub> 
             <mi>
               D 
             </mi> 
             <mn>
               0 
             </mn> 
            </msub> 
           </mrow> 
           <mo>
             ] 
           </mo> 
          </mrow> 
         </mrow> 
        </mstyle> 
       </mtd> 
      </mtr> 
      <mtr> 
       <mtd> 
        <mo>
          = 
        </mo> 
        <mstyle displaystyle="true"> 
         <munderover> 
          <mo>
            ∑ 
          </mo> 
          <mrow> 
           <mi>
             k 
           </mi> 
           <mo>
             = 
           </mo> 
           <mo>
             − 
           </mo> 
           <mi>
             ∞ 
           </mi> 
          </mrow> 
          <mrow> 
           <mo>
             + 
           </mo> 
           <mi>
             ∞ 
           </mi> 
          </mrow> 
         </munderover> 
         <mrow> 
          <msub> 
           <mi>
             h 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <mrow> 
           <mo>
             [ 
           </mo> 
           <mi>
             v 
           </mi> 
           <mo>
             ] 
           </mo> 
          </mrow> 
          <msubsup> 
           <mi>
             h 
           </mi> 
           <mrow> 
            <mi>
              p 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              q 
            </mi> 
           </mrow> 
           <mo>
             * 
           </mo> 
          </msubsup> 
          <mrow> 
           <mo>
             [ 
           </mo> 
           <mi>
             v 
           </mi> 
           <mo>
             ] 
           </mo> 
          </mrow> 
         </mrow> 
        </mstyle> 
        <mo>
          = 
        </mo> 
        <mrow> 
         <mo>
           〈 
         </mo> 
         <mrow> 
          <msub> 
           <mi>
             h 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
          <mo>
            , 
          </mo> 
          <msub> 
           <mi>
             h 
           </mi> 
           <mrow> 
            <mi>
              p 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              q 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
         <mo>
           〉 
         </mo> 
        </mrow> 
       </mtd> 
      </mtr> 
     </mtable> 
    </math> (5)</p>
   <p>Thus for s<sub>1</sub>[k] everything looks as for s[k] as long as we replace h<sub>p</sub><sub>,</sub><sub>q</sub> by u<sub>p</sub><sub>,</sub><sub>q</sub> i.e. 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         c 
       </mi> 
       <mrow> 
        <mi>
          p 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          q 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mrow> 
       <mo>
         〈 
       </mo> 
       <mrow> 
        <msub> 
         <mi>
           s 
         </mi> 
         <mn>
           1 
         </mn> 
        </msub> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           u 
         </mi> 
         <mrow> 
          <mi>
            p 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            q 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
       <mo>
         〉 
       </mo> 
      </mrow> 
     </mrow> 
    </math>. Still in discrete mode and setting 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mo> 
      </mo> 
      <msub> 
       <mi>
         l 
       </mi> 
       <mi>
         p 
       </mi> 
      </msub> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mi>
         k 
       </mi> 
       <mo>
         ] 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mi>
        g 
      </mi> 
      <msup> 
       <mrow> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mrow> 
          <mo>
            − 
          </mo> 
          <mi>
            k 
          </mi> 
         </mrow> 
         <mo>
           ] 
         </mo> 
        </mrow> 
       </mrow> 
       <mo>
         * 
       </mo> 
      </msup> 
      <mi>
        exp 
      </mi> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <mrow> 
         <mrow> 
          <mtext> 
          </mtext> 
          <mi>
            j 
          </mi> 
          <mn>
            2 
          </mn> 
          <mi>
            π 
          </mi> 
          <mi>
            p 
          </mi> 
          <mi>
            k 
          </mi> 
         </mrow> 
         <mo>
           / 
         </mo> 
         <mi>
           M 
         </mi> 
        </mrow> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
     </mrow> 
    </math>, we obtain:</p>
   <p>
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         c 
       </mi> 
       <mrow> 
        <mi>
          p 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          q 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mstyle displaystyle="true"> 
       <munderover> 
        <mo>
          ∑ 
        </mo> 
        <mrow> 
         <mi>
           k 
         </mi> 
         <mo>
           = 
         </mo> 
         <mo>
           − 
         </mo> 
         <mi>
           ∞ 
         </mi> 
        </mrow> 
        <mrow> 
         <mo>
           + 
         </mo> 
         <mi>
           ∞ 
         </mi> 
        </mrow> 
       </munderover> 
       <mrow> 
        <msub> 
         <mi>
           s 
         </mi> 
         <mn>
           1 
         </mn> 
        </msub> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mi>
           k 
         </mi> 
         <mo>
           ] 
         </mo> 
        </mrow> 
        <msubsup> 
         <mi>
           u 
         </mi> 
         <mrow> 
          <mi>
            p 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            q 
          </mi> 
         </mrow> 
         <mo>
           * 
         </mo> 
        </msubsup> 
        <mrow> 
         <mo>
           [ 
         </mo> 
         <mi>
           k 
         </mi> 
         <mo>
           ] 
         </mo> 
        </mrow> 
       </mrow> 
      </mstyle> 
      <mo>
        = 
      </mo> 
      <msup> 
       <mtext>
         e 
       </mtext> 
       <mrow> 
        <mo>
          − 
        </mo> 
        <mi>
          j 
        </mi> 
        <msub> 
         <mi>
           θ 
         </mi> 
         <mrow> 
          <mi>
            p 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            q 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </msup> 
      <munder> 
       <munder> 
        <mrow> 
         <mstyle displaystyle="true"> 
          <munderover> 
           <mo>
             ∑ 
           </mo> 
           <mrow> 
            <mi>
              k 
            </mi> 
            <mo>
              = 
            </mo> 
            <mo>
              − 
            </mo> 
            <mi>
              ∞ 
            </mi> 
           </mrow> 
           <mrow> 
            <mo>
              + 
            </mo> 
            <mi>
              ∞ 
            </mi> 
           </mrow> 
          </munderover> 
          <mrow> 
           <msub> 
            <mi>
              s 
            </mi> 
            <mn>
              1 
            </mn> 
           </msub> 
           <mrow> 
            <mo>
              [ 
            </mo> 
            <mi>
              k 
            </mi> 
            <mo>
              ] 
            </mo> 
           </mrow> 
           <msub> 
            <mi>
              l 
            </mi> 
            <mi>
              p 
            </mi> 
           </msub> 
           <mrow> 
            <mo>
              [ 
            </mo> 
            <mrow> 
             <mi>
               q 
             </mi> 
             <mi>
               N 
             </mi> 
             <mo>
               − 
             </mo> 
             <mi>
               k 
             </mi> 
            </mrow> 
            <mo>
              ] 
            </mo> 
           </mrow> 
          </mrow> 
         </mstyle> 
        </mrow> 
        <mo stretchy="true">
          ︸ 
        </mo> 
       </munder> 
       <mrow> 
        <msub> 
         <mi>
           y 
         </mi> 
         <mrow> 
          <mi>
            p 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            q 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </munder> 
     </mrow> 
    </math> (6)</p>
   <p>Equation (6) means that y<sub>p</sub><sub>,</sub><sub>q</sub> is obtained by filtering s<sub>1</sub>[k] with the filter l<sub>p</sub>[n] then down-sampling the output by a factor N[18, page 117]. Multiplying y<sub>p</sub><sub>,</sub><sub>q</sub> = y<sub>p</sub>[q] by exp(−jθ<sub>p</sub><sub>,</sub><sub>q</sub>) (It is called Post-Processing) will generate c<sub>p</sub><sub>,</sub><sub>q</sub> and taking the real part of it, we will obtain a<sub>p</sub><sub>,</sub><sub>q</sub> as previously shown. This is actually an analysis uniform filter-bank. <xref ref-type="fig" rid="fig3">
     Figure 3
    </xref> illustrates this demodulator structure.</p>
   <p>An efficient structure can be obtained by using polyphase decomposition type I and by taking into accounts the delays elements and downsampling. <xref ref-type="fig" rid="fig4">
     Figure 4
    </xref> summarizes a structure that we can obtain by these processes, where the polyphase decomposition type I of G(Z) is given by:</p>
   <p>
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        G 
      </mi> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mi>
         Z 
       </mi> 
       <mo>
         ) 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mstyle displaystyle="true"> 
       <munderover> 
        <mo>
          ∑ 
        </mo> 
        <mrow> 
         <mi>
           l 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           0 
         </mn> 
        </mrow> 
        <mrow> 
         <mi>
           M 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </munderover> 
       <mrow> 
        <msup> 
         <mi>
           Z 
         </mi> 
         <mrow> 
          <mo>
            − 
          </mo> 
          <mi>
            l 
          </mi> 
         </mrow> 
        </msup> 
        <msub> 
         <mi>
           E 
         </mi> 
         <mi>
           l 
         </mi> 
        </msub> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msup> 
           <mi>
             Z 
           </mi> 
           <mi>
             M 
           </mi> 
          </msup> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </mstyle> 
     </mrow> 
    </math></p>
   <p>where E<sub>l</sub>(Z) is the Z-transform of the filter 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         e 
       </mi> 
       <mi>
         l 
       </mi> 
      </msub> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mi>
         k 
       </mi> 
       <mo>
         ] 
       </mo> 
      </mrow> 
      <mo>
        = 
      </mo> 
      <mi>
        g 
      </mi> 
      <mrow> 
       <mo>
         [ 
       </mo> 
       <mrow> 
        <mi>
          l 
        </mi> 
        <mo>
          + 
        </mo> 
        <mi>
          k 
        </mi> 
        <mi>
          M 
        </mi> 
       </mrow> 
       <mo>
         ] 
       </mo> 
      </mrow> 
     </mrow> 
    </math>. Moreover n<sub>0</sub> and n<sub>1</sub> are integer obtained in the process of having only causal elements in the receiver structure. See <xref ref-type="bibr" rid="scirp.135214-8">
     [8]
    </xref> and <xref ref-type="bibr" rid="scirp.135214-22">
     [22]
    </xref> for some details.</p>
   <fig id="fig3" position="float">
    <label>Figure 3</label>
    <caption>
     <title>Figure 3. An OFDM/OQAM demodulator structure.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9702604-rId62.jpeg?20240813033355" />
   </fig>
   <fig id="fig4" position="float">
    <label>Figure 4</label>
    <caption>
     <title>Figure 4. A complete OFDM/OQAM demodulator structure.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9702604-rId63.jpeg?20240813033355" />
   </fig>
   <p>Having given the details of OFDM/OQAM modulation, let us apply this OFDM/OQAM modulation with Code Division Multiplexing Access (CDMA).</p>
  </sec><sec id="s3">
   <title>3. CDMA and OFDM/OQAM</title>
   <p>This section is divided into three main parts. The first and second parts recall some elements pertaining to the combination of Walsh-Hadamard codes with OFDM/OQAM firstly for real data transmission and secondly for complex data transmission. Then the last part is about our proposed method in other to improve the bit error rate (BER) at low signal to noise ratio (SNR). We are going to start with CDMA and real data transmission in OFDM/OQAM.</p>
   <sec id="s3_1">
    <title>3.1. Real Data Transmission with CDMA</title>
    <p>This section deals with spreading of data using codes. For spreading we may use any invertible matrix</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         H 
       </mi> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
       <mo>
         , 
       </mo> 
       <mtext>
           
       </mtext> 
       <mtext>
           
       </mtext> 
       <mn>
         0 
       </mn> 
       <mo>
         ≤ 
       </mo> 
       <mi>
         i 
       </mi> 
       <mo>
         , 
       </mo> 
       <mi>
         j 
       </mi> 
       <mo>
         ≤ 
       </mo> 
       <mi>
         W 
       </mi> 
       <mo>
         − 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math></p>
    <p>of size W × W. To this matrix is associated an inverse matrix G i.e. H ∗ G = I<sub>W</sub>. We will denote by H<sub>V</sub> resp. (G<sub>V</sub>) the matrix extracted from H resp. (G) which has V rows resp. (columns) and which may be the first V rows resp. (columns) of H resp. (G). Then we have the following result H<sub>V</sub>G<sub>V</sub> = I<sub>V</sub>. CDMA especially with Hadamard codes can be used as a spreading technique to spread data either in time or frequency domain. Here we will focus on spreading in time domain. To simply our presentation, we assume that the duration of the real data in time is W = 2L<sub>T</sub>. Therefore, at a particular frequency m, a maximum of W real data can be transmitted. Let us denote these data by 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
        </mrow> 
        <mi>
          r 
        </mi> 
       </msubsup> 
      </mrow> 
     </math> with 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mn>
         0 
       </mn> 
       <mo>
         ≤ 
       </mo> 
       <mi>
         u 
       </mi> 
       <mo>
         ≤ 
       </mo> 
       <mi>
         V 
       </mi> 
       <mo>
         − 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         ≤ 
       </mo> 
       <mi>
         W 
       </mi> 
       <mo>
         − 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math> where V is the number of real data transmitted at each frequency. These data are gathered in a vector dm<sup>r</sup>:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         d 
       </mi> 
       <msup> 
        <mi>
          m 
        </mi> 
        <mi>
          r 
        </mi> 
       </msup> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            [ 
          </mo> 
          <mrow> 
           <msubsup> 
            <mi>
              d 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mn>
               0 
             </mn> 
            </mrow> 
            <mi>
              r 
            </mi> 
           </msubsup> 
           <mo>
             , 
           </mo> 
           <msubsup> 
            <mi>
              d 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
            <mi>
              r 
            </mi> 
           </msubsup> 
           <mo>
             , 
           </mo> 
           <mo>
             ⋯ 
           </mo> 
           <mo>
             , 
           </mo> 
           <msubsup> 
            <mi>
              d 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
             <mo>
               − 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
            <mi>
              r 
            </mi> 
           </msubsup> 
          </mrow> 
          <mo>
            ] 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
       <mo>
         . 
       </mo> 
      </mrow> 
     </math></p>
    <p>When multiplying (dm<sup>r</sup>)<sup>t</sup> and H<sub>V</sub> it spreads each data on W times instant while performing a linear combination of the data (the coefficients of these linear combinations are gathered in H<sub>V</sub>) that is:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             d 
           </mi> 
           <msup> 
            <mi>
              m 
            </mi> 
            <mi>
              r 
            </mi> 
           </msup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
       <msub> 
        <mi>
          H 
        </mi> 
        <mi>
          V 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            a 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            a 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            a 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             W 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
       <mo>
         . 
       </mo> 
      </mrow> 
     </math></p>
    <p>These a<sub>m</sub><sub>,</sub><sub>n</sub> become similar to the a<sub>m</sub><sub>,</sub><sub>n</sub> used in section 2 except that they are not the real or imaginary part of a QAM modulation. The process to obtain a<sub>m</sub><sub>,</sub><sub>n</sub> from 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
        </mrow> 
        <mi>
          r 
        </mi> 
       </msubsup> 
      </mrow> 
     </math> will be called time spreading. Then the structure of the modulator remains exactly the same as in Section 2. This situation is depicted in <xref ref-type="fig" rid="fig5">
      Figure 5
     </xref> where the entries with upper letters r are to be considered.</p>
    <fig id="fig5" position="float">
     <label>Figure 5</label>
     <caption>
      <title>Figure 5. OFDM/OQAM modulator with CDMA time spreading and real data.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9702604-rId75.jpeg?20240813033356" />
    </fig>
    <p>The structure of the demodulator also remains the same up to the point where estimates 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           n 
         </mi> 
        </mrow> 
        <mi>
          e 
        </mi> 
       </msubsup> 
      </mrow> 
     </math> of a<sub>m</sub><sub>,</sub><sub>n</sub> are obtained, see section 2. Then the despreading operation will happen frequency by frequency and it consists of:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         a 
       </mi> 
       <msup> 
        <mi>
          m 
        </mi> 
        <mi>
          e 
        </mi> 
       </msup> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            [ 
          </mo> 
          <mrow> 
           <msubsup> 
            <mi>
              a 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mn>
               0 
             </mn> 
            </mrow> 
            <mi>
              e 
            </mi> 
           </msubsup> 
           <mo>
             , 
           </mo> 
           <msubsup> 
            <mi>
              a 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
            <mi>
              e 
            </mi> 
           </msubsup> 
           <mo>
             , 
           </mo> 
           <mo>
             ⋯ 
           </mo> 
           <mo>
             , 
           </mo> 
           <msubsup> 
            <mi>
              a 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               W 
             </mi> 
             <mo>
               − 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
            <mi>
              e 
            </mi> 
           </msubsup> 
          </mrow> 
          <mo>
            ] 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
      </mrow> 
     </math></p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             a 
           </mi> 
           <msup> 
            <mi>
              m 
            </mi> 
            <mi>
              e 
            </mi> 
           </msup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
       <msub> 
        <mi>
          G 
        </mi> 
        <mi>
          V 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <msubsup> 
          <mi>
            d 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             r 
           </mi> 
           <mi>
             e 
           </mi> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            d 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             r 
           </mi> 
           <mi>
             e 
           </mi> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            d 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             V 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             r 
           </mi> 
           <mi>
             e 
           </mi> 
          </mrow> 
         </msubsup> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             d 
           </mi> 
           <msup> 
            <mi>
              m 
            </mi> 
            <mrow> 
             <mi>
               r 
             </mi> 
             <mi>
               e 
             </mi> 
            </mrow> 
           </msup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
      </mrow> 
     </math></p>
    <p>This last operation will be referred as time despreading. This process is illustrated in <xref ref-type="fig" rid="fig6">
      Figure 6
     </xref>.</p>
    <fig id="fig6" position="float">
     <label>Figure 6</label>
     <caption>
      <title>Figure 6. OFDM/OQAM demodulator with CDMA time spreading and real data.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9702604-rId88.jpeg?20240813033356" />
    </fig>
    <p>Now, let us turn to the case of complex data transmission with Walsh-hadamard matrix.</p>
   </sec>
   <sec id="s3_2">
    <title>3.2. Complex Data Transmission with Hadamard Codes</title>
    <p>In this section, we consider the transmission of complex data in OFDM/OQAM with Hadamard codes. Indeed in <xref ref-type="bibr" rid="scirp.135214-15">
      [15]
     </xref>, it is shown that when combining Walsh-Hadamard codes with OFDM/OQAM it is possible to obtain complex orthogonality. But this happens at the expense of using only a maximum of half the total number of codes. Indeed for an Hadamard matrix of size W × W, which contains a set 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mn>
           1 
         </mn> 
         <mo>
           , 
         </mo> 
         <mn>
           2 
         </mn> 
         <mo>
           , 
         </mo> 
         <mn>
           3 
         </mn> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <mi>
           W 
         </mi> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> of W codes (a code may be associated to each row). One can exhibit two subsets S1 and S2 which form a partition of S i.e. 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <mn>
         1 
       </mn> 
       <mo>
         ∪ 
       </mo> 
       <mi>
         S 
       </mi> 
       <mn>
         2 
       </mn> 
       <mo>
         = 
       </mo> 
       <mi>
         S 
       </mi> 
      </mrow> 
     </math> and 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <mn>
         1 
       </mn> 
       <mo>
         ∩ 
       </mo> 
       <mi>
         S 
       </mi> 
       <mn>
         2 
       </mn> 
       <mo>
         = 
       </mo> 
       <mo>
         ∅ 
       </mo> 
      </mrow> 
     </math>. When either subset is used we can transmit complex data as show in <xref ref-type="bibr" rid="scirp.135214-15">
      [15]
     </xref>. Considering again time spreading, we will denote by H<sup>(</sup><sup>i</sup><sup>)</sup> resp. (G<sup>(</sup><sup>i</sup><sup>)</sup>) the matrix extracted from H resp. (G) which has W/2 rows resp. (columns) and which are the rows resp. (columns) whose row resp. (column) indexes are in Si. Where i is either 1 or 2. Similarly with the previous section, we will denote by 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          H 
        </mi> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            i 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math> resp. ( 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          G 
        </mi> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            i 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math>) the matrix extracted from H<sup>(</sup><sup>i</sup><sup>)</sup> resp. (G<sup>(</sup><sup>i</sup><sup>)</sup>) which has V rows resp. (columns) and which are the first V rows resp. (columns) of H<sup>(</sup><sup>i</sup><sup>)</sup> resp. (G<sup>(</sup><sup>i</sup><sup>)</sup>). Then we have the following result 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          H 
        </mi> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            i 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
       <msubsup> 
        <mi>
          G 
        </mi> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            i 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          I 
        </mi> 
        <mi>
          V 
        </mi> 
       </msub> 
      </mrow> 
     </math>. At a particular frequency m, a maximum of W/2 complex data can be transmitted and there are spread over W time instant. Let us denote these data by 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
      </mrow> 
     </math> with 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mn>
         0 
       </mn> 
       <mo>
         ≤ 
       </mo> 
       <mi>
         u 
       </mi> 
       <mo>
         ≤ 
       </mo> 
       <mi>
         V 
       </mi> 
       <mo>
         − 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         ≤ 
       </mo> 
       <mrow> 
        <mi>
          W 
        </mi> 
        <mo>
          / 
        </mo> 
        <mn>
          2 
        </mn> 
       </mrow> 
       <mo>
         − 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math> where V is the number of complex data transmitted at each frequency. These data are gathered in a vector dm<sup>c</sup>:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         d 
       </mi> 
       <msup> 
        <mi>
          m 
        </mi> 
        <mi>
          c 
        </mi> 
       </msup> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            [ 
          </mo> 
          <mrow> 
           <msubsup> 
            <mi>
              d 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mn>
               0 
             </mn> 
            </mrow> 
            <mi>
              c 
            </mi> 
           </msubsup> 
           <mo>
             , 
           </mo> 
           <msubsup> 
            <mi>
              d 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
            <mi>
              c 
            </mi> 
           </msubsup> 
           <mo>
             , 
           </mo> 
           <mo>
             ⋯ 
           </mo> 
           <mo>
             , 
           </mo> 
           <msubsup> 
            <mi>
              d 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               W 
             </mi> 
             <mo>
               − 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
            <mi>
              c 
            </mi> 
           </msubsup> 
          </mrow> 
          <mo>
            ] 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
      </mrow> 
     </math></p>
    <p>When multiplying (dm<sup>c</sup>)<sup>t</sup> and 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          H 
        </mi> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            i 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math> it spreads each data on W times instant while performing a linear combination of the data (the coefficients of these linear combinations are gathered in 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          H 
        </mi> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            i 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math>) that is:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             d 
           </mi> 
           <msup> 
            <mi>
              m 
            </mi> 
            <mi>
              c 
            </mi> 
           </msup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
       <msubsup> 
        <mi>
          H 
        </mi> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            i 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <msubsup> 
          <mi>
            a 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mi>
              c 
            </mi> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            a 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mi>
              c 
            </mi> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            a 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             W 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mi>
              c 
            </mi> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
       <mo>
         . 
       </mo> 
      </mrow> 
     </math></p>
    <p>These 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           n 
         </mi> 
        </mrow> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            c 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math> are now complex data different from the a<sub>m</sub><sub>,</sub><sub>n</sub> used in Section 2. The process to obtain 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           n 
         </mi> 
        </mrow> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            c 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math> from 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
      </mrow> 
     </math> will still be called time spreading. Then the structure of the modulator remains exactly the same as in Section 2 and in this specific case we still have W = L<sub>T</sub>. This situation is depicted in <xref ref-type="fig" rid="fig5">
      Figure 5
     </xref> where the entries with upper letter c are to be considered.</p>
    <p>The structure of the demodulator also remains the same up to the point where estimates 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           n 
         </mi> 
        </mrow> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             c 
           </mi> 
           <mi>
             e 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math> of 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           n 
         </mi> 
        </mrow> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            c 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math> are obtained. It should be emphasized that for complex data the block post-processing is no longer combined with the real part (the real part is left out) since we have transmitted complex data. Then the despreading operation will happen frequency by frequency and it consists of:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         a 
       </mi> 
       <msup> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             c 
           </mi> 
           <mi>
             e 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msup> 
       <mo> 
       </mo> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            [ 
          </mo> 
          <mrow> 
           <msubsup> 
            <mi>
              a 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mn>
               0 
             </mn> 
            </mrow> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mrow> 
               <mi>
                 c 
               </mi> 
               <mi>
                 e 
               </mi> 
              </mrow> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msubsup> 
           <mo>
             , 
           </mo> 
           <msubsup> 
            <mi>
              a 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mrow> 
               <mi>
                 c 
               </mi> 
               <mi>
                 e 
               </mi> 
              </mrow> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msubsup> 
           <mo>
             , 
           </mo> 
           <mo>
             ⋯ 
           </mo> 
           <mo>
             , 
           </mo> 
           <msubsup> 
            <mi>
              a 
            </mi> 
            <mrow> 
             <mi>
               m 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               W 
             </mi> 
             <mo>
               − 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mrow> 
               <mi>
                 c 
               </mi> 
               <mi>
                 e 
               </mi> 
              </mrow> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msubsup> 
          </mrow> 
          <mo>
            ] 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
      </mrow> 
     </math></p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             a 
           </mi> 
           <msup> 
            <mi>
              m 
            </mi> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mrow> 
               <mi>
                 c 
               </mi> 
               <mi>
                 e 
               </mi> 
              </mrow> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
       <msubsup> 
        <mi>
          G 
        </mi> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            i 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <msubsup> 
          <mi>
            d 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             c 
           </mi> 
           <mi>
             e 
           </mi> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            d 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             c 
           </mi> 
           <mi>
             e 
           </mi> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            d 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             V 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             c 
           </mi> 
           <mi>
             e 
           </mi> 
          </mrow> 
         </msubsup> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             d 
           </mi> 
           <msup> 
            <mi>
              m 
            </mi> 
            <mrow> 
             <mi>
               c 
             </mi> 
             <mi>
               e 
             </mi> 
            </mrow> 
           </msup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
      </mrow> 
     </math></p>
    <p>This last operation will be referred as time despreading. It is worth mentioning that V codes used with complex data correspond to 2V codes with real data. The demodulator is given in <xref ref-type="fig" rid="fig7">
      Figure 7
     </xref> as we can notice the operations of taking the real part have disappeared.</p>
    <p>One of the main advantages of complex data transmission is the reduction of the impact Multiple Access Interference (MAI) term <xref ref-type="bibr" rid="scirp.135214-15">
      [15]
     </xref>, term which is linked to the number of codes used. If we denote by 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          h 
        </mi> 
        <mrow> 
         <mi>
           p 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           q 
         </mi> 
        </mrow> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             V 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math> the elements of the matrix 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          H 
        </mi> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            i 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math> at row p and column q we can also write:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             a 
           </mi> 
           <msup> 
            <mi>
              m 
            </mi> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mrow> 
               <mi>
                 c 
               </mi> 
               <mi>
                 e 
               </mi> 
              </mrow> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <munderover> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            u 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            0 
          </mn> 
         </mrow> 
         <mrow> 
          <mi>
            V 
          </mi> 
          <mo>
            − 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
        </munderover> 
        <mrow> 
         <msubsup> 
          <mi>
            d 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             u 
           </mi> 
          </mrow> 
          <mi>
            c 
          </mi> 
         </msubsup> 
        </mrow> 
       </mstyle> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             W 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
      </mrow> 
     </math></p>
    <p>where 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             W 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
      </mrow> 
     </math> is code u of 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          H 
        </mi> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            i 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
      </mrow> 
     </math>. Let us now focus on our proposal to improve the transmission at lower SNR using a combination of the two subsets.</p>
    <fig id="fig7" position="float">
     <label>Figure 7</label>
     <caption>
      <title>Figure 7. OFDM/OQAM demodulator with CDMA time spreading and complex data.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9702604-rId140.jpeg?20240813033357" />
    </fig>
   </sec>
   <sec id="s3_3">
    <title>3.3. Method to Improve Performances</title>
    <p>In this part, we are going to specify our proposal to improve the decoding process at low SNR. The two subsets that we mentioned in the previous section provide complex orthogonality as long as only one subset is used. When codes from the two subsets are used together the system generates interferences that is a code in subset S1 will produce with codes in subset S2 interferences. Let us assume that subset S2 is the set to be used, that in pure complex CDMA transmission the time spreading corresponds to:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             a 
           </mi> 
           <msup> 
            <mi>
              m 
            </mi> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mi>
                c 
              </mi> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <munderover> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            u 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            0 
          </mn> 
         </mrow> 
         <mrow> 
          <mi>
            V 
          </mi> 
          <mo>
            − 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
        </munderover> 
        <mrow> 
         <msubsup> 
          <mi>
            d 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             u 
           </mi> 
          </mrow> 
          <mi>
            c 
          </mi> 
         </msubsup> 
        </mrow> 
       </mstyle> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mn>
               2 
             </mn> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mn>
               2 
             </mn> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             W 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mn>
               2 
             </mn> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
      </mrow> 
     </math></p>
    <p>the despreading operation in presence of perfect channel (received signal is equal to the transmitted signal) will produce (neglecting the distortion of the filters): 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
        </mrow> 
        <mrow> 
         <mi>
           c 
         </mi> 
         <mi>
           e 
         </mi> 
        </mrow> 
       </msubsup> 
       <mo>
         = 
       </mo> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
      </mrow> 
     </math>. Now if we add one code ip of S1 to the transmission, the time spreading operation can be written as:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             a 
           </mi> 
           <msup> 
            <mi>
              m 
            </mi> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mi>
                c 
              </mi> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mi>
          t 
        </mi> 
       </msup> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <munderover> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            u 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            0 
          </mn> 
         </mrow> 
         <mrow> 
          <mi>
            V 
          </mi> 
          <mo>
            − 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
        </munderover> 
        <mrow> 
         <msubsup> 
          <mi>
            d 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             u 
           </mi> 
          </mrow> 
          <mi>
            c 
          </mi> 
         </msubsup> 
        </mrow> 
       </mstyle> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mn>
               2 
             </mn> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mn>
               2 
             </mn> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             u 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             W 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mn>
               2 
             </mn> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
       <mo>
         + 
       </mo> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           i 
         </mi> 
         <mi>
           p 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             p 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mn>
               1 
             </mn> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             p 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mn>
               1 
             </mn> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             p 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             W 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mn>
               1 
             </mn> 
             <mo>
               , 
             </mo> 
             <mi>
               V 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
      </mrow> 
     </math></p>
    <p>Still in presence of perfect channel the decoding process will generate:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
        </mrow> 
        <mrow> 
         <mi>
           c 
         </mi> 
         <mi>
           e 
         </mi> 
        </mrow> 
       </msubsup> 
       <mo>
         ≈ 
       </mo> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
       <mo>
         + 
       </mo> 
       <mstyle displaystyle="true"> 
        <munderover> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            k 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            0 
          </mn> 
         </mrow> 
         <mrow> 
          <mi>
            M 
          </mi> 
          <mo>
            − 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
        </munderover> 
        <mrow> 
         <msub> 
          <mi>
            β 
          </mi> 
          <mi>
            k 
          </mi> 
         </msub> 
         <mi>
           j 
         </mi> 
         <msubsup> 
          <mi>
            d 
          </mi> 
          <mrow> 
           <mi>
             k 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             i 
           </mi> 
           <mi>
             p 
           </mi> 
          </mrow> 
          <mi>
            c 
          </mi> 
         </msubsup> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math> (7)</p>
    <p>where β<sub>k</sub> are real quantity and 0 ≤ u ≤ V −1. That is code ip of S1 creates interference with all the codes in S2. However, it happens that for certain code ip of S1, the inteference is significant with a particular code u<sub>ip</sub> of S2 and negligeable with other codes of S2. In this particular case Equation (7) is now:</p>
    <p>where m2 is a frequency which can be different from m and n<sub>m</sub><sub>,</sub><sub>u</sub> is a noise component containing the interferences of code ip. The idea of the paper is to:</p>
    <p>1) Select some codes ip of S1 which are adequate i.e. an adequate code is a code of S1 which creates only significant interference with a particular code of S2 and negligible one with other codes of S2. Let us denote then by 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          q 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         , 
       </mo> 
       <msub> 
        <mi>
          q 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <msub> 
        <mi>
          q 
        </mi> 
        <mi>
          z 
        </mi> 
       </msub> 
      </mrow> 
     </math>. Hence, we can say that codes qp (resp. q) of S1 produces main interference with code uqp (resp. uq) of S2.</p>
    <p>2) Instead of transmitting 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
         <mi>
           q 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
      </mrow> 
     </math> with code uq we transmit 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mn>
         0.707 
       </mn> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
         <mi>
           q 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
      </mrow> 
     </math> with code u<sub>q</sub> of S2 (half power) and we transmit 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mo>
         ± 
       </mo> 
       <mn>
         0.707 
       </mn> 
       <mi>
         j 
       </mi> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
         <mi>
           q 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
      </mrow> 
     </math> with code q of S1 but at frequency m2 such that at the receiving side after the decoding process Equation (8) yields:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
         <mi>
           q 
         </mi> 
        </mrow> 
        <mrow> 
         <mi>
           c 
         </mi> 
         <mi>
           e 
         </mi> 
        </mrow> 
       </msubsup> 
       <mo>
         ≈ 
       </mo> 
       <mn>
         0.707 
       </mn> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
         <mi>
           q 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
       <mo>
         ± 
       </mo> 
       <mn>
         0.707 
       </mn> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mn>
           2 
         </mn> 
        </mrow> 
       </msub> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
         <mi>
           q 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
       <mo>
         = 
       </mo> 
       <mn>
         0.707 
       </mn> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           1 
         </mn> 
         <mo>
           ± 
         </mo> 
         <msub> 
          <mi>
            β 
          </mi> 
          <mrow> 
           <mi>
             m 
           </mi> 
           <mn>
             2 
           </mn> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
         <mi>
           q 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
      </mrow> 
     </math></p>
    <p>± is used to ensure that 1 ± β<sub>m</sub><sub>2</sub> is the sum of two positive real numbers. With this, one may really improve the SNR for the decoding of the data carried by code u<sub>q</sub> at the expense of generating some noise component on the remaining data carried by code u for u ≠ uq. Thus possible deterioration of performance may be noticeable at high SNR. Then, we could expect that the data being received strongly will provide a gain which compensate for the loss due to interference in other codes. Fortunately, this expectation turns out to be true at small SNR. The next section presents the results and the gain that we obtain using a simple AWGN channel. In this particular case at low SNR, the SNR can be approximately given by:</p>
    <p>u = u<sub>ip</sub></p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         SNR 
       </mtext> 
       <mo>
         ≈ 
       </mo> 
       <mfrac> 
        <mrow> 
         <msup> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <mn>
               1 
             </mn> 
             <mo>
               ± 
             </mo> 
             <msub> 
              <mi>
                β 
              </mi> 
              <mrow> 
               <mi>
                 m 
               </mi> 
               <mn>
                 2 
               </mn> 
              </mrow> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
          <mn>
            2 
          </mn> 
         </msup> 
         <msub> 
          <mi>
            P 
          </mi> 
          <mi>
            d 
          </mi> 
         </msub> 
        </mrow> 
        <mrow> 
         <msub> 
          <mi>
            N 
          </mi> 
          <mn>
            0 
          </mn> 
         </msub> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (9)</p>
    <p>and for u ≠ u<sub>ip</sub></p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         SNR 
       </mtext> 
       <mo>
         ≈ 
       </mo> 
       <mfrac> 
        <mrow> 
         <msub> 
          <mi>
            P 
          </mi> 
          <mi>
            d 
          </mi> 
         </msub> 
        </mrow> 
        <mrow> 
         <mfrac> 
          <mrow> 
           <msub> 
            <mi>
              N 
            </mi> 
            <mn>
              0 
            </mn> 
           </msub> 
          </mrow> 
          <mn>
            2 
          </mn> 
         </mfrac> 
         <mo>
           + 
         </mo> 
         <mi>
           δ 
         </mi> 
         <msub> 
          <mi>
            P 
          </mi> 
          <mi>
            d 
          </mi> 
         </msub> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (10)</p>
    <p>where P<sub>d</sub> is the average power of the complex data 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          d 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           u 
         </mi> 
        </mrow> 
        <mi>
          c 
        </mi> 
       </msubsup> 
      </mrow> 
     </math>, N<sub>0</sub>/2 is the average noise power and δP<sub>d</sub> is the average power of the interference components. Let us focus on the results we have in AWGN channel.</p>
   </sec>
  </sec><sec id="s4">
   <title>4. Results and Discussion</title>
   <p>In this section we focus on the performance of the different schemes presented in this paper in presence of AWGN (Additive White Gaussian Noise) channel in order to assess the basic performances and come up with the first findings concerning the studies carried out in this work. Performance will be evaluated:</p>
   <p>We recall that single carrier (SC) transmission in presence of AWGN channel is modelled as: 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         y 
       </mi> 
       <mi>
         k 
       </mi> 
      </msub> 
      <mo>
        = 
      </mo> 
      <msubsup> 
       <mi>
         a 
       </mi> 
       <mi>
         k 
       </mi> 
       <mrow> 
        <mo stretchy="false">
          ( 
        </mo> 
        <mi>
          c 
        </mi> 
        <mo stretchy="false">
          ) 
        </mo> 
       </mrow> 
      </msubsup> 
      <mo>
        + 
      </mo> 
      <msub> 
       <mi>
         n 
       </mi> 
       <mi>
         k 
       </mi> 
      </msub> 
     </mrow> 
    </math> where y<sub>k</sub> is the received signal at time k, 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msubsup> 
       <mi>
         a 
       </mi> 
       <mi>
         k 
       </mi> 
       <mrow> 
        <mo stretchy="false">
          ( 
        </mo> 
        <mi>
          c 
        </mi> 
        <mo stretchy="false">
          ) 
        </mo> 
       </mrow> 
      </msubsup> 
     </mrow> 
    </math> is the symbol(QPSK modulation) sent at time k and n<sub>k</sub> is the noise process which is considered to be: zero-mean, white, with a Gaussian distribution and independent of the data. We will denote by SC the performance of SC, by CDMA-R the performance of OFDM/OQAM with CDMA and real data at full load i.e. all codes are used, by CDMA-C the performance of OFDM/OQAM with CDMA and complex data. We apply our suggestion firstly for W = 16. The two subsets are: S2 = {2, 3, 5, 8, 9, 12, 14, 15} and S1 = {1, 4, 6, 7, 10, 11, 13, 16} where we use S2 for transmission and add some codes of S1 as follows:</p>
   <p>1) data spread in half between code 2 ∈ S2 and code 1 ∈ S1. Data in code 1 are multiplied by j and data in frequency m are transmitted in frequency m + 1 for m ≠ M − 1, whereas data at frequency M − 1 are transmitted at frequency 0.</p>
   <p>2) data spread in half between code 3 ∈ S2 and code 4 ∈ S1. Data in code 4 are multiplied by j and no change in position in frequency.</p>
   <p>The performance of this scheme is denoted by CDMA-CM. <xref ref-type="fig" rid="fig8">
     Figure 8
    </xref> shows the results in AWGN channel. Not surprising SC, CDMA-R, CDMA-C perform almost the same. Our proposed method CDMA-CM has a gain of about 0.3 dB (which corresponds in linear scale to an improvement of 7%) below 7 dB but this gain vanishes as the SNR increases. Above 9 dB its performance is worse than SC which reflects the presence interference.</p>
   <fig id="fig8" position="float">
    <label>Figure 8</label>
    <caption>
     <title>Figure 8. Performances of several schemes in presence of AWGN channel.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9702604-rId175.jpeg?20240813033358" />
   </fig>
   <p>In order to investigate if the number of subcarriers influences the results we decided to run simulation for M = 32 and for the previous proposed manner of spreading data. We denote its performance by CDMA-CM2 when M = 32. In addition, we also assess the performance of a scheme where we use W = 32 associated with the following two sets S2 = {2, 3, 5, 8, 9, 12, 14, 15, 17, 20, 22, 23, 26, 27, 29, 32} and S1 = {1, 4, 6, 7, 10, 11, 13, 16, 18, 19, 21, 24, 25, 28, 30, 31} and the following spreading rules:</p>
   <p>1) data spread in half between code 2 ∈ S2 and code 1 ∈ S1. Data in code 1 are multiplied by j and data in frequency m are transmitted in frequency m + 1 for m ≠ M − 1, whereas data at frequency M − 1 are transmitted at frequency 0.</p>
   <p>2) data spread in half between code 3 ∈ S2 and 4 ∈ S1. Data in code 4 are multiplied by j and no change in position in frequency.</p>
   <p>3) data spread in half between code 17 ∈ S2 and code 18 ∈ S1. Data in code 18 are multiplied by −j and data in frequency m are transmitted in frequency m − 1 for m ≠ 0, whereas data at frequency 0 are transmitted at frequency M − 1.</p>
   <p>4) data spread in half between code 20 ∈ S2 and 19 ∈ S1. Data in code 19 are multiplied by −j and no change in position in frequency.</p>
   <fig id="fig9" position="float">
    <label>Figure 9</label>
    <caption>
     <title>Figure 9. Performances of several schemes in presence of AWGN channel.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9702604-rId176.jpeg?20240813033358" />
   </fig>
   <p>Again we use S2 for transmission and with this spreading approach, for M = 16 the performance will be denoted by CDMA-CM3 and for M = 32 by CDMA-CM4. <xref ref-type="fig" rid="fig9">
     Figure 9
    </xref> presents the results of CDMA-CM, CDMA-CM2, CDMA-CM3 and CDMA-CM4. CDMA-CM and CDMA-CM2 perform almost the same this conclusion holds for CDMA-CM3 and CDMA-CM4. Meaning that for these cases M has no influences on the performances. CDMA-CM3 performs almost the same as CDMA-CM for SNR less than 7 dB but it deteriorates faster after 7 dB. Meaning that the size W and the choice of adequate codes can influence the performances.</p>
   <p>Since some data are received with a strong SNR that others, we also evaluate the performance of the main schemes using a binary convolutional code:</p>
   <p>
    <xref ref-type="fig" rid="fig10">
     Figure 10
    </xref> presents the performances of SC, CDMA-C and CDMA-CM with this coding scheme. SC and CDMA-C perform quite similarly whereas CDMA-CM provides a gain between 0.5 and 0.7 dB (which corresponds in linear scale to an improvement of around 12.5%). This gain is mainly due to the fact that reliability information (SNR) is taking into account by the decoder.</p>
   <fig id="fig10" position="float">
    <label>Figure 10</label>
    <caption>
     <title>Figure 10. Performances with coding of several schemes in presence of AWGN channel.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9702604-rId177.jpeg?20240813033358" />
   </fig>
   <p>According to Equation (9) and Equation (10) some data introduce in the Viterbi decoder have better reliability than others thus they help the decoder to perform better at low SNR.</p>
  </sec><sec id="s5">
   <title>5. Conclusion</title>
   <p>This paper was about combining OFDM/OQAM with CDMA for complex data transmission and the possibility to improve the performance at low SNR. For this goal, firstly as in <xref ref-type="bibr" rid="scirp.135214-8">
     [8]
    </xref> and <xref ref-type="bibr" rid="scirp.135214-22">
     [22]
    </xref> we presented some structures of OFDM/OQAM modulator and demodulator. Secondly, we recalled and stressed the main differences between real data transmission and complex data transmission in OFDM/OQAM with CDMA when using Walsh-Hadamard codes. To this aim CDMA with real data transmission and complex data with spreading in time domain were developed. After that, we suggested a method which combines two subsets in order to improve the performance at lower SNR of complex data transmission in OFDM/OQAM with CDMA (Walsh Hadamard codes). This method involves selecting some adequate codes to add to the set of codes of interest, then splitting the data to be transmitted between some codes of interest and the corresponding adequate codes. The splitting was done on half power basis. Simulations in presence of AWGN channel were done to evaluate the improvement one may have. A prospect from this work may be to combine the proposed method with turbo-codes in order to have a better use of the reliability introduce by some codes.</p>
  </sec>
 </body><back>
  <ref-list>
   <title>References</title>
   <ref id="scirp.135214-ref1">
    <label>1</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     WiMAX Forum Member Organizations (2006) Mobile WiMAX—Part I: A Technical Overview and Performance Evaluation. WiMAX Forum.
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref2">
    <label>2</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Sabel, L. (2013) Overview of the DAB+ System. WorldDMB Technical Committee.
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref3">
    <label>3</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     JTC, EBU&amp;CENELEC&amp;ETSI (2015) DVB Document A012, Framing Structure, Channel Coding and Modulation for Digital Terrestrial Television (DVB-T). Digital Video Broadcasting (DVB).
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref4">
    <label>4</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Weinstein, S.B. and Ebert, P.M. (1971) Data Transmission by Frequency Division Multiplexing Using the Discrete Fourier Transform. IEEE Transactions on Communication Technology, 19, 628-634. &gt;https://doi.org/10.1109/TCOM.1971.1090705
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref5">
    <label>5</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Le Floch, B., Alard, M. and Berrou, C. (1995) Coded Orthogonal Frequency Division Multiplex. Proceedings of the IEEE, 83, 982-996. &gt;https://doi.org/10.1109/5.387096
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref6">
    <label>6</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Hirosaki, B. (1981) An Orthogonally Multiplexed QAM System Using the Discrete Fourier Transform. IEEE Transactions on Communications, 29, 982-989. &gt;https://doi.org/10.1109/TCOM.1981.1095093
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref7">
    <label>7</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Saltzberg, B.R. (1967) Performance of an Efficient Parallel Data Transmission System. IEEE Transactions on Communication Technology, 15, 805-811. &gt;https://doi.org/10.1109/TCOM.1967.1089674
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref8">
    <label>8</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Siohan, P., Siclet, C. and Lacaille, N. (2002) Analysis and Design of OFDM/OQAM Systems Based on Filter Bank Theory. IEEE Transactions on Signal Processing, 50, 1170-1183. &gt;https://doi.org/10.1109/78.995073
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref9">
    <label>9</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Chevillat, P. and Ungerboeck, G. (1982) Optimum FIR Transmitter and Receiver Filters for Data Transmission over Band-Limited Channels. IEEE Transactions on Communications, 30, 1909-1915. &gt;https://doi.org/10.1109/TCOM.1982.1095661
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref10">
    <label>10</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Joost, M. (2010) Theory of Root-Raised Cosine Filter. Research and Development, Krefeld.
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref11">
    <label>11</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Elmaroud, B. (2016) Analyse des performances et amélioration des systèmes FBMC dans les transmissions sans fil non linéaires et asynchrones. These de Doctorat.
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref12">
    <label>12</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Siohan, P. and Roche, C. (1998) Analytical Design for a Family of Cosine Modulated Filter Banks. ISCAS ‘98. Proceedings of the 1998 IEEE International Symposium on Circuits and Systems, Monterey, 31 May 1998-3 June 1998, 150-153. &gt;https://doi.org/10.1109/ISCAS.1998.694430
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref13">
    <label>13</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Roche, C. and Siohan, P. (1997) A Family of Extended Gaussian Functions with a Nearly Optimal Localization Property. In: Fazel, K. and Fettweis, G.P., Eds., Multi-Carrier Spread-Spectrum, Springer, 179-186. &gt;https://doi.org/10.1007/978-1-4615-6231-3_21
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref14">
    <label>14</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Bellanger, M. (1999) Digital Signal Processing, Theory and Practice. Wiley.
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref15">
    <label>15</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Lélé, C., Siohan, P., Legouable, R. and Bellanger, M. (2007) CDMA Transmission with Complex OFDM/OQAM. EURASIP Journal on Wireless Communications and Networking, 2008, Article ID: 748063. &gt;https://doi.org/10.1155/2008/748063
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref16">
    <label>16</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Vaezy, H. and Vakili, V. (2013) New Approach for Relay and Transceiver Design for Interference Alignment in MIMO Interference Channels. Journal of Computer and Communications, 1, 1-7. &gt;https://doi.org/10.4236/jcc.2013.13001
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref17">
    <label>17</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Baghaki, A. and Champagne, B. (2018) Joint Frequency Offset, Time Offset, and Channel Estimation for OFDM/OQAM Systems. EURASIP Journal on Advances in Signal Processing, 2018, Article No. 4. &gt;https://doi.org/10.1186/s13634-017-0526-4
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref18">
    <label>18</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Vaidyanathan, P.P. (1993) Multirates Systems and Filter Banks. Prentice-Hall.
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref19">
    <label>19</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Wu, M., Chuang, W.-H. and Ray Liu, K.J. (2011) Multi-Rate Signal Processing, ENEE630 Slides. University of Maryland.
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref20">
    <label>20</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Proakis, J.G. and Manolakis, D.G. (2007) Digital Signal Processing: Principles, Algorithms, and Applications. 4th Edition, Pearson Education.
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref21">
    <label>21</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Vaidyanathan, P.P. (1990) Multirate Digital Filters, Filter Banks, Polyphase Networks, and Applications. A Tutorial. Proceedings of the IEEE, 78, 56-93. &gt;https://doi.org/10.1109/5.52200
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref22">
    <label>22</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Viholainen, A., Bellanger, M. and Huchard, M. (2009) Prototype Filter and Structure Optimization. Phydyas 007.
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref23">
    <label>23</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Siohan, P. and Lacaille, N. (1999) Analysis of OFDM/OQAM Systems Based on the Filterbank Theory. IEEE Transactions on Signal Processing, 50, 1170-1183.
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref24">
    <label>24</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Bölcskei, H., Duhamel, P. and Hleiss, R. (1999) Design of Pulse Shaping OFDM/OQAM Systems for High Data-Rate Transmission over Wireless Channels. 1999 IEEE International Conference on Communications, Vancouver, 6-10 June 1999, 559-564. &gt;https://doi.org/10.1109/ICC.1999.768001
    </mixed-citation>
   </ref>
   <ref id="scirp.135214-ref25">
    <label>25</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Bölcskei, H., Duhamel, P. and Hleiss, R. (2003) Orthogonalization of OFDM/OQAM Pulse Shaping Filters Using the Discrete Zak Transform. Signal Processing, 83, 1379-1391. &gt;https://doi.org/10.1016/S0165-1684(03)00087-2
    </mixed-citation>
   </ref>
  </ref-list>
 </back>
</article>