亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xixi.m

?? 對LTE的整個復用方式進行了系統的仿真
?? M
字號:
%OFDM Channel Estimation
%IFFT_bin_length: IFFT和FFT的點數
%carrier_count: 子載波個數
%bits_per_symbol: 每符號上的比特數
%symbols_per_carrier: 每載波的OFDM符號數
%X:欲發送的二進制比特流

clear all;
clc;
IFFT_bin_length=512;                     %ifft長度
carrier_count=100;                       %子載波數
bits_per_symbol=2;                       %每符號比特數,采用4進制調制
symbols_per_carrier=12;                  %一楨符號數
LI=7;                                    %導頻之間的間隔
Np=ceil(carrier_count/LI)+1;             %導頻數加1的原因:使最后一列也是導頻

N_number=carrier_count*symbols_per_carrier*bits_per_symbol;      %一禎比特數
carriers=1:carrier_count+Np;                                     %子載波加導頻

GI=8;                                    % guard interval length
N_snr=40;                                % 每比特信噪比
snr=8;                                   % 信噪比間隔
%------------------------------------------------------------
% vector initialization
X=zeros(1,N_number);                     %2400個bit
X1=[];
X2=[];
X3=[];
X4=[];
X5=[];
X6=[];
X7=[];
Y1=[];
Y2=[];
Y3=[];
Y4=[];
Y5=[];
Y6=[];
Y7=[];
XX=zeros(1,N_number);                    %2400
dif_bit=zeros(1,N_number);               %2400
dif_bit1=zeros(1,N_number);              %2400
dif_bit2=zeros(1,N_number);              %2400
dif_bit3=zeros(1,N_number);              %2400
X=randint(1,N_number);                   %產生二進制隨即序列(非0即1)2400,產生2400個二進制隨即序列
%--------------------------------------------------------
%QPSK調制:(1 1)->pi/4;(0 1)->3*pi/4;(0 0)->-3*pi/4;(1,0)->-pi/4;
s=(X.*2-1)/sqrt(2);
sreal=s(1:2:N_number);
simage=s(2:2:N_number);
X1=sreal+j.*simage;                      %已調信號bit流,共有1200個已調制隨即序列的輸出。
%---------------------------------------------------------
%產生隨機導頻信號
%--------------------------------------------------------
train_sym=randint(1,2*symbols_per_carrier);          %24個隨機數
t=(train_sym.*2-1)/sqrt(2);
treal=t(1:2:2*symbols_per_carrier);
timage=t(2:2:2*symbols_per_carrier);
training_symbols1=treal+j.*timage;                   % 0.7071 - 0.7071i  -0.7071 - 0.7071i  -0.7071 - 0.7071i。。。1*12
training_symbols2=training_symbols1.';               
training_symbols=repmat(training_symbols2,1,Np);     %12*16 復制第一列變成16列
%disp(training_symbols)
pilot=1:LI+1:carrier_count+Np;                       %導頻插入位置序號1     9    17    25    33    41    49    57    65    73    81    89    97   105  113
if length(pilot)~=Np
    pilot=[pilot,carrier_count+Np];                  %最后一列變成導頻1     9    17    25    33    41    49    57    65    73    81    89    97   105  113   116
% pilot=[1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 116]
end
%--------------------------------------------------------
%串并轉換
X2=reshape(X1,carrier_count,symbols_per_carrier).';  %12個復信號符號,100列載波
%---------------------------------------------------------
%插入導頻
signal=1:carrier_count+Np;                           % 1:116
signal(pilot)=[];                                    % 從1:116中挖去了pilot部分
X3(:,pilot)=training_symbols;                        
% 將training_symbols的第1列賦給X3矩陣的第1列,把training_symbols的第2列賦給X3矩陣的第9列,依此類推
X3(:,signal)=X2;                                               % 再放入12*100,100列子載波,共12*116
% 所得到的X3就是插入了導頻之后的并且經過串并轉換了的已調制序列。
% X3=cat(1,training_symbols,X2);
FFT_modulation=zeros(symbols_per_carrier,128);                 %12*128的全0矩陣
FFT_modulation(:,carriers)=X3;                                 %12*128列的矩陣,其中的前116列安放了之前的12*116個數據
FFT_X3=fft(FFT_modulation,128,2);
for i=1:12
    inputSamples_ifdma(i,1:4:IFFT_bin_length) = FFT_X3(i,:);   % 子載波映射
end
X4=ifft(inputSamples_ifdma,IFFT_bin_length,2);                 %每個符號512點ifft,最后形成了X4是12*512的經過IFFT之后的矩陣
%加保護間隔(循環前綴)
for k=1:symbols_per_carrier;                  % 一共有12行,所以要做12次循環
   for i=1:IFFT_bin_length;
      X6(k,i+GI)=X4(k,i);
   end
   for i=1:GI;
      X6(k,i)=X4(k,i+IFFT_bin_length-GI);    
   end
end
%---------------------------------------------------------
%并串轉換
X7=reshape(X6.',1,symbols_per_carrier*(IFFT_bin_length+GI));    
%12*520先轉置,再變成1*6240復信號流
%---------------------------------------------------------
%信道模型:帶多普勒頻移的瑞利衰落信道

fd=300;                                   %多普勒頻移
r=6;                                      %多徑數
a=[0.123 0.3 0.4 0.5 0.7 0.8];            %多徑的幅度
d=[2 3 4 5 9 13];                         %各徑的延遲
T=1;                                      %系統采樣周期
th=[90 0 72 144 216 288]*pi./180;         %相移
h=zeros(1,carrier_count);                 %1*100
hh=[];
    for k=1:r                             %1:6
        %deta=[zeros(1,d(k)-1),1,zeros(1,carrier_count-d(k))];
        h1=a(k)*exp(j*((2*pi*T*fd*d(k)/carrier_count)));
        %h1=a(k)*exp(j*((2*pi*T*fd*d(k)/carrier_count)));
        hh=[hh,h1];
    end
    h(d+1)=hh;                            % 3 4 5 6 10 14 處有多徑效應
%noise=randn(1,length(X7))+j.*randn(1,length(X7)); 
%--------------------------------------------------------

channel1=zeros(size(X7));                 % 1*1632
channel1(1+d(1):length(X7))=hh(1)*X7(1:length(X7)-d(1));
channel2=zeros(size(X7));
channel2(1+d(2):length(X7))=hh(2)*X7(1:length(X7)-d(2));
channel3=zeros(size(X7));
channel3(1+d(3):length(X7))=hh(3)*X7(1:length(X7)-d(3));
channel4=zeros(size(X7));
channel4(1+d(4):length(X7))=hh(4)*X7(1:length(X7)-d(4));
channel5=zeros(size(X7));
channel5(1+d(5):length(X7))=hh(5)*X7(1:length(X7)-d(5));
channel6=zeros(size(X7));
channel6(1+d(6):length(X7))=hh(6)*X7(1:length(X7)-d(6));

%---------------------------------------------------------------
Tx_data=X7+channel1+channel2+channel3+channel4;     %4徑干擾后的數據流1*1632
%---------------------------------------------------------------
%---------------------------------------------------------------
%----------------------------------------------------------------
                                  %加高斯白噪聲
Error_ber=[];                     %誤比特率
Error_ber1=[];
Error_ber2=[];                    %誤比特率
Error_ber3=[];
%Error_ser=[];                    %誤符號率
for snr_db=0:snr:N_snr            %0:8:40共6個數

    code_power=0;
    code_power=[norm(Tx_data)]^2/(length(Tx_data));         %信號的符號功率
    %bit_power=var(Tx_data);
    bit_power=code_power/bits_per_symbol;                   %比特功率 
    noise_power=10*log10((bit_power/(10^(snr_db/10))));     %噪聲功率
    noise=wgn(1,length(Tx_data),noise_power,'complex');     %產生GAUSS白噪聲信號
    
    Y7=Tx_data+noise;
%-------------------------------------------------------
  %串并變換
   Y6=reshape(Y7,IFFT_bin_length+GI,symbols_per_carrier).';%先變成520*12,再轉置成12*520,恢復成行為符號,列為載波
  %去保護間隔
    for k=1:symbols_per_carrier;
       for i=1:IFFT_bin_length;
           Y5(k,i)=Y6(k,i+GI);
       end
    end
     Y4 = fft(Y5,IFFT_bin_length,2);            % 每行的符號進行512點fft  12*512
  for j=1:12
     Y4_1(j,:) = Y4(j,1:4:IFFT_bin_length);            % 恢復子載波映射 Y3是12*128的矩陣
  end
     Y3_1 = ifft(Y4_1,128,2);                     % 對12*128的矩陣對每行的IFFT
     Y3 = Y3_1(:,1:116);
 %-------------------------------------------------------------   
 %LS信道估計
  %H=[];
  Y2=Y3(:,signal);                          % 將全部的數據列取出來,一共是12行100列
  Rx_training_symbols=Y3(:,pilot);
  length(Rx_training_symbols)
  %上述兩條語句就是將信息序列的位置和訓練導頻序列的位置進行了分離
  Rx_training_symbols0=reshape(Rx_training_symbols,symbols_per_carrier*Np,1);
  
  training_symbol0=reshape(training_symbols,1,symbols_per_carrier*Np);
  training_symbol1=diag(training_symbol0);
  %disp(training_symbols)
  training_symbol2=inv(training_symbol1);             % 求逆矩陣
  Hls=training_symbol2*Rx_training_symbols0;
  Hls1=reshape(Hls,symbols_per_carrier,Np);           % 12行16列
  % 生成的導頻的個數是12個,然后復制了16份,總共為12*16個
  % 所以估計出的信道的長度就是12*16,但是總共的數據長度是12*100
  % 所以如果從受到干擾的數據中恢復出原始數據,需要把信道矩陣的數據數量擴大
  %------------------------------------------------------------------------
  %基于DFT信道估計
  Hls2=ifftn(Hls1);          % 對剛才已經生成的12*16的信道估計矩陣做IFFT變換
  for i=1:100                % 將信道估計矩陣擴展到12行100列
  if((i>=1)&&(i<=16))
      Hls3(:,i)=Hls2(:,i);
  else  
      Hls3(:,i)=0;
  end
  end
  Hls4=fftn(Hls3);           % 對這個信道估計矩陣的擴展重新做FFT變換,變成了12行100列的信道估計矩陣
  Y13=Y2./Hls4;              % 用接受到的數據矩陣除以12*100的信道估計矩陣得到數據
  %-----------------------------
  HLs00=[];
  HLs01=[];
  HLs1=[];
  HLs6=[];
 if ceil(carrier_count/LI)==carrier_count/LI
     for k=1:Np-1
        HLs2=[];
        HLs7=[];
           for t=1:LI
           HLs1(:,1)=(Hls1(:,k+1)-Hls1(:,k))*(t-1)./LI+Hls1(:,k);
           HLs2=[HLs2,HLs1];
           HLs6(:,1)=Hls1(:,k);
           HLs7=[HLs7,HLs6];
        end
       HLs00=[HLs00,HLs2];
       HLs01=[HLs01,HLs7];
    end
else
    for k=1:Np-2                   % k=1:14
        HLs2=[];
        HLs7=[];
        for t=1:LI                 % t=1:7
           HLs1(:,1)=(Hls1(:,k+1)-Hls1(:,k))*(t-1)./LI+Hls1(:,k);
           HLs2=[HLs2,HLs1];
           HLs6(:,1)=Hls1(:,k);
           HLs7=[HLs7,HLs6];
        end
       HLs00=[HLs00,HLs2];
       HLs01=[HLs01,HLs7]
    end
    HLs3=[];
    HLs8=[];
    for t=1:mod(carrier_count,LI)
        HLs1(:,1)=(Hls1(:,Np)-Hls1(:,Np-1))*(t-1)./LI+Hls1(:,Np-1);
        HLs3=[HLs3,HLs1];
        HLs6(:,1)=Hls1(:,Np-1);
        HLs8=[HLs8,HLs6];
    end;
    HLs00=[HLs00,HLs3];
    HLs01=[HLs01,HLs8];
 end
  %Hls1=Hls.';
  %H=repmat(Hls1,symbols_per_carrier,1);%將導頻擴展成symbols_per_carrier*carrier_count矩陣
  Y11=Y2./HLs00;
  Y12=Y2./HLs01;
%-------------------------------------------------------------
  %并串變換
  YY=reshape(Y13.',1,N_number/bits_per_symbol);
  YY1=reshape(Y11.',1,N_number/bits_per_symbol);
  YY2=reshape(Y12.',1,N_number/bits_per_symbol);
 
%------------------------------------------------------------
%QPSK解調
   y_real=sign(real(YY));
   y_image=sign(imag(YY));
   y_re=y_real./sqrt(2);
   y_im=y_image./sqrt(2); 
   y_real1=sign(real(YY1));
   y_image1=sign(imag(YY1));
   y_re1=y_real1./sqrt(2);
   y_im1=y_image1./sqrt(2); 
   y_real2=sign(real(YY2));
   y_image2=sign(imag(YY2));
   y_re2=y_real2./sqrt(2);
   y_im2=y_image2./sqrt(2);
   
   r000=[];
   r001=[];
   r010=[];
   r011=[];
   r100=[];
   r101=[];
  for k=1:length(y_real);
     r000=[r000,[y_real(k),y_image(k)]];
  end;
  for k=1:length(y_real1);
     r001=[r001,[y_real1(k),y_image1(k)]];
  end;
  for k=1:length(y_real2);
     r010=[r010,[y_real2(k),y_image2(k)]];
  end;     
 
 for k=1:length(y_re);
     r011=[r011,[y_re(k),y_im(k)]];
 end;
 for k=1:length(y_re1);
     r100=[r100,[y_re1(k),y_im1(k)]];
 end;
 for k=1:length(y_re2);
     r101=[r101,[y_re2(k),y_im2(k)]];
 end

    XX(find(r011>0))=1;
%-------------------------------------------------------------
%計算在不同信噪比下的誤比特率并作圖

 dif_bit=s-r011; 
 dif_bit1=s-r100; 
 dif_bit2=s-r101;
 

 ber_snr=0;    %紀錄誤比特數
    for k=1:N_number;
       if dif_bit(k)~=0;
         ber_snr=ber_snr+1;
       end
   end;
 ber_snr1=0;    %紀錄誤比特數
    for k=1:N_number;
       if dif_bit1(k)~=0;
          ber_snr1=ber_snr1+1;
      end
    end
    
 ber_snr2=0;
 for k=1:N_number;
     if dif_bit2(k)~=0;
         ber_snr2=ber_snr2+1;
     end
 end
 Error_ber=[Error_ber,ber_snr];
 Error_ber1=[Error_ber1,ber_snr1];
 Error_ber2=[Error_ber2,ber_snr2];
 end

BER=zeros(1,length(0:snr:N_snr));
BER1=zeros(1,length(0:snr:N_snr));
BER2=zeros(1,length(0:snr:N_snr));

BER=Error_ber./N_number;
BER1=Error_ber1./N_number;
BER2=Error_ber2./N_number;
%-------------------------------------------------------------
%-------------------------------------------------------------
 i=0:snr:N_snr;
semilogy(i,BER,'-*r');

hold on;
semilogy(i,BER1,'-^b');
hold on;
semilogy(i,BER2,'-ok');
grid on;
ylabel('BER');xlabel('信噪比/dB');
legend('DFT','線性內插','常值內插');
hold 	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一卡二卡三卡四卡| 日本女优在线视频一区二区| 亚洲国产欧美在线人成| 国产精品亚洲综合一区在线观看| 91黄色小视频| 中文字幕精品综合| 久久激情五月婷婷| 欧美美女视频在线观看| 亚洲乱码国产乱码精品精98午夜 | 欧美日韩在线观看一区二区 | 日韩午夜激情av| 亚洲美女屁股眼交3| 国产成人免费xxxxxxxx| 日韩一区二区高清| 婷婷国产在线综合| 欧美综合欧美视频| 亚洲精品国产a久久久久久| 国产成人免费在线观看不卡| 欧美一区二区三区四区在线观看| 亚洲在线成人精品| 欧美曰成人黄网| 亚洲线精品一区二区三区| 色婷婷综合视频在线观看| 国产精品美女久久久久久久| 成人精品小蝌蚪| 国产精品久久久久影院老司| 成人性生交大片免费看视频在线| 久久久精品tv| 国产成人免费视频一区| 久久久久久久免费视频了| 精久久久久久久久久久| 日韩视频永久免费| 国产乱一区二区| 国产区在线观看成人精品| 国产黄人亚洲片| 欧美极品另类videosde| 成+人+亚洲+综合天堂| 欧美激情一区二区在线| 不卡视频免费播放| 亚洲日本va在线观看| 一本大道综合伊人精品热热| 亚洲最快最全在线视频| 欧美欧美欧美欧美首页| 日韩成人av影视| 2023国产精品自拍| 成人av手机在线观看| 亚洲美女在线一区| 欧美精品色一区二区三区| 久久国产日韩欧美精品| 亚洲国产经典视频| 欧美自拍丝袜亚洲| 久久成人综合网| 国产精品嫩草99a| 欧美伊人久久久久久久久影院 | 懂色一区二区三区免费观看| 综合欧美亚洲日本| 欧美性欧美巨大黑白大战| 欧美aⅴ一区二区三区视频| 久久免费视频色| 91福利视频久久久久| 99视频精品全部免费在线| 国产精品久久久久久福利一牛影视 | 欧洲国产伦久久久久久久| 男人的天堂久久精品| 国产区在线观看成人精品 | 成人网在线免费视频| 亚洲成人福利片| 国产日韩三级在线| 欧美三级三级三级| 国产91丝袜在线观看| 亚洲电影一区二区| 久久嫩草精品久久久久| 欧美在线观看你懂的| 国产成人av电影在线| 婷婷综合另类小说色区| 国产精品二区一区二区aⅴ污介绍| 欧美三区免费完整视频在线观看| 国产精品一区在线观看你懂的| 亚洲男人的天堂在线观看| 26uuuu精品一区二区| 欧美午夜一区二区三区| 高清国产一区二区| 奇米亚洲午夜久久精品| 亚洲精品久久久久久国产精华液| 欧美成人伊人久久综合网| 色欧美乱欧美15图片| 国产东北露脸精品视频| 日韩影视精彩在线| 亚洲一区二区三区自拍| 中文字幕一区二区三区乱码在线 | 欧美精品日韩精品| caoporn国产精品| 国产在线国偷精品产拍免费yy| 日韩影视精彩在线| 亚洲一区二区三区美女| 中文字幕日韩精品一区| 国产视频一区在线观看| 精品国产a毛片| 欧美一区午夜精品| 欧美三级中文字幕在线观看| 色视频欧美一区二区三区| 99在线精品免费| 成人午夜精品在线| 国产精品资源站在线| 久久精品av麻豆的观看方式| 日韩av成人高清| 日韩成人一级片| 青青草原综合久久大伊人精品| 午夜一区二区三区视频| 亚洲一区二区三区美女| 亚洲一区二区美女| 午夜电影网一区| 五月婷婷综合激情| 日韩在线一区二区| 天天综合网天天综合色| 香蕉成人啪国产精品视频综合网| 一级特黄大欧美久久久| 亚洲最新视频在线观看| 午夜成人在线视频| 久久精品国产成人一区二区三区| 热久久一区二区| 国内精品久久久久影院色 | 色伊人久久综合中文字幕| 91久久香蕉国产日韩欧美9色| 色香蕉成人二区免费| 欧美色综合久久| 日韩欧美国产三级| 久久久www成人免费无遮挡大片| 久久久午夜精品| 国产精品久久精品日日| 一区二区激情视频| 日本亚洲天堂网| 国产一区欧美一区| 99在线精品免费| 欧美三级日韩三级国产三级| 3d成人h动漫网站入口| 欧美精品一区在线观看| 中文字幕在线播放不卡一区| 一区二区三区日韩欧美| 日韩高清不卡一区二区| 国产精品影视网| 日本电影亚洲天堂一区| 日韩欧美电影在线| 国产欧美一区二区精品忘忧草| 亚洲欧美一区二区三区孕妇| 亚洲在线观看免费| 国产一区二区在线视频| 99vv1com这只有精品| 欧美人伦禁忌dvd放荡欲情| 久久日韩精品一区二区五区| 国产精品成人免费精品自在线观看| 亚洲综合自拍偷拍| 九九热在线视频观看这里只有精品| 成人激情综合网站| 欧美一区二区三区在线观看视频| 国产精品久久久一本精品| 午夜精品久久久久久久99樱桃| 国产一区福利在线| 欧美日韩精品二区第二页| 国产日产欧美一区二区三区| 亚洲国产精品久久艾草纯爱| 国产成人精品免费| 91精品国产综合久久久蜜臀粉嫩 | 91污片在线观看| 日韩免费一区二区| 一区二区三区色| 高清国产午夜精品久久久久久| 91精品国产欧美日韩| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲色图一区二区三区| 国内精品嫩模私拍在线| 欧美日韩成人综合天天影院| 国产精品污污网站在线观看| 日韩av网站免费在线| 91亚洲精品久久久蜜桃网站| 精品女同一区二区| 亚洲h动漫在线| 色综合久久99| 亚洲国产高清在线| 狠狠久久亚洲欧美| 91精品国产一区二区三区香蕉 | 久久精品国产第一区二区三区| 色噜噜狠狠一区二区三区果冻| 国产偷国产偷精品高清尤物 | 亚洲无人区一区| 91美女在线视频| 国产精品乱码妇女bbbb| 国产精品中文字幕欧美| 日韩欧美一二区| 日本美女一区二区三区视频| 欧美三区在线视频| 亚洲狼人国产精品| 91啪九色porn原创视频在线观看| 久久久久久久久久久久电影| 国内不卡的二区三区中文字幕| 欧美一级一级性生活免费录像| 午夜精品久久久| 欧美高清视频一二三区 | 欧美成人午夜电影| 狠狠色综合播放一区二区|