WIRELESS COMMUNICATION
WIRELESS COMMUNICATION
LIST OF EXPERIMENTS
SR.NO DATE EXPIREMENT SIGNATURE
EXPERIMENT:1
INTRODUCTION TO MATLAB
Aim:
To Briefly introduction about MATLAB.
Theory:
INTRODUCTION TO MATLAB:
• The name MATLAB stands for MATrix LAboratory. MATLAB was written originally to
provide easy access to matrix software developed by the LINPACK (linear system package)
and EISPACK (Eigen system package) projects.
• MATLAB is a high-performance language for technical computing. It integrates computation,
visualization, and programming environment. Furthermore, MATLAB is a modern
programming language environment: it has sophisticated data structures, contains built-in
editing and debugging tools, and supports object-oriented programming. These factors make
MATLAB an excellent tool for teaching and research.
• MATLAB has many advantages compared to conventional computer languages (e.g., C,
FORTRAN) for solving technical problems. MATLAB is an interactive system whose basic
data element is an array that does not require dimensioning. The software package has been
commercially available since 1984 and is now considered as a standard tool at most
universities and industries worldwide.
• It has powerful built-in routines that enable a very wide variety of computations. It also has
easy to use graphics commands that make the visualization of results immediately available.
Specific
applications are collected in packages referred to as toolbox. There are toolboxes for signal
processing, symbolic computation, control theory, simulation, optimization, and several other
fields of applied science and engineering.
• Starting MATLAB: you can enter MATLAB by double-clicking on the MATLAB shortcut
icon on your Windows desktop. When you start MATLAB, a special window called the
MATLAB desktop appears. The desktop is a window that contains other windows. The major
tools within or accessible from the desktop are:
•The Command Window
• The Command History
•The Workspace
• The Current Directory
• The Help Browser
• The Start button
• Quitting MATLAB: To end your MATLAB session, type quit in the Command
Window, or select File Exit MATLAB in the desktop main menu.
• Creating MATLAB variables: MATLAB variables are created with an assignment statement.
The syntax of variable assignment is
variable name = a value (or an expression) For example,
>> x = expression
>> t = 5;
>> t = t+1
t= 6
>> x = 10;
>> 5x
??? 5x
|
Error: Unexpected MATLAB expression.
• Making corrections: To make corrections, we can, of course retype the expressions. But if
the expression is lengthy, we make more mistakes by typing a second time. A previously
typed command can be recalled with the up-arrow key". When the command is displayed at
the command prompt, it can be modified if needed and executed.
• Controlling the appearance of floating point number: MATLAB by default displays only 4
decimals in the result of the calculations, for example 163:6667, as shown in above
examples. However, MATLAB does numerical calculation in double precision, which is
15 digits. The command format controls how the results of computations are displayed.
Here are some examples of the di®erent formats together withthe resulting outputs.
>> format short
>> x=-163.6667
>> x= -1.636666666666667e+002
To return to the standard format, enter format short, or simply format.There are several other formats.
For more details, see the MATLAB documentation,or type help format.Note - Up to now, we have let
MATLAB repeat everything that we enter at theprompt (>>). Sometimes this is not quite useful, in
particular when the output is pages enlength. To prevent MATLAB from echoing what we type,
simply enter a semicolon (;) atthe end of the command. For example,
>> x=-163.6667;
>> x
x =-163.6667
• Managing the workspace: The contents of the workspace persist between the executions of
separate commands. Therefore, it is possible for the results of one problem to have an e®ect
on the next one. To avoidthis possibility, it is a good idea to issue a clear command at the
start of each new independent calculation.
>> clear
The command clear or clear all removes all variables from the workspace. Thisfrees up system
memory. In order to display a list of the variables currently in the memory,type
>> who
while, whos will give more details which include size, space allocation, and class of thevariables.
• Keeping track of your work session: It is possible to keep track of everything done during a
MATLAB session with the diary command.
>> diary
where FileName could be any arbitrary name you choose.The function diary is useful if you want to
save a complete MATLAB session. Theysave all input and output as they appear in the MATLAB
window. When you want to stopthe recording, enter diary off. If you want to start recording again,
enter diary on. The file that
is created is a simple text ¯le. It can be opened by an editor or a word processingprogram and edited
to remove extraneous material, or to add your comments. You canuse the function type to view the
diary ¯le or you can edit in a text editor or print. Thiscommand is useful, for example in the process
of preparing a homework or lab submission.
• Entering multiple statements per line:It is possible to enter multiple statements per line. Use
commas (,) or semicolons (;) toenter more than one statement at once. Commas (,) allow
multiple statements per linewithout suppressing output.
• Getting help: To view the online documentation, select MATLAB Helpfrom Help menu of
MATLAB Helpdirectly in the Command Window. The preferred method is to use the Help
Browser. TheHelp Browser can be started by selecting the ? icon from the desktop toolbar.
On the otherhand, information about any command is available by typing
>> help Command
Another way to get help is to use the lookfor command. The lookfor command di®ersfrom the help
command. The help command searches for an exact function name match,while the lookfor
command searches the quick summary information in each function fora match. For example,
suppose that we were looking for a function to take the inverse ofa matrix. Since MATLAB does not
have a function named inverse, the command helpinverse will produce nothing. On the other hand,
the command lookfor inverse willproduce detailed information, which includes the function of
interest, inv.
Note - At this particular time of our study, it is important to emphasize one main point.Because
MATLAB is a huge program; it is impossible to cover all the details of each functionone by one.
However, we will give you information how to get help. Here are some examples:
• Use on-line help to request info on a specific function
• In the current version (MATLAB version 7), the doc function opens the on-line versionof the
help manual. This is very helpful for more complex commands.
• Programming in MATLAB: So far in these lab sessions, all the commands were executed in
the Command Window.The problem is that the commands entered in the Command Window
cannot be savedand executed again for several times. Therefore, a different way of executing
repeatedlycommands with MATLAB is:
• M-File Scripts: A script file is an external file that contains a sequence of MATLAB
statements. Scriptfiles have a filename extension .m and are often called M-files. M-files can be
scripts thatsimply execute a series of MATLAB statements, or they can be functions that can
acceptarguments and can produce one or more outputs.
Example
Consider the system of equations:
x + 2y + 3z = 1 3x + 3y + 4z = 1 2x + 3y + 3z = 2
Find the solution x to the system of equations.
Solution:
Use the MATLAB editor to create a file: File New M-file. Enter the following statements in the
file: A = [1 2 3; 3 3 4; 2 3 3];
b = [1; 1; 2];
x = A\b Save the file, for example, example1.m.
Run the file, in the command line, by typing:
>> example1 x =
-0.5000
1.5000
-0.5000
When execution completes, the variables (A, b, and x) remain in the workspace. To see a listing of
them, enter whos at the command prompt.
Note: The MATLAB editor is both a text editor specialized for creating M-files and agraphical
MATLAB debugger. The MATLAB editor has numerous menus for tasks such assaving, viewing,
and debugging. Because it performs some simple checks and also uses color to differentiate between
various elements of codes, this text editor is recommended as thetool of choice for writing and
editing M-files.
There is another way to open the editor:
or
to open filename.m.
>> edit
• M-File Functions: As mentioned earlier, functions are programs (or routines) that accept
input arguments andreturn output arguments. Each M-file function (or function or M-file for short)
has its ownarea of workspace, separated from the MATLAB base workspace.
• Anatomy of a M-File function
This simple function shows the basic parts of an M-file.
Both functions and scripts can have all of these parts, except for the function definition line which
applies to function only. In addition, it is important to note that function name must begin with a
letter, andmust be no longer than the maximum of 63 characters. Furthermore, the name of
thetextfile that you save will consist of the function name with the extension .m. Thus, theabove
example file would be factorial.m.
• Do not accept input arguments. • Can accept input arguments and return output
arguments.
• Store variables in a workspace that is shared
with other scripts. • Store variables in workspace that is internal to the
function
• Are useful for automating a series of
commands • Are useful for extending the MATLAB a series
EXPERIMENT: 2
FREESPACE PROPAGATION – PATH LOSS MODEL
Aim:
To determine the freespace loss and the power received using MATLAB program.
Theory:
The free space path loss, also known as FSPL is the loss in signal strength that occurs when an
electromagnetic wave travels over a line-of-sight path in free space. In these circumstances there are
no obstacles that might cause the signal to be reflected refracted, or that might cause additional
attenuation.
The free space path loss calculations only look at the loss of the path itself and do not contain any
factors relating to the transmitter power, antenna gains or the receiver sensitivity levels.
To understand the reasons for the free space path loss, it is possible to imagine a signal spreading out
from a transmitter. It will move away from the source spreading out in the form of a sphere. As it
does so, the surface area of the sphere increases. As this will follow the law of the conservation of
energy, as the surface area of the sphere increases, so the intensity of the signal must decrease.
As a result of this it is found that the signal decreases in a way that is inversely proportional to the
square of the distance from the source of the radio signal.
Free Space Path Loss Formula
The free space path loss formula or free space path loss equation is quite simple to use. Not only is
the path loss proportional to the square of the distance between the transmitter and receiver, but the
signal level is also proportional to the square of the frequency in use.
FSPL = (4πd/ λ)2 = (4πdf/ c)2
FSPL is the Free space path loss
d is the distance of the receiver from the transmitter (metres)
λ is the signal wavelength (metres)
f is the signal frequency (Hertz)
c is the speed of light in a vacuum (metres per second)
The free space path loss formula is applicable to situations where only the electromagnetic wave is
present, i.e., for far field situations. It does not hold true for near field situations.
Power Received:
[Pr] = [pt] + [Gt] + [Gr] – [FSPL]
Pr – Received power
Pt – Transmitted power
Gt – Gain of the transmitting antenna
Gr – Gain of the receiving antenna
Program:
Output:
Result:
The program for power received by an antenna and path loss in Free space propagation was simulated
successfully.
EXPERIMENT: 3
LINK BUDGET EQUATION- SATELLITE COMMUNICATION
Aim:
To write a MATLAB program to calculate the link budget for satellite communication.
Theory:
A link budget is an accounting of all the gains and losses in a transmission system. The link budget
looks at the elements that will determine the signal strength arriving at the receiver. The link budget
may include the following items:
• Transmitter power.
• Antenna gains (receiver and transmitter).
• Antenna feeder losses (receiver and transmitter).
• Path losses.
• Receiver sensitivity (although this is not part of the actual link budget, it is necessary to know this
to enable any pass fail criteria to be applied.)
Where the losses may vary with time, e.g., fading, and allowance must be made within the link
budget for this - often the worst case may be taken, or alternatively an acceptance of periods of
increased bit error rate (for digital signals) or degraded signal to noise ratio for analogue systems.
Received power (dBm) = Transmitted power (dBm) + gains (db) - losses (dB)
The basic calculation to determine the link budget is quite straightforward. It is mainly a matter of
accounting for all the different losses and gains between the transmitter and the receiver.
Losses = FSL + AML + RFL + PL + AA
FSL = Freespace loss
AML = Antenna Misalignment loss
RFL=Receiver Feeder loss
PL=Polarization Loss
AA = Atmospheric Absorption.
Program:
clc;
close all; clear all;
% Boltzman Constant K = -228dBW/K/hz
% Satellite at 40,000Km distance from Earth station
% Satellite Antenna Gain = 31dB
% Receiver System Noise Temp = 500K
% Transponder saturated output Power = 80W
% Earth Station Antenna Diameter = 5m
% Earth Station Aperture Efficiency = 68%
% Uplink Frequency = 14.15Ghz
% Required C/N in transponder = 30dB
% Transponder HPA Output Backoff = 1 dB
% Location: -2dB contour of satellite receiving antenna
% Downlink Frequency = 11.45Ghz
% Receiver IF Noise BW = 43.2Mhz
% Antenna Noise Temp = 30K
% LNA Noise Temp = 110K
% Required Overall (C/N)o in clear air = 17dB CNup=30:1:60;
%C/N required at transponder is 30dB
ln=length(CNup);
% Uplink Noise Power Budget k=-
228.6; % Boltzman Constant T1=500;
Ts1=10*log10(T1); % noise temp 500K in dBK
B1=10*log10(43.2*10^6);; % noise BW 43.2 Mhz in dBhz
Output:
Result:
The MATLAB program for calculating the Link budget was stimulated successfully.
EXPERIMENT: 4
OUTDOOR PROPAGATION MODEL- HATA MODEL
Aim:
To write a MATLAB program to calculate the median path loss for Hata model for outdoor
propagation.
Theory:
In wireless communication, the Hata Model for Urban Areas, also known as the Okumura-Hata
model for being a developed version of the Okumura Model, is the most widely used radio
frequency propagation model for predicting the behaviour of cellular transmissions in built up
areas. This model incorporates the graphical information from Okumura model and develops it
further to realize the effects of diffraction, reflection and scattering caused by city structures. This
model also has two more varieties for transmission in Suburban Areas and Open Areas.
Hata Model predicts the total path loss along a link of terrestrial microwave or other type of cellular
communications.
This particular version of the Hata model is applicable to the radio propagation within urban areas.
This model is suited for both point-to-point and broadcast transmissions and it is based on extensive
empirical measurements taken.
PCS is another extension of the Hata model. The Walfisch and Bertoni Model is further
advanced.
Coverage
Frequency: 150 MHz to 1500 MHz
Mobile Station Antenna Height: between 1 m and 10 m
Base station Antenna Height: between 30 m and 200 m
Link distance: between 1 km and 20 km.
Mathematical formulation
Hata Model for Urban Areas is formulated as:
LU = 69.55 + 26.16 log f – 13.82 log hB – CH + [ 44.9 – 6.55 log hB] log d.
For small or medium sized city,
CH = 0.8 + (1.1 log f – 0.7 ) hM – 1.56 log f.
and for large cities,
CH = 8.29 (log (1.54 hM))2– 1.1, if 150 ≤ f ≤ 200
CH = 3.2 (log (11.75 hM))2 – 4.97, if 200 ≤ f ≤ 1500
Where,
LU = Path loss in Urban Areas (dB)
hB= Height of base station Antenna. (m)
hM = Height of mobile station Antenna. (m)
f= Frequency of Transmission (MHz).
CH = Antenna height correction factor
d= Distance between the base and mobile stations (km).
The term "small city" means a city where the mobile antenna height not more than 10 meters. i.e. 1
≤ hM ≤ 10m
Program:
clc
close all; clear
d = 1:0.01:20;
hm = 5;
hb1 = 30;
hb2 = 100;
hb3= 200;
fc = 1000;
%a. For Large Cities.
% fc >= 400MHz
ahm=3.2(log10(11.75 hm)).^2 - 4.97;
% A. Typical Urban
L50urban1= 69.55+ 26.16 log10 (fc) + (44.9 6.55 log10 (hb1))*log10 (d) 13.82 log10 (hb1) - ahm;
L50urban2= 69.55+ 26.16 log10 (fc) + (44.9 6.55 log10 (hb2)) log10 (d) 13.82
log10 (hb2) - ahm;
L50urban3 = 69.55 + 26.16 log10 (fc) + (44.9 6.55 log10 (hb3))*log10 (d)
13.82 log10 (hb3) - ahm;
% B. Typical Suburban
L50suburban1= L50urban1 2(log10 (fc/28)).^2 - 5.4; L50suburban2
=L50urban2 2* (log10 (fc/28)).^2 - 5.4; L50suburban3
=L50urban32(log10 (fc/28)).^2 - 5.4;
% C. Typical Rural
L50rural1 = L50urban14.78 (log10 (fc)).^2 + 18.33 log10 (fc) - 40.94; L50rural2 = 15eurban2-4.78*
(log10 (fc)).^2 + 18.33 log10(fc) - 40.94; L50rural3 = L50urban3 4.78* (log10 (fc)).^2 + 18.33*log10
(fc) - 40.94; figure(1);
plot(d, L5eurban1, 'r', d, L50urban2, -r', d, L50urban3, ':r'); hold on;
plot(d, 150suburban1, 'b', d, L50suburban2, '-b', d, L50suburban3, ':b'); hold on;
plot(d, L50rurali, 'g', d, L50rural2,-g', d, L50rural3, g); hold on;
legend ('large urban hb-38', 'large urban hb-100', 'large urban hb-200', 'suburban hb-30', 'suburban
hb-100', 'suburban hb-200', 'rural hb=30', 'rural hb=100','rural hb=200');
grid on; xlabel('d
[km]');
ylabel('L [dB]');
title('Hata Model for different base station ant. ht. in different environments');
Output:
Result:
The program for Hata Model – Outdoor Propagation was simulated successfully.
EXPERIMENT: 5
CODE DIVISION MULTIPLE ACCESS - MULTIPATH
Aim
1. To study the BER performance of DS-CDMA using mixed codes in multipath
channel using RAKE receiver for single user case.
2. To study the BER performance of MRC combining and equal combining varying with SNR.
Theory
1. What is Multipath?
2. Effect of Multipath on the performance of CDMA
3. What is RAKE Receiver?
4. Maximum Ratio Combining Technique
5. Equal Gain Combining
Technique Description
What is Multipath?
Multipath occurs when a radio signal is split into two or more signals causing the receiving antenna
to receive multiple copies of the same signal. The radio signal can be split by obstacles such as
walls, chairs, tables and other objects. As the signal bounces off an object it causes a longer path to
the receiver. Some signals may bounce off several objects before reaching the receiver. The longer
the path, the greater the amount of delay. As radio signals are delayed, they reach the receiving
antenna at different times sometimes overlapping. The receiver becomes confused by the signals
and is unable to interpret them correctly which causes data errors requiring retransmission of the
signal. Performance can be significantly reduced by the delayed signals and retransmissions.
Effect of Multipath on the performance of DS-CDMA
CDMA is inherently tolerant to multipath delay spreading signals as any signal that is delayed by
more than one chip time becomes uncorrelated to the PN code used to decode the signal. This
results in the multipath simply appearing as noise. This noise leads to an increase in the amount of
interference seen by each user subjected to the multipath and thus increases the received BER.
The BER is essentially flat for delay spreadings of greater than one chip time (0.8 ms), which is
to be expected as the reflected signal becomes uncorrelated. Also the multipath delay spreading leads
to an increase in the equivalent number of users in the cell, as it increases the amount of interference
seen by the receiver.
RAKE Receiver
A RAKE receiver is a radio receiver designed to nullify the effect of multipath fading. It uses
number of sub-receivers called fingers. Each finger is a correlator and is designed to a different
multipath component. Each finger independently decodes a single multipath component. The output
of all the correlators is combined to increase the SNR in a multipath environment. The multipath
channel through which a radio wave transmits can be viewed as transmitting the line of sight wave
plus a number of multipath components. Multipath components are delayed copies of the original
transmitted wave traveling through a different echo path, each with a different magnitude and time
of arrival at the receiver. Since each component contains the original information, if the magnitude
and phase of each component is computed at the receiver through a method called channel
estimation then all the components can be added coherently to improve the information reliability.
The RAKE receiver is so named because it looks like a garden rake,
each finger collecting the symbol energy similar to how the fingers in a garden rake collects
leaves. To minimize the distortions introduced in the DS-CDMA systems, RAKE receiver uses a
technique called diversity.
RAKE Receiver
In our case, RAKE receiver has 2 fingers. Each finger of the receiver process one path of the
composite multipath signal. All the processing in the RAKE fingers should be done at chip level.
Here c(k)indicates the spreading code used for that particular user. h0 and hL are the multipath
channel coefficients. LTc is the delay that is used in the multipath channel model.
Maximum Ratio Combining (MRC)
Here the signal from different paths is weighted according to their individual signal voltage to
noise power ratios and then summed. Hence maximum ratio combining produces an output SNR
equal to the sum of the individual SNRs which is the acceptable SNR even when none of the
individual signals are themselves acceptable. In MRC, the receiver corrects the phase rotation
caused by a fading channel and then combines the received signals of different paths proportionally
to the strength of each path. Since each path undergoes different attenuations, combining them with
different weights yield an optimum solution under an AWGN channel.
MRC is the optimum way (in the sense of the least BER) to use information from different paths
to achieve decoding in an additive white Gaussian channel (AWGN)
Equal Gain Combining (EGC)
In certain cases, it is not convenient to provide for the variable weighting capability required for
true maximal ratio combining. In such cases, the branch weights are all set to unity, but the
signals from each branch are co-phased to provide equal gain combining diversity. This allows
the receiver to exploit signals that are simultaneously received on each branch. The possibility of
producing an acceptable signal from a number of unacceptable inputs is still retained, and
performance is only marginally inferior to MRC The receiver corrects the phase rotation of the
received signals caused by the fading channel and combines the received signals of different
paths with equal weight. In a Rayleigh fading channel, the MRC performance is the best,
followed by EGC. The performance of MRC is the same as that of EGC if signals from each path
are of equal strength.
Receiver
Procedure
Note: Refer Appendix A on how to setup WiCOMM-T and Appendix B on how to generate the
modem samples, vary the parameters, transmit, receive and analyzing the received modem samples
etc. The following are the default values used for this experiment.
BER Calculation
The BER value for the two different types of rake receiver combining technique is obtained and
tabulated. Find out the best combining technique from these results.
EXPERIMENT: 6
STIMULATION OF WIRELESS CHANNEL – RAYLEIGH FADING
Aim:
To stimulate wireless channel including Rayleigh Fading using MATLAB
Theory:
Rayleigh fading is a statical model for the effect of a propagation environment on a radio signal, such
as that used by wireless devices. Rayleigh fading models assume that the magnitude of a signal that
has passed through such a transmission medium ( also called a communication channel will vary
randomly, or fade, according to a Rayleigh distribution – the Radial component of the sum of the
two uncorrelated Gaussian random variables. Rayleigh fading is viewed as a reasonable model for
tropospheric and ionospheric signal propagation as well as theeffect of heavily built-up urban
environments on radio signals.Rayleigh fading is most applicable when there is no dominant
propagation along a line of sight between the transmitter and receiver.
PROGRAM
%----Rayleigh PDF-------
% Input Section
N=1000000;% Number of samples to generate
Variance= 0.2; % Variance of underlying Gaussian random variables
%
%Independent Gaussian random variables with zero mean and unit variance x=randn(1, N);
y = randn(1, N);
%Rayleigh fading envelope with the desired variance r=
sqrt(Variance*(x.^2+y.^2));
%Define bin steps and range for histogram plotting step=0.1;
range=0:step:3;
%Get histogram values and approximate it to get the pdf curve h=hist(r, range);
approxPDF=h/(step*sum(h)); %Simulated PDF from the x and y samples
%Theoritical PDF from the Rayleigh Fading equation
Stimulation Waveform
Result:
The program for Wireless channel – Rayleigh Fading was simulated successfully.
EXPERIMENT: 7
OFDM SIGNAL TRANSMISSION AND RECEPTION
Aim:
To stimulate Orthogonal Frequency Division Multiplexing (OFDM) using MATLAB
Theory:
In telecommunications, the orthogonal frequency - division multiplexing (OFDM) is a type of digital
transmission and a method of encoding digital data on multiple carrier frequencies. OFDM has
developed into a popular scheme for wideband digital communication, used in applications such as
digital television and audio broadcasting, DSL internet access, wireless networks, power line
networks. and 4G/5G mobile communications. The main advantage of OFDM over single-carrier
schemes is its ability to cope with severe channel conditions (for example, attenuation of high
frequencies in a long copper wire, narrowband interference and frequency selective fading due to
multipath) without complex equalization filters. Channel equalization is simplified because OFDM
may be viewed as using many slowly modulated narrowband signals rather than one rapid modulated
wideband signal.
The low symbol rate makes the use of a guard interval between symbols affordable, making it
possible to eliminate intersymbol interference (ISI) and use echoes and time spreading (in analog
television visible as ghosting and blurring, respectively) to achieve a diversity gain, i.e., a signal-to-
noise ratio improvement. This mechanism also facilitates the design of single frequency networks
(SFNs) where several adjacent transmitters send the same signal simultaneously at the same
frequency, as the signals from multiple distant transmitters may be re-combined constructively,
sparing interference of a traditional single-carrier system.
PROGRAM:
%code
n =16; %Size of signal constellation
k= log2 (M); %Number of bits per symbol
xsym= bi2de (reshape (x, k, length(x)/k).', 'left-msb');
%Convert the bits in x into k-bit symbols.
y = modulate (modem.qammod (M),xsym); % Modulate using QAM tu-3.2e-6;
% useful symbol period
tg=0.8e-6; % guard interval length ts-tu+tg; %
total symbol duration nmin=0;
nmax=64; % total number of subcarriers
scb=312.5e3; % sub carrier spacing
fc-3.6e9; %carrier frequency Rs=fc;
tt=0: 6.2500e-008: ts-6.2500e-008;
c=ifft (y, nmax); % IFFT
s=real (c'.*(exp (1j*2 *pi*fc*tt))) ; %bandpass modulation figure;
plot (real (s));
title('OFDM signal transmitted'); figure;
plot (10* log10 (abs (fft (s, nmax)))) ;title ('OFDM spectrum '); xlabel('frequency')
ylabel('power spectral density') title( 'Transmit
spectrum OFDM'); snr=10; %signal to noise ratio
ynoisy = awgn(s,snr, 'measured'); %awgn channel ynoisy augn
(s, snr, 'measured'); tawgn channel figure;
plot (real (ynoisy), 'b');title('received OFDM signal with noise'); z=ynoisy.*exp(j*2*pi*fc*tt); %Bandpass
demodulation
z=fft(z, nmax); %FFT
zsym=demodulate(modem.qamdemod (M), z); % demodulation of bandpass z=de2bi (zsym,
'left-msb'); %Convert integers to bits.
z = reshape (z.',prod (size (z)),1); %matrix to vector conversion [noe, ber] = biterr (x,z);
%BER calculation figure;
figure;
subplot (211); stem (x (1:256)) ;title('Original Message'); subplot (212); stem (z
(1:256)) ;title ('recovered Message');
Stimulation Waveform
Result:
The program for Orthogonal Frequency Division Multiplexing (OFDM) was simulated successfully.
EXPERIMENT: 8
GLOBAL SYSTEM FOR MOBILE COMMUNICATION (GSM)
Aim
To study Gaussian Minimum Shift Keying (GMSK) modulation technique
To design a receiver using Viterbi algorithm
To study the BER using Viterbin
Theory
• GMSK modulation
• Why GMSK modulation for GSM
• GMSK signal generation
• GSM transmitter
• GSM Receiver using
Viterbi Description
GMSK Modulation
Offset QPSK (OQPSK) is obtained from QPSK by delaying the Q data stream by 1 bit with
respect to the I data stream. MSK is derived from OQPSK by replacing the rectangular pulses in
amplitude with a half cycle sinusoidal pulse. MSK modulation makes the phase change linear
and limited to +π /2 over a bit interval of T. Because of this linear phase change, the power spectral
density has low side lobes that help to control adjacent channel interference. In MSK when the
half sinusoidal pulse is replaced by Gaussian Pulse shape then the modulation is Gaussian
Minimum Shift Keying (GMSK)
filter. This results in more compact spectrum which enables better utilization of the available
frequency spectrum. The side lobe energy for GMSK is less and hence channel spacing can be
tighter. The compact spectrum is beneficial in a mobile communication scenario where the
operators pay premium for bandwidth. Phase modulation, further, makes the transmitted signal to
have constant envelope. The constant envelope property enables employing lower cost class C
power amplifiers at the receiver end thereby reducing the overall cost.
GMSK Signal generation
To generate the GMSK signals the input data stream is first passed through a Gaussian Low pass
filter with a Time-Bandwidth product (BT) of 0.3. This filter deliberately introduces ISI
spreading the bits over a period of 3 bits. The impulse response of the Gaussian low pass filter is
given by:
GSM Transmitter
Each GSM transmitter frame consists of 156.25 symbols. Six such frames constitute a hyper
frame. Ten hyper frames repeated one after the other constitute the transmitted information. Total
number of samples transmitted is N samples = 8 x 156.25 x 6 x 10 = 75000. The frame structure
of the GSM transmitter consists of first 2 frames for the identification. They are the FCCH
(Frequency Control Channel) and the SCH (Synchronization Channel). The remaining 4 frames
carry the actual data to be transmitted.
• The FCCH consists of a 148 '0' bits followed by 8.25 random guard bits. It is mainly used
to estimate the frequency difference between received and transmitted frequencies S4(n).
• The SCH channel has a known 64 bit sequence with good correlation properties. Hence this
channel is used for frame synchronization. (In our case we use the whole SCH frame for
synchronization)
• The traffic channel contains the data to be decoded.
In this experiment, the parameters are estimated under noise free conditions. GSM
Receiver
GMSK signals can be detected in many ways. Optimal GMSK detection can be performed using
MLSE, which is nonlinear and highly complex. Here for bit recovery Viterbi algorithm is used
Frequency Synchronization
Take samples of the received data, and calculate the FFT. The difference between the most
dominant frequency component of the transmitted and received spectrum will give us the
frequency offset between the transmitter and receiver. Necessary corrections are performed on the
received data.
Frame Synchronization
Correlate the received data with the actual transmitted SCH channel and look for the peaks. The
location of peak helps in identifying the beginning of the SCH channel. The beginning of the
FCCH and the traffic channels are also identified.
Offset Phase Estimation
Carrier phase offset estimation is done with the help of FCCH channel. The received FCCH
channel, previously identified through the frame synchronization, is decimated by a factor of 8
and the sequence S4(n) is chosen [i.e. the samples S(4), S(12), S(20) are selected]. Deterministic
autocorrelation is performed over this set of data to estimate the carrier phase offset. The
necessary phase corrections are made to the received data. The received data is now ready for
demodulation of the traffic channels.
4. The Gaussian pulse shaped data is given to the WiCOMM-T Tx interface block to
send through the WiCOMM-T.
Receiver
Procedure
Note: Refer Appendix A on how to setup WiCOMM-T and Appendix B on how to generate the
modem samples, vary the parameters, transmit, receive and analyze the received modem samples etc.
1. Connect WiCOMM-T in baseband loop back with the sampling rate set to 2MBps.
2. Generate the transmitter modem sample.
3. Transmit and receive the modem sample through WiCOMM-T and analyse the received
modem samples.
4. Observe various plots generated by MATLAB.
Result: