Вы находитесь на странице: 1из 4

BPSK MODULATION CODE:

g is a binary vector; f is the carrier frequency.

After coping it into ur matlab editor write bpskd([1 0 1 1 0],2) in ur command window or
give any value in the function:

function bpskd(g,f)

%Modulation BPSK

%bpskd([1 0 1 1 0],2)

if nargin > 2
error('Too many input arguments');
elseif nargin==1
f=1;
end

if f<1;
error('Frequency must be bigger than 1');
end

t=0:2*pi/99:2*pi;
cp=[];sp=[];
mod=[];mod1=[];bit=[];

for n=1:length(g);
if g(n)==0;
die=-ones(1,100); %Modulation
se=zeros(1,100); %Signal
else g(n)==1;
die=ones(1,100); %Modulation
se=ones(1,100); %Signal
end
c=sin(f.*t);
cp=[cp die];
mod=[mod c];
bit=[bit se];
end

bpsk=cp.*mod;
subplot(2,1,1);plot(bit,'LineWidth',1.5);grid on;
title('Binary Signal');
axis([0 100*length(g) -2.5 2.5]);

subplot(2,1,2);plot(bpsk,'LineWidth',1.5);grid on;
title('bpsk modulation');
axis([0 100*length(g) -2.5 2.5]);

MATLAB CODE OF QPSk:

g is a binay vector; f is the carrier frequency.

function parameters: qpskd([1 0 1 1 0 0],2)

function qpskd(g,f)
%Modulation QPSK
%g is a binay vector; f is the carrier frequency.

if nargin > 2
error('Too many input arguments');
elseif nargin==1
f=1;
end
if f<1;
error('Frequency must be bigger than 1');
end
%*-*-*-*-*-*
l=length(g);
r=l/2;
re=ceil(r);
val=re-r;

if val~=0;
error('Please insert a vector divisible for 2');
end
%*-*-*-*-*-*

t=0:2*pi/99:2*pi;
cp=[];sp=[];
mod=[];mod1=[];bit=[];
for n=1:2:length(g);
if g(n)==0 && g(n+1)==1;
die=sqrt(2)/2*ones(1,100);
die1=-sqrt(2)/2*ones(1,100);
se=[zeros(1,50) ones(1,50)];
elseif g(n)==0 && g(n+1)==0;
die=-sqrt(2)/2*ones(1,100);
die1=-sqrt(2)/2*ones(1,100);
se=[zeros(1,50) zeros(1,50)];
elseif g(n)==1 && g(n+1)==0;
die=-sqrt(2)/2*ones(1,100);
die1=sqrt(2)/2*ones(1,100);
se=[ones(1,50) zeros(1,50)];
elseif g(n)==1 && g(n+1)==1;
die=sqrt(2)/2*ones(1,100);
die1=sqrt(2)/2*ones(1,100);
se=[ones(1,50) ones(1,50)];
end
c=cos(f*t);
s=sin(f*t);
cp=[cp die]; %Amplitude cosino
sp=[sp die1]; %Amplitude sino
mod=[mod c]; %cosino carrier (Q)
mod1=[mod1 s]; %sino carrier (I)
bit=[bit se];
end
bpsk=cp.*mod+sp.*mod1;
subplot(2,1,1);plot(bit,'LineWidth',1.5);grid on;
title('Binary Signal')
axis([0 50*length(g) -1.5 1.5]);

subplot(2,1,2);plot(bpsk,'LineWidth',1.5);grid on;
title('QPSK modulation')
axis([0 50*length(g) -1.5 1.5]);

Вам также может понравиться