Author Topic: Απο qpsk σε oqpsk  (Read 1104 times)

vldim

  • Newbie
  • *
  • Posts: 1
    • View Profile
    • Email
Απο qpsk σε oqpsk
« on: May 30, 2010, 06:10:19 PM »
Ο κωδικας μου σε qpsk ειναι :

function[st,t]=qpsk(R,fs,fc,d);
%EightPSK 8-ary phase shift keying
%[st,t]= EightPSK (R,fs,fc,d) outputs samples of 8PSK signal.
%R....bit rate of inpute data.
%fs....sample rate
%fc....carrier frequency
%d....vector of input data
%st....vector of output data
%t....vector of output time stamps
%
%

t=[0:1/fs:(length(d)/R)-(1/fs)]; %vector of time stamps
cospart=[];
sinpart=[];
modforc=[];
modfors=[];
c=[];
s=[];
cc=[];
ss=[];
for k=1:2:length(d);
if d(k)==1 & d(k+1)==1
cospart(k)=cos(pi/4);
cospart(k+1)=cos(pi/4);

sinpart(k)=sin(pi/4);
sinpart(k+1)=sin(pi/4);



elseif d(k)==0 & d(k+1)==1
cospart(k)=cos(3*pi/4);
cospart(k+1)=cos(3*pi/4);

sinpart(k)=sin(3*pi/4);
sinpart(k+1)=sin(3*pi/4);



elseif d(k)==0 & d(k+1)==0
cospart(k)=cos(5*pi/4);
cospart(k+1)=cos(5*pi/4);

sinpart(k)=sin(5*pi/4);
sinpart(k+1)=sin(5*pi/4);


elseif d(k)==1 & d(k+1)==0
cospart(k)=cos(7*pi/4);
cospart(k+1)=cos(7*pi/4);

sinpart(k)=sin(7*pi/4);
sinpart(k+1)=sin(7*pi/4);



end
end


tmp=ones(length(d),(length(t)/length(d)));

for k=1:length(d);
modforc=[modforc cospart(k)*tmp(k,:)];
modfors=[modfors sinpart(k)*tmp(k,:)];
end


c=(cos(2*pi*fc*t));
s=(sin(2*pi*fc*t));
cc=[cc c];
ss=[ss -s];


st=((modforc.*cc)+(modfors.*ss));

end

Εχει κανεις καμια ιδεα πως ειναι σε o-qpsk? :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71