⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dcm_qpsk_mapping_psdu.m

📁 基于EMCA368国际标准的物理层超宽带协议的基本仿真程序,都是自己编写的
💻 M
字号:
function [out]=Dcm_qpsk_mapping_psdu(datain,length,rate);
if(isequal(rate,[0 0 0 0 0])|isequal(rate,[0 0 0 0 1])|isequal(rate,[0 0 0 1 0])|isequal(rate,[0 0 0 1 1])|isequal(rate,[0 0 1 0 0]))
   for i=1:(length/2)
       temp(i)=1/sqrt(2)*(2*datain((i-1)*2+1)-1+j*(2*datain((i-1)*2+2)-1));
   end 
elseif(isequal(rate,[0 0 1 0 1])|isequal(rate,[0 0 1 1 0])|isequal(rate,[0 0 1 1 1]))
   for i=1:(length/200)
       for k=1:25
       test((i-1)*50+k,1)=datain((i-1)*200+2*(k-1)+1);
       test((i-1)*50+k,2)=datain((i-1)*200+2*(k-1)+2);
       test((i-1)*50+k,3)=datain((i-1)*200+2*(k-1)+50+1);
       test((i-1)*50+k,4)=datain((i-1)*200+2*(k-1)+50+2);
       end 
       for k=26:50
       test((i-1)*50+k,1)=datain((i-1)*200+2*(k-1)+50+1);
       test((i-1)*50+k,2)=datain((i-1)*200+2*(k-1)+50+2);
       test((i-1)*50+k,3)=datain((i-1)*200+2*(k-1)+100+1);
       test((i-1)*50+k,4)=datain((i-1)*200+2*(k-1)+100+2);
       end
  end
  for i=1:(length/200)
      for k=1:50
      if(isequal(test((i-1)*50+k,1:4),[0 0 0 0]))
               temp((i-1)*100+k)=1/sqrt(10)*(-3-j*3);
               temp((i-1)*100+k+50)=1/sqrt(10)*(1+j);
      elseif(isequal(test((i-1)*50+k,1:4),[0 0 0 1]))
               temp((i-1)*100+k)=1/sqrt(10)*(-3-j);
               temp((i-1)*100+k+50)=1/sqrt(10)*(1-j*3);
      elseif(isequal(test((i-1)*50+k,1:4),[0 0 1 0]))
               temp((i-1)*100+k)=1/sqrt(10)*(-3+j);
               temp((i-1)*100+k+50)=1/sqrt(10)*(1+j*3);
      elseif(isequal(test((i-1)*50+k,1:4),[0 0 1 1]))
               temp((i-1)*100+k)=1/sqrt(10)*(-3+j*3);
               temp((i-1)*100+k+50)=1/sqrt(10)*(1-j);
      elseif(isequal(test((i-1)*50+k,1:4),[0 1 0 0]))
               temp((i-1)*100+k)=1/sqrt(10)*(-1-j*3);
               temp((i-1)*100+k+50)=1/sqrt(10)*(-3+j);
      elseif(isequal(test((i-1)*50+k,1:4),[0 1 0 1]))
               temp((i-1)*100+k)=1/sqrt(10)*(-1-j);
               temp((i-1)*100+k+50)=1/sqrt(10)*(-3-j*3);
      elseif(isequal(test((i-1)*50+k,1:4),[0 1 1 0]))
               temp((i-1)*100+k)=1/sqrt(10)*(-1+j);
               temp((i-1)*100+k+50)=1/sqrt(10)*(-3+j*3);
      elseif(isequal(test((i-1)*50+k,1:4),[0 1 1 1]))
               temp((i-1)*100+k)=1/sqrt(10)*(-1+j*3);
               temp((i-1)*100+k+50)=1/sqrt(10)*(-3-j);
      elseif(isequal(test((i-1)*50+k,1:4),[1 0 0 0]))
               temp((i-1)*100+k)=1/sqrt(10)*(1-j*3);
               temp((i-1)*100+k+50)=1/sqrt(10)*(3+j);
      elseif(isequal(test((i-1)*50+k,1:4),[1 0 0 1]))
               temp((i-1)*100+k)=1/sqrt(10)*(1-j);
               temp((i-1)*100+k+50)=1/sqrt(10)*(3-j*3);
      elseif(isequal(test((i-1)*50+k,1:4),[1 0 1 0]))
               temp((i-1)*100+k)=1/sqrt(10)*(1+j);
               temp((i-1)*100+k+50)=1/sqrt(10)*(3+j*3);
      elseif(isequal(test((i-1)*50+k,1:4),[1 0 1 1]))
               temp((i-1)*100+k)=1/sqrt(10)*(1+j*3);
               temp((i-1)*100+k+50)=1/sqrt(10)*(3-j);
      elseif(isequal(test((i-1)*50+k,1:4),[1 1 0 0]))
               temp((i-1)*100+k)=1/sqrt(10)*(3-j*3);
               temp((i-1)*100+k+50)=1/sqrt(10)*(-1+j);
      elseif(isequal(test((i-1)*50+k,1:4),[1 1 0 1]))
               temp((i-1)*100+k)=1/sqrt(10)*(3-j);
               temp((i-1)*100+k+50)=1/sqrt(10)*(-1-j*3);
      elseif(isequal(test((i-1)*50+k,1:4),[1 1 1 0]))
               temp((i-1)*100+k)=1/sqrt(10)*(3+j);
               temp((i-1)*100+k+50)=1/sqrt(10)*(-1+j*3);
      elseif(isequal(test((i-1)*50+k,1:4),[1 1 1 1]))
               temp((i-1)*100+k)=1/sqrt(10)*(3+j*3);
               temp((i-1)*100+k+50)=1/sqrt(10)*(-1-j);
      end
      end
  end 
end
out=temp;
    
                
           
       
       
       
       
       

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -