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

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

?? turbo_sys_demosecond.m

?? turbo碼的譯碼
?? M
字號:
% This script simulates the classical turbo encoding-decoding system. 
% It simulates parallel concatenated convolutional codes.
% Two component rate 1/2 RSC (Recursive Systematic Convolutional) component encoders are assumed.
% First encoder is terminated with tails bits. (Info + tail) bits are scrambled and passed to 
% the second encoder, while second encoder is left open without tail bits of itself.
%
% Random information bits are modulated into +1/-1, and transmitted through a AWGN channel.
% Interleavers are randomly generated for each frame.
%
% Log-MAP algorithm without quantization or approximation is used.
% By making use of ln(e^x+e^y) = max(x,y) + ln(1+e^(-abs(x-y))),
% the Log-MAP can be simplified with a look-up table for the correction function.
% If use approximation ln(e^x+e^y) = max(x,y), it becomes MAX-Log-MAP.
%
% Copyright Nov 1998, Yufei Wu
% MPRG lab, Virginia Tech.
% for academic use only

clear all

% Write display messages to a text file
diary turbo_logmap.txt

% Choose decoding algorithm 
dec_alg = input(' Please enter the decoding algorithm. (0:Log-MAP, 1:SOVA)  default 0    ');
if isempty(dec_alg)
   dec_alg = 0;
end

% Frame size
L_total = input(' Please enter the frame size (= info + tail, default: 400)   ');
if isempty(L_total)
   L_total = 400;	 % infomation bits plus tail bits
end

% Code generator
g = input(' Please enter code generator: ( default: g = [1 1 1; 1 0 1 ] )      ');
if isempty(g)
   g = [ 1 1 1;
         1 0 1 ];
end
%g = [1 1 0 1; 1 1 1 1];
%g = [1 1 1 1 1; 1 0 0 0 1];

[n,K] = size(g); 
m = K - 1;
nstates = 2^m;

%puncture = 0, puncturing into rate 1/2; 
%puncture = 1, no puncturing
puncture = input(' Please choose punctured / unpunctured (0/1): default 0     ');
if isempty(puncture) 
    puncture = 0;
end

% Code rate
rate = 1/(2+puncture);   

% Fading amplitude; a=1 in AWGN channel
a = 1; 

% Number of iterations
niter = input(' Please enter number of iterations for each frame: default 5       ');
if isempty(niter) 
   niter = 5;
end   
% Number of frame errors to count as a stop criterior
ferrlim = input(' Please enter number of frame errors to terminate: default 15        ');
if isempty(ferrlim)
   ferrlim = 15;
end   

EbN0db = input(' Please enter Eb/N0 in dB : default [2.0]    ');
if isempty(EbN0db)
   EbN0db = [2.0];
end

fprintf('\n\n----------------------------------------------------\n'); 
if dec_alg == 0
   fprintf(' === Log-MAP decoder === \n');
else
   fprintf(' === SOVA decoder === \n');
end
fprintf(' Frame size = %6d\n',L_total);
fprintf(' code generator: \n');
for i = 1:n
    for j = 1:K
        fprintf( '%6d', g(i,j));
    end
    fprintf('\n');
end        
if puncture==0
   fprintf(' Punctured, code rate = 1/2 \n');
else
   fprintf(' Unpunctured, code rate = 1/3 \n');
end
fprintf(' iteration number =  %6d\n', niter);
fprintf(' terminate frame errors = %6d\n', ferrlim);
fprintf(' Eb / N0 (dB) = ');
for i = 1:length(EbN0db)
    fprintf('%10.2f',EbN0db(i));
end
fprintf('\n----------------------------------------------------\n\n');
    
fprintf('+ + + + Please be patient. Wait a while to get the result. + + + +\n');

for nEN = 1:length(EbN0db)
   en = 10^(EbN0db(nEN)/10);      % convert Eb/N0 from unit db to normal numbers
   L_c = 4*a*en*rate; 	% reliability value of the channel
   sigma = 1/sqrt(2*rate*en); 	% standard deviation of AWGN noise

% Clear bit error counter and frame error counter
   errs(nEN,1:niter) = zeros(1,niter);
   nferr(nEN,1:niter) = zeros(1,niter);

   nframe = 0;    % clear counter of transmitted frames
   while nferr(nEN, niter)<ferrlim
      nframe = nframe + 1;    
      x = round(rand(1, L_total-m));    % info. bits
      [temp, alpha] = sort(rand(1,L_total));        % random interleaver mapping
      en_output = encoderm( x, g, alpha, puncture ) ; % encoder output (+1/-1)
          
      r = en_output+sigma*randn(1,L_total*(2+puncture)); % received bits
      yk = demultiplex(r,alpha,puncture); % demultiplex to get input for decoder 1 and 2
      
