thesis report muhammet colak

64
University of Applied Sciences Rosenheim Faculty of Engineering Electrical Engineering and Information Technology Master Program Master Thesis Non-Orthogonal Waveforms For 5G Comparison and Characterization Author: Muhammet Colak First Advisor: Prof. Dr. Markus Stichler Second Advisor: Prof. Dr. Holger Stahl

Upload: muhammet-colak

Post on 12-Apr-2017

321 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Thesis Report Muhammet Colak

University of Applied Sciences Rosenheim

Faculty of Engineering

Electrical Engineering and Information Technology

Master Program

Master Thesis

Non-Orthogonal Waveforms

For 5G

Comparison and Characterization

Author: Muhammet Colak

First Advisor: Prof. Dr. Markus Stichler

Second Advisor: Prof. Dr. Holger Stahl

Page 2: Thesis Report Muhammet Colak

Erklärung gemäß §31,5 RaPo

Hiermit erkläre ich, dass ich die vorliegende Arbeit selbständig verfasst, noch nicht anderweitig

für Prüfungszwecke vorgelegt, keine anderen als die angegebenen Quellen oder Hilfsmittel

benützt, sowie wörtliche und sinngemäße Zitate als solche gekennzeichnet habe.

___________________ __________________

Ort, Datum Unterschrift

Page 3: Thesis Report Muhammet Colak

3

I. Acknowledgements

At the end of my thesis I would like to thank all those people who made this thesis possible and

an unforgettable experience for me.

First of all, I would like to express my deepest sense of gratitude to my thesis advisor Prof. Dr.

Michael Stichler for his patience and encouragement during thesis period. He steered me to the

right direction whenever I need it. Also Digital Signal Processing and Advanced Digital

Communication Systems lectures instructed by Prof. Dr. Stichler has been very important for me

to gain necessary knowledge to do my thesis.

I would like to thank to my second advisor Prof. Dr. Holger Stahl for his trust and support.

Wireless Communication Systems Lecture he taught has been massive start to interest further

about mobile commination Systems.

My special thanks goes to my elder brother Mehmet Colak for his financial support during my

studies in Germany. His encouragement during my master degree has been important. I feel

gratefull for all my family in Turkey for their support and trust.

I am gratefull to all my friends and classmates for their support and friendship which made me

feel at home. Among my friends I would like to mention my colleague Aiyman Saad who has

always welcome when I needed to discuss about Matlab simulations.

I used several references but one is very important to start my thesis work. In order for me to gain

fundamental signal processing knowledge necessary to do my thesis, I have studied the book

‘contemporary communication systems using Matlab, third edition ’ and practiced sample Matlab

codes in the book. I would like to send many thanks to the authors of this book John G. Proakis,

Masoud Salehi and Gerhard Bauch.

I owe my special thanks to the other university Professors that I took lectures during my studies

in Electrical Engineering and Information Technologies master degree program at the Rosenheim

University of Applied Sciences. I learned a lot from the lectures and the laboratory experiements.

Page 4: Thesis Report Muhammet Colak

4

II. Abstract

In this thesis two candidate multicarrier waveforms for the physical interface of 5G are compared

to Orthogonal Frequency Division Multiplexing (OFDM). One candidate waveform is Filter

Bank Multi-Carrier (FBMC) where each carrier is filtered before transmission to eliminate inter

carrier interference and inter symbol interference. Second candidate waveform is Universal

Filtered Multi-Carrier (UFMC) where blocks of subcarriers are filtered before transmission and

reception for the same purpose of eliminating inter carrier and inter symbol interferences. Error

Vector Magnitude analysis, Power Spectral Density analysis, Complementary Cumulative

Distribution Function analysis, Adjacent Channel Power Ratio analysis and several other metric

analysis are performed using Matlab simulations to characterize the waveforms.

Keywords: Master Thesis, PPN FBMC, OFDM, UFMC, Matlab simulation.

Page 5: Thesis Report Muhammet Colak

5

III. Preface

This thesis is written to fulfill the requirements of Masters of Engineering degree in the Electrical

Engineering and Information Technologies master degree program. The project has been carried

out over a period of 7 months at Rosenheim University of Applied Sciences. The supervisors for

this Project were Prof. Dr. Marcus Stichler and Prof. Dr. Holger Stahl.

Rosenheim, 31.05.2016

_____________________________________________

Muhammet COLAK

Email: [email protected]

Page 6: Thesis Report Muhammet Colak

6

IV. Acronyms

OFDM Orthogonal Frequency Division Multicarrier

PPN Poly Phase Network

FBMC Filter Bank Multi Carrier

UFMC

UL

DL

PRB

PSD

CCDF

ACPR

SNR

MMSE

ZF

Universal-Filtered Multi-Carrier

Up Link

Down Link

Physical Resource Block

Power Spectral Density

Complementary Cumulative Distribution Function

Adjacent Channel Power Ratio

Signal to Noise Ratio

Minimum Mean Square Error equalization

Zero Forcing equalization

dB

EVM

RMS

GUI

QAM

OQAM

IoT

WLAN

DVB

FFT

IFFT

deci-Bell

Error Vector Magnitude

Root Mean Square

Graphical User Interface

Quadrature Amplitude Modulation

Offset QAM

Internet of Things

Wireless Local Area Network

Digital Video Broadcasting

Fast Fourier Transform

Inverse Fast Fourier Transform

Page 7: Thesis Report Muhammet Colak

7

DFT

IDFT

CP

ISI

ICI

RF

FS-FBMC

PPN-FBMC

PAR

Discrete Fourier Transform

Inverse Discrete Fourier Transform

Cyclic Prefix

Inter Symbol Interference

Inter Carrier Interference

Radio Frequency

Frequency Spreading Filter Bank Multi-Carrier

Poly Phase Network Filter Bank Multi-Carrier

Peak to Average Power Ratio

Page 8: Thesis Report Muhammet Colak

8

V. Contents

I. Acknowledgements .................................................................................................................. 3

II. Abstract .................................................................................................................................... 4

III. Preface ...................................................................................................................................... 5

IV. Acronyms ................................................................................................................................. 6

V. Contents .................................................................................................................................... 8

VI. List of Figures ........................................................................................................................ 10

VII. List of Tables .......................................................................................................................... 11

1 Objectives ............................................................................................................................... 12

1.1 General Objective .........................................................................................................................12

1.2 Specific Objectives ........................................................................................................................12

2 Introduction ............................................................................................................................ 12

3 OFDM Basics ......................................................................................................................... 13

4 FBMC ..................................................................................................................................... 16

4.1 Prototype filter design .................................................................................................................16

4.2 PPN-FFT ........................................................................................................................................19

4.3 OQAM modulation .......................................................................................................................21

4.4 Matlab Simulations ......................................................................................................................24

4.4.1 Waveform filters ...................................................................................................... 25

4.4.2 EVM Analysis ......................................................................................................... 26

4.4.3 Power spectral density (PSD) analysis: ................................................................... 28

4.4.4 CCDF Analysis ........................................................................................................ 28

4.5 AWGN Channel .............................................................................................................................29

5 UFMC..................................................................................................................................... 31

5.1 UFMC Transmitter ........................................................................................................................32

5.2 UFMC Receiver .............................................................................................................................34

5.3 Matlab Simulations ......................................................................................................................36

5.3.1 Waveform filters ...................................................................................................... 36

Page 9: Thesis Report Muhammet Colak

9

5.3.2 EVM Analysis ......................................................................................................... 37

5.3.3 Power spectral density (PSD) analysis: ................................................................... 41

5.3.4 CCDF Analysis ........................................................................................................ 41

5.4 AWGN Channel .............................................................................................................................43

5.5 UFMC Filter ...................................................................................................................................43

6 Conclusion .............................................................................................................................. 45

7 References .............................................................................................................................. 46

Appendix – MATLAB Codes........................................................................................................ 47

GUI.m .......................................................................................................................................................47

FbmcFcn.m ...............................................................................................................................................54

UfmcFcn.m ...............................................................................................................................................59

ACPRuf.m..................................................................................................................................................63

ACPRfb.m..................................................................................................................................................63

CCDFex.m .................................................................................................................................................64

EVMex.m ..................................................................................................................................................64

overSample.m ..........................................................................................................................................64

Page 10: Thesis Report Muhammet Colak

10

VI. List of Figures

Figure 3.1: Basic OFDM Transceiver System............................................................................... 13

Figure 3.2: Multicarrier modulation with the FFT ........................................................................ 14

Figure 4.1: Basic PPN-FBMC Transceiver System ...................................................................... 16

Figure 4.2 Prototype filter frequency response for K=4 ................................................................ 17

Figure 4.3: Impulse response of the prototype filter for overlapping factor K=4 ......................... 18

Figure 4.4. Section of a filter bank based on the prototype with K=4 .......................................... 18

Figure 4.5: PPN-IFFT implementation of the transmitter filter bank ........................................... 20

Figure 4.6: A section of the PPN in the transmitter (K=4) ............................................................ 21

Figure 4.7: Comparison between QAM and OQAM .................................................................... 22

Figure 4.8. OFDM and FBMC symbol mapping on carriers ........................................................ 22

Figure 4.9: An OQAM transmitter using the IFFT-PPN scheme .................................................. 23

Figure 4.10: FBMC&OFDM simulation Graphical User Interface .............................................. 24

Figure 4.11: FBMC Filter characteristics ...................................................................................... 26

Figure 4.12: OFDM and FBMC signal constellation on perfect channel. ..................................... 27

Figure 4.13 FBMC&OFDM PSD analysis .................................................................................... 28

Figure 4.14 : FBMC&OFDM CCDF Analysis ............................................................................. 29

Figure 4.15 : FBMC&OFDM simulation in AWGN channel ....................................................... 29

Figure 4.16: FBMC&OFDM simulation under AWGN channel with ZF estimation for OFDM 30

Figure 5.1:UFMC transceiver architecture .................................................................................... 32

Figure 5.2.General UFMC transmitter structure ........................................................................... 33

Figure 5.3.UFMC transmitter submodule ..................................................................................... 33

Figure 5.4: General UFMC receiver structure. .............................................................................. 35

Figure 5.5:UFMC&OFDM simulation Graphical User Interface ................................................. 36

Figure 5.6: Dolph Chebychev FIR filter charactersitics ................................................................ 37

Figure 5.7:OFDM and UFMC transceiver signal constellation on perfect channel. ..................... 38

Figure 5.8: OFDM and UFMC signal constellation on 40 dB AWGN channel. .......................... 39

Figure 5.9: OFDM and UFMC constellation on noisy channel with MMSE channel estimation. 40

Figure 5.10: UFMC&OFDM PSD analysis .................................................................................. 41

Figure 5.11: UFMC&OFDM CCDF Analysis .............................................................................. 42

Figure 5.12: UFMC vs OFDM under AWGN of 40 dB channel with MMSE estimation ............ 43

Figure 5.13: UFMC with longer filter length ................................................................................ 44

Page 11: Thesis Report Muhammet Colak

11

VII. List of Tables

Table 4.1: Frequency domain prototype filter coefficients ........................................................... 17

Table 4.2: FBMC&OFDM simulation parameters ........................................................................ 26

Table 5.1: Design elements for UFMC ......................................................................................... 34

Table 5.2: UFMC&OFDM simulation parameters ....................................................................... 38

Page 12: Thesis Report Muhammet Colak

Objectives 12

1 Objectives

1.1 General Objective

Analyze and characterize two multicarrier candidate waveforms for 5G; FBMC and UFMC, and

