To generate the waveform for Quadrate Phase Shift Keying (QPSK) signal using MATLAB
Generation of Quadrature phase shift keyed (QPSK) signal:
QPSK is also known as quaternary PSK, quadriphase PSK, 4-PSK, or 4-QAM. It is a phase modulation technique that transmits two bits in four modulation states.
Phase of the carrier takes on one of four equally spaced values such as π/4, 3π/4, 5π/4 and7π/4.
Si(t) = √2E/T cos {2 πƒct + (2i – 1) π/4} , 0≤ t ≤T
0, elsewhere
where i = 1,2,3,4, E = transmitted signal energy per symbol and T== symbol duration
Each of the possible value of phase corresponds to a pair of bits called dibits
Thus the gray encoded set of dibits: 10,00,01,11
Si (t) = √2E/T*cos [(2i – 1)π/4] cos (2πfc t) - √2E/T*sin [(2i –1) π/4] sin (2πfc t) , 0≤ t ≤Tb
0 , else where
There are two orthononormal basis functions
c1 (t) = √2/T cos 2πƒct, 0≤ t ≤Tb
c2 (t) = √2/T sin 2πƒct, 0≤ t ≤Tb
There are four message points
The I/p binary sequence b(t) is represented in polar from with symbols 1 & 0 represented as +√E/2 and -√E/2. This binary wave is demutiplexed into two separate binary waves consisting of odd & even numbered I/P bits denoted by b1(t) & b2(t). b1(t) & b2(t) are used to modulate a pair of quadrature carrier. This results two PSK waves .These two binary PSK waves are added to produce the desired QPSK signal as shown in figure 9.1.
QPSK modulation:
% QPSK Modulation
clc;
clear all;
close all;
%Generate Quadrature Carrier Signal
Tb=1;
t=0:(Tb/100):Tb;
fc=1;
c1=sqrt(2/Tb)*cos(2*pi*fc*t);
c2=sqrt(2/Tb)*sin(2*pi*fc*t);
%generate message signal
N=8;
m=rand(1,N);
t1=0;t2=Tb
for i=1:2:(N-1)
t=[t1:(Tb/100):t2]
if m(i)>0.5
m(i)=1;
m_s=ones(1,length(t));
else
m(i)=0;
m_s=-1*ones(1,length(t));
end
%odd bits modulated signal
odd_sig(i,:)=c1.*m_s;
if m(i+1)>0.5
m(i+1)=1;
m_s=ones(1,length(t));
else
m(i+1)=0;
m_s=-1*ones(1,length(t));
end
%even bits modulated signal
even_sig(i,:)=c2.*m_s;
%qpsk signal
qpsk=odd_sig+even_sig;
%Plot the QPSK modulated signal
subplot(3,2,4);
plot(t,qpsk(i,:));
title('QPSK signal');
xlabel('t--->');
ylabel('s(t)');
grid on;
hold on;
t1=t1+(Tb+.01);
t2=t2+(Tb+.01);
end
hold off
%Plot the binary data bits and carrier signal
subplot(3,2,1);
stem(m);
title('binary data bits');
xlabel('n--->');
ylabel('b(n)');
grid on;
subplot(3,2,2);
plot(t,c1);
title('carrier signal-1');
xlabel('n--->');
ylabel('cl(t)');
grid on;
subplot(3,2,3);
plot(t,c2);
title('carrier signal-2');
xlabel('t--->');
ylabel('c2(t)');
subplot(3,2,3);
grid on;
Observation:The desired BFSK waveforms i.e. binary data, message signal, carrier signal 1&2 and output waveforms are shown in figure 8.2.
Conclusion:The program for QPSK modulation has been simulated in MATLAB and observed the desired waveforms.
Get all latest content delivered to your email a few times a month.