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

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

?? stbc_decode44.m

?? stbc在2發2收
?? M
?? 第 1 頁 / 共 2 頁
字號:

function [decode_out,demap_int] = stbc_decode44(stbc_code,snr_db_step);
global Time_length Ofdm_bits Tx_num Rx_num Mod_type table16 table64
global Max_bit_num Max_value Min_value Max_add_value scale_eff st2

mult_flow_num = 0;
add_flow_num = 0;

rec_code = zeros(Time_length,Rx_num,Ofdm_bits);
    ch_mul_noice = zeros(Tx_num,Rx_num,Ofdm_bits);
    ch_mul_noice = sqrt(0.5)*(randn(Tx_num,Rx_num,Ofdm_bits)+j*randn(Tx_num,Rx_num,Ofdm_bits));
    for n = 1:Time_length 
        for m = 1:Ofdm_bits
            rec_code(n,:,m) = stbc_code(n,1:Tx_num,m)*ch_mul_noice(1:Tx_num,1:Rx_num,m);
        end
    end
    
    %---------------------信號功率統計,加高斯白噪聲----------------------------%
    % 注意:這里只有0.75的信號平均功率!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    rec_code = rec_code*sqrt(4/3);
    sig_pante_pow = 0;
    for n = 1:Rx_num
        Agwn = sqrt(10^(-snr_db_step/10)/2)*(randn(Time_length,1,Ofdm_bits)+j*randn(Time_length,1,Ofdm_bits));
        rec_code(:,n,:) = rec_code(:,n,:) + Agwn;  
    end
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %---------------------接收信號并進行stbc譯碼(定點仿真開始)-----------------%
    ch_scale = sqrt(Tx_num);
    rec_code = rec_code/sqrt(4/3);
    rec_code = rec_code*ch_scale;      %  接收信號(疊加高斯白噪聲后)
    [max_rec_sig,max_index] = max(max(max(max(real(rec_code),imag(rec_code)))));
    max_rec_sig = fix(max_rec_sig/(fix(max_rec_sig)+1)*Max_value)/Max_value*(fix(max_rec_sig)+1);
    rec_code = rec_code/max_rec_sig;   % 信號歸一化,歸一化后信號都為純小數
    rec_code = fix(rec_code*Max_value);
    
    [max_ch_est,max_index] = max(max(max(max(real(ch_mul_noice),imag(ch_mul_noice)))));
    max_ch_est = fix(max_ch_est/(fix(max_ch_est)+1)*Max_value)/Max_value*(fix(max_ch_est)+1);
    ch_mul_noice = ch_mul_noice/max_ch_est;    % 信道估計值歸一化
    ch_mul_noice = fix(ch_mul_noice*Max_value);

    rec_code_r = real(rec_code);
    rec_code_i = imag(rec_code);
    ch_mul_noice_r = real(ch_mul_noice);
    ch_mul_noice_i = imag(ch_mul_noice);
    decode_out = zeros((Tx_num-1),Ofdm_bits);  % 輸出星座點的值
    demap_int = zeros(Tx_num,Ofdm_bits);       % 輸出qam映射的下標
    
    for n = 1:Ofdm_bits
        decode_tempt_r = zeros(1,(Tx_num-1));  % 信號長度=Tx_num (4)-1
        decode_tempt_i = zeros(1,(Tx_num-1));
        m = reshape(ch_mul_noice(:,:,n),1,16);          % 16 = Tx_num*Rx_num=4*4 ------ ch_mul_noice
        tempt_eff = scale_eff;
        for r =  1:Rx_num 
            mult_tempt(1,1) = rec_code_r(1,r,n)*ch_mul_noice_r(1,r,n);
            mult_tempt(1,2) = rec_code_i(1,r,n)*ch_mul_noice_i(1,r,n);
            mult_tempt(1,3) = rec_code_r(2,r,n)*ch_mul_noice_r(2,r,n);
            mult_tempt(1,4) = rec_code_i(2,r,n)*ch_mul_noice_i(2,r,n);
            mult_tempt(1,5) = -rec_code_r(4,r,n)*ch_mul_noice_r(4,r,n);
            mult_tempt(1,6) = -rec_code_i(4,r,n)*ch_mul_noice_i(4,r,n);
            mult_tempt(1,7) = -rec_code_r(3,r,n)*ch_mul_noice_r(3,r,n);
            mult_tempt(1,8) = -rec_code_i(3,r,n)*ch_mul_noice_i(3,r,n);
            for nnn = 1:8
                if mult_tempt(1,nnn) >= Max_add_value 
                    mult_tempt(1,nnn) = Max_add_value-1;
                    mult_flow_num = mult_flow_num+1;
                elseif mult_tempt(1,nnn) < -Max_add_value
                    mult_tempt(1,nnn) = -Max_add_value;
                    mult_flow_num = mult_flow_num+1;
                end
            end

            sum_tempt = fix((mult_tempt(1,1)+mult_tempt(1,2)+mult_tempt(1,3)+mult_tempt(1,4)+...               
                mult_tempt(1,5)+mult_tempt(1,6)+mult_tempt(1,7)+mult_tempt(1,8))/2^tempt_eff);
            decode_tempt_r(1,1) = decode_tempt_r(1,1)+sum_tempt;              
            
            mult_tempt(1,1) = -rec_code_r(1,r,n)*ch_mul_noice_i(1,r,n);
            mult_tempt(1,2) = rec_code_i(1,r,n)*ch_mul_noice_r(1,r,n);
            mult_tempt(1,3) = rec_code_r(2,r,n)*ch_mul_noice_i(2,r,n);
            mult_tempt(1,4) = -rec_code_i(2,r,n)*ch_mul_noice_r(2,r,n);
            mult_tempt(1,5) = -rec_code_r(4,r,n)*ch_mul_noice_i(3,r,n);
            mult_tempt(1,6) = rec_code_i(4,r,n)*ch_mul_noice_r(3,r,n);
            mult_tempt(1,7) = -rec_code_r(3,r,n)*ch_mul_noice_i(4,r,n);
            mult_tempt(1,8) = rec_code_i(3,r,n)*ch_mul_noice_r(4,r,n);   
            for nnn = 1:8
                if mult_tempt(1,nnn) >= Max_add_value 
                    mult_tempt(1,nnn) = Max_add_value-1;
                    mult_flow_num = mult_flow_num+1;
                elseif mult_tempt(1,nnn) < -Max_add_value
                    mult_tempt(1,nnn) = -Max_add_value;
                    mult_flow_num = mult_flow_num+1;
                end
            end
            sum_tempt = (mult_tempt(1,1)+mult_tempt(1,2) +...
                mult_tempt(1,3)+mult_tempt(1,4)+...
                mult_tempt(1,5)+mult_tempt(1,6)+...
                mult_tempt(1,7)+mult_tempt(1,8))/2^tempt_eff;
            decode_tempt_i(1,1) = decode_tempt_i(1,1)+sum_tempt;
      
            mult_tempt(1,1) = rec_code_r(1,r,n)*ch_mul_noice_r(2,r,n);
            mult_tempt(1,2) = rec_code_i(1,r,n)*ch_mul_noice_i(2,r,n);
            mult_tempt(1,3) = -rec_code_r(2,r,n)*ch_mul_noice_r(1,r,n);
            mult_tempt(1,4) = -rec_code_i(2,r,n)*ch_mul_noice_i(1,r,n);
            mult_tempt(1,5) = rec_code_r(4,r,n)*ch_mul_noice_r(3,r,n);
            mult_tempt(1,6) = rec_code_i(4,r,n)*ch_mul_noice_i(3,r,n);
            mult_tempt(1,7) = -rec_code_r(3,r,n)*ch_mul_noice_r(4,r,n);
            mult_tempt(1,8) = -rec_code_i(3,r,n)*ch_mul_noice_i(4,r,n);
            for nnn = 1:8
                if mult_tempt(1,nnn) >= Max_add_value 
                    mult_tempt(1,nnn) = Max_add_value-1;
                    mult_flow_num = mult_flow_num+1;
                elseif mult_tempt(1,nnn) < -Max_add_value
                    mult_tempt(1,nnn) = -Max_add_value;
                    mult_flow_num = mult_flow_num+1;
                end
            end
            sum_tempt = fix((mult_tempt(1,1)+mult_tempt(1,2) +...
                mult_tempt(1,3)+mult_tempt(1,4)+...
                mult_tempt(1,5)+mult_tempt(1,6)+...
                mult_tempt(1,7)+mult_tempt(1,8))/2^tempt_eff); 
            decode_tempt_r(1,2) = decode_tempt_r(1,2)+sum_tempt;
            
            mult_tempt(1,1) = -rec_code_r(1,r,n)*ch_mul_noice_i(2,r,n);
            mult_tempt(1,2) = rec_code_i(1,r,n)*ch_mul_noice_r(2,r,n);
            mult_tempt(1,3) = -rec_code_r(2,r,n)*ch_mul_noice_i(1,r,n);
            mult_tempt(1,4) = rec_code_i(2,r,n)*ch_mul_noice_r(1,r,n);
            mult_tempt(1,5) = rec_code_r(4,r,n)*ch_mul_noice_i(4,r,n);
            mult_tempt(1,6) = -rec_code_i(4,r,n)*ch_mul_noice_r(4,r,n);
            mult_tempt(1,7) = -rec_code_r(3,r,n)*ch_mul_noice_i(3,r,n);
            mult_tempt(1,8) = rec_code_i(3,r,n)*ch_mul_noice_r(3,r,n);
            for nnn = 1:8
                if mult_tempt(1,nnn) >= Max_add_value 
                    mult_tempt(1,nnn) = Max_add_value-1;
                    mult_flow_num = mult_flow_num+1;
                elseif mult_tempt(1,nnn) < -Max_add_value
                    mult_tempt(1,nnn) = -Max_add_value;
                    mult_flow_num = mult_flow_num+1;
                end
            end
            sum_tempt = fix((mult_tempt(1,1)+mult_tempt(1,2) +...
                mult_tempt(1,3)+mult_tempt(1,4)+...
                mult_tempt(1,5)+mult_tempt(1,6)+...
                mult_tempt(1,7)+mult_tempt(1,8))/2^tempt_eff);
            decode_tempt_i(1,2) = decode_tempt_i(1,2)+sum_tempt;
  
            mult_tempt(1,1)  = rec_code_r(1,r,n)*ch_mul_noice_r(3,r,n);
            mult_tempt(1,2)  = rec_code_i(1,r,n)*ch_mul_noice_i(3,r,n);
            mult_tempt(1,3)  = rec_code_r(2,r,n)*ch_mul_noice_r(3,r,n);
            mult_tempt(1,4)  = rec_code_i(2,r,n)*ch_mul_noice_i(3,r,n);
            mult_tempt(1,5)  = rec_code_r(1,r,n)*ch_mul_noice_r(4,r,n);
            mult_tempt(1,6)  = rec_code_i(1,r,n)*ch_mul_noice_i(4,r,n);
            mult_tempt(1,7)  = -rec_code_r(2,r,n)*ch_mul_noice_r(4,r,n);
            mult_tempt(1,8)  = -rec_code_i(2,r,n)*ch_mul_noice_i(4,r,n);
            mult_tempt(1,9)  = rec_code_r(3,r,n)*ch_mul_noice_r(1,r,n);
            mult_tempt(1,10) = rec_code_i(3,r,n)*ch_mul_noice_i(1,r,n);
            mult_tempt(1,11) = rec_code_r(3,r,n)*ch_mul_noice_r(2,r,n);
            mult_tempt(1,12) = rec_code_i(3,r,n)*ch_mul_noice_i(2,r,n);
            mult_tempt(1,13) = rec_code_r(4,r,n)*ch_mul_noice_r(1,r,n);
            mult_tempt(1,14) = rec_code_i(4,r,n)*ch_mul_noice_i(1,r,n);
            mult_tempt(1,15) = -rec_code_r(4,r,n)*ch_mul_noice_r(2,r,n);
            mult_tempt(1,16) = -rec_code_i(4,r,n)*ch_mul_noice_i(2,r,n);
            for nnn = 1:16
                if mult_tempt(1,nnn) >= Max_add_value 
                    mult_tempt(1,nnn) = Max_add_value-1;
                    mult_flow_num = mult_flow_num+1;
                elseif mult_tempt(1,nnn) < -Max_add_value
                    mult_tempt(1,nnn) = -Max_add_value;
                    mult_flow_num = mult_flow_num+1;
                end
            end
            sum_tempt = fix((mult_tempt(1,1)+mult_tempt(1,2) +...
                mult_tempt(1,3)+mult_tempt(1,4)+...
                mult_tempt(1,5)+mult_tempt(1,6)+...
                mult_tempt(1,7)+mult_tempt(1,8)+...
                mult_tempt(1,9)+mult_tempt(1,10) +...
                mult_tempt(1,11)+mult_tempt(1,12)+...
                mult_tempt(1,13)+mult_tempt(1,14)+...
                mult_tempt(1,15)+mult_tempt(1,16))/st2/2^tempt_eff);
            decode_tempt_r(1,3) = decode_tempt_r(1,3)+sum_tempt;
   
            mult_tempt(1,1)  = -rec_code_r(1,r,n)*ch_mul_noice_i(3,r,n);
            mult_tempt(1,2)  = rec_code_i(1,r,n)*ch_mul_noice_r(3,r,n);
            mult_tempt(1,3)  = -rec_code_r(2,r,n)*ch_mul_noice_i(3,r,n);
            mult_tempt(1,4)  = rec_code_i(2,r,n)*ch_mul_noice_r(3,r,n);
            mult_tempt(1,5)  = -rec_code_r(1,r,n)*ch_mul_noice_i(4,r,n);
            mult_tempt(1,6)  = rec_code_i(1,r,n)*ch_mul_noice_r(4,r,n);
            mult_tempt(1,7)  = rec_code_r(2,r,n)*ch_mul_noice_i(4,r,n);
            mult_tempt(1,8)  = -rec_code_i(2,r,n)*ch_mul_noice_r(4,r,n);
            mult_tempt(1,9)  = rec_code_r(3,r,n)*ch_mul_noice_i(1,r,n);
            mult_tempt(1,10) = -rec_code_i(3,r,n)*ch_mul_noice_r(1,r,n);
            mult_tempt(1,11) = rec_code_r(3,r,n)*ch_mul_noice_i(2,r,n);
            mult_tempt(1,12) = -rec_code_i(3,r,n)*ch_mul_noice_r(2,r,n);
            mult_tempt(1,13) = rec_code_r(4,r,n)*ch_mul_noice_i(1,r,n);
            mult_tempt(1,14) = -rec_code_i(4,r,n)*ch_mul_noice_r(1,r,n);
            mult_tempt(1,15) = -rec_code_r(4,r,n)*ch_mul_noice_i(2,r,n);
            mult_tempt(1,16) = rec_code_i(4,r,n)*ch_mul_noice_r(2,r,n);
            for nnn = 1:16

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品视频| 国产精品一区在线观看你懂的| 亚洲一区二区三区四区不卡| 激情图区综合网| 欧美亚洲愉拍一区二区| 国产亚洲欧美在线| 日韩av不卡一区二区| 97成人超碰视| 国产亚洲精品aa| 蜜臀91精品一区二区三区| 在线视频中文字幕一区二区| 亚洲国产精品精华液2区45| 六月婷婷色综合| 欧美年轻男男videosbes| 亚洲精品中文在线观看| 成人一级黄色片| 久久免费看少妇高潮| 免费观看91视频大全| 欧美日韩国产首页在线观看| 亚洲欧美日韩小说| 成人app软件下载大全免费| 久久久久久综合| 国产毛片一区二区| 久久女同精品一区二区| 老司机午夜精品| 精品国免费一区二区三区| 日韩中文字幕91| 91精品综合久久久久久| 亚洲 欧美综合在线网络| 欧美日韩一区二区三区免费看| 亚洲精品欧美二区三区中文字幕| 91色在线porny| 亚洲精品中文在线| 欧美最猛性xxxxx直播| 一区二区不卡在线视频 午夜欧美不卡在| 99久久婷婷国产综合精品电影 | 麻豆精品久久精品色综合| 欧美三级电影一区| 性做久久久久久免费观看| 在线成人午夜影院| 免费观看久久久4p| 久久综合国产精品| 成人性生交大片免费| 国产精品乱人伦| 91蜜桃在线观看| 亚洲丰满少妇videoshd| 91精品国产综合久久久久久久| 蜜桃视频在线观看一区二区| 欧美r级在线观看| 国产福利91精品一区二区三区| 国产精品免费aⅴ片在线观看| 99v久久综合狠狠综合久久| 亚洲黄色在线视频| 日韩你懂的电影在线观看| 国产很黄免费观看久久| 中文字幕一区二区视频| 欧美视频在线观看一区二区| 日韩二区三区四区| 久久久久国产免费免费| 97精品超碰一区二区三区| 偷拍与自拍一区| 国产午夜精品一区二区三区视频 | 久久精品国产免费| 欧美激情在线观看视频免费| 欧美综合一区二区| 久久精品999| 日韩毛片一二三区| 日韩免费电影一区| 91在线国产福利| 蜜臀av一区二区三区| 国产精品看片你懂得| 欧美丰满少妇xxxbbb| 风流少妇一区二区| 午夜精品福利一区二区蜜股av| 久久久久久久久99精品| 欧美性猛片aaaaaaa做受| 国产精一区二区三区| 亚洲成人av在线电影| 国产精品久久久久久久久晋中| 欧美一区二区视频免费观看| a亚洲天堂av| 国产专区欧美精品| 五月天激情综合| 亚洲日本欧美天堂| 久久青草欧美一区二区三区| 9191国产精品| 色呦呦一区二区三区| 国产成人午夜99999| 日韩av中文字幕一区二区| 亚洲男女毛片无遮挡| 久久久国产午夜精品| 欧美一区二区三区婷婷月色| 在线观看成人小视频| 成人爱爱电影网址| 国产精品91一区二区| 美国十次了思思久久精品导航| 亚洲午夜久久久久久久久电影院| 欧美国产精品一区二区三区| 欧美一级高清片| 欧美猛男超大videosgay| 色综合天天综合网天天看片| 福利一区在线观看| 国产精品亚洲视频| 国产真实乱偷精品视频免| 日韩电影一区二区三区| 亚洲另类在线制服丝袜| 亚洲男人的天堂在线观看| 中文字幕亚洲不卡| 国产精品成人网| 国产精品不卡视频| 1000精品久久久久久久久| 国产精品久线在线观看| 国产精品电影一区二区三区| 国产精品欧美一区二区三区| 国产精品网站在线| 国产精品盗摄一区二区三区| 国产精品美女久久久久久久久久久 | 欧美男男青年gay1069videost| 欧美专区日韩专区| 欧美伊人精品成人久久综合97 | 国产成人欧美日韩在线电影| 国产精品一区在线观看乱码| 国产福利一区在线观看| 国产成+人+日韩+欧美+亚洲| 成人av网站免费观看| 99久久伊人精品| 色哟哟国产精品| 欧美日韩精品免费| 日韩精品在线一区二区| 国产亚洲一二三区| 中文字幕亚洲一区二区av在线| 亚洲日本在线a| 五月天国产精品| 精品在线一区二区三区| 国产福利一区在线| 色偷偷88欧美精品久久久| 欧美色爱综合网| 欧美一级专区免费大片| 2020国产精品| 亚洲美女电影在线| 日韩高清在线一区| 国产成人高清在线| 91精品1区2区| 日韩欧美一二三| 亚洲国产精品成人综合色在线婷婷| 中文字幕一区二区三区在线播放| 一级精品视频在线观看宜春院| 日韩精品一二区| 国产·精品毛片| 欧美日韩视频一区二区| 精品粉嫩aⅴ一区二区三区四区| 国产精品色在线观看| 亚洲www啪成人一区二区麻豆| 久久成人免费网站| 91麻豆成人久久精品二区三区| 欧美精品vⅰdeose4hd| 久久久高清一区二区三区| 一区二区三区欧美亚洲| 老司机免费视频一区二区三区| 欧美日韩免费在线视频| 26uuu久久天堂性欧美| 亚洲靠逼com| 国产精品白丝av| 欧美精品乱人伦久久久久久| 国产午夜三级一区二区三| 亚洲成人免费在线| 99久久综合精品| 精品粉嫩超白一线天av| 午夜精品久久久久久久久久 | 韩国三级中文字幕hd久久精品| 99riav一区二区三区| 久久久久久99久久久精品网站| 亚洲成av人片在线| 99精品久久免费看蜜臀剧情介绍| 精品999在线播放| 视频在线观看一区| 色av一区二区| 国产精品成人网| 国产91精品在线观看| 欧美sm极限捆绑bd| 热久久免费视频| 欧美理论电影在线| 亚洲综合色在线| 日本韩国欧美一区二区三区| 国产精品久久久久天堂| 国产一区二三区| 精品日韩在线一区| 看电影不卡的网站| 在线电影欧美成精品| 亚洲第一电影网| 精品视频在线免费| 亚洲国产精品欧美一二99| 色综合色狠狠天天综合色| 国产精品久久久久aaaa| 国产99久久精品| 日本一区二区不卡视频| 国产成人精品一区二区三区四区| 精品1区2区在线观看| 国产在线一区观看| 久久一夜天堂av一区二区三区|