The Algorithm is described in three phases. In the first phase, generated random signal is transmitted over AWGN channel. Phase two describes the random signal will be transmitted over multipath known channel. Phase three explains the estimation of an unknown channel using pilots when the signal is transmitted over multipath unknown channel.
Phase One :-
In this phase, the symbols are generated in vector form. Generate a random symbols ranging from 0 to 7 having N rows with a column.
d = randint(N,T,M);
N = Number of Rows
T = Number of Columns
M = Integer Value (8 for 8-PSK System)
Modulate the Symbols with that of 8-PSK modulation scheme. During this process, each symbol is converted into respective binary value and then mapped on the constellation resulting will give one of the complex value on the constellation for each symbol.
Get your grade
or your money back
using our Essay Writing Service!
S1 = modem.pskmod('M', 8 ,'Phase Offset', 0 ,'Symbol Order' , ' gray' , 'Input Type' ...'integer');
mo = modulate(S1,d);
a = Type of Modulation
b = Generated Symbols
Apply Inverse Discrete Fourier Transform to the complex values such that each individual complex values will get multiplied by the orthogonal sub-carriers of the sub-band. To compute multiplications and additions at faster rate, Fast Fourier Transform is used. The scaling factor N is not present in the function, so it should get multiplied.
OFDM =sqrt(N)* ifft(mo,N);
mo = Complex Signal
N = Length of the DFT
In order to avoid Inter Symbol Interference append Cyclic Bits either in the front end or at the back. Now transmit the signals(carriers) via Antenna in AWGN Channel. At the receiver side, the noise is added to the signals.
Noise(Complex) = (randn(a,b)+j*randn(a,b));
randn(a,b) = Random values generation with 'a' Rows and 'b' Columns.
The Variance of the noise is given by sigma. Where sigma is calculated from the formulae given below.
The general formulae for variance is
For 8-PSK system
áµž = 3 (can be calculated from )
m = 3
Rc = 3 (for un-coded system only)
Remove Cyclic bits first when the signals are received and then confiscate the sub-carriers in order to retrieve the complex values.
re_st = 1/sqrt(N)*fft(Rx,N);
Rx = complex vector(signal)
N = Length of the DFT
Demodulate the complex values to salvage the symbols using Hard-Decision viterbi Algorithm.
S2 = modem.pskdemod('M', 8 ,'Phase Offset', 0 ,'Symbol Order' , ' gray' , 'Input Type' , 'integer' , 'Decision Type' , 'hard decision');
S2 = Demodulator Type
Rx = Complex values
Measure the Bit Error Rate between the generated symbols from the transmitter with that of reconstructed symbols at the receiver.
[new_errors , ratio] = biterr(d , de);
d = Random Values
de = Random Values
new_errors = Total no of values that are different
ratio = errors by total no of values
Take the average value of BER for multiple frames for each SNR value.
Calculations of SNR in dB:-
snr = 10log10SNR
SNR = 10(snr/10)
Compute the theoretical Pb(BER) values for 8-PSK from 0 to 12dBs SNR.
Theoretical formulae :-
Plot the Constellation and Eyediagram for SNR at 6dB and 12dB and plot the semilog graph between BER vs SNR(Eb/No) for Simulation and Theoretical values.
The red squares denotes the fixed 8-PSK constellation complex values from the transmitter side and the blue circles denotes the probability of the received complex values with reference to the transmitted values.
Phase Two :-
In this phase, the generate symbols is in array format. Initially generate a random array of Symbols ranging from 0 to 7. Modulate the symbols with the 8-PSK modulation. Perform Inverse Discrete Fourier Transform and append Cyclic Bits. Convert the array into vector form in order to do linear convolution.
Perform the linear convolution operation between the signals and the given multipath channel. The values are formatted in magnitude, so they should be converted into normal values using the formulae given below.
Always on Time
Marked to Standard
Cov = conv(Tx,h);
Tx = vector having complex Values of length N*T
h = vector having real values of length 43
The resultant signals will be of length Tx+h-1. Majority of the channel effect is present in the last bits of the signals, so it can be eliminated easily at the receiver. Add the noise to the signal.
At the receiver side, when the signals are received, remove the channel effect from them and reshape the vector into an array in order to discard cyclic bits. Perform the DFT operation to retrieve the complex values.
Now carry out one tap equalizer action to remove the channel effect present in the rest of the signal by using known channel 'H'.
'H' is generated by performing DFT to the multipath channel 'h'.
Once the complex values are free from channel effect, demodulate the values with 8-PSK demodulation. Compute the BER performance by taking average number of errors through multiple frames for each SNR values (0 to 40dBs).
Calculate the theoretical BER values using the 8-PSK formulae for SNR ranging from 0 to 12dBs.
Plot the constellation and Eyediagram for SNR at 15dB and 30dB, also plot the BER vs SNR graph for the theoretical and simulation.
Phase Three :-
In this phase the random symbols are generated in an array format. Generate any random array with symbols ranging from 0 to 7, then modulate it with 8-PSK modulation. Reshape the matrix into 8Xmultiple such that first row contains pilots values.
Place the pilots values in the first row as described above so that after every 8-bits there will be a pilot. The value of the pilot is '1' in this experiment.
Reshape the matrix to the original size, the resultant values will get multiplied by the sub-carriers by performing IDFT and then add cyclic bits to avoid ISI. Convert the array into a single vector to satisfy the linear convolution condition. Compute linear convolution between the complex values generated after adding cyclic bits and multipath channel 'h'.
Then the noise is added at the receiver end, remove the channel effect from the received signals and then cyclic bits. Perform the DFT operation to get back the complex values from the carriers.
Now extract the pilots bits from the filtered complex values, extract the unknow channel from the pilots using the interpolation and extrapolation.
Channel Estimation :-
Let (x1,y1) and (x2,y2) are two different points present in the 2-D axis.
In order to join those two point we need do the interpolation. There are three methods to do interpolation.
In this algorithm linear interpolation is used.
Calculation of Linear Interpolation :-
Equation of line joining the above two point is,
Y-Y1 = m*(X-X1);
M = Y2-Y1/X2-X1;
X1 = x1; Y1 = y1; X2 = x2; Y2 = y2;
X = Position of x between the two points.
Y = Value of X at that position.
In this algorithm, the interpolation is done for the matrix of form 8X(N*T/M);
For i = 1 : ((N*T)/M)-2
For j = 1 : 7
SL(j,i) = X-X1/X2-X1;
Y(j,i) = (Y2-Y1)*SL+ Y1;
X = 8 * i - 6 + j - 1
X1 = 8 * i - 7
Y1 = Y1 ( 1 , i )
X2 = 8 * i + 1
Y2 = Y1 ( 1 , i + 1 )
This above Equations will work only for matrices having 8 Rows and Multiple(any number) Columns else the equations should be modified.
The resultant plot will be of the form
This Essay is
a Student's Work
This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.Examples of our work
In this method, the last pilot is placed at last bit instead of its original position and then manipulate interpolation. This method will works for the short range distance as in this method a tangent is drawn from the last pilot and then replacing the last bit with that of last point.
In the above graph, (X4,Y4) is calculated by extending point (X3,Y3) to (X4,Y4) position.
Using this method the last 8-bits are reconstructed.
After computing the interpolation and extrapolation, the resultant values should be arranged in an array of data size.
Extract the channel free signal(complex values) from the signal which is effected by channel with one tap equalizer using the signal obtained from channel estimation.
Demodulate the resultant channel free signal with 8-PSK demodulator.
Plot the constellation and Eyediagram for SNR at 15dB and 30dB.
Assess the BER performance of the demodulator signal by removing the pilots bits and the last bits that where extracted from extrapolation with that of theoretical.
Introduction to Matlab :- starts from 1,1 but not from 0,0
The functions which are describing now are some of the basic buildings blocks for the communication systems.
Generation of array with different symbols :-
The result will generate a matrix of size axb with integers ranging from 0 to c-1;
Deleting the Rows and Columns in the matrix :-
Let A is a 4x4 matrix, then
A = [ 1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16];
A(1,:) = [ ] à Deleting the first row.
A = [ 5 6 7 8
9 10 11 12
13 14 15 16];
A(:,1) = [ ] à Deleting the first column.
A = [ 5 6 7
9 10 11
13 14 15];
Generating the null matrix :-
P is a matrix of size axb with zeros.
Changing the matrix dimensions :-
Let X be a matrix of size 4x4, then
X = [ 1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16 ];
Y = reshape(X,2,8);
Y will have the same values in X but size is 2x8
Y = [ 1 3 5 7 9 11 13 15
2 4 6 8 10 12 14 16 ];
Multiplications and Divisions between Vectors :-
Let Tx = [1,2,3,4,5,6]; Rx = [1,2,3,4,5,6];
Re = Tx.*Rx; à Multiplication
Er = Tx./Rx; à Division
Length of the vector :-
A=length(Rx); à A will be 6.
Plotting Graph :-
A = X-axis points
B = Y-axis points
A graph is generated between A and B with red circles at the joining of A and B point.
Semilog graph is generated with logarithmic scale on Y-axis.
Names on the graph :-
title('BER plot'); à BER plot will get display on top of the graph
xlabel('SNR dB'); à SNR dB will be sited on X-axis
ylabel('BER'); à BER will be placed on Y-axis
legend('Simulation','Theory'); à Two named will be located inside on right top.
The results in the first phase, when SNR is at 6dB the prospect of the received signal bits
Using insertion of pilot bits, the unknown multipath channel estimation can be determined
Literature Survey :-
In real world, the noise is add to the signal in the power amplifier stages but not during the propagation. The word Additive in the AWGN denotes the noise is added at the receiver side.
In order to achieve high SNR, the noise level should be superior with respect to the signal strength. To satisfy this condition, the hardware designer should choose rubbish components to generate more noise than that of good components. This is one major advantage in terms of cost.
In general the power amplifiers are non linear for lower power levels. To get linear condition, the supply power levels should by very high else the signal will get clipped off. M-PSK is a constant amplitude modulation but not M-QAM, because of this one major advantage during the power amplifiers stage PSK is mostly used than QAM when the noise is more. QAM requires huge power where as PSK requires less power.
The modulation schemes that are present in the mobile phones are adaptive. Based on the channel conditions, the modulation scheme will be changed. When the channel is clear then the 64-QAM and even higher may use in order to have higher bit rate.
The trade off between the Spectral Efficiency and the Carrier Frequency Offset (CFO) make the pilot bits and patterns. To have more accurate estimation of CFO, more pilots are required which leads to lose in Spectral Efficiency. On the other hand, reducing the pilot bits will increase the Bandwidth but poor CFO estimation.
When the signal is effect with fading channel 'h', then the SNR will be some times which may lead to call drops, this problem can be avoided by channel estimation method.