📄 mod_qam.m
字号:
function s_qam=mod_qam(data,sample,M,fb,fc)
%clear;clc;
%M=2;N=20;
%data=randint(1,N,M);
%data=[1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ];
%sample=16;
Tc=1/fb;
N=length(data);d=data;
if(M==8)
for i=1:N
if(d(i)==0)
di(i)=-3;dq(i)=1;
elseif(d(i)==1)
di(i)=-3;dq(i)=-1;
elseif(d(i)==2)
di(i)=-1;dq(i)=1;
elseif(d(i)==3)
di(i)=-1;dq(i)=-1;
elseif(d(i)==4)
di(i)=1;dq(i)=1;
elseif(d(i)==5)
di(i)=1;dq(i)=-1;
elseif(d(i)==6)
di(i)=3;dq(i)=1;
else
di(i)=3;dq(i)=-1;
end
end
end
if(M==16)
for i=1:N
if(d(i)==0|d(i)==1|d(i)==2|d(i)==3)
di(i)=-3;
elseif(d(i)==4|d(i)==5|d(i)==6|d(i)==7)
di(i)=-1;
elseif(d(i)==8|d(i)==9|d(i)==10|d(i)==11)
di(i)=1;
else
di(i)=3;
end
end
for i=1:N
if(d(i)==0|d(i)==4|d(i)==8|d(i)==12)
dq(i)=3;
elseif(d(i)==1|d(i)==5|d(i)==9|d(i)==13)
dq(i)=1;
elseif(d(i)==2|d(i)==6|d(i)==10|d(i)==14)
dq(i)=-1;
else
dq(i)=-3;
end
end
end
if(M==32)
for i=1:N
if(d(i)==0|d(i)==3|d(i)==8|d(i)==9|d(i)==10|d(i)==11)
di(i)=-3;
elseif(d(i)==1|d(i)==2|d(i)==12|d(i)==13|d(i)==14|d(i)==15)
di(i)=-1;
elseif(d(i)==16|d(i)==17|d(i)==18|d(i)==19|d(i)==30|d(i)==29)
di(i)=1;
elseif(d(i)==20|d(i)==21|d(i)==22|d(i)==23|d(i)==31|d(i)==28)
di(i)=3;
elseif(d(i)==4|d(i)==5|d(i)==6|d(i)==7)
di(i)=-5;
else
di(i)=5;
end
end
for i=1:N
if(d(i)==7|d(i)==11|d(i)==15|d(i)==19|d(i)==23|d(i)==27)
dq(i)=-3;
elseif(d(i)==6|d(i)==10|d(i)==14|d(i)==18|d(i)==22|d(i)==26)
dq(i)=-1;
elseif(d(i)==5|d(i)==9|d(i)==13|d(i)==17|d(i)==21|d(i)==25)
dq(i)=1;
elseif(d(i)==4|d(i)==8|d(i)==12|d(i)==16|d(i)==20|d(i)==24)
dq(i)=3;
elseif(d(i)==3|d(i)==2|d(i)==30|d(i)==31)
dq(i)=-5;
else
dq(i)=5;
end
end
end
pulse_pskI=pulse_mpsk(di,fb,sample);
pulse_pskQ=pulse_mpsk(dq,fb,sample);
fs=fb*sample;ts=1/fs;
%delta_f=500;fc1=fc-delta_f;fc2=fc+delta_f;
t=[0:length(pulse_pskI)-1]*ts;
c=cos(2*pi*fc.*t);
s_pskI=pulse_pskI.*c;
t2=[0:length(pulse_pskQ)-1]*ts;
cc=sin(2*pi*fc.*t2);
s_pskQ=pulse_pskQ.*cc;
s_qam=s_pskI+s_pskQ;
%s_qam=s_qam/max(s_qam);
%figure
%plot(s_qam)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -