KEMBAR78
Ofdm sim-matlab-code-tutorial web for EE students | PDF
OFDM Simulation Using 
Matlab
Smart Antenna Research Laboratory 
Faculty Advisor: Dr. Mary Ann Ingram 
Guillermo Acosta 
August, 2000 
OFDM Simulation Using Matlab
ii 
CONTENTS 
Abstract .............................................................................................. 1 
1 Introduction .................................................................................. 1 
2 OFDM Transmission .................................................................... 2 
2.1 DVB-T Example................................................................... 2 
2.2 FFT Implementation............................................................ 4 
3 OFDM Reception .......................................................................... 9 
4 Conclusion.................................................................................. 11 
5 Appendix..................................................................................... 11 
5.1 OFDM Transmission......................................................... 11 
5.2 OFDM Reception............................................................... 13 
5.3 Eq. (2.1.4) vs. IFFT ............................................................ 16 
6 References.................................................................................. 17
FIGURES AND TABLES 
Figure 1.1: DVB-T transmitter [1].............................................................................2 
Figure 2.1: OFDM symbol generation simulation. ...................................................5 
Figure 2.2: Time response of signal carriers at (B)..................................................5 
Figure 2.3: Frequency response of signal carriers at (B).........................................5 
Figure 2.4: Pulse shape g(t). ...................................................................................6 
Figure 2.5: D/A filter response. ................................................................................6 
Figure 2.6: Time response of signal U at (C). ..........................................................6 
Figure 2.7: Frequency response of signal U at (C) ..................................................6 
Figure 2.8: Time response of signal UOFT at (D)....................................................7 
Figure 2.9: Frequency response of signal UOFT at (D). ..........................................7 
Figure 2.10: uoftI (t)cos(2π fct) frequency response.................................................7 
Figure 2.11: ( )sin(2 ) Q c uoft t π f t frequency response..................................................7 
Figure 2.12: Time response of signal s(t) at (E).......................................................8 
Figure 2.13: Frequency response of signal s(t) at (E)..............................................8 
Figure 2.14: Time response of direct simulation of (2.1.4) and IFFT. ......................8 
Figure 2.15: Frequency response of direct simulation of (2.1.4) and IFFT. .............8 
Figure 3.1: OFDM reception simulation. ..................................................................9 
Figure 3.2: Time response of signal r_tilde at (F). ...................................................9 
Figure 3.3: Frequency response of signal r_tilde at (F). ..........................................9 
Figure 3.4: Time response of signal r_info at (G). .................................................10 
Figure 3.5: Frequency response of signal r_info at (G)..........................................10 
Figure 3.6: Time response of signal r_data at (H). ................................................10 
Figure 3.7: Frequency response of signal r_data at (H).........................................10 
Figure 3.8: info_h constellation..............................................................................10 
Figure 3.9: a_hat constellation...............................................................................10 
Table 1: Numerical values for the OFDM parameters for the 2k mode....................4 
iii
Abstract 
Orthogonal frequency division multiplexing (OFDM) is becoming the chosen 
modulation technique for wireless communications. OFDM can provide large data 
rates with sufficient robustness to radio channel impairments. Many research cen-ters 
in the world have specialized teams working in the optimization of OFDM for 
countless applications. Here, at the Georgia Institute of Technology, one of such 
teams is in Dr. M. A. Ingram’s Smart Antenna Research Laboratory (SARL), a part 
of the Georgia Center for Advanced Telecommunications Technology (GCATT). 
The purpose of this report is to provide Matlab code to simulate the basic proc-essing 
involved in the generation and reception of an OFDM signal in a physical 
channel and to provide a description of each of the steps involved. For this pur-pose, 
we shall use, as an example, one of the proposed OFDM signals of the Digi-tal 
Video Broadcasting (DVB) standard for the European terrestrial digital television 
(DTV) service. 
1 Introduction 
In an OFDM scheme, a large number of orthogonal, overlapping, narrow band 
sub-channels or subcarriers, transmitted in parallel, divide the available transmis-sion 
bandwidth. The separation of the subcarriers is theoretically minimal such that 
there is a very compact spectral utilization. The attraction of OFDM is mainly due to 
how the system handles the multipath interference at the receiver. Multipath gen-erates 
two effects: frequency selective fading and intersymbol interference (ISI). 
The "flatness" perceived by a narrow-band channel overcomes the former, and 
modulating at a very low symbol rate, which makes the symbols much longer than 
the channel impulse response, diminishes the latter. Using powerful error correct-ing 
codes together with time and frequency interleaving yields even more robust-ness 
against frequency selective fading, and the insertion of an extra guard interval 
between consecutive OFDM symbols can reduce the effects of ISI even more. 
Thus, an equalizer in the receiver is not necessary. 
There are two main drawbacks with OFDM, the large dynamic range of the 
signal (also referred as peak-to average [PAR] ratio) and its sensitivity to frequency 
errors. These in turn are the main research topics of OFDM in many research cen-ters 
around the world, including the SARL. 
A block diagram of the European DVB-T standard is shown in Figure 1.1. Most 
of the processes described in this diagram are performed within a digital signal 
processor (DSP), but the aforementioned drawbacks occur in the physical channel; 
i.e., the output signal of this system. Therefore, it is the purpose of this project to 
provide a description of each of the steps involved in the generation of this signal 
and the Matlab code for their simulation. We expect that the results obtained can 
provide a useful reference material for future projects of the SARL’s team. In other 
words, this project will concentrate only in the blocks labeled OFDM, D/A, and 
Front End of Figure 1.1.
We only have transmission regulations in the DVB-T standard since the recep-tion 
system should be open to promote competition among receivers’ manufactur-ers. 
We shall try to portray a general receiver system to have a complete system 
Figure 1.1: DVB-T transmitter [1] 
Σ (2.1.1) 
2 
description. 
2 OFDM Transmission 
2.1 DVB-T Example 
A detailed description of OFDM can be found in [2] where we can find the 
expression for one OFDM symbol starting at t = ts as follows: 
 1 
    
     
     
s t d j f i t t t t t T 
= Re exp 2 − + 0.5 − , 
≤ ≤ + 
= < ∧ > + 
( ) ( ) 2 
2 
2 
( ) 0, 
Ns 
s 
Ns 
i N c s s s 
i 
s s 
T 
s t t t t t T 
π 
− 
+ 
=− 
where i d are complex modulation symbols, s N is the number of subcarriers, T the 
symbol duration, and c f the carrier frequency. A particular version of (2.1.1) is 
given in the DVB-T standard as the emitted signal. The expression is
s c ψ (2.1.2) 
3 
 ∞ 67 
 
  
  
= ΣΣ Σ ⋅ max 
(t) Re e j2π fct (t) 
min 
K 
m,l,k m,l,k 
m=0 l=0 k=K 
where 
π ′ −Δ− ⋅ − ⋅ ⋅  
2 ( T T S 68 
T 
S 
) ( ) ψ ( ) ( 68 ) T 68 1 
T 
0 
j k t l m 
t e l m t l m 
= U 
+ ⋅ ⋅ ≤ ≤ + ⋅ + ⋅ 
m,l,k S S 
else 
(2.1.3) 
where: 
k denotes the carrier number; 
l denotes the OFDM symbol number; 
m denotes the transmission frame number; 
K is the number of transmitted carriers; 
TS is the symbol duration; 
TU is the inverse of the carrier spacing; 
Δ is the duration of the guard interval; 
fc is the central frequency of the radio frequency (RF) signal; 
k′ is the carrier index relative to the center frequency, ( ) max min k′ = k − K + K / 2 ; 
cm,0,k 
cm,1,k 
… 
cm,67,k 
complex symbol for carrier k of the Data symbol no.1 in frame number m; 
complex symbol for carrier k of the Data symbol no.2 in frame number m; 
complex symbol for carrier k of the Data symbol no.68 in frame number m; 
It is important to realize that (2.1.2) describes a working system, i.e., a sys-tem 
that has been used and tested since March 1997. Our simulations will focus in 
the 2k mode of the DVB-T standard. This particular mode is intended for mobile 
reception of standard definition DTV. The transmitted OFDM signal is organized in 
frames. Each frame has a duration of TF, and consists of 68 OFDM symbols. Four 
frames constitute one super-frame. Each symbol is constituted by a set of K=1,705 
carriers in the 2k mode and transmitted with a duration TS. A useful part with dura-tion 
TU and a guard interval with a duration Δ compose TS. The specific numerical 
values for the OFDM parameters for the 2k mode are given in Table 1. 
The next issue at hand is the practical implementation of (2.1.2). OFDM 
practical implementation became a reality in the 1990’s due to the availability of 
DSP’s that made the Fast Fourier Transform (FFT) affordable [3]. Therefore, we 
shall focus the rest of the report to this implementation using the values and refer-ences 
of the DVB-T example. If we consider (2.1.2) for the period from t=0 to t=TS 
we obtain:
Σ (2.1.4) 
x X j e (2.1.5) 
4 
Table 1: Numerical values for the OFDM parameters for the 2k mode 
Parameter 2k mode 
Elementary period T 7/64 μs 
Number of carriers K 1,705 
Value of carrier number Kmin 0 
Value of carrier number Kmax 1,704 
Duration TU 224 μs 
Carrier spacing 1/TU 4,464 Hz 
Spacing between carriers Kmin and 
Kmax(K-1)/TU 
7.61 MHz 
Allowed guard interval Δ/TU 1/4 1/8 1/16 1/32 
Duration of symbol part TU 2,048xT 
224 μs 
Duration of guard interval Δ 512xT 
56 μs 
256xT 
28 μs 
128xT 
14 μs 
64xT 
7 μs 
Symbol duration TS=Δ+TU 2,560xT 
280 μs 
2,304xT 
252 μs 
2,176xT 
238 μs 
2,112xT 
231 μs 
 max 
 
 j fct j k ( t 
) 
 
  
s t e π e π ′ −Δ 
2 2 / 
min 
0,0, 
( max ) 
min 
( ) Re 
/ 2. 
U 
K 
T 
K 
c 
with k k K K 
k 
k 
= 
= 
′= − + 
There is a clear resemblance between (2.1.4) and the Inverse Discrete Fourier 
Transform (IDFT): 
N-1 2 nq 1 N 
π = Σ 
n N q 
q=0 
Since various efficient FFT algorithms exist to perform the DFT and its inverse, it is 
a convenient form of implementation to generate N samples xn corresponding to 
the useful part, TU long, of each symbol. The guard interval is added by taking cop-ies 
of the last NΔ/TU of these samples and appending them in front. A subsequent 
up-conversion then gives the real signal s(t) centered on the frequency c f . 
2.2 FFT Implementation 
The first task to consider is that the OFDM spectrum is centered on c f ; i.e., 
subcarrier 1 is 7.61 
2 MHz to the left of the carrier and subcarrier 1,705 is 7.61 
2 MHz to 
the right. One simple way to achieve the centering is to use a 2N-IFFT [2] and T/2 
as the elementary period. As we can see in Table 1, the OFDM symbol duration, 
TU, is specified considering a 2,048-IFFT (N=2,048); therefore, we shall use a
4,096-IFFT. A block diagram of the generation of one OFDM symbol is shown in 
Figure 2.1 where we have indicated the variables used in the Matlab code. The 
next task to consider is the appropriate simulation period. T is defined as the ele-mentary 
period for a baseband signal, but since we are simulating a passband sig-nal, 
we have to relate it to a time-period, 1/Rs, that considers at least twice the car-rier 
frequency. For simplicity, we use an integer relation, Rs=40/T. This relation 
gives a carrier frequency close to 90 MHz, which is in the range of a VHF channel 
five, a common TV channel in any city. We can now proceed to describe each of 
the steps specified by the encircled letters in Figure 2.1. 
s(t) 
5 
1,705 
4-QAM 
Symbols 
60 
40 
20 
0 
-20 
-40 
fp=1/T LPF 
4,096 
IFFT 
g(t) 
T/2 
B 
Carriers 
C 
U 
D E 
UOFT 
Figure 2.1: OFDM symbol generation simulation. 
A 
Info 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-60 
Carriers Inphase 
Time (sec) 
Amplitude 
150 
100 
50 
0 
-50 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-100 
Carriers Quadrature 
Time (sec) 
Amplitude 
Figure 2.2: Time response of signal 
carriers at (B). 
fc 
0 2 4 6 8 10 12 14 16 18 
6 
x 10 
1.5 
1 
0.5 
0 
Carriers FFT 
Frequency (Hz) 
Amplitude 
0 2 4 6 8 10 12 14 16 18 
6 
x 10 
-20 
-40 
-60 
-80 
-100 
Frequency (Hz) 
Power Spectral Density (dB/Hz) 
Carriers Welch PSD Estimate 
Figure 2.3: Frequency response of 
signal carriers at (B). 
As suggested in [2], we add 4,096-1,705=2,391 zeros to the signal info at 
(A) to achieve over-sampling, 2X, and to center the spectrum. In Figure 2.2 and 
Figure 2.3, we can observe the result of this operation and that the signal carriers 
uses T/2 as its time period. We can also notice that carriers is the discrete time 
baseband signal. We could use this signal in baseband discrete-time domain simu-lations, 
but we must recall that the main OFDM drawbacks occur in the continuous-time 
domain; therefore, we must provide a simulation tool for the latter. The first 
step to produce a continuous-time signal is to apply a transmit filter, g(t), to the 
complex signal carriers. The impulse response, or pulse shape, of g(t) is shown in 
Figure 2.4.
6 
-5 0 5 10 
x 10-8 
1.5 
1 
0.5 
0 
-0.5 
Pulse g(t) 
Time (sec) 
Amplitude 
Figure 2.4: Pulse shape g(t). 
10 
0 
-10 
-20 
-30 
-40 
-50 
-60 
-70 
0 2 4 6 8 10 12 14 16 18 
x 106 
-80 
Frequency (Hz) 
Amplitude (dB) 
D/A Filter Response 
Figure 2.5: D/A filter response. 
The output of this transmit filter is shown in Figure 2.6 in the time-domain 
and in Figure 2.7 in the frequency-domain. The frequency response of Figure 2.7 is 
periodic as required of the frequency response of a discrete-time system [4], and 
the bandwidth of the spectrum shown in this figure is given by Rs. U(t)’s period is 
2/T, and we have (2/T=18.286)-7.61=10.675 MHz of transition bandwidth for the 
reconstruction filter. If we were to use an N-IFFT, we would only have (1/T=9.143)- 
7.61=1.533 MHz of transition bandwidth; therefore, we would require a very sharp 
roll-off, hence high complexity, in the reconstruction filter to avoid aliasing. 
The proposed reconstruction or D/A filter response is shown in Figure 2.5. It 
is a Butterworth filter of order 13 and cut-off frequency of approximately 1/T. The 
filter’s output is shown in Figure 2.8 and Figure 2.9. The first thing to notice is the 
delay of approximately 2x10-7 produced by the filtering process. Aside of this delay, 
the filtering performs as expected since we are left with only the baseband spec-trum. 
We must recall that subcarriers 853 to 1,705 are located at the right of 0 Hz, 
and subcarriers 1 to 852 are to the left of 4 c f Hz. 
60 
40 
20 
0 
-20 
-40 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-60 
U Inphase 
Time (sec) 
Amplitude 
150 
100 
50 
0 
-50 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-100 
U Quadrature 
Time (sec) 
Amplitude 
Figure 2.6: Time response of signal U 
at (C). 
0 0.5 1 1.5 2 2.5 3 3.5 
x 108 
50 
40 
30 
20 
10 
0 
U FFT 
Frequency (Hz) 
Amplitude 
-20 
-40 
-60 
-80 
-100 
0 0.5 1 1.5 2 2.5 3 3.5 
x 108 
-120 
Frequency (Hz) 
Power Spectral Density (dB/Hz) 
U Welch PSD Estimate 
Figure 2.7: Frequency response of 
signal U at (C)
7 
60 
40 
20 
0 
-20 
-40 
2 4 6 8 10 12 14 
x 10-7 
-60 
UOFT Inphase 
Time (sec) 
Amplitue 
150 
100 
50 
0 
-50 
2 4 6 8 10 12 14 
x 10-7 
-100 
UOFT Quadrature 
Time (sec) 
Amplitude 
Figure 2.8: Time response of signal 
UOFT at (D). 
0 0.5 1 1.5 2 2.5 3 3.5 
x 108 
50 
40 
30 
20 
10 
0 
UOFT FFT 
Frequency (Hz) 
Amplitude 
-20 
-40 
-60 
-80 
-100 
0 0.5 1 1.5 2 2.5 3 3.5 
x 108 
-120 
Frequency (Hz) 
Power Spectral Density (dB/Hz) 
UOFT Welch PSD Estimate 
Figure 2.9: Frequency response of 
signal UOFT at (D). 
The next step is to perform the quadrature multiplex double-sideband ampli-tude 
modulation of uoft(t). In this modulation, an in-phase signal ( ) I m t and a quad-rature 
signal ( ) Q m t are modulated using the formula 
( ) ( )cos(2 s t = mI t π fct) + mQ (t)sin(2π fct) (2.2.1) 
Equation (2.1.4) can be expanded as follows: 
K K K 
max = Σ 
( ) 
       − max + min 
  −      
 Δ    +    
− Σ 
( ) 
         −    +    
s ( t ) Re 0,0, cos 2 
π 
2 
f t 
T T K 
K K K 
π 
Im sin 2 
 − +    Δ   
