ACKNOWLEDGEMENT
In the name of Allah the praiseworthy, the
passionate
whose
blessings
made
it
possible for me to complete the project. It
is
matter
of
great
enthusiasm
and
pleasure for me to complete the report in
its real sequence. It is all because of
Almighty Allahs great guidance that made
us so able.
We are, also thankful to our respected
teacher Mam Jaweria Amjad, because of
whose generous co-operation and help, the
accomplishment
possible.
1|Page
of
this
Project
became
DEDICATION
We dedicate this project to our Instructor,
Mam Jaweria Amjad who assigned this project
to me and also to my beloved Parents who
always pray for us.
2|Page
Abstract:
A communications channel is a pathway over which information can be conveyed. It may be
defined by a physical wire that connects communicating devices, or by a radio, laser, or other
radiated energy source that has no obvious physical presence. Information sent through a
communications channel has a source from which the information originates, and a destination
to which the information is delivered. Although information originates from a single source,
there may be more than one destination, depending upon how many receive stations are linked
to the channel and how much energy the transmitted signal possesses.
In a digital communications channel, the information is represented by individual data bits,
which may be encapsulated into multibit message units. A byte, which consists of eight bits, is
an example of a message unit that may be conveyed through a digital communications channel.
A collection of bytes may itself be grouped into a frame or other higher-level message unit.
Such multiple levels of encapsulation facilitate the handling of messages in a complex data
communications network.
Introduction:
The project problem is to design a digital communication system that can convey an image
across a channel.
an A/D convertor to convert the image to a digital signal,
a digitial modulator for the transmission of the digital signal through the channel,
a digitial demodulator for the reception of the transmitted signal,
a D/A convertor to convert the received digital signal back to an image,
This task can be accomplished by transmitting an image. The image file is in the JPEG format.
MATLAB function "imread" to read the file into MATLAB can be used. The image file contains
samples of a grey image .You can treat the sampled values at each pixel as analog values, and
thus the image loaded into MATLAB as a representation of the original analog image signal. It
can be quantized further into fewer quantization levels. Converting the image into a sequence
of digital symbols (say bits).
3|Page
Block Diagram Representation:-
Fig(1)
The source is an image having JPEG format.It must be converted in 1-D dimension
before processing it Otherwise the dimensions will mismatch throughout its processing.
The digital modulation used in this project is PSK.
We used ifft on the transmitter side so that we can transmit aur signal in time domain
Initially there were sub carriers which were bulky so ifft and fft technique used.
Cyclic prefix is added and used as a guard band for secure transmission.
The channel used is Rayleigh Channel with 4 tapping points.
FFT at the receiver to get it back from time to frequency domain.
Demodulation is done at the end and the final received signal is of 3-Dimension which is our
need.
4|Page
Constellation Diagram Representation:A representation of a signal modulated by a digital modulation scheme such as quadrature amplitude
modulation or PSK.It displays the signal as two dimensional scatter diagram. Measured constellation
diagrams can be used to recognize the type of reference and distortion in a signal.
Following Constellation diagram was obtained while transmitting an Image
Rayleigh Channel Model
Simple definition of Rayleigh Channel is a channel which shows Rayleigh distribution of
power profile as shown below.
5|Page
Apart from multipath reflection there might also be dispersive time varying effects in the
channel that is being modeled. One such effect is Doppler Shift that is caused when the
receiver and/or transmitter is in motion with respect to each other. In such cases the
dispersive effect is also modeled along with the chosen multipath model.Here the
frequency-flat fading Rayleigh Fading model with Doppler shift is considered for our
simulation.In wireless communication, it is important because this is very important
modeling for faded channels in wireless communication. In most cases, the channels for
reflected path is modeled in Rayleigh model as shown below.
Signal Generation for Rayleigh channel
There are a couple of ways to generate the signal for Rayleigh channel. The simplest way is
as shown below and overall procedure is as follows.
i) Generate a random signal with Guassian distribution
ii) Generate another random signal with Guassian distribution
iii) Combine the signal i) and ii) to make a complex signal.
iv) Take the magnitude of the complex signal and the distribution of the magnitude
value follows Rayleigh distribution.
6|Page
Mathematical Presentation of Rayleigh Channel
7|Page
Results And Simulations:1) Through AWGN Channel
Transmitted Image
Received Image
8|Page
2)Through Rayleigh Channel
Received Image
Differences Between the Tx and Rx Images:Since the image is transmitted through a Rayleigh Channel,having 4 tapping points with delay and gain
So it is not possible to recover the image even through filter also. The noise is like salt and pepper
because the pixels are received as they were transmitted but they cannot place themselves in correct
order due to Rayleigh Channel.
9|Page
Distribution Of Workload:Rana Ahtisham Ali
M Shams Ul Haq
Coding Of Rayleigh Channel
Image
Processing
and
Modulation Schemes
References:http://www.camiresearch.com/Data_Com_Basics/data_com_tutorial.html
http://www.realworldengineering.org/index.php?page=project&project=468
http://www.wu.ece.ufl.edu/projects/channelEstimation/
10 | P a g e
the
Complete MATLAB Code
clc
clear all
close all
%**~~~~~~~ reading an image to be processed~~~~~~~~**%
y=imread('images.jpg')
%**~~~~~~~ Converting the Image to Binary~~~~~~~~**%
b=im2bw(y,0.4)
imshow(b)
%**~~~~~~~ Resizing the image to 65536*1~~~~~~~~**%
a=reshape(b,256*256,1)
%**~~~~~~~ System Object Creation For Modulation~~~~~~~~**%
hModulator = comm.PSKModulator(256,pi/16,'BitInput',true)
modData=step(hModulator,a)
%**~~~~~~~ IFFT Of the Data~~~~~~~~**%
d=ifft(modData)
%**~~~~~~~Adding Cyclic Prefix~~~~~~~~**%
Cp=length(d) * .25;
end1=length(d);
tx=[d(end1-Cp+1:end1,:)];
tx1=vertcat(tx,d);
%**~~~~~~~ Constellation Diagram representation~~~~~~~~**%
%constellation(hModulator)
%**~~~~~~~ Creation of AWGN channel Object For comparison with rayleigh
Channel~~~~~~~~**%
%hAWGN = comm.AWGNChannel('EbNo',200,'BitsPerSymbol',3)
%modData1=step(hAWGN,tx1)
%**~~~~~~~ Passing Through Rayleigh Channel~~~~~~~~**%
modData1=relaigh(tx1);
%**~~~~~~~ Removing Cyclic Prefix~~~~~~~~**%
rec=[modData1(Cp+1:length(modData1),:)];
%**~~~~~~~ FFT of the data~~~~~~~~**%
e=fft(rec)
%**~~~~~~~ System Object Creation For Demodulation~~~~~~~~**%
hDemod = comm.PSKDemodulator(256, 'PhaseOffset',pi/16)
modData2=step(hDemod,e)
%**~~~~~~Converting Back the Image to 256*256~~~~~~~~**%
y=decimalToBinaryVector(modData2)
y=logical(y(:));
s=reshape(y,256,256,1)
11 | P a g e
%**~~~~~~~ Plot Of the Recieved Image through Channel~~~~~~~~**%
figure(2)
imshow(s)
function data_channel=relaigh(x)
N=10240;
Taps=4;
% Number of Taps
p1=0.5/2.3;
% Power of Tap1
p2=0.9/2.3;
% Power of Tap2
p3=0.7/2.3;
% Power of Tap3
p4=0.2/2.3;
gain1=sqrt(p1/2)*[randn(1,N) + j*randn(1,N)];
% Gain for Tap1
gain2=sqrt(p2/2)*[randn(1,N) + j*randn(1,N)];
% Gain for Tap2
gain3=sqrt(p3/2)*[randn(1,N) + j*randn(1,N)];
% Gain for Tap3
gain4=sqrt(p4/2)*[randn(1,N) + j*randn(1,N)];
% Gain for Tap4
x11=x(:);
x12=reshape(x11,1,length(x11));
i=1:length(x12);
delay1=1;
for i=delay1+1:length(x12) % Producing one sample delay in Tap2 w.r.t. Tap1
x13(i)=x(i-delay1);
end
delay2=2;
for i=delay2+1:length(x12) % Producing two sample delay in Tap2 w.r.t. Tap1
x14(i)=x(i-delay2);
end
delay3=3;
for i=delay3+1:length(x12) % Producing three sample delay in Tap2 w.r.t. Tap1
x15(i)=x(i-delay3);
end
x1=reshape(x13,(1),length(x13)/(1));
x2=reshape(x14,(1),length(x14)/(1));
x3=reshape(x15,(1),length(x15)/(1));
x=reshape(x,(1),length(x13)/(1));
ch1=repmat(gain1,(1),1);
ch2=repmat(gain2,(1),1);
ch3=repmat(gain3,(1),1);
ch4=repmat(gain4,(1),1);
data_channel=(x.*ch1)+(x1.*ch2)+(x2.*ch3)+(x3.*ch4);% Passing data through
channel
data_channel=data_channel';
12 | P a g e