% Scale the received bits      
      rec_s = 0.5*L_c*yk;

% Initialize extrinsic information      
      L_e(1:L_total) = zeros(1,L_total);
      
      for iter = 1:niter
% Decoder one
         L_a(alpha) = L_e;  % a priori info. 
         if dec_alg == 0
            L_all = logmapo(rec_s(1,:), g, L_a, 1);  % complete info.
         else   
            L_all = sova0(rec_s(1,:), g, L_a, 1);  % complete info.
         end   
         L_e = L_all - 2*rec_s(1,1:2:2*L_total) - L_a;  % extrinsic info.

% Decoder two         
         L_a = L_e(alpha);  % a priori info.
         if dec_alg == 0
            L_all = logmapo(rec_s(2,:), g, L_a, 2);  % complete info.  
         else
            L_all = sova0(rec_s(2,:), g, L_a, 2);  % complete info. 
         end
         L_e = L_all - 2*rec_s(2,1:2:2*L_total) - L_a;  % extrinsic info.
         
% Estimate the info. bits        
         xhat(alpha) = (sign(L_all)+1)/2;

% Number of bit errors in current iteration
         err(iter) = length(find(xhat(1:L_total-m)~=x));
% Count frame errors for the current iteration
         if err(iter)>0
            nferr(nEN,iter) = nferr(nEN,iter)+1;
         end   
      end	%iter
      
% Total number of bit errors for all iterations
      errs(nEN,1:niter) = errs(nEN,1:niter) + err(1:niter);

      if rem(nframe,100)==0 | nferr(nEN, niter)==ferrlim
% Bit error rate
         ber(nEN,1:niter) = errs(nEN,1:niter)/nframe/(L_total-m);
% Frame error rate
         fer(nEN,1:niter) = nferr(nEN,1:niter)/nframe;

% Display intermediate results in process  
         fprintf('************** Eb/N0 = %5.2f db **************\n', EbN0db(nEN));
         fprintf('Frame size = %d, rate 1/%d. \n', L_total, 2+puncture);
         fprintf('%d frames transmitted, %d frames in error.\n', nframe, nferr(nEN, niter));
         fprintf('Bit Error Rate (from iteration 1 to iteration %d):\n', niter);
         for i=1:niter
            fprintf('%8.4e    ', ber(nEN,i));
         end
         fprintf('\n');
         fprintf('Frame Error Rate (from iteration 1 to iteration %d):\n', niter);
         for i=1:niter
            fprintf('%8.4e    ', fer(nEN,i));
         end
         fprintf('\n');
         fprintf('***********************************************\n\n');

% Save intermediate results 
         save turbo_sys_demo EbN0db ber fer
      end
      
   end		%while
end 		%nEN