0,0, 2 
U 
U 
min 
max max min 
f t 
T T K 
U 
U 
min 
c 
c 
k 
k 
k c 
k 
k 
= 
k = 
c 
(2.2.2) 
where we can define the in-phase and quadrature signals as the real and imagi-nary 
parts of m,l,k c , the 4-QAM symbols, respectively. 
0 2 4 6 8 10 12 14 16 18 
x 107 
20 
15 
10 
5 
0 
[real(uoft)cos(2*pi*fc*t)] FFT 
Frequency (Hz) 
Amplitude 
-20 
-40 
-60 
-80 
-100 
0 2 4 6 8 10 12 14 16 18 
x 107 
-120 
Frequency (Hz) 
Power Spectral Density (dB/Hz) 
[real(uoft)cos(2*pi*fc*t)] Welch PSD Estimate 
Figure 2.10: ( )cos(2 ) I c uoft t π f t fre-quency 
response. 
0 2 4 6 8 10 12 14 16 18 
x 107 
20 
15 
10 
5 
0 
[imag(uoft)sin(2*pi*fc*t)] FFT 
Frequency (Hz) 
Amplitude 
-20 
-40 
-60 
-80 
-100 
0 2 4 6 8 10 12 14 16 18 
x 107 
-120 
Frequency (Hz) 
Power Spectral Density (dB/Hz) 
[imag(uoft)sin(2*pi*fc*t)] Welch PSD Estimate 
Figure 2.11: ( )sin(2 ) Q c uoft t π f t fre-quency 
response.
8 
150 
100 
50 
0 
-50 
-100 
2 4 6 8 10 12 14 
x 10-7 
-150 
S(t) 
Time (sec) 
Amplitude 
Figure 2.12: Time response of signal 
s(t) at (E). 
0 2 4 6 8 10 12 14 16 18 
x 107 
25 
20 
15 
10 
5 
0 
S(t) FFT 
Frequency (Hz) 
Magnitude 
-20 
-40 
-60 
-80 
-100 
0 2 4 6 8 10 12 14 16 18 
x 107 
-120 
Frequency (Hz) 
Power Spectral Density (dB/Hz) 
S(t) Welch PSD Estimate 
Figure 2.13: Frequency response of 
signal s(t) at (E). 
The corresponding operation for the IFFT process is 
( ) ( )cos(2 ) ( )sin(s t = uoftI t π fct − uoftQ t 2π fct). (2.2.3) 
The frequency responses of each part of (2.2.3) are shown in Figure 2.10 and 
Figure 2.11 respectively. The time and frequency responses for the complete sig-nal, 
s(t), are shown in Figure 2.12 and in Figure 2.13. We can observe the large 
value of the aforementioned PAR in the time response of Figure 2.12. 
Finally, the time response using a direct simulation of (2.1.4) is shown in 
Figure 2.14, and the frequency responses of the direct simulation and 2N-IFFT im-plementation 
are shown in Figure 2.15. The direct simulation requires a consider-able 
time (about 10 minutes in a Sun Ultra 5, 333 MHz); therefore, a practical ap-plication 
must use the IFFT/FFT approach. A direct comparison of Figure 2.12 and 
Figure 2.14 shows differences in time alignment and amplitude, and a study of the 
frequency responses shown in Figure 2.15 reveals amplitude variations but closely 
related spectra. We could not expect an identical signal since we obtain different 
results from a 1,705-IFFT vs. a 4,096-IFFT using the same input data. 
150 
100 
50 
0 
-50 
-100 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-150 
s(t) (eq. 2.1.4) 
Time (sec) 
Amplitude 
Figure 2.14: Time response of direct 
simulation of (2.1.4). 
-30 
-40 
-50 
-60 
-70 
-80 
-90 
-100 
-110 
0 2 4 6 8 10 12 14 16 18 
x 107 
-120 
Frequency (Hz) 
Power Spectral Density (dB/Hz) 
(2.1.4) vs. IFFT Welch PSD Estimate 
(2.1.4) 
IFFT 
Figure 2.15: Frequency response of 
direct simulation of (2.1.4) and IFFT.
9 
3 OFDM Reception 
As we mentioned before, the design of an OFDM receiver is open; i.e., there 
are only transmission standards. With an open receiver design, most of the re-search 
and innovations are done in the receiver. For example, the frequency sensi-tivity 
drawback is mainly a transmission channel prediction issue, something that is 
done at the receiver; therefore, we shall only present a basic receiver structure in 
this report. A basic receiver that just follows the inverse of the transmission proc-ess 
is shown in Figure 3.1. 
4,096 
FFT 
G H 
Figure 3.1: OFDM reception simulation. 
F 
I 
J 
OFDM is very sensitive to timing and frequency offsets [2]. Even in this ideal 
simulation environment, we have to consider the delay produced by the filtering 
operation. For our simulation, the delay produced by the reconstruction and de-modulation 
filters is about td=64/Rs. This delay is enough to impede the reception, 
and it is the cause of the slight differences we can see between the transmitted 
and received signals (Figure 2.3 vs. Figure 3.7 for example). With the delay taken 
care of, the rest of the reception process is straightforward. As in the transmission 
case, we specified the names of the simulation variables and the output processes 
in the reception description of Figure 3.1. The results of this simulation are shown 
in Figures 3.2 to 3.9. 
60 
40 
20 
0 
-20 
-40 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-60 
r-tilde Inphase 
Amplitude 
150 
100 
50 
0 
-50 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-100 
r-tilde Quadrature 
Time (sec) 
Amplitude 
Figure 3.2: Time response of signal 
r_tilde at (F). 
0 0.5 1 1.5 2 2.5 3 3.5 
x 108 
25 
20 
15 
10 
5 
0 
r-tilde FFT 
Amplitude 
-20 
-40 
-60 
-80 
-100 
0 0.5 1 1.5 2 2.5 3 3.5 
x 108 
-120 
Frequency (Hz) 
Power Spectral Density (dB/Hz) 
r-tilde Welch PSD Estimate 
Figure 3.3: Frequency response of 
signal r_tilde at (F). 
fp=2fc LPF 
r(t) 
fc 
r_tilde 
r_info Fs=2/T to=td 
r_data info_h 
4-QAM 
Slicer 
a_hat
10 
60 
40 
20 
0 
-20 
-40 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-60 
r-info Inphase 
Amplitude 
150 
100 
50 
0 
-50 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-100 
r-info Quadrature 
Amplitude 
Figure 3.4: Time response of signal 
r_info at (G). 
0 0.5 1 1.5 2 2.5 3 3.5 
x 108 
50 
40 
30 
20 
10 
0 
r-info FFT 
Amplitude 
0 
-50 
-100 
0 0.5 1 1.5 2 2.5 3 3.5 
x 108 
-150 
Frequency (Hz) 
Power Spectral Density (dB/Hz) 
r-info Welch PSD Estimate 
Figure 3.5: Frequency response of 
signal r_info at (G). 
60 
40 
20 
0 
-20 
-40 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-60 
r-data Inphase 
Amplitude 
150 
100 
50 
0 
-50 
0 0.2 0.4 0.6 0.8 1 1.2 
x 10-6 
-100 
r-data Quadrature 
Amplitude 
Figure 3.6: Time response of signal 
r_data at (H). 
1.5 
1 
0.5 
0 2 4 6 8 10 12 14 16 18 
x 106 
0 
r-data FFT 
Amplitude 
-20 
-40 
-60 
-80 
0 2 4 6 8 10 12 14 16 18 
x 106 
-100 
Frequency (Hz) 
Power Spectral Density (dB/Hz) 
r-data Welch PSD Estimate 
Figure 3.7: Frequency response of 
signal r_data at (H). 
1.5 
1 
0.5 
axis 
Imaginary 0 
-0.5 
-1 
-1.5 
Real axis info-h Received Constellation 
-1.5 -1 -0.5 0 0.5 1 1.5 
Figure 3.8: info_h constellation. 
1.5 
1 
0.5 
0 
-0.5 
-1 
-1.5 
a-hat 4-QAM 
-1.5 -1 -0.5 0 0.5 1 1.5 
Real axis 
Imaginary axis 
Figure 3.9: a_hat constellation.
11 
4 Conclusion 
We can find many advantages in OFDM, but there are still many complex prob-lems 
to solve, and the people of the research team at the SARL are working in 
some of these problems. It is the purpose of this project to provide a basic simula-tion 
tool for them to use as a starting point in their projects. We hope that by using 
the specifications of a working system, the DBV-T, as an example, we are able to 
provide a much better explanation of the fundamentals of OFDM. 
5 Appendix 
5.1 OFDM Transmission 
%DVB-T 2K Transmission 
%The available bandwidth is 8 MHz 
%2K is intended for mobile services 
clear all; 
close all; 
%DVB-T Parameters 
Tu=224e-6; %useful OFDM symbol period 
T=Tu/2048; %baseband elementary period 
G=0; %choice of 1/4, 1/8, 1/16, and 1/32 
delta=G*Tu; %guard band duration 
Ts=delta+Tu; %total OFDM symbol period 
Kmax=1705; %number of subcarriers 
Kmin=0; 
FS=4096; %IFFT/FFT length 
q=10; %carrier period to elementary period ratio 
fc=q*1/T; %carrier frequency 
Rs=4*fc; %simulation period 
t=0:1/Rs:Tu; 
%Data generator (A) 
M=Kmax+1; 
rand('state',0); 
a=-1+2*round(rand(M,1)).'+i*(-1+2*round(rand(M,1))).'; 
A=length(a); 
info=zeros(FS,1); 
info(1:(A/2)) = [ a(1:(A/2)).']; %Zero padding 
info((FS-((A/2)-1)):FS) = [ a(((A/2)+1):A).']; 
%Subcarriers generation (B) 
carriers=FS.*ifft(info,FS); 
tt=0:T/2:Tu; 
figure(1); 
subplot(211); 
stem(tt(1:20),real(carriers(1:20)));
12 
subplot(212); 
stem(tt(1:20),imag(carriers(1:20))); 
figure(2); 
f=(2/T)*(1:(FS))/(FS); 
subplot(211); 
plot(f,abs(fft(carriers,FS))/FS); 
subplot(212); 
pwelch(carriers,[],[],[],2/T); 
% D/A simulation 
L = length(carriers); 
chips = [ carriers.';zeros((2*q)-1,L)]; 
p=1/Rs:1/Rs:T/2; 
g=ones(length(p),1); %pulse shape 
figure(3); 
stem(p,g); 
dummy=conv(g,chips(:)); 
u=[dummy(1:length(t))]; % (C) 
figure(4); 
subplot(211); 
plot(t(1:400),real(u(1:400))); 
subplot(212); 
plot(t(1:400),imag(u(1:400))); 
figure(5); 
ff=(Rs)*(1:(q*FS))/(q*FS); 
subplot(211); 
plot(ff,abs(fft(u,q*FS))/FS); 
subplot(212); 
pwelch(u,[],[],[],Rs); 
[b,a] = butter(13,1/20); %reconstruction filter 
[H,F] = FREQZ(b,a,FS,Rs); 
figure(6); 
plot(F,20*log10(abs(H))); 
uoft = filter(b,a,u); %baseband signal (D) 
figure(7); 
subplot(211); 
plot(t(80:480),real(uoft(80:480))); 
subplot(212); 
plot(t(80:480),imag(uoft(80:480))); 
figure(8); 
subplot(211); 
plot(ff,abs(fft(uoft,q*FS))/FS); 
subplot(212); 
pwelch(uoft,[],[],[],Rs); 
%Upconverter 
s_tilde=(uoft.').*exp(1i*2*pi*fc*t); 
s=real(s_tilde); %passband signal (E) 
figure(9); 
plot(t(80:480),s(80:480)); 
figure(10); 
subplot(211);
13 
%plot(ff,abs(fft(((real(uoft).').*cos(2*pi*fc*t)),q*FS))/FS); 
%plot(ff,abs(fft(((imag(uoft).').*sin(2*pi*fc*t)),q*FS))/FS); 
plot(ff,abs(fft(s,q*FS))/FS); 
subplot(212); 
%pwelch(((real(uoft).').*cos(2*pi*fc*t)),[],[],[],Rs); 
%pwelch(((imag(uoft).').*sin(2*pi*fc*t)),[],[],[],Rs); 
pwelch(s,[],[],[],Rs); 
5.2 OFDM Reception 
%DVB-T 2K Reception 
clear all; 
close all; 
Tu=224e-6; %useful OFDM symbol period 
T=Tu/2048; %baseband elementary period 
G=0; %choice of 1/4, 1/8, 1/16, and 1/32 
delta=G*Tu; %guard band duration 
Ts=delta+Tu; %total OFDM symbol period 
Kmax=1705; %number of subcarriers 
Kmin=0; 
FS=4096; %IFFT/FFT length 
q=10; %carrier period to elementary period ratio 
fc=q*1/T; %carrier frequency 
Rs=4*fc; %simulation period 
t=0:1/Rs:Tu; 
tt=0:T/2:Tu; 
%Data generator 
sM = 2; 
[x,y] = meshgrid((-sM+1):2:(sM-1),(-sM+1):2:(sM-1)); 
alphabet = x(:) + 1i*y(:); 
N=Kmax+1; 
rand('state',0); 
a=-1+2*round(rand(N,1)).'+i*(-1+2*round(rand(N,1))).'; 
A=length(a); 
info=zeros(FS,1); 
info(1:(A/2)) = [ a(1:(A/2)).']; 
info((FS-((A/2)-1)):FS) = [ a(((A/2)+1):A).']; 
carriers=FS.*ifft(info,FS); 
%Upconverter 
L = length(carriers); 
chips = [ carriers.';zeros((2*q)-1,L)]; 
p=1/Rs:1/Rs:T/2; 
g=ones(length(p),1); 
dummy=conv(g,chips(:)); 
u=[dummy; zeros(46,1)]; 
[b,aa] = butter(13,1/20); 
uoft = filter(b,aa,u); 
delay=64; %Reconstruction filter delay 
s_tilde=(uoft(delay+(1:length(t))).').*exp(1i*2*pi*fc*t);
14 
s=real(s_tilde); 
%OFDM RECEPTION 
%Downconversion 
r_tilde=exp(-1i*2*pi*fc*t).*s; %(F) 
figure(1); 
subplot(211); 
plot(t,real(r_tilde)); 
axis([0e-7 12e-7 -60 60]); 
grid on; 
figure(1); 
subplot(212); 
plot(t,imag(r_tilde)); 
axis([0e-7 12e-7 -100 150]); 
grid on; 
figure(2); 
ff=(Rs)*(1:(q*FS))/(q*FS); 
subplot(211); 
plot(ff,abs(fft(r_tilde,q*FS))/FS); 
grid on; 
figure(2); 
subplot(212); 
pwelch(r_tilde,[],[],[],Rs); 
%Carrier suppression 
[B,AA] = butter(3,1/2); 
r_info=2*filter(B,AA,r_tilde); %Baseband signal continuous-time (G) 
figure(3); 
subplot(211); 
plot(t,real(r_info)); 
axis([0 12e-7 -60 60]); 
grid on; 
figure(3); 
subplot(212); 
plot(t,imag(r_info)); 
axis([0 12e-7 -100 150]); 
grid on; 
figure(4); 
f=(2/T)*(1:(FS))/(FS); 
subplot(211); 
plot(ff,abs(fft(r_info,q*FS))/FS); 
grid on; 
subplot(212); 
pwelch(r_info,[],[],[],Rs); 
%Sampling 
r_data=real(r_info(1:(2*q):length(t)))... %Baseband signal, discrete-time 
+1i*imag(r_info(1:(2*q):length(t))); % (H) 
figure(5); 
subplot(211); 
stem(tt(1:20),(real(r_data(1:20)))); 
axis([0 12e-7 -60 60]); 
grid on;
15 
figure(5); 
subplot(212); 
stem(tt(1:20),(imag(r_data(1:20)))); 
axis([0 12e-7 -100 150]); 
grid on; 
figure(6); 
f=(2/T)*(1:(FS))/(FS); 
subplot(211); 
plot(f,abs(fft(r_data,FS))/FS); 
grid on; 
subplot(212); 
pwelch(r_data,[],[],[],2/T); 
%FFT 
info_2N=(1/FS).*fft(r_data,FS); % (I) 
info_h=[info_2N(1:A/2) info_2N((FS-((A/2)-1)):FS)]; 
%Slicing 
for k=1:N, 
a_hat(k)=alphabet((info_h(k)-alphabet)==min(info_h(k)-alphabet)); % 
(J) 
end; 
figure(7) 
plot(info_h((1:A)),'.k'); 
title('info-h Received Constellation') 
axis square; 
axis equal; 
figure(8) 
plot(a_hat((1:A)),'or'); 
title('a_hat 4-QAM') 
axis square; 
axis equal; 
grid on; 
axis([-1.5 1.5 -1.5 1.5]);
16 
5.3 Eq. (2.1.4) vs. IFFT 
%DVB-T 2K signal generation Eq. (2.1.4) vs. 2N-IFFT 
clear all; 
close all; 
Tu=224e-6; %useful OFDM symbol period 
T=Tu/2048; %baseband elementary period 
G=0; %choice of 1/4, 1/8, 1/16, and 1/32 
delta=G*Tu; %guard band duration 
Ts=delta+Tu; %total OFDM symbol period 
Kmax=1705; %number of subcarriers 
Kmin=0; 
FS=4096; %IFFT/FFT length 
q=10; %carrier period to elementary period ratio 
fc=q*1/T; %carrier frequency 
Rs=4*fc; %simulation period 
a=-1+2*round(rand(M,1)).'+i*(-1+2*round(rand(M,1))).'; 
A=length(a); 
info = [ a.']; 
tt=0:1/Rs:Ts; 
TT=length(tt); 
k=Kmin:Kmax; 
for t=0:(TT-1); % Eq. (2.1.4) 
phi=a(k+1).*exp((1j*2*(((t*(1/Rs))-delta))*pi/Tu).*((k-(Kmax- 
Kmin)/2))); 
s(t+1)=real(exp(1j*2*pi*fc*(t*(1/Rs))).*sum(phi)); 
end 
infof=zeros(FS,1); 
infof(1:(A/2)) = [ a(1:(A/2)).']; 
infof((FS-((A/2)-1)):FS) = [ a(((A/2)+1):A).']; 
carriers=FS.*ifft(infof,FS); % IFFT 
%Upconverter 
L = length(carriers); 
chips = [ carriers.';zeros((2*q)-1,L)]; 
p=1/Rs:1/Rs:T/2; 
g=ones(length(p),1); 
dummy=conv(g,chips(:)); 
u=[dummy(1:TT)]; 
[b,a] = butter(13,1/20); 
uoft = filter(b,a,u); 
s_tilde=(uoft.').*exp(1i*2*pi*fc*tt); 
sf=real(s_tilde); 
figure(1); 
plot(tt,s,'b',tt,sf,'g'); 
figure(2); 
pwelch(s,[],[],[],Rs); 
hold on; 
pwelch(sf,[],[],[],Rs); 
hold off;
6 References 
[1] ETS 300 744, "Digital broadcasting systems for television, sound and data 
services; framing structure, channel coding, and modulation for digital terres-trial 
television,” European Telecommunication Standard, Doc. 300 744, 
17 
1997. 
[2] R. V. Nee and R. Prasad, OFDM Wireless Multimedia Communications, 
Norwood, MA: Artech House, 2000. 
[3] J. A. C. Bingham, "Multi-carrier modulation for data transmission: An idea 
whose time has come", IEEE Communications Magazine, vol.28, no. 5, pp. 
5-14, May 1990. 
[4] A. V. Oppenheim and R. W. Schafer, Discrete-Time Signal Processing, 
Englewood Cliffs, NJ: Prentice Hall, 1989

Ofdm sim-matlab-code-tutorial web for EE students

  • 1.
  • 2.
    Smart Antenna ResearchLaboratory Faculty Advisor: Dr. Mary Ann Ingram Guillermo Acosta August, 2000 OFDM Simulation Using Matlab
  • 3.
    ii CONTENTS Abstract.............................................................................................. 1 1 Introduction .................................................................................. 1 2 OFDM Transmission .................................................................... 2 2.1 DVB-T Example................................................................... 2 2.2 FFT Implementation............................................................ 4 3 OFDM Reception .......................................................................... 9 4 Conclusion.................................................................................. 11 5 Appendix..................................................................................... 11 5.1 OFDM Transmission......................................................... 11 5.2 OFDM Reception............................................................... 13 5.3 Eq. (2.1.4) vs. IFFT ............................................................ 16 6 References.................................................................................. 17
  • 4.
    FIGURES AND TABLES Figure 1.1: DVB-T transmitter [1].............................................................................2 Figure 2.1: OFDM symbol generation simulation. ...................................................5 Figure 2.2: Time response of signal carriers at (B)..................................................5 Figure 2.3: Frequency response of signal carriers at (B).........................................5 Figure 2.4: Pulse shape g(t). ...................................................................................6 Figure 2.5: D/A filter response. ................................................................................6 Figure 2.6: Time response of signal U at (C). ..........................................................6 Figure 2.7: Frequency response of signal U at (C) ..................................................6 Figure 2.8: Time response of signal UOFT at (D)....................................................7 Figure 2.9: Frequency response of signal UOFT at (D). ..........................................7 Figure 2.10: uoftI (t)cos(2π fct) frequency response.................................................7 Figure 2.11: ( )sin(2 ) Q c uoft t π f t frequency response..................................................7 Figure 2.12: Time response of signal s(t) at (E).......................................................8 Figure 2.13: Frequency response of signal s(t) at (E)..............................................8 Figure 2.14: Time response of direct simulation of (2.1.4) and IFFT. ......................8 Figure 2.15: Frequency response of direct simulation of (2.1.4) and IFFT. .............8 Figure 3.1: OFDM reception simulation. ..................................................................9 Figure 3.2: Time response of signal r_tilde at (F). ...................................................9 Figure 3.3: Frequency response of signal r_tilde at (F). ..........................................9 Figure 3.4: Time response of signal r_info at (G). .................................................10 Figure 3.5: Frequency response of signal r_info at (G)..........................................10 Figure 3.6: Time response of signal r_data at (H). ................................................10 Figure 3.7: Frequency response of signal r_data at (H).........................................10 Figure 3.8: info_h constellation..............................................................................10 Figure 3.9: a_hat constellation...............................................................................10 Table 1: Numerical values for the OFDM parameters for the 2k mode....................4 iii
  • 5.
    Abstract Orthogonal frequencydivision multiplexing (OFDM) is becoming the chosen modulation technique for wireless communications. OFDM can provide large data rates with sufficient robustness to radio channel impairments. Many research cen-ters in the world have specialized teams working in the optimization of OFDM for countless applications. Here, at the Georgia Institute of Technology, one of such teams is in Dr. M. A. Ingram’s Smart Antenna Research Laboratory (SARL), a part of the Georgia Center for Advanced Telecommunications Technology (GCATT). The purpose of this report is to provide Matlab code to simulate the basic proc-essing involved in the generation and reception of an OFDM signal in a physical channel and to provide a description of each of the steps involved. For this pur-pose, we shall use, as an example, one of the proposed OFDM signals of the Digi-tal Video Broadcasting (DVB) standard for the European terrestrial digital television (DTV) service. 1 Introduction In an OFDM scheme, a large number of orthogonal, overlapping, narrow band sub-channels or subcarriers, transmitted in parallel, divide the available transmis-sion bandwidth. The separation of the subcarriers is theoretically minimal such that there is a very compact spectral utilization. The attraction of OFDM is mainly due to how the system handles the multipath interference at the receiver. Multipath gen-erates two effects: frequency selective fading and intersymbol interference (ISI). The "flatness" perceived by a narrow-band channel overcomes the former, and modulating at a very low symbol rate, which makes the symbols much longer than the channel impulse response, diminishes the latter. Using powerful error correct-ing codes together with time and frequency interleaving yields even more robust-ness against frequency selective fading, and the insertion of an extra guard interval between consecutive OFDM symbols can reduce the effects of ISI even more. Thus, an equalizer in the receiver is not necessary. There are two main drawbacks with OFDM, the large dynamic range of the signal (also referred as peak-to average [PAR] ratio) and its sensitivity to frequency errors. These in turn are the main research topics of OFDM in many research cen-ters around the world, including the SARL. A block diagram of the European DVB-T standard is shown in Figure 1.1. Most of the processes described in this diagram are performed within a digital signal processor (DSP), but the aforementioned drawbacks occur in the physical channel; i.e., the output signal of this system. Therefore, it is the purpose of this project to provide a description of each of the steps involved in the generation of this signal and the Matlab code for their simulation. We expect that the results obtained can provide a useful reference material for future projects of the SARL’s team. In other words, this project will concentrate only in the blocks labeled OFDM, D/A, and Front End of Figure 1.1.
  • 6.
    We only havetransmission regulations in the DVB-T standard since the recep-tion system should be open to promote competition among receivers’ manufactur-ers. We shall try to portray a general receiver system to have a complete system Figure 1.1: DVB-T transmitter [1] Σ (2.1.1) 2 description. 2 OFDM Transmission 2.1 DVB-T Example A detailed description of OFDM can be found in [2] where we can find the expression for one OFDM symbol starting at t = ts as follows:  1               s t d j f i t t t t t T = Re exp 2 − + 0.5 − , ≤ ≤ + = < ∧ > + ( ) ( ) 2 2 2 ( ) 0, Ns s Ns i N c s s s i s s T s t t t t t T π − + =− where i d are complex modulation symbols, s N is the number of subcarriers, T the symbol duration, and c f the carrier frequency. A particular version of (2.1.1) is given in the DVB-T standard as the emitted signal. The expression is
  • 7.
    s c ψ(2.1.2) 3  ∞ 67      = ΣΣ Σ ⋅ max (t) Re e j2π fct (t) min K m,l,k m,l,k m=0 l=0 k=K where π ′ −Δ− ⋅ − ⋅ ⋅  2 ( T T S 68 T S ) ( ) ψ ( ) ( 68 ) T 68 1 T 0 j k t l m t e l m t l m = U + ⋅ ⋅ ≤ ≤ + ⋅ + ⋅ m,l,k S S else (2.1.3) where: k denotes the carrier number; l denotes the OFDM symbol number; m denotes the transmission frame number; K is the number of transmitted carriers; TS is the symbol duration; TU is the inverse of the carrier spacing; Δ is the duration of the guard interval; fc is the central frequency of the radio frequency (RF) signal; k′ is the carrier index relative to the center frequency, ( ) max min k′ = k − K + K / 2 ; cm,0,k cm,1,k … cm,67,k complex symbol for carrier k of the Data symbol no.1 in frame number m; complex symbol for carrier k of the Data symbol no.2 in frame number m; complex symbol for carrier k of the Data symbol no.68 in frame number m; It is important to realize that (2.1.2) describes a working system, i.e., a sys-tem that has been used and tested since March 1997. Our simulations will focus in the 2k mode of the DVB-T standard. This particular mode is intended for mobile reception of standard definition DTV. The transmitted OFDM signal is organized in frames. Each frame has a duration of TF, and consists of 68 OFDM symbols. Four frames constitute one super-frame. Each symbol is constituted by a set of K=1,705 carriers in the 2k mode and transmitted with a duration TS. A useful part with dura-tion TU and a guard interval with a duration Δ compose TS. The specific numerical values for the OFDM parameters for the 2k mode are given in Table 1. The next issue at hand is the practical implementation of (2.1.2). OFDM practical implementation became a reality in the 1990’s due to the availability of DSP’s that made the Fast Fourier Transform (FFT) affordable [3]. Therefore, we shall focus the rest of the report to this implementation using the values and refer-ences of the DVB-T example. If we consider (2.1.2) for the period from t=0 to t=TS we obtain:
  • 8.
    Σ (2.1.4) xX j e (2.1.5) 4 Table 1: Numerical values for the OFDM parameters for the 2k mode Parameter 2k mode Elementary period T 7/64 μs Number of carriers K 1,705 Value of carrier number Kmin 0 Value of carrier number Kmax 1,704 Duration TU 224 μs Carrier spacing 1/TU 4,464 Hz Spacing between carriers Kmin and Kmax(K-1)/TU 7.61 MHz Allowed guard interval Δ/TU 1/4 1/8 1/16 1/32 Duration of symbol part TU 2,048xT 224 μs Duration of guard interval Δ 512xT 56 μs 256xT 28 μs 128xT 14 μs 64xT 7 μs Symbol duration TS=Δ+TU 2,560xT 280 μs 2,304xT 252 μs 2,176xT 238 μs 2,112xT 231 μs  max   j fct j k ( t )    s t e π e π ′ −Δ 2 2 / min 0,0, ( max ) min ( ) Re / 2. U K T K c with k k K K k k = = ′= − + There is a clear resemblance between (2.1.4) and the Inverse Discrete Fourier Transform (IDFT): N-1 2 nq 1 N π = Σ n N q q=0 Since various efficient FFT algorithms exist to perform the DFT and its inverse, it is a convenient form of implementation to generate N samples xn corresponding to the useful part, TU long, of each symbol. The guard interval is added by taking cop-ies of the last NΔ/TU of these samples and appending them in front. A subsequent up-conversion then gives the real signal s(t) centered on the frequency c f . 2.2 FFT Implementation The first task to consider is that the OFDM spectrum is centered on c f ; i.e., subcarrier 1 is 7.61 2 MHz to the left of the carrier and subcarrier 1,705 is 7.61 2 MHz to the right. One simple way to achieve the centering is to use a 2N-IFFT [2] and T/2 as the elementary period. As we can see in Table 1, the OFDM symbol duration, TU, is specified considering a 2,048-IFFT (N=2,048); therefore, we shall use a
  • 9.
    4,096-IFFT. A blockdiagram of the generation of one OFDM symbol is shown in Figure 2.1 where we have indicated the variables used in the Matlab code. The next task to consider is the appropriate simulation period. T is defined as the ele-mentary period for a baseband signal, but since we are simulating a passband sig-nal, we have to relate it to a time-period, 1/Rs, that considers at least twice the car-rier frequency. For simplicity, we use an integer relation, Rs=40/T. This relation gives a carrier frequency close to 90 MHz, which is in the range of a VHF channel five, a common TV channel in any city. We can now proceed to describe each of the steps specified by the encircled letters in Figure 2.1. s(t) 5 1,705 4-QAM Symbols 60 40 20 0 -20 -40 fp=1/T LPF 4,096 IFFT g(t) T/2 B Carriers C U D E UOFT Figure 2.1: OFDM symbol generation simulation. A Info 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -60 Carriers Inphase Time (sec) Amplitude 150 100 50 0 -50 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -100 Carriers Quadrature Time (sec) Amplitude Figure 2.2: Time response of signal carriers at (B). fc 0 2 4 6 8 10 12 14 16 18 6 x 10 1.5 1 0.5 0 Carriers FFT Frequency (Hz) Amplitude 0 2 4 6 8 10 12 14 16 18 6 x 10 -20 -40 -60 -80 -100 Frequency (Hz) Power Spectral Density (dB/Hz) Carriers Welch PSD Estimate Figure 2.3: Frequency response of signal carriers at (B). As suggested in [2], we add 4,096-1,705=2,391 zeros to the signal info at (A) to achieve over-sampling, 2X, and to center the spectrum. In Figure 2.2 and Figure 2.3, we can observe the result of this operation and that the signal carriers uses T/2 as its time period. We can also notice that carriers is the discrete time baseband signal. We could use this signal in baseband discrete-time domain simu-lations, but we must recall that the main OFDM drawbacks occur in the continuous-time domain; therefore, we must provide a simulation tool for the latter. The first step to produce a continuous-time signal is to apply a transmit filter, g(t), to the complex signal carriers. The impulse response, or pulse shape, of g(t) is shown in Figure 2.4.
  • 10.
    6 -5 05 10 x 10-8 1.5 1 0.5 0 -0.5 Pulse g(t) Time (sec) Amplitude Figure 2.4: Pulse shape g(t). 10 0 -10 -20 -30 -40 -50 -60 -70 0 2 4 6 8 10 12 14 16 18 x 106 -80 Frequency (Hz) Amplitude (dB) D/A Filter Response Figure 2.5: D/A filter response. The output of this transmit filter is shown in Figure 2.6 in the time-domain and in Figure 2.7 in the frequency-domain. The frequency response of Figure 2.7 is periodic as required of the frequency response of a discrete-time system [4], and the bandwidth of the spectrum shown in this figure is given by Rs. U(t)’s period is 2/T, and we have (2/T=18.286)-7.61=10.675 MHz of transition bandwidth for the reconstruction filter. If we were to use an N-IFFT, we would only have (1/T=9.143)- 7.61=1.533 MHz of transition bandwidth; therefore, we would require a very sharp roll-off, hence high complexity, in the reconstruction filter to avoid aliasing. The proposed reconstruction or D/A filter response is shown in Figure 2.5. It is a Butterworth filter of order 13 and cut-off frequency of approximately 1/T. The filter’s output is shown in Figure 2.8 and Figure 2.9. The first thing to notice is the delay of approximately 2x10-7 produced by the filtering process. Aside of this delay, the filtering performs as expected since we are left with only the baseband spec-trum. We must recall that subcarriers 853 to 1,705 are located at the right of 0 Hz, and subcarriers 1 to 852 are to the left of 4 c f Hz. 60 40 20 0 -20 -40 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -60 U Inphase Time (sec) Amplitude 150 100 50 0 -50 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -100 U Quadrature Time (sec) Amplitude Figure 2.6: Time response of signal U at (C). 0 0.5 1 1.5 2 2.5 3 3.5 x 108 50 40 30 20 10 0 U FFT Frequency (Hz) Amplitude -20 -40 -60 -80 -100 0 0.5 1 1.5 2 2.5 3 3.5 x 108 -120 Frequency (Hz) Power Spectral Density (dB/Hz) U Welch PSD Estimate Figure 2.7: Frequency response of signal U at (C)
  • 11.
    7 60 40 20 0 -20 -40 2 4 6 8 10 12 14 x 10-7 -60 UOFT Inphase Time (sec) Amplitue 150 100 50 0 -50 2 4 6 8 10 12 14 x 10-7 -100 UOFT Quadrature Time (sec) Amplitude Figure 2.8: Time response of signal UOFT at (D). 0 0.5 1 1.5 2 2.5 3 3.5 x 108 50 40 30 20 10 0 UOFT FFT Frequency (Hz) Amplitude -20 -40 -60 -80 -100 0 0.5 1 1.5 2 2.5 3 3.5 x 108 -120 Frequency (Hz) Power Spectral Density (dB/Hz) UOFT Welch PSD Estimate Figure 2.9: Frequency response of signal UOFT at (D). The next step is to perform the quadrature multiplex double-sideband ampli-tude modulation of uoft(t). In this modulation, an in-phase signal ( ) I m t and a quad-rature signal ( ) Q m t are modulated using the formula ( ) ( )cos(2 s t = mI t π fct) + mQ (t)sin(2π fct) (2.2.1) Equation (2.1.4) can be expanded as follows: K K K max = Σ ( )        − max + min   −       Δ    +    − Σ ( )          −    +    s ( t ) Re 0,0, cos 2 π 2 f t T T K K K K π Im sin 2  − +    Δ   0,0, 2 U U min max max min f t T T K U U min c c k k k c k k = k = c (2.2.2) where we can define the in-phase and quadrature signals as the real and imagi-nary parts of m,l,k c , the 4-QAM symbols, respectively. 0 2 4 6 8 10 12 14 16 18 x 107 20 15 10 5 0 [real(uoft)cos(2*pi*fc*t)] FFT Frequency (Hz) Amplitude -20 -40 -60 -80 -100 0 2 4 6 8 10 12 14 16 18 x 107 -120 Frequency (Hz) Power Spectral Density (dB/Hz) [real(uoft)cos(2*pi*fc*t)] Welch PSD Estimate Figure 2.10: ( )cos(2 ) I c uoft t π f t fre-quency response. 0 2 4 6 8 10 12 14 16 18 x 107 20 15 10 5 0 [imag(uoft)sin(2*pi*fc*t)] FFT Frequency (Hz) Amplitude -20 -40 -60 -80 -100 0 2 4 6 8 10 12 14 16 18 x 107 -120 Frequency (Hz) Power Spectral Density (dB/Hz) [imag(uoft)sin(2*pi*fc*t)] Welch PSD Estimate Figure 2.11: ( )sin(2 ) Q c uoft t π f t fre-quency response.
  • 12.
    8 150 100 50 0 -50 -100 2 4 6 8 10 12 14 x 10-7 -150 S(t) Time (sec) Amplitude Figure 2.12: Time response of signal s(t) at (E). 0 2 4 6 8 10 12 14 16 18 x 107 25 20 15 10 5 0 S(t) FFT Frequency (Hz) Magnitude -20 -40 -60 -80 -100 0 2 4 6 8 10 12 14 16 18 x 107 -120 Frequency (Hz) Power Spectral Density (dB/Hz) S(t) Welch PSD Estimate Figure 2.13: Frequency response of signal s(t) at (E). The corresponding operation for the IFFT process is ( ) ( )cos(2 ) ( )sin(s t = uoftI t π fct − uoftQ t 2π fct). (2.2.3) The frequency responses of each part of (2.2.3) are shown in Figure 2.10 and Figure 2.11 respectively. The time and frequency responses for the complete sig-nal, s(t), are shown in Figure 2.12 and in Figure 2.13. We can observe the large value of the aforementioned PAR in the time response of Figure 2.12. Finally, the time response using a direct simulation of (2.1.4) is shown in Figure 2.14, and the frequency responses of the direct simulation and 2N-IFFT im-plementation are shown in Figure 2.15. The direct simulation requires a consider-able time (about 10 minutes in a Sun Ultra 5, 333 MHz); therefore, a practical ap-plication must use the IFFT/FFT approach. A direct comparison of Figure 2.12 and Figure 2.14 shows differences in time alignment and amplitude, and a study of the frequency responses shown in Figure 2.15 reveals amplitude variations but closely related spectra. We could not expect an identical signal since we obtain different results from a 1,705-IFFT vs. a 4,096-IFFT using the same input data. 150 100 50 0 -50 -100 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -150 s(t) (eq. 2.1.4) Time (sec) Amplitude Figure 2.14: Time response of direct simulation of (2.1.4). -30 -40 -50 -60 -70 -80 -90 -100 -110 0 2 4 6 8 10 12 14 16 18 x 107 -120 Frequency (Hz) Power Spectral Density (dB/Hz) (2.1.4) vs. IFFT Welch PSD Estimate (2.1.4) IFFT Figure 2.15: Frequency response of direct simulation of (2.1.4) and IFFT.
  • 13.
    9 3 OFDMReception As we mentioned before, the design of an OFDM receiver is open; i.e., there are only transmission standards. With an open receiver design, most of the re-search and innovations are done in the receiver. For example, the frequency sensi-tivity drawback is mainly a transmission channel prediction issue, something that is done at the receiver; therefore, we shall only present a basic receiver structure in this report. A basic receiver that just follows the inverse of the transmission proc-ess is shown in Figure 3.1. 4,096 FFT G H Figure 3.1: OFDM reception simulation. F I J OFDM is very sensitive to timing and frequency offsets [2]. Even in this ideal simulation environment, we have to consider the delay produced by the filtering operation. For our simulation, the delay produced by the reconstruction and de-modulation filters is about td=64/Rs. This delay is enough to impede the reception, and it is the cause of the slight differences we can see between the transmitted and received signals (Figure 2.3 vs. Figure 3.7 for example). With the delay taken care of, the rest of the reception process is straightforward. As in the transmission case, we specified the names of the simulation variables and the output processes in the reception description of Figure 3.1. The results of this simulation are shown in Figures 3.2 to 3.9. 60 40 20 0 -20 -40 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -60 r-tilde Inphase Amplitude 150 100 50 0 -50 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -100 r-tilde Quadrature Time (sec) Amplitude Figure 3.2: Time response of signal r_tilde at (F). 0 0.5 1 1.5 2 2.5 3 3.5 x 108 25 20 15 10 5 0 r-tilde FFT Amplitude -20 -40 -60 -80 -100 0 0.5 1 1.5 2 2.5 3 3.5 x 108 -120 Frequency (Hz) Power Spectral Density (dB/Hz) r-tilde Welch PSD Estimate Figure 3.3: Frequency response of signal r_tilde at (F). fp=2fc LPF r(t) fc r_tilde r_info Fs=2/T to=td r_data info_h 4-QAM Slicer a_hat
  • 14.
    10 60 40 20 0 -20 -40 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -60 r-info Inphase Amplitude 150 100 50 0 -50 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -100 r-info Quadrature Amplitude Figure 3.4: Time response of signal r_info at (G). 0 0.5 1 1.5 2 2.5 3 3.5 x 108 50 40 30 20 10 0 r-info FFT Amplitude 0 -50 -100 0 0.5 1 1.5 2 2.5 3 3.5 x 108 -150 Frequency (Hz) Power Spectral Density (dB/Hz) r-info Welch PSD Estimate Figure 3.5: Frequency response of signal r_info at (G). 60 40 20 0 -20 -40 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -60 r-data Inphase Amplitude 150 100 50 0 -50 0 0.2 0.4 0.6 0.8 1 1.2 x 10-6 -100 r-data Quadrature Amplitude Figure 3.6: Time response of signal r_data at (H). 1.5 1 0.5 0 2 4 6 8 10 12 14 16 18 x 106 0 r-data FFT Amplitude -20 -40 -60 -80 0 2 4 6 8 10 12 14 16 18 x 106 -100 Frequency (Hz) Power Spectral Density (dB/Hz) r-data Welch PSD Estimate Figure 3.7: Frequency response of signal r_data at (H). 1.5 1 0.5 axis Imaginary 0 -0.5 -1 -1.5 Real axis info-h Received Constellation -1.5 -1 -0.5 0 0.5 1 1.5 Figure 3.8: info_h constellation. 1.5 1 0.5 0 -0.5 -1 -1.5 a-hat 4-QAM -1.5 -1 -0.5 0 0.5 1 1.5 Real axis Imaginary axis Figure 3.9: a_hat constellation.
  • 15.
    11 4 Conclusion We can find many advantages in OFDM, but there are still many complex prob-lems to solve, and the people of the research team at the SARL are working in some of these problems. It is the purpose of this project to provide a basic simula-tion tool for them to use as a starting point in their projects. We hope that by using the specifications of a working system, the DBV-T, as an example, we are able to provide a much better explanation of the fundamentals of OFDM. 5 Appendix 5.1 OFDM Transmission %DVB-T 2K Transmission %The available bandwidth is 8 MHz %2K is intended for mobile services clear all; close all; %DVB-T Parameters Tu=224e-6; %useful OFDM symbol period T=Tu/2048; %baseband elementary period G=0; %choice of 1/4, 1/8, 1/16, and 1/32 delta=G*Tu; %guard band duration Ts=delta+Tu; %total OFDM symbol period Kmax=1705; %number of subcarriers Kmin=0; FS=4096; %IFFT/FFT length q=10; %carrier period to elementary period ratio fc=q*1/T; %carrier frequency Rs=4*fc; %simulation period t=0:1/Rs:Tu; %Data generator (A) M=Kmax+1; rand('state',0); a=-1+2*round(rand(M,1)).'+i*(-1+2*round(rand(M,1))).'; A=length(a); info=zeros(FS,1); info(1:(A/2)) = [ a(1:(A/2)).']; %Zero padding info((FS-((A/2)-1)):FS) = [ a(((A/2)+1):A).']; %Subcarriers generation (B) carriers=FS.*ifft(info,FS); tt=0:T/2:Tu; figure(1); subplot(211); stem(tt(1:20),real(carriers(1:20)));
  • 16.
    12 subplot(212); stem(tt(1:20),imag(carriers(1:20))); figure(2); f=(2/T)*(1:(FS))/(FS); subplot(211); plot(f,abs(fft(carriers,FS))/FS); subplot(212); pwelch(carriers,[],[],[],2/T); % D/A simulation L = length(carriers); chips = [ carriers.';zeros((2*q)-1,L)]; p=1/Rs:1/Rs:T/2; g=ones(length(p),1); %pulse shape figure(3); stem(p,g); dummy=conv(g,chips(:)); u=[dummy(1:length(t))]; % (C) figure(4); subplot(211); plot(t(1:400),real(u(1:400))); subplot(212); plot(t(1:400),imag(u(1:400))); figure(5); ff=(Rs)*(1:(q*FS))/(q*FS); subplot(211); plot(ff,abs(fft(u,q*FS))/FS); subplot(212); pwelch(u,[],[],[],Rs); [b,a] = butter(13,1/20); %reconstruction filter [H,F] = FREQZ(b,a,FS,Rs); figure(6); plot(F,20*log10(abs(H))); uoft = filter(b,a,u); %baseband signal (D) figure(7); subplot(211); plot(t(80:480),real(uoft(80:480))); subplot(212); plot(t(80:480),imag(uoft(80:480))); figure(8); subplot(211); plot(ff,abs(fft(uoft,q*FS))/FS); subplot(212); pwelch(uoft,[],[],[],Rs); %Upconverter s_tilde=(uoft.').*exp(1i*2*pi*fc*t); s=real(s_tilde); %passband signal (E) figure(9); plot(t(80:480),s(80:480)); figure(10); subplot(211);
  • 17.
    13 %plot(ff,abs(fft(((real(uoft).').*cos(2*pi*fc*t)),q*FS))/FS); %plot(ff,abs(fft(((imag(uoft).').*sin(2*pi*fc*t)),q*FS))/FS); plot(ff,abs(fft(s,q*FS))/FS); subplot(212); %pwelch(((real(uoft).').*cos(2*pi*fc*t)),[],[],[],Rs); %pwelch(((imag(uoft).').*sin(2*pi*fc*t)),[],[],[],Rs); pwelch(s,[],[],[],Rs); 5.2 OFDM Reception %DVB-T 2K Reception clear all; close all; Tu=224e-6; %useful OFDM symbol period T=Tu/2048; %baseband elementary period G=0; %choice of 1/4, 1/8, 1/16, and 1/32 delta=G*Tu; %guard band duration Ts=delta+Tu; %total OFDM symbol period Kmax=1705; %number of subcarriers Kmin=0; FS=4096; %IFFT/FFT length q=10; %carrier period to elementary period ratio fc=q*1/T; %carrier frequency Rs=4*fc; %simulation period t=0:1/Rs:Tu; tt=0:T/2:Tu; %Data generator sM = 2; [x,y] = meshgrid((-sM+1):2:(sM-1),(-sM+1):2:(sM-1)); alphabet = x(:) + 1i*y(:); N=Kmax+1; rand('state',0); a=-1+2*round(rand(N,1)).'+i*(-1+2*round(rand(N,1))).'; A=length(a); info=zeros(FS,1); info(1:(A/2)) = [ a(1:(A/2)).']; info((FS-((A/2)-1)):FS) = [ a(((A/2)+1):A).']; carriers=FS.*ifft(info,FS); %Upconverter L = length(carriers); chips = [ carriers.';zeros((2*q)-1,L)]; p=1/Rs:1/Rs:T/2; g=ones(length(p),1); dummy=conv(g,chips(:)); u=[dummy; zeros(46,1)]; [b,aa] = butter(13,1/20); uoft = filter(b,aa,u); delay=64; %Reconstruction filter delay s_tilde=(uoft(delay+(1:length(t))).').*exp(1i*2*pi*fc*t);
  • 18.
    14 s=real(s_tilde); %OFDMRECEPTION %Downconversion r_tilde=exp(-1i*2*pi*fc*t).*s; %(F) figure(1); subplot(211); plot(t,real(r_tilde)); axis([0e-7 12e-7 -60 60]); grid on; figure(1); subplot(212); plot(t,imag(r_tilde)); axis([0e-7 12e-7 -100 150]); grid on; figure(2); ff=(Rs)*(1:(q*FS))/(q*FS); subplot(211); plot(ff,abs(fft(r_tilde,q*FS))/FS); grid on; figure(2); subplot(212); pwelch(r_tilde,[],[],[],Rs); %Carrier suppression [B,AA] = butter(3,1/2); r_info=2*filter(B,AA,r_tilde); %Baseband signal continuous-time (G) figure(3); subplot(211); plot(t,real(r_info)); axis([0 12e-7 -60 60]); grid on; figure(3); subplot(212); plot(t,imag(r_info)); axis([0 12e-7 -100 150]); grid on; figure(4); f=(2/T)*(1:(FS))/(FS); subplot(211); plot(ff,abs(fft(r_info,q*FS))/FS); grid on; subplot(212); pwelch(r_info,[],[],[],Rs); %Sampling r_data=real(r_info(1:(2*q):length(t)))... %Baseband signal, discrete-time +1i*imag(r_info(1:(2*q):length(t))); % (H) figure(5); subplot(211); stem(tt(1:20),(real(r_data(1:20)))); axis([0 12e-7 -60 60]); grid on;
  • 19.
    15 figure(5); subplot(212); stem(tt(1:20),(imag(r_data(1:20)))); axis([0 12e-7 -100 150]); grid on; figure(6); f=(2/T)*(1:(FS))/(FS); subplot(211); plot(f,abs(fft(r_data,FS))/FS); grid on; subplot(212); pwelch(r_data,[],[],[],2/T); %FFT info_2N=(1/FS).*fft(r_data,FS); % (I) info_h=[info_2N(1:A/2) info_2N((FS-((A/2)-1)):FS)]; %Slicing for k=1:N, a_hat(k)=alphabet((info_h(k)-alphabet)==min(info_h(k)-alphabet)); % (J) end; figure(7) plot(info_h((1:A)),'.k'); title('info-h Received Constellation') axis square; axis equal; figure(8) plot(a_hat((1:A)),'or'); title('a_hat 4-QAM') axis square; axis equal; grid on; axis([-1.5 1.5 -1.5 1.5]);
  • 20.
    16 5.3 Eq.(2.1.4) vs. IFFT %DVB-T 2K signal generation Eq. (2.1.4) vs. 2N-IFFT clear all; close all; Tu=224e-6; %useful OFDM symbol period T=Tu/2048; %baseband elementary period G=0; %choice of 1/4, 1/8, 1/16, and 1/32 delta=G*Tu; %guard band duration Ts=delta+Tu; %total OFDM symbol period Kmax=1705; %number of subcarriers Kmin=0; FS=4096; %IFFT/FFT length q=10; %carrier period to elementary period ratio fc=q*1/T; %carrier frequency Rs=4*fc; %simulation period a=-1+2*round(rand(M,1)).'+i*(-1+2*round(rand(M,1))).'; A=length(a); info = [ a.']; tt=0:1/Rs:Ts; TT=length(tt); k=Kmin:Kmax; for t=0:(TT-1); % Eq. (2.1.4) phi=a(k+1).*exp((1j*2*(((t*(1/Rs))-delta))*pi/Tu).*((k-(Kmax- Kmin)/2))); s(t+1)=real(exp(1j*2*pi*fc*(t*(1/Rs))).*sum(phi)); end infof=zeros(FS,1); infof(1:(A/2)) = [ a(1:(A/2)).']; infof((FS-((A/2)-1)):FS) = [ a(((A/2)+1):A).']; carriers=FS.*ifft(infof,FS); % IFFT %Upconverter L = length(carriers); chips = [ carriers.';zeros((2*q)-1,L)]; p=1/Rs:1/Rs:T/2; g=ones(length(p),1); dummy=conv(g,chips(:)); u=[dummy(1:TT)]; [b,a] = butter(13,1/20); uoft = filter(b,a,u); s_tilde=(uoft.').*exp(1i*2*pi*fc*tt); sf=real(s_tilde); figure(1); plot(tt,s,'b',tt,sf,'g'); figure(2); pwelch(s,[],[],[],Rs); hold on; pwelch(sf,[],[],[],Rs); hold off;
  • 21.
    6 References [1]ETS 300 744, "Digital broadcasting systems for television, sound and data services; framing structure, channel coding, and modulation for digital terres-trial television,” European Telecommunication Standard, Doc. 300 744, 17 1997. [2] R. V. Nee and R. Prasad, OFDM Wireless Multimedia Communications, Norwood, MA: Artech House, 2000. [3] J. A. C. Bingham, "Multi-carrier modulation for data transmission: An idea whose time has come", IEEE Communications Magazine, vol.28, no. 5, pp. 5-14, May 1990. [4] A. V. Oppenheim and R. W. Schafer, Discrete-Time Signal Processing, Englewood Cliffs, NJ: Prentice Hall, 1989