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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? sim_mimo_ofdm.m

?? almoutii-algorithm for space time code
?? M
字號(hào):
% function Sim_MIMO_OFDM()
% mcc -m -B sgl Sim_MIMO_OFDM

clear all;
clc;
fprintf('Start! Please wait to inspect the results ...\n\n');

% Initial Processing:
% Define the slot structure
Nc = 512;
Ng = 32;
Ns = Nc + Ng;
Nu = Nc;
Num_Block = 1;
Fs = 20e6;
T = 1/Fs;
Tg = T * Ng;
Tu = T * Nc;
Ts = T * Ns;
DeltaF = 1/Tu;
B = DeltaF*Nu;
ModScheme = '16QAM';
M = 16;
Num_TxAnt = 2;
Num_RxAnt = 2;

Num_Bit_Frame = Num_Block * Nu * log2( M ) * Num_TxAnt;
Num_Sym_Frame = Num_Bit_Frame / log2(M);

Gen_Poly = [13 15];
Len_Constr = 4;
Len_Mem = 3;
k = 1;
n = 3;
Rate = k / n;
Trellis = poly2trellis( Len_Constr,Gen_Poly,Gen_Poly(1) );
Alg = 1;
Num_Iter_Decode = 8;
Num_InforBit = 2048;
Num_CodeBit = Num_InforBit / Rate + Len_Mem * 4;
Puncture_Pattern = [1 1; 1 0; 0 1];
[1; 1; 1];
[1 1; 1 0; 0 1];
[1 1 1 1; 1 0 0 0; 0 0 1 0];
[1 1 1 1 1 1; 1 0 0 0 0 0; 0 0 0 1 0 0];
[1 1 1 1 1 1 1 1 1 1; 1 0 0 0 1 0 0 1 0 0; 0 0 1 0 0 1 0 0 0 1];
Len_Pattern = prod( size( Puncture_Pattern ) );
Num_Reserved = sum( sum( Puncture_Pattern,1 ),2 );
Num_Punctured =  Len_Pattern - Num_Reserved;
Rate = size( Puncture_Pattern,2 ) / Num_Reserved;

Puncture_Pattern = reshape( Puncture_Pattern,1,Len_Pattern ) ;
if ( Num_Bit_Frame - fix( Num_Bit_Frame / Num_Reserved ) * Num_Reserved ) == 0;
    Num_CodeBit_Frame = fix( Num_Bit_Frame / Num_Reserved ) * Len_Pattern;
else
    for i = 1 : Len_Pattern
        if sum( Puncture_Pattern( 1:i ) ) == ( Num_Bit_Frame - fix( Num_Bit_Frame / Num_Reserved ) * Num_Reserved )
            Num_CodeBit_Frame = fix( Num_Bit_Frame / Num_Reserved ) * Len_Pattern + i;
        end
    end
end
while mod( Num_CodeBit_Frame,Num_CodeBit ) ~= 0
    Num_InforBit = Num_InforBit - 1;    Num_CodeBit = Num_InforBit * n / k + Len_Mem * 4;
end
Num_CodeBlock = Num_CodeBit_Frame / Num_CodeBit;
Num_InforBit_Frame = Num_InforBit * Num_CodeBlock;
Rate_Source = Num_InforBit_Frame / Num_Bit_Frame;
[Temp, Inner_Interlver] = sort( rand( 1,Num_InforBit ) );
Inner_Interlver = Inner_Interlver -1;
[Temp, Outer_Interlver] = sort( rand( 1,Num_Bit_Frame ) );