compare their characteristics with OFDM, the multicarrier waveform for 4G, using Matlab

simulations.

1.2 Specific Objectives

- Research 5G candidate waveforms and understand the requirements.

- Use Matlab simulations as a tool for analysis.

2 Introduction

In this thesis two of the candidate waveforms for 5G is simulated and compared with the current

LTE waveform OFDM which requires strict synchronicity in order to do its job properly. With

the requirements for 5G it is becoming difficult to sustain orthogonality which is challenged by

the following application scenarios of 5G technology [5GNOW31]:

1) Tactile Internet: Enabling real-time cyber-physical tactile control experiments. The real time

constraint is the human tactile sense which distinguishes latencies in the order of 1ms. In the

setting for 1ms round trip time requires a time budget on PHY of maximum 100μs [Fet12].

2) Internet of Things (IoT): Although the business models have not started off yet, IoT is possibly

going to be the most important application.

3) Gigabit Wireless Connectivity: Users will want to have quick downloads with download times

in the order of 10 Gbit/s.

4) Fragmented Spectrum: In order to utilize the spectrum more efficiently, better localization is

necessary and the waveform needs to enable fragmented spectrum usage.

According to recent research [5GNOW31] there are strong indicators that at least for some of the

mentioned applications, the OFDM waveform is not suitable. Therefore researchers are working

on new waveforms for 5G such as filtered OFDM, FBMC, UFMC, GFDM and BFDM.

In this thesis FBMC and UFMC waveforms are analyzed and their characteristics are compared

to OFDM using Matlab simulations. For the basics of using Matlab for simulations of

communication systems the reference book [Proakis] is recommended.

Page 13: Thesis Report Muhammet Colak

OFDM Basics 13

In the following chapters basic theories of OFDM, FBMC and UFMC are given before the

simulation results are analyzed. In chapter 4, OFDM basics are summarized, and then FBMC

theory is given in chapter 5 followed by the analysis of the simulation results comparing FBMC

and OFDM. In chapter 6 same approach is repeated for UFMC, that is, simulation results

comparing the characteristics of UFMC and OFDM are analyzed following a background

information on the theory of the UFMC. Finally concluding remarks are stated in the conclusion

chapter. Matlab codes used for the simulations can be found in the Appendix.

3 OFDM Basics

Orthogonal frequency division multiplexing (OFDM) is a multicarrier transmission technique

where each carrier is selected to be orthogonal to the others so that they can be distinguished in

the frequency domain at the receiver. OFDM is employed in the standard of today’s 4G network

which plays an important role in many current applications such as digital video broadcasting

(DVB) and wireless local area networks (WLANs). The basic OFDM transceiver system is

shown in Figure 3.1.

Figure 3.1: Basic OFDM Transceiver System

Basically the input data to be transmitted is converted from serial to parallel form first. Each

parallel block contains as many samples as the total number of subcarriers. Then the Inverse Fast

Fourier Transform (IFFT) of the block is computed before adding the Cyclic Prefix (CP). After

CP addition the result is converted to serial form and delivered to the channel for transmission.

On the receiver side the operations employed on the transmitter are performed in reverse order.

That is; after serial to parallel conversion, the CP is removed, Fast Fourier Transform (FFT) is

computed to get the symbol estimates which are then converted to serial form.

There are two issues regarding the OFDM transmission; Inter Symbol Interference (ISI) and Inter

Carrier Interference (ICI). As the symbols travel one by one to the other end of the channel, the

Page 14: Thesis Report Muhammet Colak

OFDM Basics 14

channel will introduce delay spread in time domain which results into OFDM symbol getting

spread out and hence will interfere with consecutive OFDM symbols which is referred as ISI.

The ISI can be eliminated by addition of guard interval between neighboring OFDM symbols.

However each OFDM symbol still suffers from ICI when only guard interval is added. ICI is the

result of delays in the multipath propagation environment and the frequency offset at the receiver.

In order to eliminate ICI, some part at the end of the useful symbol period, which is called Cyclic

Prefix (CP), is appended at the start.

However there are still some issues regarding the OFDM which can be summarized as:

- The guard interval wastes channel resources.

- High sensitivity to phase, frequency, and clock offsets of the receiver, the transmitter or

the channel makes it difficult to maintain orthogonally.

- High Peak to Average power Ratio(PAR) requires highly linear RF Amplifiers.

The issues summarized are the main challenges that OFDM faces when it comes to new 5G

requirements. That is why new waveforms are investigated.

In an ideal channel without any noise and any distorting effect of the channel there is no need for

using CP. In this case the OFDM transceiver system becomes basically an IFFT block in the

transmitter side and an FFT block in the receiver side as shown in Figure 3.2 as explained in

[Primer] where the size of the IFFT & FFT is M and

Figure 3.2: Multicarrier modulation with the FFT

di(mM), a set of M data samples with 0 ≤ i ≤ M − 1, is provided to the IFFT input. For

mM ≤ n < (m + 1)M the IFFT output is expressed by

x(n) = ∑ di(mM)ej2πi(n−mM)

MM−1i=0 (3.1)

The set of M samples obtained is called a multicarrier symbol and m is the symbol index. For

transmission in the channel, a parallel-to-serial (P/S) converter is introduced at the output of the

IFFT and the samples x(n) appear in serial form. When the sampling frequency of the transmitted

Page 15: Thesis Report Muhammet Colak

OFDM Basics 15

signal is unity, there are M carriers and the carrier frequency spacing is 1/M. The duration of a

multicarrier symbol T is the inverse of the carrier spacing, T=M. Note that T is also the

multicarrier symbol period, which reflects the fact that successive multicarrier symbols do not

overlap in the time domain. At the receive side, a serial-to-parallel (S/P) converter is introduced

at the input of the FFT. The data samples are recovered by

𝑑𝑖(𝑚𝑀) = ∑ 𝑥(𝑛)𝑒−𝑗2𝜋𝑖(𝑛−𝑚𝑀)

𝑀mM+𝑀−1n=mM (3.2)

For the proper functioning of the system, the receiver (FFT) must be perfectly aligned in time

with the transmitter (IFFT). But, in the presence of a channel with multipath propagation, due to

the channel impulse response, the multicarrier symbols overlap at the receiver input and it is no

more possible to demodulate with just the FFT, because inter symbol interference has been

introduced and the orthogonality property of the carriers has been lost. Then, there are 2 options:

1) extend the symbol duration by a guard time (and add CP as mentioned before) exceeding the

length of the channel impulse response and still demodulate with the same FFT.

2) keep the timing and the symbol duration as they are, but add some processing to the FFT. The

scheme is called FBMC, because this additional processing and the FFT together constitute a

bank of filters. The next section explains this approach.

In the reference implementation of OFDM for the purposes of this thesis two different

circumstances are assumed; one is ideal channel and the other is a channel with only AWGN

without multipath or any other channel effect. In both cases CP is not considered. For the latter

case a linear receiver in an AWGN channel is simulated which utilize Minimum Mean Square

Error (MMSE) and Zero Forcing filter (ZF) estimations by multiplying the received signal with

the matrices accordingly:

𝑊𝑍𝐹 = (𝑉

𝑛𝑜𝑟𝑚(𝑉))+ = (T)+ 𝑊𝑀𝑀𝑆𝐸 = (𝑇𝐻𝑇 + 𝜎2𝐼)−1𝑇𝐻 (3.3)

Where V is the IFFT matrix, T+ is the Moore-Penrose-Inverse of the matrix T, 𝑇𝐻 is the

hermitian transpose and 𝜎2 is the noise variance and I is the identity matrix.

In the following chapters, FBMC and UFMC waveforms are investigated using Matlab

simulations and compared to OFDM.

Page 16: Thesis Report Muhammet Colak

FBMC 16

4 FBMC

The filter bank based multicarrier (FBMC) transmission introduces filter banks to the OFDM

system and discards the CP in order to improve flexibility of the system to deal with some

limitations of OFDM. The filter bank can be designed with different properties to satisfy the

communication requirements, such as to reduce the sideband power loss and increase the spectral

efficiency. There are two types of FBMC implementations, the frequency spreading filter bank

multicarrier (FS-FBMC) and the poly-phase network filter bank multicarrier (PPN-FBMC). PPN-

FBMC is selected as the model in this thesis as it reduces the high complexity which is

introduced by the extra filtering operations at the transmitter and receiver. Figure 4.1 depicts the

basic block diagram of a PPN – FBMC transceiver system.

Figure 4.1: Basic PPN-FBMC Transceiver System

The poly-phase network of filter bank (PPN) is used to filter each carrier before transmission.

The filter bank needs to be selected carefully to satisfy the communication requirements. In the

following sub sections include materials extracted from [Primer] to explain the filter design and

its characteristics.

4.1 Prototype filter design

Digital transmission is based on the Nyquist theory: the impulse response of the transmission

filter must cross the zero axis at all the integer multiples of the symbol period. The condition

translates in the frequency domain by the symmetry condition about the cut-off frequency, which

is half the symbol rate. Then, a straightforward method to design a Nyquist filter is to consider

the frequency coefficients and impose the symmetry condition.

In transmission systems, the global Nyquist filter is generally split into two parts, a half-Nyquist

filter in the transmitter and a half-Nyquist filter in the receiver. Then, the symmetry condition is

satisfied by the squares of the frequency coefficients. The frequency coefficients of the half-

Nyquist filter obtained for overlapping factors K=2, 3 and 4 are given in Table 4.1 [Primer].

Page 17: Thesis Report Muhammet Colak

FBMC 17

Table 4.1: Frequency domain prototype filter coefficients

K 𝐻0 𝐻1 𝐻2 𝐻3 𝜎2(𝑑𝐵)

2 1 √2 2⁄ - - -35

3 1 0.911438 0.411438 - -44

4 1 0.971960 √2 2⁄ 0.235147 -65

The PPN filter satisfy the equation

1

𝐾∑ |𝐻𝑘

2|𝐾−1𝑘=−𝐾+1 = 1 (4.1)

In the frequency domain, the filter response consists of 2K-1 pulses for K=4. The continuous

frequency response, shown in Figure 4.2, is obtained from the frequency coefficients through the

interpolation formula for sampled signals which yields:

H(f) = ∑ Hk

sin (π(f−k

MK)MK)

MKsin(π(f−k

MK))

K−1k=−(K−1) (4.2)

As a result, the out-of-band ripples are nearly disappeared and a highly selective filter is obtained.

Figure 4.2 Prototype filter frequency response for K=4

The impulse response h(t) of the filter is given by the inverse Fourier transform of the pulse

frequency response, which is

ℎ(𝑡) = 1 + 2∑ 𝐻𝑘 cos (2𝜋𝑘𝑡

𝐾𝑇) 𝐾−1

𝑘=1 (4.3)

Figure 4.3 shows the impulse response of the filter with length L=1024, the number of sub-

channels M=256 and K=4.

Page 18: Thesis Report Muhammet Colak

FBMC 18

Figure 4.3: Impulse response of the prototype filter for overlapping factor K=4

Once the prototype filter is designed, the filter bank is obtained by the frequency shifts 𝑘/𝑀. The

filter with index k is obtained by multiplying the prototype filter coefficients by 𝑒𝑗2𝜋𝑘𝑖/𝑀. A

section of the filter bank derived in that manner is shown in Figure 4.4 [Primer]. The sub-channel

index corresponds to the frequency axis and the sub-carrier spacing is unity. A key observation is

that the sub-channels with even index (odd index) do not overlap. In fact, a particular sub-channel

overlaps in frequency with its neighbors only.