diary off


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久香蕉网| 亚洲成人免费观看| 在线观看视频91| 狠狠色狠狠色合久久伊人| 亚洲人快播电影网| 久久午夜国产精品| 欧美性xxxxxx少妇| 成人性生交大片免费| 免费在线观看不卡| 亚洲综合色丁香婷婷六月图片| 久久综合九色综合97婷婷| 91最新地址在线播放| 国产精品 欧美精品| 免费欧美在线视频| 亚洲成a人片综合在线| 国产精品成人免费精品自在线观看 | 午夜成人在线视频| 欧美三级在线视频| 91视频观看免费| 豆国产96在线|亚洲| 国产综合成人久久大片91| 日韩精品亚洲一区二区三区免费| a亚洲天堂av| 亚洲啪啪综合av一区二区三区| 久久久精品人体av艺术| 欧美va亚洲va| 国产亚洲欧美在线| 国产精品一线二线三线精华| 美女网站视频久久| 天天色天天爱天天射综合| 亚洲图片欧美综合| 亚洲一区二区黄色| 亚洲自拍另类综合| 亚洲国产va精品久久久不卡综合| 一个色在线综合| 亚洲精品va在线观看| 亚洲丝袜精品丝袜在线| 综合自拍亚洲综合图不卡区| 中文字幕五月欧美| 亚洲女与黑人做爰| 一区二区三区av电影| 亚洲观看高清完整版在线观看| 夜夜操天天操亚洲| 香蕉成人伊视频在线观看| 91精品国产色综合久久| 欧美性受xxxx黑人xyx| 欧美日韩免费在线视频| 欧美另类z0zxhd电影| 欧美二区三区91| 日韩欧美国产精品一区| 2021久久国产精品不只是精品| 26uuu国产一区二区三区| 最新热久久免费视频| 亚洲免费毛片网站| 亚洲福利视频导航| 青草av.久久免费一区| 国产在线精品视频| 不卡在线观看av| 日本精品视频一区二区| 欧美精品视频www在线观看| 日韩视频免费直播| 国产日韩精品视频一区| 亚洲视频一区二区免费在线观看| 一区二区日韩电影| 奇米精品一区二区三区在线观看 | 中文字幕亚洲一区二区av在线 | 国产精品夜夜爽| 成人aaaa免费全部观看| 蜜臀精品一区二区三区在线观看 | 中文字幕高清一区| 中文字幕一区二区三区色视频| 亚洲成人黄色影院| 国产真实乱对白精彩久久| caoporen国产精品视频| 经典一区二区三区| 亚洲第一搞黄网站| 国产制服丝袜一区| 一本久久a久久精品亚洲| 欧美一区二区在线免费观看| 国产欧美日韩激情| 香蕉成人啪国产精品视频综合网| 国产一区二区伦理片| 日韩欧美一区在线| 中文字幕欧美激情一区| 日日夜夜精品视频天天综合网| 国产一区二区三区| 免费在线观看一区二区三区| 99精品桃花视频在线观看| 日韩午夜在线影院| 亚洲人成影院在线观看| 精彩视频一区二区| 欧美亚洲国产一区在线观看网站| 久久天天做天天爱综合色| 亚洲一本大道在线| 99精品国产视频| av一区二区三区在线| 日韩精品专区在线| 亚洲一区二区av在线| 国产成人一级电影| 91精品国产欧美一区二区18| 亚洲日本韩国一区| 国产sm精品调教视频网站| 欧美一区二区网站| 亚洲影视资源网| 亚洲成人你懂的| 不卡的av在线播放| 久久综合九色综合欧美亚洲| 五月天国产精品| 91视视频在线观看入口直接观看www| 亚洲精品一区二区三区精华液| 午夜影院在线观看欧美| 91在线porny国产在线看| 久久久久久久综合色一本| 成人理论电影网| 91精品国产欧美日韩| 亚洲小说欧美激情另类| 色综合久久99| 国产精品国产a级| 国产成人综合精品三级| 精品日韩一区二区三区| 青娱乐精品视频在线| 欧美久久一二区| 亚洲成人动漫av| 精品视频色一区| 一区二区三区波多野结衣在线观看| 91香蕉视频mp4| 最好看的中文字幕久久| 91女厕偷拍女厕偷拍高清| 亚洲国产精品激情在线观看| 国产成人丝袜美腿| 国产日韩欧美一区二区三区乱码| 国产一区高清在线| 久久久久久久国产精品影院| 精品一区二区三区的国产在线播放| 日韩亚洲欧美在线观看| 青青草原综合久久大伊人精品优势| 欧美一级生活片| 国产精品久久久久国产精品日日| 岛国精品在线观看| 国产精品高潮呻吟| 在线国产电影不卡| 午夜欧美在线一二页| 欧美高清www午色夜在线视频| 久久久亚洲国产美女国产盗摄| 国产一区啦啦啦在线观看| 欧美激情在线一区二区三区| 制服丝袜一区二区三区| 亚洲国产综合在线| 欧美日本一区二区三区| 青青草视频一区| 国产亚洲成av人在线观看导航| 国产aⅴ精品一区二区三区色成熟| 中文一区二区在线观看| 91蝌蚪国产九色| 午夜激情一区二区| 日韩欧美在线影院| 国产福利精品导航| 亚洲欧美日韩在线播放| 在线看一区二区| 美女一区二区三区| 亚洲国产激情av| 欧美性猛片aaaaaaa做受| 免费人成精品欧美精品| 久久天堂av综合合色蜜桃网| 91在线视频播放| 中文子幕无线码一区tr| 97久久超碰精品国产| 天天av天天翘天天综合网| 亚洲精品一区二区三区影院 | 精品国精品国产尤物美女| 国产制服丝袜一区| 亚洲裸体在线观看| 欧美电影免费观看高清完整版| 成人免费毛片片v| 亚洲va在线va天堂| 久久久三级国产网站| 欧洲在线/亚洲| 国产一区二区伦理| 国产乱子伦视频一区二区三区| 日韩精品一区二区三区视频播放| 懂色av一区二区三区免费观看| 亚洲国产精品精华液网站| 久久久久久久综合| 欧美日免费三级在线| 国产乱码精品一区二区三区五月婷| 一区二区三区资源| 久久综合久久久久88| 欧美三日本三级三级在线播放| 国产麻豆视频精品| 性欧美疯狂xxxxbbbb| 国产清纯白嫩初高生在线观看91| 欧美日韩一区视频| 成人免费av网站| 精品一区二区在线观看| 亚洲一区中文日韩| 国产精品网曝门| 精品免费国产二区三区| 欧美丝袜第三区| 99riav一区二区三区| 国产美女主播视频一区|