% Define the channel profile
% Path_Gain = [ 1 ];  Path_Delay = [0];    ChannelProfile = 'AWGN';
% Path_Gain = [0.9977    0.0680];     Path_Delay = [0 2];  ChannelProfile = 'ITU Pedestrian A';
% Path_Gain = [0.6369 0.5742 0.3623 0.2536 0.2595 0.0407];    Path_Delay = [0 1 4 6 11 18]; ChannelProfile = 'ITU Pedestrian B';
Path_Gain = [0.6964 0.6207 0.2471 0.2202 0.1238 0.0696];
Path_Delay = [0 1 2 3 4 5] + 1;
ChannelProfile = 'ITU Vehicular A';
%Path_Gain = [0.4544 0.4050 0.3610 0.3217 0.2867 0.2555 0.2277 0.2030 0.1809 0.1612 0.1437 0.1281...
%             0.1141 0.1017 0.0907 0.0808 0.0720 0.0642 0.0572 0.0510 0.0454 0.0405 0.0361 0.0322];
%Path_Delay = [0 7 14 22 29 37 45 52 59 67 75 82 90 97 104 112 119 127 135 142 150 157 164 172] + 1; ChannelProfile = 'Exponential Decay Model';
Num_Path = length( Path_Gain );
Max_Delay = max( Path_Delay );
Fc = 3e9;
V = 3;
Fd = V * Fc / 3e8 * 1000 / 3600;
Phase = 2 * pi * rand( 1,Num_Path*Num_RxAnt*Num_TxAnt );

% Save simulation parametes
 FileName = 'Sim_MIMO_OFDM.dat';
% % % FileName = 'Sim_MIMO_OFDM.dat';
% Fid = fopen(FileName,'a+'); fprintf(Fid,'\n\n');fprintf(Fid,['%% Created by ZZG from <' mfilename '.m> at ' datestr(now),'\n']);
% fprintf(Fid,'%% Num_Path = %d  vehicle speed = %d  carrier frequency = %e  doppler frequency spread = %f  normalized doppler shift = %f\n',Num_Path,V,Fc,Fd,Fd*Ts);
% fprintf(Fid,'%% system bandwidth = %e  number of subcarriers = %d  subcarrier spacing = %e\n',B,Nc,DeltaF);
% fprintf(Fid,'%% sampling duration = %e  symbol duration = %e  guard duration = %e \n',T,Ts,Tg);
% fprintf(Fid,'%% (%d, %d, %d)  Generator = %s  Num_InforBit = %d  Num_CodeBlock = %d  Num_InforBit_Frame = %d  Rate = %f  \n',n,k,Len_Constr,num2str( Gen_Poly ),Num_InforBit,Num_CodeBlock,Num_InforBit_Frame,Rate);
% fprintf(Fid,'%% Num_Block = %d  ModScheme = %s  Num_TxAnt = %d  Num_RxAnt = %d\n',Num_Block,ModScheme,Num_TxAnt,Num_RxAnt);
% fprintf(Fid,'%% channel profile = %s\n',ChannelProfile );
% fprintf(Fid,'%% SNR  BER  FER \n\n'); fclose(Fid);

% [(0 : 1 : 3) (4 : 0.5 : 6)]
% Main loop
%SNR = [( 1:1:12 ) ];
SNR = [( 1:1:9 ) ];
MinSNR = min(SNR);
MaxSNR = max(SNR);
BER = [];
FER = [];
Num_Iter = 6;
Num_Frame = 10;
for Index = 1 : length( SNR )
    %    profile on -detail builtin
    StartPoint = 0;
    snr = SNR( Index )
    EbN0 = 10^( snr / 10 );
    Es = 1;
    N0  = Es * Num_RxAnt / ( EbN0 * Rate * Nu/Ns * log2(M) * Num_TxAnt );
    Var = N0;
    ErrNum_Bit = zeros( 1,Num_Iter );
    ErrNum_Frame = zeros( 1,Num_Iter );
    ErrRate_Bit = zeros( 1,Num_Iter );
    ErrRate_Frame = zeros( 1,Num_Iter );

    for Frame = 1 : Num_Frame
        tic;
        % Transmitter
        Data_In = randint( 1,Num_InforBit_Frame );
        for i = 1 : Num_CodeBlock
            % Data_EnCode( (i-1)*Num_CodeBit+(1:Num_CodeBit) ) = Enc_Conv( Data_In( (i-1)*Num_InforBit+(1:Num_InforBit) ),Trellis,InitState,Terminated );
            Data_EnCode( (i-1)*Num_CodeBit+(1:Num_CodeBit) ) = Enc_Turbo_3gpp( Data_In( (i-1)*Num_InforBit+(1:Num_InforBit) ),Gen_Poly,Len_Constr,Inner_Interlver );
        end
        Data_EnCode = Puncture( Data_EnCode,Puncture_Pattern );
        Sym_In = reshape( Mapping( Data_EnCode( Outer_Interlver ),ModScheme ),Num_TxAnt,Nu*Num_Block ) / sqrt( Num_TxAnt );
        for TxAnt = 1 : Num_TxAnt
            Temp = reshape( Sym_In( TxAnt,: ),Nc,Num_Block );
            Temp = ifft( Temp,Nc,1 ) * sqrt( Nc );
            TransSig( TxAnt,: ) = reshape( [Temp( Nc-Ng+1:Nc,: );Temp],1,Ns*Num_Block );
        end

        % Channel
        ChannelCoeff = MultiPathChannel( repmat( Path_Gain,1,Num_RxAnt*Num_TxAnt ),Fd,Ts,Num_Block,StartPoint,Phase );  StartPoint = StartPoint + Num_Block;
        % ChannelCoeff = diag( repmat( Path_Gain,1,Num_RxAnt*Num_TxAnt ) ) * ( randn( Num_Path*Num_RxAnt*Num_TxAnt,Num_Block ) + sqrt( -1 ) * randn( Num_Path*Num_RxAnt*Num_TxAnt,Num_Block ) ) / sqrt( 2 );
        ChannelOut = zeros( Num_RxAnt,Ns*Num_Block+Max_Delay-1 );
        for RxAnt = 1 : Num_RxAnt
            for TxAnt = 1 : Num_TxAnt
                h( Path_Delay,1:Num_Block ) = ChannelCoeff( (RxAnt-1)*Num_Path*Num_TxAnt + (TxAnt-1)*Num_Path + (1:Num_Path) ,:);
                H( RxAnt,TxAnt,: ) = reshape( fft( h,Nc,1 ),1,Nc*Num_Block );
                for i = 1 : Num_Block
                    Temp = ChannelOut( RxAnt, (i-1)*Ns + (1:Ns+Max_Delay-1) );
                    ChannelOut( RxAnt,(i-1)*Ns + (1:Ns+Max_Delay-1) ) = Temp + conv( h(:,i),TransSig( TxAnt,(i-1)*Ns + (1:Ns) ) );
                end
            end
        end
        RecSig = ChannelOut + sqrt( Var ) * ( randn( size( ChannelOut ) ) + sqrt( -1 ) * randn( size( ChannelOut ) ) ) / sqrt( 2 );
        clear ChannelCoeff h ChannelOut;

        % Receiver
        RecSig = RecSig( :,1:Ns*Num_Block );
        for RxAnt = 1 : Num_RxAnt
            Temp = reshape( RecSig( RxAnt,: ),Ns,Num_Block );
            RecSig_Fre( RxAnt,: ) = reshape( fft( Temp( Ng+1:Ns,: ) ) / sqrt( Nc ),1,Nc*Num_Block );
        end
        Y = RecSig_Fre;
        HH = H / sqrt( Num_TxAnt );
        clear RecSig RecSig_Fre H;

        Lu_Pri = zeros( 1,Num_InforBit_Frame );
        Lc_Pri = zeros( 1,Num_Bit_Frame );
        for Iter = 1 : Num_Iter
            Lc_Extr = MMSE_Equ( Y,HH,Lc_Pri,Num_RxAnt,Num_TxAnt,ModScheme,Var,1);
            DeInterlv( Outer_Interlver ) = Lc_Extr;
            Lc_Pri = DePuncture( DeInterlv,Num_CodeBit_Frame,Puncture_Pattern );
            for i = 1 : Num_CodeBlock
                % [Temp, Lc_Extr( (i-1)*Num_CodeBit+(1:Num_CodeBit) )] = ......
                % LOG_MAP( zeros( 1,Num_InforBit + Len_Mem ),Lc_Pri( (i-1)*Num_CodeBit+(1:Num_CodeBit) ),Trellis,1 );
                % Data_Out( (i-1)*Num_InforBit+(1:Num_InforBit) ) = ( sign( Temp( 1:Num_InforBit ) ) + 1 ) / 2;
                [Data_Out( (i-1)*Num_InforBit+(1:Num_InforBit) ),Lu_Extr( (i-1)*Num_InforBit+(1:Num_InforBit) ),Lc_Extr( (i-1)*Num_CodeBit+(1:Num_CodeBit) )] = ......
                    Dec_Turbo_3gpp( Lu_Pri( (i-1)*Num_InforBit+(1:Num_InforBit) ),Lc_Pri( (i-1)*Num_CodeBit+(1:Num_CodeBit) ),Trellis,Inner_Interlver,Alg,Num_Iter_Decode );
            end
            Lc_Extr = Puncture( Lc_Extr,Puncture_Pattern );
            Lc_Pri = Lc_Extr( Outer_Interlver );
            Error = sum( sum( sign( abs( Data_Out - Data_In ) ) ) );
            ErrNum_Bit( 1,Iter ) = ErrNum_Bit( 1,Iter ) +  Error;
            if ( Error ~= 0 )
                ErrNum_Frame( 1,Iter ) = ErrNum_Frame( 1,Iter ) +  1;
            end
            ErrRate_Bit( 1,Iter ) = ErrNum_Bit( 1,Iter ) / Frame / Num_InforBit_Frame;
            ErrRate_Frame( 1,Iter ) = ErrNum_Frame( 1,Iter ) / Frame;
        end
        Frame
        ErrRate_Bit
        ErrRate_Frame
        toc;
    end
%     profile report
     BER = [BER; ErrRate_Bit];   
     FER = [FER; ErrRate_Frame];
     Fid = fopen(FileName,'a+');
     fprintf(Fid,'%2.1f      %s      %s\n',snr,num2str( ErrRate_Bit,'%1.10f ' ),num2str( ErrRate_Frame,'%1.10f ' ) );
     fclose(Fid);
end

figure(1)
semilogy(SNR,BER,SNR,FER);
axis([MinSNR,MaxSNR,10^-6,10^0]);
grid on;
xlabel('Eb/N0 (dB)');  ylabel('BER')
%
figure(2)
Throughput = (1 - FER) * Num_InforBit_Frame/Num_Block/Ts;
plot(SNR,Throughput/1e6);
axis([MinSNR,MaxSNR,0,110]);
grid on;
xlabel('Eb/N0 (dB)');  ylabel('Throughput (Mbps)')

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产电影| 久久精品一区二区| 国产精品一区二区三区四区| 国产精品成人免费精品自在线观看| 日本高清不卡视频| 国产真实精品久久二三区| 一区二区三区在线视频免费| www国产精品av| 欧美三级中文字| 成人av高清在线| 精品午夜久久福利影院| 亚洲激情六月丁香| 国产欧美日韩另类一区| 日韩一级大片在线| 欧美日韩中字一区| 91同城在线观看| 成人深夜在线观看| 久久av老司机精品网站导航| 亚洲成人一区在线| 亚洲综合色婷婷| 国产精品初高中害羞小美女文| 26uuu国产电影一区二区| 51午夜精品国产| 91久久香蕉国产日韩欧美9色| 国产91丝袜在线播放九色| 老司机午夜精品99久久| 亚洲大片一区二区三区| 亚洲综合色丁香婷婷六月图片| 中文字幕精品综合| 国产免费久久精品| 国产欧美日本一区视频| 久久久久国产一区二区三区四区| 欧美成人综合网站| 精品免费国产一区二区三区四区| 在线播放/欧美激情| 欧美亚洲综合在线| 欧洲在线/亚洲| 在线看国产一区二区| 色乱码一区二区三区88 | 国产乱对白刺激视频不卡| 蜜臀久久99精品久久久久宅男| 午夜精品免费在线观看| 午夜精彩视频在线观看不卡| 亚洲成av人片一区二区三区| 亚洲国产另类av| 日韩中文字幕一区二区三区| 亚洲高清免费视频| 日日夜夜精品视频天天综合网| 天天色天天操综合| 久久激情五月激情| 国产一区二区三区在线观看免费视频 | 欧美日本一区二区三区| 欧洲国产伦久久久久久久| 欧美日韩在线亚洲一区蜜芽| 欧美丰满高潮xxxx喷水动漫| 欧美一区二区二区| 久久综合99re88久久爱| 国产精品理论片在线观看| 亚洲视频狠狠干| 亚洲一区二区三区在线| 亚洲成人激情自拍| 久久精品国产秦先生| 国产一区二区不卡| caoporn国产精品| 91福利国产精品| 日韩一区国产二区欧美三区| 久久午夜羞羞影院免费观看| 国产精品嫩草影院com| 一区二区三区在线视频观看| 婷婷开心久久网| 国产在线视视频有精品| 99亚偷拍自图区亚洲| 欧美日韩中文字幕精品| www国产成人免费观看视频 深夜成人网| 国产欧美精品一区二区色综合 | 一区二区成人在线| 美脚の诱脚舐め脚责91| 成人va在线观看| 欧美精品少妇一区二区三区| 久久伊99综合婷婷久久伊| 亚洲人成网站在线| 久久综合综合久久综合| 99国产精品久久久久| 欧美一区二区三区在线看| 日本一区二区免费在线| 午夜精品福利一区二区三区av | 色综合网站在线| 日韩女优av电影| 亚洲视频免费在线| 国产在线看一区| 在线这里只有精品| 国产午夜精品一区二区三区四区| 樱桃国产成人精品视频| 国产电影一区二区三区| 777奇米四色成人影色区| 国产精品国产a| 免费看精品久久片| 色综合久久中文字幕综合网 | 欧美一区二区三区电影| 中文av字幕一区| 奇米色一区二区| 欧美午夜电影网| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美精品v日韩精品v韩国精品v| 国产亚洲视频系列| 蜜桃在线一区二区三区| 欧美亚洲愉拍一区二区| 亚洲国产成人私人影院tom | 欧美性猛片aaaaaaa做受| 国产欧美一区二区精品忘忧草| 日本女优在线视频一区二区| 欧洲一区二区三区在线| 国产精品剧情在线亚洲| 国产福利精品导航| 精品久久久久久久人人人人传媒 | 一区二区三区欧美激情| 成人av午夜影院| 国产一区二区三区av电影| 国产一区二三区| 欧美放荡的少妇| 亚洲欧美偷拍另类a∨色屁股| 国产九九视频一区二区三区| 日韩你懂的电影在线观看| 午夜影院久久久| 在线一区二区三区做爰视频网站| 国产精品久久二区二区| 国产成人一区在线| 久久综合九色综合欧美亚洲| 男女男精品视频| 91精品国产综合久久精品| 天天色天天操综合| 欧美福利视频一区| 午夜精品久久久久久不卡8050| 欧美亚洲国产怡红院影院| 亚洲综合图片区| 日本乱码高清不卡字幕| 一区二区三区在线免费播放| 91香蕉国产在线观看软件| 亚洲欧洲综合另类| 在线中文字幕不卡| 亚洲国产精品久久一线不卡| 欧美日韩视频在线一区二区| 亚洲一区二区免费视频| 欧美人伦禁忌dvd放荡欲情| 日韩精品亚洲一区| 欧美一级xxx| 国产一区二区三区免费播放| 久久久久国产精品麻豆| 国产成人精品免费看| 国产精品久久久久久久久晋中 | 九九精品一区二区| 久久综合九色综合欧美就去吻 | 日韩美女视频一区| 91免费国产在线| 亚洲影院在线观看| 欧美精品亚洲一区二区在线播放| 麻豆一区二区99久久久久| 精品伦理精品一区| 成人免费黄色大片| 一区二区三国产精华液| 在线播放91灌醉迷j高跟美女| 日韩av一区二区三区| 精品日韩在线一区| 99这里只有久久精品视频| 亚洲一区二区在线免费观看视频| 欧美二区三区的天堂| 国产精品一卡二卡| 亚洲蜜桃精久久久久久久| 91精品啪在线观看国产60岁| 激情六月婷婷综合| 最新热久久免费视频| 欧美在线观看你懂的| 国内精品国产成人| 亚洲美女偷拍久久| 欧美大片日本大片免费观看| 99热精品国产| 免费看黄色91| 亚洲三级电影网站| 欧美一区二区三区免费视频| 成人在线视频一区二区| 天天做天天摸天天爽国产一区 | 色哟哟国产精品| 轻轻草成人在线| ...av二区三区久久精品| 欧美日本在线视频| av亚洲精华国产精华精华| 男女激情视频一区| 亚洲另类在线制服丝袜| 精品电影一区二区| 91激情五月电影| 国产成人a级片| 全部av―极品视觉盛宴亚洲| 中文字幕中文字幕在线一区 | av一区二区三区四区| 免费观看一级欧美片| 亚洲人成影院在线观看| 久久男人中文字幕资源站| 欧美日韩精品专区| aaa欧美大片| 国产精品996|