Figure 4.4. Section of a filter bank based on the prototype with K=4

Considering the complete system in Figure 4.1, the frequency coefficients of the transmitter-

receiver filter are the squares of those of the prototype. The corresponding responses are given by

ℎ2(𝑡) = 1 + 2∑ 𝐻𝑘2cos (2𝜋 𝑘𝑡

𝐾𝑇)𝐾−1

𝑘=1 (4.4)

and

𝐻2(𝑓) = ∑ 𝐻𝑘2 sin (𝜋(𝑓−

𝑘

𝑀𝐾)𝑀𝐾)

𝑀𝐾𝑠𝑖𝑛(𝜋(𝑓−𝑘

𝑀𝐾))

𝐾−1𝑘=−(𝐾−1) (4.5)

Page 19: Thesis Report Muhammet Colak

FBMC 19

An important parameter related to the prototype filter design is the “background noise” power.

Actually, it is the residual interference power due to the non-orthogonality of the carriers beyond

the neighboring sub-channels. It is measured, for example, by loading all the sub-channels but

some with uncorrelated unit power signals and measuring the signal power in the unloaded sub-

channels.

4.2 PPN-FFT

In the time domain, the prototype filter is defined by a set of coefficients and the relationship

between input and output sequences, which is

𝑦(𝑛) = ∑ ℎ𝑖𝑥(𝑛 − 𝑖)𝐿−1𝑖=0 (4.6)

The filter impulse response, of length L, is the sequence of coefficients ℎ𝑖 (0 ≤ i ≤ 𝐿 −1) and the

frequency response is expressed by

𝐻(𝑓) = ℎ𝑖𝑒−𝑖2𝜋𝑖𝑓 (4.7)

where the sampling frequency is assumed to be unity. The filter has linear phase if the

coefficients are symmetrical and, in this case, the delay is

𝜏 =𝐿−1

2 (4.8)

In digital filtering, it is customary to use the Z-transfer function, which generalizes the frequency

response and is defined by

𝐻(𝑍) = ∑ ℎ𝑖𝑍−𝑖𝐿−1

𝑖=0 (4.9)

The filter frequency response is the restriction of the Z-transfer function to the unit circle, i.e. it is

obtained by letting 𝑍 = 𝑒𝑗2𝜋𝑓. Now, if we assume that the filter length is a product of two

factors, 𝐿 = 𝐾.𝑀, the sequence of filter coefficients can be decomposed into M interleaved

sequences of K coefficients and the Z-transfer function can be expressed as a double summation

𝐻(𝑍) = ∑ 𝐻𝑃(𝑍𝑀)𝑍−𝑃𝑀−1𝑃=0 (4.10)

𝐻𝑃(𝑍𝑀) = ∑ ℎ𝑘𝑀+𝑃𝑍−𝑘𝑀𝐾−1𝑘=0 (4.11)

It turns out that each individual filter element, 𝐻𝑃(𝑍𝑀) , has the frequency response of a phase

shifter, hence the name of poly-phase decomposition, and poly-phase network for the complete

set. Now, turning to the filter bank in the transmitter, which is generated by shifting the response

of the filter H( f ) by 1/M on the frequency axis leads to the function

𝐵1(𝑓) = 𝐻 (𝑓 −1

𝑀) = ∑ ℎ𝑖𝑒

−𝑗2𝜋𝑖(𝑓−1

𝑀)𝐿−1

𝑖=0 (4.12)

The corresponding Z-transfer function is

Page 20: Thesis Report Muhammet Colak

FBMC 20

𝐵1(𝑍) = ∑ ℎ𝑖𝑒𝑗2𝜋𝑖/𝑀𝑍−𝑖𝐿−1

𝑖=0 (4.13)

and it is expressed in terms of the poly-phase decomposition by

𝐵1(𝑍) = ∑ 𝑒𝑗2𝜋

𝑀𝑃𝑍−𝑃𝐻𝑃(𝑍𝑀)𝑀−1

𝑃=0 (4.14)

The key point here is that the functions 𝐻𝑃(𝑍𝑀) are not affected by the frequency shift. Then,

considering all the shifts by multiples of 1/M and the associated filters, and letting

𝑊 = 𝑒− 𝑗 2𝜋 /𝑀 , a matrix equation is obtained

[

𝐵0(𝑍)

𝐵1(𝑍)..

𝐵𝑀−1(𝑍)]

= [

1 1 … 11⋮

𝑊−1 …⋮

𝑊−𝑀+1

1 𝑊−𝑀+1 … 𝑊−(𝑀−1)2

]

[

𝐻0(𝑍𝑀)

𝑍−1𝐻1(𝑍𝑀)

⋮𝑍−(𝑀−1)𝐻𝑀−1(𝑍

𝑀)]

(4.15)

The square matrix is the matrix of the inverse discrete Fourier transform (IDFT) and all the filters

in the bank have the same filter elements 𝐻𝑃(𝑍𝑀). In the implementation, the transmitter output

is the sum of the outputs of the filters of the bank. Thus, the processing associated with the filter

elements 𝐻𝑃(𝑍𝑀) can be carried out after the summation which is performed by the IDFT. The

structure for the implementation of the filter bank in the transmitter is shown in Figure 4.5

[Primer].

Figure 4.5: PPN-IFFT implementation of the transmitter filter bank

The same scheme applies to the filter bank in the receiver. The difference is that the frequency

shifts are multiples of –1/M and the discrete Fourier transform (DFT) replaces the IFFT. In fact,

for each sub-channel, the signal of interest is shifted around the frequency origin and filtered.

Again, the filter elements are the same for all the filters in the bank and, since it is the sum of the

sub-channel signals which is received, the processing can be common and the separation of the

signals can take place afterwards, with the help of the DFT.

The block diagram of the transmission system was given in Figure 4.1. The size of the DFT is a

power of two and the fast Fourier transform algorithm is implemented. Note that the system delay

is K multicarrier symbol periods, due to the delay of the prototype filter in transmit and receive

Page 21: Thesis Report Muhammet Colak

FBMC 21

filter banks. In terms of complexity, each section of the PPN has K multiplications, as shown in

Figure 4.6 [Primer] for K=4, and the complete PPN requires KM multiplications, which is less

than the IFFT, as soon as the number M of sub-channels becomes large.

Figure 4.6: A section of the PPN in the transmitter (K=4)

The transmitter can generate a real sequence, with almost the same computational complexity.

The IFFT size has to be doubled and every input data element 𝑑𝑖(𝑚𝑀) is applied to two

symmetrical inputs. Then, the IFFT output is real and, since the PPN coefficients are real, the

transmitter output is real. The receiver can process real signals, with similar changes.

4.3 OQAM modulation

In FBMC systems, any kind of modulation can be used whenever the sub-channels are separated.

For example, if only the sub-channels with even (odd) index are exploited, there is no overlap

and QAM modulation can be employed. However, if full speed is seeked, all the sub-channels

must be exploited and a specific modulation is needed to cope with the frequency domain

overlapping of the neighboring sub-channels. Two important aspects of the transmission systems

is worth emphasizing here [Primer].

1) due to the overlapping of neighboring sub-channels, orthogonality is needed. It is achieved by

using the real part of the IFFT inputs with even index and the imaginary part of the IFFT inputs

with odd index. But this implies a reduction of the capacity by the factor 2. In fact, full capacity

can be restored with the second aspect.

2) Due to the symmetry of the transmitter and receiver filters and the fact that they are identical,

the imaginary part of the impulse response of the sub-channel interference filter crosses the time

axis at the integer multiples of the symbol period and the real part crosses the time axis at the odd

multiples of half the symbol period. The time axis crossings are interleaved. Then, the strategy to

reach full capacity is the following: double the symbol rate and, for each sub-channel, use

alternatively the real and the imaginary part of the IFFT as seen in Figure 4.7 where k represents

the subcarrier index, n represents the time index and Rkn+jYkn represents the complex data

symbol.

Page 22: Thesis Report Muhammet Colak

FBMC 22

Figure 4.7: Comparison between QAM and OQAM

This way, the real and the imaginary part of a complex data symbol are not transmitted

simultaneously as in OFDM, but the imaginary part is delayed by half the symbol duration. This

is the so-called offset quadrature amplitude modulation (OQAM) and the term ‘offset’ reflects the

time shift of half the inverse of the sub-channel spacing between the real part and the imaginary

part of a complex symbol. Note that this type of modulation is used in single carrier systems, to

improve the peak factor. In the present multicarrier context the throughput rate is the same as

with QAM modulation, employed for example in OFDM systems, but without the guard time.

Figure 4.8 [He15] illustrates the difference between QAM and OQAM modulation techniques.

Figure 4.8. OFDM and FBMC symbol mapping on carriers

For the implementation, the rate is doubled and, in the transmitter, consecutive blocks of M

output samples overlap and the overlapping parts with M/2 samples are added. In the receiver, the

Page 23: Thesis Report Muhammet Colak

FBMC 23

FFT window slides by M/2 samples instead of M samples. The PPN-FFT approach requires two

chains, or a single FFT running at double rate and two PPN devices for the transmitter. As

mentioned above, the blocks of M output samples coming out of PPN1 and PPN2 overlap by M/2

samples and an addition is introduced, as shown in Figure 4.9 [Primer].

Figure 4.9: An OQAM transmitter using the IFFT-PPN scheme

In the next sub-sections Matlab simulation results are discussed.

Page 24: Thesis Report Muhammet Colak

FBMC 24

4.4 Matlab Simulations

Figure 4.10 below shows the Matlab Graphical User Interface (GUI) used for simulations.

Figure 4.10: FBMC&OFDM simulation Graphical User Interface

The GUI is used for making two comparisons; UFMC-OFDM, FBMC-OFDM. So the reference

waveform to make comparisons in both cases is OFDM. It includes 6 figures and 5 input and

output information panels.

General Settings information panel is used to set the general simulation parameters:

- Number of used carriers

- Number of symbols in a frame

- QAM Modulation level (e.g., 16 QAM, 64 QAM)

- Select if AWGN noisy channel is used and select the SNR value of the channel

- Select if channel estimation is going to be used for OFDM or not

- Select the channel estimation (MMSE estimation, ZF estimation) for UFMC and for

OFDM if it is selected in the previous combo box.

Waveform Settings panel includes below parameter inputs about the selected waveforms:

- UFMC block size, that is, the number of carriers in one block

- UFMC number of blocks

- Length of the Dolph-Chebychev FIR filter used for UFMC waveform

Page 25: Thesis Report Muhammet Colak

FBMC 25

- The side band Attenuation intended by the UFMC filter

- FBMC filter overlapping factor, the best choice is 4. This is relevant only when FBMC

and OFDM are comparison related simulation.

The remaining three panels are there for the results. Mainly Root Mean Square Error Vector

Magnitude related results which reflect the error on the received signal, and the Adjacent

Channel Power Ratio related results which reflect the power consumption on the signal and

the wasted power when there is no signal. So the three results panels for FBMC, OFDM and

UFMC includes the below parameter outputs:

- RMS EVM

- Max EVM

- Percentile EVM

- NumSym: Number of symbols used for calculations

- ACPR: Adjacent Channel Power Ratio

- mainChnPwr: Main Channel Power

- adjChnPwr: Adjacent Channel Power

As for the figures, there are 6 of them. For FBMC-OFDM comparisons the figures are:

- OFDM transceiver constellation

- FBMC transceiver constellation

- FBMC-OFDM filter impulse response

- FBMC-OFDM filter frequency response

- Power Spectral Density Analysis

- CCDF Measurement Analysis

4.4.1 Waveform filters

Figure 4.11 below illustrates the filter characteristics used for FBMC and OFDM transceiver

systems.

Page 26: Thesis Report Muhammet Colak

FBMC 26

Figure 4.11: FBMC Filter characteristics

The Overlapping Factor of the filter used for FBMC waveform is selected as 4. The frequency

responses show that the FBMC filter sideband suppression is better than that of the OFDM filter

which can enhance suppression of the sideband power dissipation.

4.4.2 EVM Analysis

For the remaining simulations the parameters given in the below Table 4.2 are used with minor

variations which will be highlighted when necessary.

Table 4.2: FBMC&OFDM simulation parameters

Total number of used carriers: 256

Number of symbols in a frame: 20

Modulation: 16 QAM

Channel: Perfect, no noise

Filter Overlapping Factor: 4

Page 27: Thesis Report Muhammet Colak

FBMC 27

Figure 4.12 shows the transmitted and received signal constellation diagrams according to the

simulation parameters given in Table 4.2 above. The transmitted signals are perfectly received.

Along with the constellation, Root Mean Square (RMS) Error Vector Magnitude (EVM) values

computed on the received signals are shown.

Figure 4.12: OFDM and FBMC signal constellation on perfect channel.

As it can be seen from the figure above, EVM values computed for OFDM are much smaller than

those for FBMC. That is because of the filter used for FBMC which contributes distortion.

Nevertheless this fact does not affect the correct reconstruction of the transmitted signal. Note

that the EVM values are in percentage therefore no error on this scale can be noticed on the

Page 28: Thesis Report Muhammet Colak

FBMC 28

constellation because the errors are too small. As expected OFDM performs better than FBMC as

the channel is perfect without multipath effect and without noise which means that when there is

no threat against the orthogonality of the OFDM signal it is the better solution.

4.4.3 Power spectral density (PSD) analysis:

As can be seen by the Adjacent Channel Power Ratio (ACPR) analysis results (numbers in green

color for OFDM, blue color for FBMC) it is seen that FBMC performs about 7 dB better than

OFDM. This result is thanks to the PPN network applied in FBMC transmission. For this

simulation FBMC and OFDM transmitted signals are resampled to increase the sampling rate by

4 and the frequency axis is normalized to unity.

Figure 4.13 FBMC&OFDM PSD analysis

4.4.4 CCDF Analysis

Complementary Cumulative Distribution Function (CCDF) shows the distribution of power in dB

above average power which is an indication about Peak to Average power Ratio (PAR). PAR is

better to be small in communication systems as high PAR values causes saturation in the

transmitter and receiver electronics.

Page 29: Thesis Report Muhammet Colak

FBMC 29

Figure 4.14 : FBMC&OFDM CCDF Analysis

Figure 4.14 illustrates the behavior of the OFDM and FBMC transceivers. Vertical axis shows

the probability of the existence of the signal power above the corresponding average power in dB

represented by the horizontal axis. According to the figure OFDM has slightly higher probability

of carrying signals with higher PAR.

4.5 AWGN Channel

Figure 4.15 : FBMC&OFDM simulation in AWGN channel

Page 30: Thesis Report Muhammet Colak

FBMC 30

For 40 dB of Signal to Noise Ratio (SNR) is assumed in an AWGN channel, the results will be in

the above figure. As it can be appreciated EVM values are increased but still the signals could be

detected. As noticed the EVM of OFDM has become larger than that of FBMC as the

orthogonality of the OFDM signals are threatened more because the filtering has contributed

robustness to FBMC. Also the ACPR values of the FBMC became better as compared to OFDM

under the noisy channel.

What happens if we add protection to OFDM in AWGN channel by Zero Forcing equalization?

Figure 4.16: FBMC&OFDM simulation under AWGN channel with ZF estimation for OFDM

As it can be noticed from Figure 4.16 above, EVM values for OFDM is decreased while the

ACPR is improved. OFDM constellation seems less noisy as well. But still in terms of ACPR

analysis, FBMC performs better.

Page 31: Thesis Report Muhammet Colak

UFMC 31

5 UFMC

In the state of the art of UFMC, the recent research reports and articles compares Filtered

Orthogonal Frequency Division Multicarrier (fOFDM) and Filterbank based multi-carrier

(FBMC) modulations. They differ in the filtering choices applied. FBMC applies a filtering

functionality on a per subcarrier basis while OFDM filters the complete multicarrier band in a

single shot. Both variants have various implications for transmitting data via a wireless link.

Neither of the two schemes outperforms the other in every aspect relevant for communication.

While FBMC provides a better subcarrier separation, filtered OFDM is less complex. Theoretical

part of UFMC section includes extracted material from [5GNOW31].

The two schemes are the extreme cases of a more general waveform design: FBMC applies a

filtering on a per subcarrier basis. By doing so, many advantages can be harvested on. Just to

name one, inter-carrier interference is highly reduced in case of frequency jitter / offsets either

due to Doppler or due to misaligned oscillators. However, the cost to pay are comparatively long

filter lengths according to one of the natural laws of signal processing – Küpfmüller’s uncertainty

principle according to which the product of the length and the bandwidth of a given pulse is

constant [KK00]. Filtered OFDM is on the other side of the space of options. Filtering is done

over the complete band. So, the filter bandwidth is much higher and thus the filter length is much

smaller than with FBMC.

Having identified this, a more universal solution appears: Universal Filtered Multicarrier

(UFMC) which applies filtering to subsets of the complete band instead of single subcarriers or

the complete band. Basic UFMC transceiver architecture is depicted in Figure 5.1 [Schaich].

Page 32: Thesis Report Muhammet Colak

UFMC 32

Figure 5.1:UFMC transceiver architecture

5.1 UFMC Transmitter

Figure 5.2 [5GNOW31] depicts an exemplary baseband structure of the UFMC transmitter with

B sub-bands. The i-th UFMC sub-module, with i ϵ {1,2, ..., B}, generates the (N+Nfilter-1)

dimensional time-domain baseband vector xi following the UFMC design criteria for the

respective sub-band carrying the complex QAM symbol vector si with dimension ni x1. N is the

required number of samples per symbol to represent all sub-bands which depends on the overall

covered bandwidth, the sample rates of the single sub-bands have to be aligned to each other,

Nfilter the length of the filter.

Page 33: Thesis Report Muhammet Colak

UFMC 33

Figure 5.2.General UFMC transmitter structure

One multi-carrier symbol out of a consecutive stream of symbol vectors is considered, dropping

the temporal symbol index for the ease of notation. The single sub-band signals are combined to

synthesize the transmit vector x. In case of downlink (DL) the single sub-modules cover the

complete available frequency band(s), transporting data to multiple users. In uplink (UL) the

single sub-modules cover only the frequency portion the respective user has been allocated to. A

single sub-module is constructed according to Figure 5.3.

Figure 5.3.UFMC transmitter submodule

The ni complex QAM symbols are transformed to time-domain using an IDFT spreader. Then the

sub-band filter is applied. The time-domain transmit vector for a particular multi-carrier symbol

is the superposition of the sub-band-wise filtered components:

𝒙 = ∑ 𝑭𝒊𝑽𝒊𝒔𝒊𝑩𝒊=𝟏 (5.1)

Vi being of dimension Nxni, includes the relevant columns of the inverse Fourier matrix

according to the respective sub-band position within the overall available frequency range, Fi is a

Page 34: Thesis Report Muhammet Colak

UFMC 34

Toeplitz matrix with dimension (N+Nfilter-1)xN, composed of the filter impulse response,

enabling the convolution. The signal can be rewritten without the summation by the following

definitions:

𝐹 = [𝐹1 𝐹2 ⋯ 𝐹𝐵] (5.2)

𝑉 = 𝑑𝑖𝑎𝑔 (𝑉1 , 𝑉2, … , 𝑉𝐵) (5.3)

𝒔 = [𝒔𝟏𝑻, 𝒔𝟐

𝑻 , ⋯ , 𝒔𝑩𝑻]𝑻 (5.4)

This enables column wise stacking of filter matrices, generating a block-diagonal IDFT matrix

and stacking of all data symbols into one column, respectively. This results into:

𝐱 = 𝐅 𝐕 𝐬 (5.5)

The following table summarizes the available design elements:

Table 5.1: Design elements for UFMC

B Number of sub-bands

ni : blockSize Number of subcarriers in sub-band i

N Overall number of subcarriers

Filter i length/bandwidth, filter characteristic defined by FIR filter coefficients

The choice of B depends on the spectral settings the UFMC transmitter has to deal with and on

the system design targets. If the system is to be applied to a scenario with fragmented spectrum,

B may be chosen according to the number of available spectral sub-bands. Alternatively, for

streamlining the overall system and controlling the spectral characteristics more fine-grained, the

single sub-bands may even be subdivided into smaller chunks with equal size in every sub-band.

The single spectral chunks are then called as physical resource blocks (PRB), as in the

terminology of LTE.

For the choice of the filter characteristics FIR-coefficients defined by Dolph-Chebyshev windows

which are parametrizable in their shape in terms of side lobe attenuation are applied.

5.2 UFMC Receiver

UFMC receiver processing is done as depicted in Figure 5.4 [5GNOW31] below,

Page 35: Thesis Report Muhammet Colak

UFMC 35

Figure 5.4: General UFMC receiver structure.

where y is the received signal vector after propagation through the channel, represented by the

convolution matrix H with Toeplitz structure, constructed by the time-domain channel impulse

response, including the addition of noise n:

𝑦 = 𝐻𝑥 + 𝑛 = 𝐻 𝐹 𝑉 𝑠 + 𝑛 (5.6)

Each UFMC Rx sub-module outputs the transmitted symbol vectors including distortions of the

respective sub-band. In Up Link (UL) the sub-modules are covering the complete frequency

range used for data transmission, in Down Link (DL) the receiver is part of the user equipment,

and so, the single sub-modules are only active, if the respective sub-band/PRB carries data and/or

control messages relevant for the respective user.

Various design strategies for the receiver are possible. In the exemplary case of a linear receiver

in an AWGN channel, Minimum Mean Square Error (MMSE) and Zero Forcing filter (ZF) can

be written as

𝑊𝑍𝐹 = (𝐹𝑉)+ = 𝑇+ 𝑊𝑀𝑀𝑆𝐸 = (𝑇𝐻𝑇 + 𝜎2𝐼)−1𝑇𝐻 (5.7)

with T+ being the Moore-Penrose-Inverse of a matrix, 𝑇𝐻 is the hermitian transpose, 𝜎2 is the

noise variance and I is the identity matrix. The receiver operation in Eq. 𝑊𝑍𝐹 = (𝐹𝑉)+ = 𝑇+

