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

📄 ofdmslice.m

📁 ofdm_EM_channel OFDM信道估计源代码
💻 M
字号:
function rec_bitSource = ofdmSlice(rec_freq_Signal,baseType);
  simulNUM = length(rec_freq_Signal);
  switch baseType
      case 1
          for i = 1:simulNUM
              if rec_freq_Signal(i) > 0 
                  rec_bitSource(i) = 1;
              else 
                  rec_bitSource(i) = 0;
              end
          end
      case 2
          y_real = real(rec_freq_Signal);
          y_imag = imag(rec_freq_Signal);
          for i = 1: simulNUM
             if y_real(i) > 0 
                  y_real_slice(i) = 1;
              else 
                  y_real_slice(i) = 0;
              end 
             if y_imag(i) > 0 
                  y_imag_slice(i) = 1;
              else 
                  y_imag_slice(i) = 0;
              end  
          end
          rec_bitSource = reshape([y_real_slice;y_imag_slice],1,length(y_imag_slice)*2 );
      case 3
          avAmp = (sqrt(2) + sqrt(18) + 2*sqrt(10)) / 4;       % the average signal amplitude       % the average signal amplitude
          y_real = real(rec_freq_Signal) * avAmp;
          y_imag = imag(rec_freq_Signal) * avAmp;
          for i = 1: simulNUM
              if y_real(i)>=2 
                 if y_imag(i)>=2 
                    yslice(:,i) =[0,0,0,0]';
                 elseif  y_imag(i)<2 & y_imag(i)>=0
                    yslice(:,i) =[0,0,0,1]';
                 elseif  y_imag(i)<0 & y_imag(i)>=-2    
                    yslice(:,i) =[0,1,0,1]';
                 elseif  y_imag(i)<-2   
                    yslice(:,i) =[0,1,0,0]';
                 end
             elseif y_real(i)>=0 & y_real(i)<2 
                 if y_imag(i)>=2 
                     yslice(:,i) =[0,0,1,0]';
                 elseif   y_imag(i)<2 & y_imag(i)>=0
                     yslice(:,i) =[0,0,1,1]';
                 elseif   y_imag(i)<0 & y_imag(i)>=-2    
                     yslice(:,i) =[0,1,1,1]';
                 elseif   y_imag(i)<-2   
                     yslice(:,i) =[0,1,1,0]';
                 end
             elseif y_real(i)<0 & y_real(i)>=-2 
                 if y_imag(i)>=2 
                     yslice(:,i) =[1,0,1,0]';
                 elseif  y_imag(i)<2 & y_imag(i)>=0
                     yslice(:,i) =[1,0,1,1]';
                 elseif y_imag(i)<0 & y_imag(i)>=-2    
                     yslice(:,i) =[1,1,1,1]';
                 elseif  y_imag(i)<-2   
                     yslice(:,i) =[1,1,1,0]';
                 end
             elseif y_real(i)<-2  
                 if y_imag(i)>=2 
                     yslice(:,i) =[1,0,0,0]';
                 elseif  y_imag(i)<2 & y_imag(i)>=0
                     yslice(:,i) =[1,0,0,1]';
                 elseif  y_imag(i)<0 & y_imag(i)>=-2    
                     yslice(:,i) =[1,1,0,1]';
                 elseif  y_imag(i)<-2   
                     yslice(:,i) =[1,1,0,0]';
                 end
              end
          end
          rec_bitSource = reshape(yslice,1,length(yslice(1,:))*4 );
      otherwise
          error('unsuported mapping type');
  end
          

⌨️ 快捷键说明

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