欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: MATLAB多天線基礎例程(信噪比,系統容量,mimo-ofdm等) [打印本頁]

作者: 小崽崽天使    時間: 2018-5-20 12:39
標題: MATLAB多天線基礎例程(信噪比,系統容量,mimo-ofdm等)
主要講述了多天線信噪比,系統容量,mimo-ofdm等


MATLAB源程序如下:
  1. %直接序列擴頻主程序代碼
  2. function [ber] = dscdma(user,seq)
  3. %   user:    同時進行擴頻通信的用戶數
  4. %   seq:      擴頻碼1:M-序列  2:Gold序列  3:正交Gold序列
  5. %   ber:    該用戶數下的誤碼率   

  6. %**************************** 初始化部分 *****************************
  7. sr   = 256000.0;                                                    % 符號速率
  8. nSymbol=10000;                                                       %每種信噪比下發送的符號數
  9. M    = 4;                                                           % 4-QAM調制
  10. br   = sr * log2(M);                                                % 比特速率
  11. graycode=[0 1 3 2];                                                 % Gray編碼規則  
  12. EbNo=0:2:10;                                                        % Eb/No 變化范圍                    

  13. %************************** 脈沖成形濾波器參數 **************************

  14. delay   = 10;                                                       % 升余弦濾波器時延
  15. Fs     =  8;                                                        % 濾波器過采樣數
  16. rolloff   =  0.5;                                                   % 升余弦濾波器滾降因子
  17. rrcfilter = rcosine(1,Fs,'fir/sqrt',rolloff,delay);                 %設計根升余弦濾波器

  18. %********************** 擴頻碼產生參數 **********************

  19. % user  = user1;                                                          % 用戶數

  20. stage = 3;                                                          % m序列的階數
  21. ptap1 = [1 3];                                                      % m序列1的寄存器連接方式
  22. ptap2 = [2 3];                                                      % m序列2的寄存器連接方式
  23. regi1 = [1 1 1 ];                                                   % m序列1的寄存器初始值
  24. regi2 = [1 1 1];                                                    % m序列2的寄存器初始值

  25. %******************** 擴頻碼的生成 *********************

  26. switch seq
  27. case 1                                                              % M-序列
  28.     code = mseq(stage,ptap1,regi1,user);
  29. case 2                                                              % Gold 序列
  30.     m1   = mseq(stage,ptap1,regi1);
  31.     m2   = mseq(stage,ptap2,regi2);
  32.     code = goldseq(m1,m2,user);
  33. case 3                                                              % 正交 Gold 序列
  34.     m1   = mseq(stage,ptap1,regi1);
  35.     m2   = mseq(stage,ptap2,regi2);
  36.     code = [goldseq(m1,m2,user),zeros(user,1)];
  37. end
  38. code = code * 2 - 1;
  39. clen = length(code);

  40. %************************** 衰落信道參數 **************************

  41. ts   = 1 / Fs / sr/ clen;                                           % 信道采樣時間間隔
  42. t=(0:nSymbol*Fs*clen-1+2*delay*Fs)*ts;                              % 每種信噪比下的符號傳輸時間               
  43. %fd     = 160;                                                       % 多普勒頻移 [Hz]
  44. %h=rayleigh(fd,t);

  45. %**************************** 仿真開始 ****************************

  46. for indx=1:length(EbNo)
  47.     indx
  48.    
  49. %****************************** 發射端 ********************************
  50.     data = randsrc(user,nSymbol,[0 :3]) ;                           % 產生各個用戶的發射數據
  51.     data1=graycode(data+1);                                         % Gray編碼
  52.     data1  = qammod(data1,M);                                       % 4-QAM 調制
  53.     [out] = spread(data1,code);                                     % 擴頻
  54.    
  55.     out1=rcosflt(out.',sr,Fs*sr,'filter',rrcfilter);                % 通過脈沖成形濾波器
  56.     spow = sum(abs((out1)).^2) / nSymbol;                           % 計算每個用戶信號功率
  57.     if user > 1                                                     % 用戶數大于1時,所有用戶數據相加
  58.         out1=sum(out1.');
  59.     else
  60.         out1=out1.';
  61.     end
  62. %***************************** 通過瑞利衰落信道 ******************************

  63. %     out1=h.*out1;
  64. %******************************** 接收端 *********************************
  65.   
  66.     sigma = sqrt(0.5 * spow * sr / br * 10^(-EbNo(indx)/10));       % 根據信噪比計算高斯白噪聲方差
  67.     y=[];
  68.     for ii=1:user                                                   
  69.         y(ii,:)=out1+sigma(ii).*(randn(1,length(out1))+j*randn(1,length(out1)));    % 加入高斯白噪聲(AWGN)
  70. %        y(ii,:)=y(ii,:)./h;                                                         % 假設理想信道估計
  71.     end

  72.     y=rcosflt(y.',sr,Fs*sr,'Fs/filter',rrcfilter);                  % 通過脈沖成形濾波器進行濾波
  73.     y=downsample(y,Fs);                                             % 降采樣
  74.     for ii=1:user
  75.         y1(:,ii)=y(2*delay+1:end-2*delay,ii);
  76.     end
  77.                                           
  78.     yd = despread(y1.',code);                                       % 數據解擴
  79.     demodata = qamdemod(yd,M);                                      % 4-QAM 解調
  80.     demodata=graycode(demodata+1);                                  % Gray編碼逆映射
  81.    
  82.     [err,ber(indx)]=biterr(data,demodata,log2(M));        % 統計誤比特率
  83.    
  84. end

復制代碼

所有資料51hei提供下載:
程序下部.zip (95.7 KB, 下載次數: 25)





作者: eurus27    時間: 2020-6-26 10:23
很想下載 可是不行

作者: lvhao0770    時間: 2021-5-15 01:19
小白一個 感覺不錯先收藏一下




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1