𝑊𝑀𝑀𝑆𝐸 = (𝑇𝐻𝑇 + 𝜎2𝐼)−1𝑇𝐻 (5.75.7 can be viewed as a concatenation of

inverse filtering and DFT despreading.

Page 36: Thesis Report Muhammet Colak

UFMC 36

5.3 Matlab Simulations

Figure 5.5 below shows the Graphical User Interface (GUI) used to compare OFDM and UFMC

simulation results and make comparisons between the two waveforms. [Vakilian] and

[5GNOW31] are used as references for the theory behind the Matlab codes of UFMC simulation.

Figure 5.5:UFMC&OFDM simulation Graphical User Interface

The GUI includes 6 figures and 5 input and output information panels.

As mentioned before, the same GUI is used for making two comparisons; UFMC-OFDM,

FBMC-OFDM. So the reference waveform to make comparisons is OFDM. Here UFMC-OFDM

specific related to the GUI will be given which are the names of the 6 figures:

- OFDM transceiver constellation

- UFMC transceiver constellation

- UFMC-OFDM filter impulse response

- UFMC-OFDM filter frequency response

- Power Spectral Density Analysis

- CCDF Measurement Analysis

5.3.1 Waveform filters

Below Figure 5.6 illustrates the filter characteristics used for UFMC and OFDM transceiver

systems.

Page 37: Thesis Report Muhammet Colak

UFMC 37

Figure 5.6: Dolph Chebychev FIR filter charactersitics

- Length of the Dolph-Chebychev FIR filter used for UFMC waveform is selected as 7

- The side band Attenuation selected for the UFMC filter is 40 dB

As can be appreciated from the figure, the UFMC filter sideband attenuation is better than the

one for OFDM. The impulse responses show that the UFMC filter passband is narrower than

the OFDM filter which can enhance the better use of the spectrum especially fragmented

spectrum applications.

5.3.2 EVM Analysis

For the remaining simulations the parameters given in the below Table 5.2 are used with minor

variations which will be highlighted when necessary.

Page 38: Thesis Report Muhammet Colak

UFMC 38

Table 5.2: UFMC&OFDM simulation parameters

Total number of used carriers: 256 UFMC Block size: 16

Number of symbols in a frame: 20 UFMC number of resource blocks: 16

Modulation: 16 QAM Dolph-Chebychev Filter length: 7

UFMC estimation: MMSE estimation Dolph-Chebychev Filter sideband attenuation: 40 dB

Total number of used carriers: 256 Channel: Perfect, no noise

Figure 5.7 shows the transmitted and received signal constellation diagrams according to the

simulation parameters given in Table 5.2 above.

Figure 5.7:OFDM and UFMC transceiver signal constellation on perfect channel.

The transmitted signals are perfectly received. Along with the constellation, Root Mean Square

(RMS) Error Vector Magnitude (EVM) values computed on the received signals are shown. As it

can be appreciated on the figure above, EVM values computed for OFDM are effectively zero

Page 39: Thesis Report Muhammet Colak

UFMC 39

while those of UFMC reflect little bit of distortion because of the filter used for UFMC which

contributes to this negligible distortion. Nevertheless this fact does not affect the correct

reconstruction of the transmitted signal. As expected OFDM performs better than UFMC as the

channel is perfect without multipath effect and without noise which means that when there is no

threat against the orthogonality of the waveform OFDM is the better solution.

Figure 5.8: OFDM and UFMC signal constellation on 40 dB AWGN channel.

Figure 5.8 shows what happens if we use AWGN channel with 40 dB of SNR. It seems that

OFDM has much more distortion than UFMC which is also reflected on the EVM results above.

Page 40: Thesis Report Muhammet Colak

UFMC 40

This time EVM for UFMC is smaller than that of OFDM. The reason for that result is the MMSE

channel estimation, which reduced the effect of noise in UFMC while no additional computation

is performed for OFDM.

Figure 5.9: OFDM and UFMC constellation on noisy channel with MMSE channel estimation.

Figure 5.9 shows what happens when we add MMSE channel estimation to OFDM part as well

on the same channel. The EVM values are more or less the same after the channel estimation

when simulation is executed on the noisy channel.

Page 41: Thesis Report Muhammet Colak

UFMC 41

5.3.3 Power spectral density (PSD) analysis:

Figure 5.10 shows the PSD analysis results for the 40 dB SNR situation when both OFDM and

UFMC utilize the MMSE estimation. As seen on the figure UFMC has around 20 dB better

performance on the stop band thanks to the Dolph-Chabychev filter. This result is confirmed by

the Adjacent Channel Power Ratio (ACPR) analysis results (numbers in green color for OFDM,

brown color for UFMC) show that UFMC performs about 18 dB better than OFDM. Please note

that the bandwidth subject to the PSD analysis is normalized to unity.

Figure 5.10: UFMC&OFDM PSD analysis

5.3.4 CCDF Analysis

Complementary Cumulative Distribution Function (CCDF) shows the distribution of power in dB

above average power which is an indication about Peak to Average power Ratio (PAR). PAR is

better to be small in communication systems as high PAR values causes saturation in the

transmitter and receiver electronics.

Page 42: Thesis Report Muhammet Colak

UFMC 42

Figure 5.11: UFMC&OFDM CCDF Analysis

Figure 5.11 illustrates the behavior of the OFDM and UFMC transceivers. Vertical axis shows

the probability of the existence of the signal power above the corresponding average power in dB

represented by the horizontal axis. According to the figure OFDM has slightly higher probability

of carrying signals with higher PAR.

Page 43: Thesis Report Muhammet Colak

UFMC 43

5.4 AWGN Channel

Figure 5.12: UFMC vs OFDM under AWGN of 40 dB channel with MMSE estimation

Figure 5.12 shows the simulation results comparing UFMC and OFDM under AWGN of 40 dB

channel. Both OFDM and UFMC have channel equalization of MMSE. Note that EVM values

are increased due to noise and they are almost the same for both waveforms. Other results do not

show significant difference from the previous results.

5.5 UFMC Filter

Now let’s increase the filter length to see its impact on the simulation results. Figure 5.13 below

shows the simulation results under the same conditions as the previous simulation except the

filter length which is increased from 7 to 21.

Page 44: Thesis Report Muhammet Colak

UFMC 44

Figure 5.13: UFMC with longer filter length

First thing to notice is the ACPR of UFMC which is improved about 10 dB. That means with a

longer filter length UFMC becomes more capable of suppressing the adjacent channel which is

suitable for narrower block sizes. The effect can be seen on the frequency response of the filter

selected for UFMC. The pass band of the filter became narrower. The flexibility of the Dolph-

Chebychev filter is worth to mention here because both the filter length and the side band

attenuation in dB are parameters to derive the filter to be used for a selected application. Here it

can be concluded that the UFMC is a good solution for fragmented spectrum where the fragment

bandwidth is variable.

Page 45: Thesis Report Muhammet Colak

Conclusion 45

6 Conclusion

Mobile communication requirements are increasing with the upcoming 5G applications such as

Tactile Internet, Internet of Things and Fragmented Spectrum which will mean to necessitate the

redesign of the physical layer. FBMC provides filtering of each subcarrier, which requires very

long filter length, to suppress the out of band radiation and prevent Inter Carrier Interference.

Although FBMC has several advantages as compared to the current OFDM of LTE, it is still not

the optimal solution. With UFMC the objective is to merge the advantages of FBMC and filtered

OFDM and get rid of some disadvantages of them. It is based on the idea of filtering a block of

sub carriers which is provided with not so long filter length as in the case of FBMC. Like FBMC,

UFMC is robust to multi-user interference, exhibits higher spectral efficiency and better suited to

fragmented spectrum than OFDM.

Page 46: Thesis Report Muhammet Colak

References 46

7 References

[Fet12] G. Fettweis, “A 5G Wireless Communications Vision”, Microwave Journal, December

14, 2012

[5GNOW31] 5G Waveform Candidate Selection, D3.1, Version 1.0, 3/3/2015

[KK00] Küpfmüller, Karl; Kohn, Gerhard (2000), Theoretische Elektrotechnik und Elektronik,

Berlin, Heidelberg: Springer-Verlag, ISBN 978-3-540-56500-0

[Schaich] Schaich, F.; Wild, T.; Chen, Y.; “Waveform contenders for 5G suitability for short

packet and low latency transmissions,” submitted to IEEE Veh. Technol. Conf. Spring

(VTC’14 Spring), Apr. 2014.

[Vakilian] V. Vakilian, T. Wild, F. Schaich, S.t. Brink, J.-F. Frigon, "Universal-Filtered Multi-

Carrier Technique for Wireless Systems Beyond LTE", 9th International Workshop on

Broadband Wireless Access (BWA) @ IEEE Globecom'13, Atlanta, GA, USA,

December 2013.

[Primer] M.G. Bellanger et al, “FBMC physical layer: a primer”, 06/2010.

[He15] Qinwei He, Comparison and evaluation between FBMC and OFDM systems, March 3-5

2015

[Proakis] J. Proakis, M. Salehi Contemporary Communication Systems Using MATLAB, 2012

Page 47: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 47

Appendix – MATLAB Codes

GUI.m

function varargout = GUI(varargin) %GUI M-file for GUI.fig % GUI, by itself, creates a new GUI or raises the existing % singleton*. % % H = GUI returns the handle to a new GUI or the handle to % the existing singleton*. % % GUI('Property','Value',...) creates a new GUI using the % given property value pairs. Unrecognized properties are passed via % varargin to GUI_OpeningFcn. This calling syntax produces a % warning when there is an existing singleton*. % % GUI('CALLBACK') and GUI('CALLBACK',hObject,...) call the % local function named CALLBACK in GUI.M with the given input % arguments. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help GUI

% Last Modified by GUIDE v2.5 14-May-2016 19:08:24

% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @GUI_OpeningFcn, ... 'gui_OutputFcn', @GUI_OutputFcn, ... 'gui_LayoutFcn', [], ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end

if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

% --- Executes just before GUI is made visible. function GUI_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin unrecognized PropertyName/PropertyValue pairs from the % command line (see VARARGIN) % Choose default command line output for GUI handles.output = hObject;

Page 48: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 48

% Update handles structure guidata(hObject, handles);

% UIWAIT makes GUI wait for user response (see UIRESUME) % uiwait(handles.figure1);

function Settings = refreshSettings(handles) Settings.M = str2num(get(handles.editM, 'String')); Settings.N = str2num(get(handles.editN, 'String')); Settings.Modulation = str2num(get(handles.editModulation, 'String')); Settings.SNRdB = str2num(get(handles.editSNRdB, 'String')); Settings.AWGN = get(handles.checkboxAWGN,'Value'); content1 = cellstr(get(handles.popupmenuUFMC,'String')); Settings.est = content1{get(handles.popupmenuUFMC,'Value')}; content2 = cellstr(get(handles.popupmenuFilteredOFDM,'String')); Settings.fOFDM = content2{get(handles.popupmenuFilteredOFDM,'Value')};

function UfmcSettings = refreshUfmcSettings(handles) UfmcSettings.blockSize = str2num(get(handles.editBlockSize, 'String')); UfmcSettings.nPRB = str2num(get(handles.editNPRB, 'String')); UfmcSettings.lFIR = str2num(get(handles.editLFIR, 'String')); UfmcSettings.FilterPar_dB = str2num(get(handles.editFilterParDB, 'String'));

% UfmcSettings.estimation = get(handles.popupmenuUFMC, 'String');

function FbmcSettings = refreshFbmcSettings(handles) FbmcSettings.K = str2num(get(handles.editK, 'String'));

% --- Outputs from this function are returned to the command line. function varargout = GUI_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure varargout{1} = handles.output;

% --- Executes on button press in pbFBMC. function pbFBMC_Callback(hObject, eventdata, handles) % hObject handle to pbFBMC (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Settings = refreshSettings(handles); FbmcSettings = refreshFbmcSettings(handles); outFBMC = FbmcFcn(Settings, FbmcSettings, handles);

set(handles.textRMSEVMfbmc,'String', num2str(outFBMC.RMSEVMfbmc)); set(handles.textMaxEVMfbmc,'String', num2str(outFBMC.MaxEVMfbmc)); set(handles.textPercentileEVMfbmc,'String', num2str(outFBMC.PercentileEVMfbmc)); set(handles.textNumSymFBMC,'String', num2str(outFBMC.NumSymFBMC)); set(handles.textACPRfbmc,'String', num2str(outFBMC.ACPRfbmc)); set(handles.textmainChnlPwrFBMC,'String', num2str(outFBMC.mainChnlPwrFBMC)); set(handles.textadjChnlPwrFBMC,'String', num2str(outFBMC.adjChnlPwrFBMC));

set(handles.textRMSEVMofdm,'String', num2str(outFBMC.RMSEVMofdm)); set(handles.textMaxEVMofdm,'String', num2str(outFBMC.MaxEVMofdm)); set(handles.textPercentileEVMofdm,'String', num2str(outFBMC.PercentileEVMofdm)); set(handles.textNumSymOFDM,'String', num2str(outFBMC.NumSymOFDM)); set(handles.textACPRofdm,'String', num2str(outFBMC.ACPRofdm));

Page 49: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 49

set(handles.textmainChnlPwrOFDM,'String', num2str(outFBMC.mainChnlPwrOFDM)); set(handles.textadjChnlPwrOFDM,'String', num2str(outFBMC.adjChnlPwrOFDM));

% --- Executes on button press in pbUFMC. function pbUFMC_Callback(hObject, eventdata, handles) % hObject handle to pbUFMC (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Settings = refreshSettings(handles); UfmcSettings = refreshUfmcSettings(handles); outUFMC = UfmcFcn(Settings, UfmcSettings, handles);

set(handles.textRMSEVMufmc,'String', num2str(outUFMC.RMSEVMufmc)); set(handles.textMaxEVMufmc,'String', num2str(outUFMC.MaxEVMufmc)); set(handles.textPercentileEVMufmc,'String', num2str(outUFMC.PercentileEVMufmc)); set(handles.textNumSymUFMC,'String', num2str(outUFMC.NumSymUFMC)); set(handles.textACPRufmc,'String', num2str(outUFMC.ACPRufmc)); set(handles.textmainChnlPwrUFMC,'String', num2str(outUFMC.mainChnlPwrUFMC)); set(handles.textadjChnlPwrUFMC,'String', num2str(outUFMC.adjChnlPwrUFMC));

set(handles.textRMSEVMofdm,'String', num2str(outUFMC.RMSEVMofdm)); set(handles.textMaxEVMofdm,'String', num2str(outUFMC.MaxEVMofdm)); set(handles.textPercentileEVMofdm,'String', num2str(outUFMC.PercentileEVMofdm)); set(handles.textNumSymOFDM,'String', num2str(outUFMC.NumSymOFDM)); set(handles.textACPRofdm,'String', num2str(outUFMC.ACPRofdm)); set(handles.textmainChnlPwrOFDM,'String', num2str(outUFMC.mainChnlPwrOFDM)); set(handles.textadjChnlPwrOFDM,'String', num2str(outUFMC.adjChnlPwrOFDM));

% --- Executes on button press in pbClearAll. function pbClearAll_Callback(hObject, eventdata, handles) % hObject handle to pbClearAll (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear all; clc;

% --- Executes on button press in pbCloseAll. function pbCloseAll_Callback(hObject, eventdata, handles) % hObject handle to pbCloseAll (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close all;

function editM_Callback(hObject, eventdata, handles) % hObject handle to editM (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of editM as text % str2double(get(hObject,'String')) returns contents of editM as a double

% --- Executes during object creation, after setting all properties. function editM_CreateFcn(hObject, eventdata, handles) % hObject handle to editM (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

Page 50: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 50

% See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function editN_Callback(hObject, eventdata, handles) % hObject handle to editN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of editN as text % str2double(get(hObject,'String')) returns contents of editN as a double

% --- Executes during object creation, after setting all properties. function editN_CreateFcn(hObject, eventdata, handles) % hObject handle to editN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function editModulation_Callback(hObject, eventdata, handles) % hObject handle to editModulation (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of editModulation as text % str2double(get(hObject,'String')) returns contents of editModulation as a double

% --- Executes during object creation, after setting all properties. function editModulation_CreateFcn(hObject, eventdata, handles) % hObject handle to editModulation (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function editSNRdB_Callback(hObject, eventdata, handles) % hObject handle to editSNRdB (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of editSNRdB as text

Page 51: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 51

% str2double(get(hObject,'String')) returns contents of editSNRdB as a double

% --- Executes during object creation, after setting all properties. function editSNRdB_CreateFcn(hObject, eventdata, handles) % hObject handle to editSNRdB (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in pbOFDM. function pbOFDM_Callback(hObject, eventdata, handles) % hObject handle to pbOFDM (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

function editK_Callback(hObject, eventdata, handles) % hObject handle to editK (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of editK as text % str2double(get(hObject,'String')) returns contents of editK as a double

% --- Executes during object creation, after setting all properties. function editK_CreateFcn(hObject, eventdata, handles) % hObject handle to editK (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function editBlockSize_Callback(hObject, eventdata, handles) % hObject handle to editBlockSize (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of editBlockSize as text % str2double(get(hObject,'String')) returns contents of editBlockSize as a double

% --- Executes during object creation, after setting all properties. function editBlockSize_CreateFcn(hObject, eventdata, handles) % hObject handle to editBlockSize (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

Page 52: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 52

% See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function editNPRB_Callback(hObject, eventdata, handles) % hObject handle to editNPRB (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of editNPRB as text % str2double(get(hObject,'String')) returns contents of editNPRB as a double

% --- Executes during object creation, after setting all properties. function editNPRB_CreateFcn(hObject, eventdata, handles) % hObject handle to editNPRB (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function editLFIR_Callback(hObject, eventdata, handles) % hObject handle to editLFIR (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of editLFIR as text % str2double(get(hObject,'String')) returns contents of editLFIR as a double

% --- Executes during object creation, after setting all properties. function editLFIR_CreateFcn(hObject, eventdata, handles) % hObject handle to editLFIR (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function editFilterParDB_Callback(hObject, eventdata, handles) % hObject handle to editFilterParDB (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of editFilterParDB as text

Page 53: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 53

% str2double(get(hObject,'String')) returns contents of editFilterParDB as a double

% --- Executes during object creation, after setting all properties. function editFilterParDB_CreateFcn(hObject, eventdata, handles) % hObject handle to editFilterParDB (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in popupmenuUFMC. function popupmenuUFMC_Callback(hObject, eventdata, handles) % hObject handle to popupmenuUFMC (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns popupmenuUFMC contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenuUFMC contents = cellstr(get(hObject,'String')); UfmcSettings.estimation = contents{get(hObject,'Value')};

% --- Executes during object creation, after setting all properties. function popupmenuUFMC_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenuUFMC (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called contents = cellstr(get(hObject,'String')); UfmcSettings.estimation = contents{get(hObject,'Value')}; % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in checkboxAWGN. function checkboxAWGN_Callback(hObject, eventdata, handles) % hObject handle to checkboxAWGN (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of checkboxAWGN

% --- Executes on selection change in popupmenuFilteredOFDM. function popupmenuFilteredOFDM_Callback(hObject, eventdata, handles) % hObject handle to popupmenuFilteredOFDM (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns popupmenuFilteredOFDM contents as cell

array % contents{get(hObject,'Value')} returns selected item from popupmenuFilteredOFDM

Page 54: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 54

% --- Executes during object creation, after setting all properties. function popupmenuFilteredOFDM_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenuFilteredOFDM (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

FbmcFcn.m

% FBMC PPN, OFDM and UFMC implementation % Muhammet COLAK % M-ENG @ EIT FH-ROSENHEIM % 2016 function output = FbmcFcn (setGeneral, setFBMC, handles)

M = setGeneral.M; % Number of used subcarriers N = setGeneral.N; % Number of multicarrier symbols in a frame. Modulation = setGeneral.Modulation; % QAM Constellation AWGN = setGeneral.AWGN; SNR_dB = setGeneral.SNRdB; % Signal / Noise ratio q = log2(Modulation); % Number of bits for a symbol in the constellation fOFDM = setGeneral.fOFDM; % OFDM with AWGN channel estimation est = setGeneral.est; % flag to decide if estimation for AWGN channel is used echo off; % QAM and OQAM Modulator sQAM = []; for nf=0:N-1 X = rand(M*q,1)>0.5; xx = reshape(X,q,length(X)/q).'; xsym = bi2de(xx,'left-msb'); QAM = qammod(xsym,Modulation); % QAM modulation %Empty side data for PSD anlysis QAM(1:M/4+1,:)=complex(0); QAM(3*(M/4):M,:)=complex(0); sQAM = [sQAM QAM]; end

%% %%%%%%%%%%%% FBMC %%%%%%%%%%%%%%%%%%%%%% % pre processing OQAM construction sOQAM = []; for nf=0:N-1 for k=0:2:M-1 OQAM(k+1,:)=[real(sQAM(k+1,nf+1)) imag(sQAM(k+1,nf+1))*j];% for k even OQAM(k+2,:)=[imag(sQAM(k+2,nf+1))*j real(sQAM(k+2,nf+1))];% for k odd end sOQAM = [sOQAM OQAM]; end

%FBMC PROTOTYPE FILTER % Prototype Filter (Qinwei He, Anke Schmeink % "Comparison and evaluation between FBMC and OFDM systems", % WSA 2015 • March 3-5, 2015, Ilmenau, Germany) K=setFBMC.K; % the prototype filter for an overlapping factor K H31 = 0.911438; H32 = 0.411438; H21 = sqrt(2)/2;

Page 55: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 55

H1=0.971960; H2=sqrt(2)/2; H3=0.235147; s=2*pi/(K*M); p2(1)=0; p3(1)=0; p4(1)=0; del=0; for m=1:K*M-1 mdel=m+del; p4(m+1)=1-2*H1*cos(mdel*s)+2*H2*cos(2*mdel*s)-2*H3*cos(3*mdel*s);% prototype filter equation

K=4 p3(m+1)=1-2*H31*cos(mdel*s)+2*H32*cos(2*mdel*s); % prototype filter equation K=3 p2(m+1)=1-2*H21*cos(mdel*s); % prototype filter equation K=2 end switch K case 4 h=p4; case 3 h=p3; case 2 h=p2; end

hTx=reshape(h,M,K); %PPN1 s1IFFT=zeros(M,N); s1IFFT = ifft(sOQAM(:,1:2:2*N-1),M,1);

outPPN1=zeros(M,N+K-1); for k=1:M outPPN1(k,:)=conv(hTx(k,:),s1IFFT(k,:)); end

% PPN2 s2IFFT=zeros(M,N); s2IFFT = ifft(sOQAM(:,2:2:2*N),M,1);

outPPN2=zeros(M,N+K-1); for k=1:M outPPN2(k,:)= conv(hTx(k,:),s2IFFT(k,:)); end

% PPN1 + PPN2 Overlap and sum (FBMC Primer page 17, fig 15) for i = 1:2*(N+K-1) if i ==1 sFBMC(1:M/2,1) = outPPN1(1:M/2,1); sFBMC(1+M/2:M,1) = outPPN1(M/2+1:M,1)+outPPN2(1:M/2,1); elseif i == 2*(N+K-1) sFBMC(1:M/2,i) = outPPN1(M/2+1:M,i/2)+outPPN2(1:M/2,i/2); sFBMC(1+M/2:M,i) = outPPN2(M/2+1:M,i/2); elseif rem(i,2) == 0 sFBMC(1:M/2,i) = outPPN1(M/2+1:M,i/2)+outPPN2(1:M/2,i/2); sFBMC(1+M/2:M,i) = outPPN2(M/2+1:M,i/2)+outPPN1(1:M/2,i/2+1); elseif rem(i,2) == 1 sFBMC(1:M/2,i) = outPPN1(1:M/2,(i+1)/2)+outPPN2(1+M/2:M,(i-1)/2); sFBMC(1+M/2:M,i) = outPPN2(1:M/2,(i+1)/2) + outPPN1(1+M/2:M,(i+1)/2); end end

sqrt_nvar = 1/sqrt(10^(0.1*SNR_dB)); nvar = 1/(10^(0.1*SNR_dB)); %perfect knowledge of noise power assumed

% FBMC RECEIVER

Page 56: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 56

if AWGN == 1 n = sqrt_nvar*(1/sqrt(2))*(randn(size(sFBMC))+j*randn(size(sFBMC))); yFBMC = sFBMC + n; % add noise else yFBMC = sFBMC; end % receiver filter is the smetry of of the one for transmitter hRx(:,1:K) = hTx(:,K:-1:1); for i = 1:M r1(i,:) = conv(hRx(i,:), yFBMC(i,1:2:2*(N+K-1)-1)); end

r(:,1:2:2*N-1) = r1(:,K:N+K-1); for i = 1:M r2(i,:) = conv(hRx(i,:), yFBMC(i,2:2:2*(N+K-1))); end r(:,2:2:2*N) = r2(:,K:N+K-1);

%FFT rfft = zeros(M,2*N); rfft = fft(r(:,1:2*N),M,1)/(K^2);

% Recover QAM from received OQAM and calculate error for n=1:2:2*N-1 rOQAM(1:2:M-1,n) = real(rfft(1:2:M-1,n)); rOQAM(2:2:M,n) = imag(rfft(2:2:M,n)).*j;

rOQAM(1:2:M-1,n+1) = imag(rfft(1:2:M-1,n+1)).*j; rOQAM(2:2:M,n+1) = real(rfft(2:2:M,n+1)); % post processing QAM reconstruction rFBMC(:,(n+1)/2) = rOQAM(:,n) +rOQAM(:,n+1); end %% OFDM %%%%%%%%%%%%%%%% % Prototype Filter For OFDM p1 = [zeros(1,M) ones(1,M) zeros(1,M)]; % OFDM TRANSMITTER

switch fOFDM case 'Normal OFDM' sOFDM=zeros(M,N); sOFDM = ifft(sQAM,M,1); case 'OFDM with chanEst' Vofdm = zeros(M,M); allocatedSubcarriers = [0:M-1]; % allocated subcarriers for c = 1:M %loop through all allocated subcarriers SubcarrierIndex = allocatedSubcarriers(c); Vofdm([1:M],c) = exp(2*pi*1i*([1:M]-1)*SubcarrierIndex/M); %generation of the IDFT

vector end Tofdm=(1/norm(Vofdm))*Vofdm; TimeDomainSig=Tofdm*ones(M,1); Tofdm=Tofdm/sqrt(mean(abs(TimeDomainSig).^2)/M*M);

sOFDM = Tofdm*sQAM; %signal of user of interest end

if AWGN == 1 n = sqrt_nvar*(1/sqrt(2))*(randn(size(sOFDM))+j*randn(size(sOFDM))); yOFDM = sOFDM + n; %superimpose layers and add noise else yOFDM = sOFDM; end

Page 57: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 57

% OFDM RECEIVER switch fOFDM case 'Normal OFDM' rOFDM = zeros(M,N); rOFDM = fft(yOFDM,M,1); case 'OFDM with chanEst' wOFDM_ZF = pinv((1/norm(Vofdm))*Vofdm); wOFDM_MMSE = inv(Tofdm'*Tofdm + nvar*diag(ones(size(Tofdm,2),1)))*Tofdm';

% obtain symbol estimates for n=1:N % ZF s_est_OFDM_ZF(:,n) = wOFDM_ZF*yOFDM(:,n); % MMSE s_est_OFDM_MMSE(:,n) = wOFDM_MMSE*yOFDM(:,n); end

switch est case 'ZF estimation' rOFDM = s_est_OFDM_ZF; case 'MMSE estimation' rOFDM = s_est_OFDM_MMSE; end end

%% PLOTS axes(handles.axes1); plot(sQAM,'or'); hold on plot(rOFDM,'xk'); title('OFDM, o transmitted, x received'); hold off

axes(handles.axes2); plot(sQAM,'or'); hold on plot(rFBMC,'xk'); title('FBMC OQAM, o transmitted, x received'); hold off

axes(handles.axes3); plot( h,'b-' ); hold on ylabel('Amplitude'); xlabel('time (sec)'); title('FBMC-OFDM filter impulse response'); plot( [zeros(1,floor((length(h)-length(p1))/2)) p1 zeros(1,floor((length(h)-

length(p1))/2),1)],'g-' ); legend('PPN-FBMC','OFDM') hold off

axes(handles.axes4); [Hfbmc,w] = freqz( h ); Hfbmc=Hfbmc./max ( Hfbmc ); Lfbmc = length (w); wFBMC = w;%(Lfbmc/4:1:3*Lfbmc/4); Hfbmc = Hfbmc;%(Lfbmc/4:1:3*Lfbmc/4);

[Hofdm,w1] = freqz( p1 ); Hofdm=Hofdm./max ( Hofdm ); Lofdm = length (w1); wOFDM = w;%(Lofdm/4:1:3*Lofdm/4); Hofdm = Hofdm;%(Lofdm/4:1:3*Lofdm/4);

Page 58: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 58

plot(wFBMC/pi,20*log10(abs( Hfbmc )),'b-'); hold on plot(wOFDM/pi,20*log10(abs( Hofdm )),'g-'); legend('PPN-FBMC','OFDM') plot(-wFBMC/pi,20*log10(abs( Hfbmc )),'b-'); plot(-wOFDM/pi,20*log10(abs( Hofdm )),'g-');

grid on ylabel('Amplitude in dB'); xlabel('Frequency'); title('FBMC-OFDM filter frequency response'); hold off %% PSD ANALYSIS sr=4; myTx1 = sFBMC(:) .* exp(-j*pi*[0:length(sFBMC(:))-1]).'; myTx=resample(myTx1,sr,1) axes(handles.axes5); [PxxFBMC, wFBMC] = pwelch(myTx); % (:,1:N) PxxFBMC = abs(fftshift(PxxFBMC)); PxxFBMC = PxxFBMC./max(PxxFBMC); pxx=10*log10(PxxFBMC); plot(wFBMC/(2*pi),pxx, 'b-'); hold on

myTxOFDM1 = sOFDM(:).* exp(-j*pi*[0:length(sOFDM(:))-1]).'; myTxOFDM=resample(myTxOFDM1,sr,1), [PxxOFDM,wOFDM] = pwelch(myTxOFDM); PxxOFDM = abs(fftshift(PxxOFDM)); PxxOFDM = PxxOFDM./max(PxxOFDM); pxxOFDM=10*log10(PxxOFDM); plot(wOFDM/(2*pi),pxxOFDM, 'g-') legend('PPN-FBMC','OFDM') ylabel('PSD in dB'); xlabel('Frequency'); title('Power Spectral Density Analysis'); hold off;

%% COMM.EVM CALCULATION [RMSEVMofdm,MaxEVMofdm,PercentileEVMofdm,NumSymOFDM] = EVMex(sQAM ( : ) ,rOFDM ( : )) [RMSEVMfbmc,MaxEVMfbmc,PercentileEVMfbmc,NumSymFBMC] = EVMex(sQAM ( : ) ,rFBMC ( : ))

output.RMSEVMofdm = RMSEVMofdm; output.MaxEVMofdm = MaxEVMofdm; output.PercentileEVMofdm = PercentileEVMofdm; output.NumSymOFDM = NumSymOFDM;

output.RMSEVMfbmc = RMSEVMfbmc; output.MaxEVMfbmc = MaxEVMfbmc; output.PercentileEVMfbmc = PercentileEVMfbmc; output.NumSymFBMC = NumSymFBMC;

%% COMM.CCDF ssOFDM = overSample (sOFDM, 2*(N+K-1)); axes(handles.axes6); [CCDFy,CCDFx,AvgPwr,PeakPwr] = CCDFex (sFBMC(:), ssOFDM(:)); legend('PPN-FBMC','OFDM')

%% COMM.ACPR [ACPRfbmc,mainChnlPwrFBMC,adjChnlPwrFBMC] = ACPRfb (myTx,M,sr) [ACPRofdm,mainChnlPwrOFDM,adjChnlPwrOFDM] = ACPRfb (myTxOFDM,M,sr)

output.ACPRfbmc = ACPRfbmc; output.mainChnlPwrFBMC = mainChnlPwrFBMC;

Page 59: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 59

output.adjChnlPwrFBMC = adjChnlPwrFBMC;

output.ACPRofdm = ACPRofdm; output.mainChnlPwrOFDM = mainChnlPwrOFDM; output.adjChnlPwrOFDM = adjChnlPwrOFDM; end

UfmcFcn.m

function output = UfmcFcn (setGeneral, setUFMC,handles)

M = setGeneral.M; % Number of used subcarriers N = setGeneral.N; % Number of multicarrier symbols in a frame. Modulation = setGeneral.Modulation; % QAM Constellation AWGN = setGeneral.AWGN; SNR_dB = setGeneral.SNRdB; % Signal / Noise ratio q = log2(Modulation); % Number of bits for a symbol in the constellation fOFDM = setGeneral.fOFDM; est = setGeneral.est;

echo off; % QAM and OQAM Modulator sQAM = []; for nf=0:N-1 X = rand(M*q,1)>0.5; xx = reshape(X,q,length(X)/q).'; xsym = bi2de(xx,'left-msb'); QAM = qammod(xsym,Modulation); % QAM modulation

%Empty side data for PSD anlysis QAM(1:M/4+1,:)=complex(0); QAM(3*(M/4):M,:)=complex(0);

sQAM = [sQAM QAM]; end

%% %%%%%%%%%% UFMC %%%%%%%%%%%%%%%% blockSize = setUFMC.blockSize; % width of subband in number of subcarriers (needs to match to

Filterbandwidth) nPRB = setUFMC.nPRB;% Allocation width in number of subbands (sub-band width defined in

PAR.blockSize below) lFIR = setUFMC.lFIR; % filter length: 1 means OFDM, >1 uses a Dolph-Chebychev FIR filter FilterPar_dB = setUFMC.FilterPar_dB; % sideband attenuation (design parameter of Dolph-Chebychev

filters)

lMCsym = M + lFIR -1; % number of samples per multicarrier symbol nUsedCarr = nPRB*blockSize; % Allocation widths allocatedSubcarriers = [0:nUsedCarr-1]; % allocated subcarriers % Generation of IDFT spreading matrices - Dimension of the matrices: [M x nUsedCarr] V = zeros(M,nUsedCarr); for c = 1:nUsedCarr %loop through all allocated subcarriers SubcarrierIndex = allocatedSubcarriers(c); V([1:M],c) = exp(2*pi*1i*([1:M]-1)*SubcarrierIndex/M); %generation of the IDFT vector end %Dolph-Chebyshev filter f = chebwin(lFIR,FilterPar_dB); % initialize helper matrices F_all = []; V_all = zeros(M*nPRB,nUsedCarr); for iPRB = 1:nPRB % shift to center carrier

Page 60: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 60

carrierind = (blockSize+1)/2 + (iPRB-1)*blockSize; % center carrier centerFshift = zeros(lFIR,1); for n = 1:lFIR centerFshift(n) = exp(2*pi*1i*(n-1)*carrierind/M); end % frequency-shifted FIR window f1 = f.*centerFshift; % generate Toeplitz matrix for convolution F{iPRB} = toeplitz([f1;zeros(M-1,1)],[f1(1),zeros(1,M-1)]); % stacked Toeplitz matrices implement multicarrier modulation F_all = [F_all F{iPRB}]; % generate expanded IDFT matrix V_all( (1+(iPRB-1)*M):(iPRB*M), ... (1+(iPRB-1)*blockSize):(iPRB*blockSize)) = ... V(:,(1+(iPRB-1)*blockSize):(iPRB*blockSize)); end % final multicarrier modulation matrix T T = F_all*V_all; % Final normalized multicarrier modulation matrix TimeDomainSig=T*ones(nUsedCarr,1); T=T/sqrt(mean(abs(TimeDomainSig).^2)/nUsedCarr*M); %determine FreqResp in pass-band TimeDomainSig=T*ones(nUsedCarr,1); FreqDomSig_oversampled=fft([TimeDomainSig.' zeros(1,2*M-length(TimeDomainSig))])/sqrt(M); FreqDomSig=FreqDomSig_oversampled(1:2:end);

% Begin of main simulation loops sqrt_nvar = 1/sqrt(10^(0.1*SNR_dB)); nvar = 1/(10^(0.1*SNR_dB)); %perfect knowledge of noise power assumed

% Tx s_pilots = sQAM; % Transformation to time domain sUFMC = T*sQAM; %signal of user of interest sUFMC_pilots = sUFMC; %pilots of user of interest (for ideal chanest) % add noise if AWGN == 1 n = sqrt_nvar*(1/sqrt(2))*(randn(lMCsym,N)+j*randn(lMCsym,N)); yUFMC = sUFMC + n; %superimpose layers and add noise else yUFMC = sUFMC; end yUFMC_pilots = sUFMC_pilots;

% Rx w_ZF = pinv(T); w_MMSE = inv(T'*T + nvar*diag(ones(size(T,2),1)))*T';

% obtain symbol estimates for n=1:N % ZF s_est_ZF(:,n) = w_ZF*yUFMC(:,n); % MMSE s_est_MMSE(:,n) = w_MMSE*yUFMC(:,n); end

switch est case 'MMSE estimation' rUFMC = s_est_MMSE; case 'ZF estimation' rUFMC = s_est_ZF; end

%% OFDM %%%%%%%%%%%%%%%% % Prototype Filter For OFDM

Page 61: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 61

p1 = [zeros(1,M) ones(1,M) zeros(1,M)]; % OFDM TRANSMITTER

switch fOFDM case 'Normal OFDM' sOFDM=zeros(M,N); sOFDM = ifft(sQAM,M,1); case 'OFDM with chanEst' Vofdm = zeros(M,nUsedCarr); allocatedSubcarriers = [0:M-1]; % allocated subcarriers for c = 1:nUsedCarr %loop through all allocated subcarriers SubcarrierIndex = allocatedSubcarriers(c); Vofdm([1:M],c) = exp(2*pi*1i*([1:M]-1)*SubcarrierIndex/M); %generation of the IDFT

vector end Tofdm=(1/norm(Vofdm))*Vofdm; TimeDomainSig=Tofdm*ones(M,1); Tofdm=Tofdm/sqrt(mean(abs(TimeDomainSig).^2)/M*M);

sOFDM = Tofdm*sQAM; %signal of user of interest end

if AWGN == 1 n = sqrt_nvar*(1/sqrt(2))*(randn(size(sOFDM))+j*randn(size(sOFDM))); yOFDM = sOFDM + n; %superimpose layers and add noise else yOFDM = sOFDM; end

% OFDM RECEIVER switch fOFDM case 'Normal OFDM' rOFDM = zeros(M,N); rOFDM = fft(yOFDM,M,1); case 'OFDM with chanEst' wOFDM_ZF = pinv((1/norm(Vofdm))*Vofdm); wOFDM_MMSE = inv(Tofdm'*Tofdm + nvar*diag(ones(size(Tofdm,2),1)))*Tofdm';

% obtain symbol estimates for n=1:N % ZF s_est_OFDM_ZF(:,n) = wOFDM_ZF*yOFDM(:,n); % MMSE s_est_OFDM_MMSE(:,n) = wOFDM_MMSE*yOFDM(:,n); end

switch est case 'ZF estimation' rOFDM = s_est_OFDM_ZF; case 'MMSE estimation' rOFDM = s_est_OFDM_MMSE; end end

%% PLOTS axes(handles.axes1); plot(sQAM,'or'); hold on plot(rOFDM,'xk'); title('OFDM, o transmitted, x received'); hold off

axes(handles.axes2); plot(sQAM,'or');

Page 62: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 62

hold on plot(rUFMC,'xk'); title('UFMC, o transmitted, x received'); hold off

axes(handles.axes3); plot( [zeros(floor((length(p1)-length(f))/2),1); f ; zeros(floor((length(p1)-

length(f))/2),1)],'b-' ); hold on ylabel('Amplitude'); xlabel('time (sec)'); title('UFMC-OFDM filter impulse response'); plot( p1,'g-' ); legend('UFMC','OFDM') hold off

axes(handles.axes4); [Hufmc,Wufmc] = freqz( f ); Hufmc=Hufmc./max ( Hufmc ); [Hofdm,Wofdm] = freqz( p1 ); Hofdm=Hofdm./max ( Hofdm );

plot(Wufmc/pi,20*log10(abs( Hufmc )),'b-'); hold on plot(Wofdm/pi,20*log10(abs( Hofdm )),'g-'); legend('UFMC','OFDM') plot(-Wufmc/pi,20*log10(abs( Hufmc )),'b-'); plot(-Wofdm/pi,20*log10(abs( Hofdm )),'g-');

grid on ylabel('Amplitude in dB'); xlabel('Frequency'); title('UFMC-OFDM filter frequency response'); hold off

%% PSD ANALYSIS axes(handles.axes5); sr=4; % resample rate [PxxUFMC, ftrUFMC] = pwelch(sUFMC(:)); % (:,1:N) maxvalUFMC = max(PxxUFMC); PxxUFMC = PxxUFMC./maxvalUFMC; pxxUFMC=10*log10(PxxUFMC); plot(ftrUFMC/(2*pi),pxxUFMC, 'b-') hold on

[PxxOFDM,frxOFDM] = pwelch(sOFDM(:)); maxvalOFDM = max(PxxOFDM); PxxOFDM = PxxOFDM./maxvalOFDM; pxxOFDM=10*log10(PxxOFDM); plot(frxOFDM/(2*pi),pxxOFDM, 'g-') legend('UFMC','OFDM') ylabel('PSD in dB'); xlabel('Frequency'); title('Power Spectral Density Analysis'); hold off;

%% COMM.EVM CALCULATION [RMSEVMofdm,MaxEVMofdm,PercentileEVMofdm,NumSymOFDM] = EVMex(sQAM ( : ) ,rOFDM ( : )) [RMSEVMufmc,MaxEVMufmc,PercentileEVMufmc,NumSymUFMC] = EVMex(sQAM ( : ) ,rUFMC ( : ))

output.RMSEVMofdm = RMSEVMofdm; output.MaxEVMofdm = MaxEVMofdm; output.PercentileEVMofdm = PercentileEVMofdm; output.NumSymOFDM = NumSymOFDM;

Page 63: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 63

output.RMSEVMufmc = RMSEVMufmc; output.MaxEVMufmc = MaxEVMufmc; output.PercentileEVMufmc = PercentileEVMufmc; output.NumSymUFMC = NumSymUFMC;

%% COMM.CCDF size (sOFDM) size (sUFMC) ssOFDM = overSample (sOFDM.', lMCsym); axes(handles.axes6); [CCDFy,CCDFx,AvgPwr,PeakPwr] = CCDFex (sUFMC(:), ssOFDM(:)); legend('sUFMC','sOFDM')

%% COMM.ACPR [ACPRufmc,mainChnlPwrUFMC,adjChnlPwrUFMC] = ACPRuf (sUFMC ( : ),M,sr) [ACPRofdm,mainChnlPwrOFDM,adjChnlPwrOFDM] = ACPRuf (sOFDM ( : ),M,sr)

output.ACPRufmc = ACPRufmc; output.mainChnlPwrUFMC = mainChnlPwrUFMC; output.adjChnlPwrUFMC = adjChnlPwrUFMC;

output.ACPRofdm = ACPRofdm; output.mainChnlPwrOFDM = mainChnlPwrOFDM; output.adjChnlPwrOFDM = adjChnlPwrOFDM; end

ACPRuf.m

function [ACPR,mainChnlPwr,adjChnlPwr] = ACPRuf (S, M,sr) s=resample(S,sr,1); sps = 1*sr; bw = M; df=bw/M; h = comm.ACPR('SampleRate',bw*sps,... 'MainChannelFrequency',bw/2,... 'MainMeasurementBandwidth',df,... 'AdjacentChannelOffset',3*bw/8,... 'AdjacentMeasurementBandwidth',df,... 'MainChannelPowerOutputPort', true,... 'AdjacentChannelPowerOutputPort',true); [ACPR,mainChnlPwr,adjChnlPwr] = step(h,s); end

ACPRfb.m

function [ACPR,mainChnlPwr,adjChnlPwr] = ACPRex (S, M,sr) h = comm.ACPR('SampleRate',1,... 'MainChannelFrequency',0,... 'MainMeasurementBandwidth',0.125,... 'AdjacentChannelOffset',[-0.25 0.25],... 'AdjacentMeasurementBandwidth',0.125,... 'MainChannelPowerOutputPort', true,... 'AdjacentChannelPowerOutputPort',true); [ACPR,mainChnlPwr,adjChnlPwr] = step(h,S); end

Page 64: Thesis Report Muhammet Colak

Appendix – MATLAB Codes 64

CCDFex.m

function [CCDFy,CCDFx,AvgPwr,PeakPwr] = CCDFex (s1, s2) hChan = comm.AWGNChannel('NoiseMethod',... 'Signal to noise ratio (SNR)', 'SNR', 15); % Create a CCDF System object and request average power and peak power measurement outputs hCCDF = comm.CCDF('AveragePowerOutputPort', true, ... 'PeakPowerOutputPort', true); hChan.SignalPower = 1; s1Noisy = step(hChan,s1); s2Noisy = step(hChan,s2); % Obtain CCDF measurements [CCDFy,CCDFx,AvgPwr,PeakPwr] = step(hCCDF,[s1Noisy s2Noisy]); % plot CCDF curves using the plot method of the CCDF object plot(hCCDF) end

EVMex.m

function [RMSEVM,MaxEVM,PercentileEVM,NumSym] = EVMex(refsym,rxsym) % Create an EVM object, output maximum and 90-percentile EVM measurements, and symbol count hEVM = comm.EVM('MaximumEVMOutputPort',true,... 'XPercentileEVMOutputPort', true, 'XPercentileValue', 90,... 'SymbolCountOutputPort', true); % Calculate measurements [RMSEVM,MaxEVM,PercentileEVM,NumSym] = step(hEVM,refsym,rxsym); end

overSample.m

function overSampledS = overSample (S, nov) [m,n] = size (S); overSampledS = []; for k = 1: floor (nov/n) overSampledS = [overSampledS S]; end if nov < n overSampledS = S; else overSampledS = [overSampledS S(:, 1:mod (nov,n))]; end end