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

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

?? seal_det.m

?? A stack-based sequential depth-first decoder that returns Maximum-Likelihood solutions to spherical
?? M
字號:
function [zHat,wHat,nv,nf] = SEAL_det(mPhy,y,G,u,D,H,L);%% [zHat,wHat,nv,nf] = SEAL_det(mPhy,y,G,u,D,H,L)%% Given inputs -% % mPhy : the physical/spatial problem dimension, i.e., the number of transmit%        antennas, the effective problem dimension is then m = 2*mPhy*L,% y    : a real target signal (column) vector,% G    : a real lattice generator matrix,                 \  LAST% u    : a real lattice translation vector,                > code% D    : a real spherical shaping region squared radius,  /  % H    : a real linear transform matrix, e.g., a block diagonal matrix of L%        converted/stacked real MIMO channel matrices, and% L    : the temporal problem dimension, i.e., the number of transmit periods%        spanned by a codeword,% % SEAL_det returns -% % zHat : a possibly suboptimal solution to   argmin    |y - H*G*z|^2,%                                          z \in Z_*^m %        where Z_*^m is the set of integer vectors such that G*z is a valid%        spherical LAST codeword,% wHat : the squared distance |y - H*G*zHat|^2, i.e., the solution node weight,% nv   : the number of nodes expanded by the detector,% nf   : the (approximate) number of floating points operations performed%        (excluding pre-processing, e.g., QR factorization, and sorting),%   % This real-valued depth-first stack-based sequential decoding algorithm uses a% decoding tree of m+1 levels where each node has an arbitrary and unknown% number of children.  At each stage, the node under consideration is expanded% if its weight is less than the squared distance to nearest currently known% lattice point.  This distance threshold is initially set to infinity.%% Because it is a depth-first traversal, we expand a node by computing its% first child.  If it is a leaf node, clearly it cannot be further expanded.% In this case, we will have found a closer lattice point than that previously% known. Therefore we can adaptively reduce the distance threshold to reflect% this new discovery.%% If the weight of the node under consideration is larger than this distance% threshold, then the current search path is terminated because it cannot% possibly lead to a closest lattice point. Upon path termination, the next% node to be considered is the next sibling of its parent.%% Note that it is possible for a node to have no children, and also for the% next sibling to be invalidated by means of boundary control.% % Complex to real conversion by stacking should be done prior to calling% SEAL_det. In addition, if either lattice reduction assistance or MMSE% pre-processing are desired, these operations should also be applied in% advance.%% Notes:%% - Size(H,1) is expected to be equal to length(y).% - Size(H,1) is expected to be greater than or equal to size(H,2).% - Size(H,2) is expected to be equal to m.% - The solution zHat is an integer vector; be sure to apply any necessary%   scaling prior to calling SEAL_det so that this solution is appropriate.%% Example:%%   mPhy  = 2;                   % 2x2 MIMO system%   L     = 2;                   % code spans 2 time periods%   m     = 2*mPhy*L;            % code matrix size is governed by the %                                % number of real space-time dimensions%   y     = randn(m,1);          % generate random target vector%   HPhyC = randn(mPhy,mPhy)+i*randn(mPhy,mPhy);%   HPhyR = [real(HPhyC) -imag(HPhyC); imag(HPhyC) real(HPhyC)];%   H     = kron(eye(L),HPhyR);  % construct space-time x space-time channel%%   load optimizedLASTcode;      % get LAST code specification: G,u,D%   [zHat,wHat,nv,nf] = SEAL_det(mPhy,y,G,u,D,H,L)%% Version 1.0, copyright 2006 by Karen Su.%% Please send comments and bug reports to karen.su@utoronto.ca.%global w;global z;global cn;global zp;global d;global lb;global ub;global nf;zHat = [];wHat = Inf;nv   = 0;nf   = 0;%% A small number%EPS = 0.001;%   % Basic error checking%   [n,mChk] = size(H);m        = 2*mPhy*L;                      % size of the channel matrix is 2*mPhy*L x 2*nPhy*Lif n ~= length(y) | mChk ~= m  fprintf('Error: Decoding failed, invalid dimensions for H.\n');  return;endif n < m  fprintf('Error: Cannot solve under-determined problem, n (%i) < m (%i).\n', n, m);  return;end%% Composite (effective) linear transform matrix for LAST decoding is% formed by taking the product of the MIMO channel matrix and the LAST% code generator matrix%F = H*G;%% Reduce problem to square if H is overdetermined; also factorize code% generator%[Fq,Fr] = qr(F);[Gq,Gr] = qr(G);wRoot   = 0;yR      = Fq'*(y-H*u);if m < n  wRoot = norm(yR(m+1:n))^2;  yR = yR(1:m);end%% A basic node data structure consists of%   w   : node weight%   pyR : parent's residual target vector, elements 1:dim  == py(1:dim,dim)%   zA  : accumulated symbol decision vector, length m-dim == z(dim+1:dim)%   dim : node/residual dimension, root (m+1) to leaf (1)%   cn  : sibling ordinal%   pw  : parent node weight                               == w(dim+1)%   ut  : (scalar) target for siblings at this level       == py(dim+1,dim)%   zp  : symbol decision of previous sibling             %% In addition the following components are needed to perform boundary control% for spherical LAST decoding%   paR : parent's shaping region residual offset vector, elements 1:dim == pa(1:dim,dim)%   pd  : parent's shaping region residual squared radius                == d(dim+1)%   lb  : lower bound of admissible range for siblings at this level     == lb(dim)%   ub  : upper bound of admissible range for siblings at this level     == ub(dim)%   uo  : (scalar) offset for siblings at this level                     == pa(dim+1,dim)%% The algorithm requires only a fixed-size block of memory; we initialize it% with the root node.  %w   = zeros(1,m+1);py  = zeros(m,m);z   = zeros(1,m);dim = m;cn  = zeros(1,m);zp  = zeros(1,m);pa  = zeros(m,m);d   = zeros(1,m+1);lb  = zeros(1,m);ub  = zeros(1,m);dimp    = dim+1;w(dimp) = wRoot;d(dimp) = D+EPS;%% Compute first child of root node %aR            = -Gq'*u;pa(1:dim,dim) = aR;                              % Store parent (root) residual offset vector;tmp1          = pa(dim,dim)/Gr(dim,dim);         % compute and store lower and upper boundstmp2          = sqrt(d(dimp))/abs(Gr(dim,dim));  % for the range of admissible symbol decisionslb(dim)       = ceil(tmp1-tmp2);                 % for siblings at this level.ub(dim)       = floor(tmp1+tmp2);nf            = nf + 9;py(1:dim,dim) = yR;                              % Store parent (root) residual target.compFirstChild(dim,dimp,lb(dim),ub(dim),Fr(dim,dim),Gr(dim,dim),py(dim,dim),pa(dim,dim));backtrack = 0;while dim <= m  if w(dim) < wHat                     % If the node under consideration has a smaller weight    if dim == 1                        % and it is a leaf node, then update zHat, wHat       wHat = w(dim);      zHat = z;      backtrack = 1;                   % To backtrack, we have to compute the next sibling      dim  = dimp;                     % of the current node's parent      dimp = dimp+1;      if cn(dim) <= ub(dim)-lb(dim)    % Check that there is at least one more sibling                         backtrack = 0;        compNextSibling(dim,dimp,lb(dim),ub(dim),Fr(dim,dim),Gr(dim,dim),py(dim,dim),pa(dim,dim));      end      nf = nf + 1;    %    % If the node under consideration has a sufficiently small weight and is    % not a leaf node:    % - then either we are backtracking (backtrack == 1, and so compute the    %   next sibling of its parent)    %    elseif backtrack & cn(dim) > ub(dim)-lb(dim) % No more siblings      %backtrack = 1;      dim = dimp;      if dim <= m                      % Check that we have not backtracked to root        dimp = dimp+1;         if cn(dim) <= ub(dim)-lb(dim)  % Check that there is at least one more sibling          backtrack = 0;          compNextSibling(dim,dimp,lb(dim),ub(dim),Fr(dim,dim),Gr(dim,dim),py(dim,dim),pa(dim,dim));        end        nf = nf + 1;      end      %    % - or we are trying an alternate path (backtrack == 0, and so compute    %   the first child)    %    else      nv = nv + 1;      dimp = dim;      dim  = dim-1;      pa(1:dim,dim) = pa(1:dim,dimp)-Gr(1:dim,dimp)*z(dimp);    % Compute current node shaping region       tmp1          = pa(dim,dim)/Gr(dim,dim);                  % residual offset vector, and the       tmp2          = sqrt(d(dimp))/abs(Gr(dim,dim));           % lower and upper bounds of the range        lb(dim)       = ceil(tmp1-tmp2);                          % of admissible symbol decisions for       ub(dim)       = floor(tmp1+tmp2);                         % its children.      nf            = nf + 2*dim + 9;      %      % If there is at least one child, compute first child node      %      if ub(dim) >= lb(dim)         backtrack     = 0;        py(1:dim,dim) = py(1:dim,dimp)-Fr(1:dim,dimp)*z(dimp);  % Compute current node residual target.        nf            = nf + 2*dim;        compFirstChild(dim,dimp,lb(dim),ub(dim),Fr(dim,dim),Gr(dim,dim),py(dim,dim),pa(dim,dim));      %      % Otherwise, if there are no children, (implicitly) backtrack to its own      % next sibling       %      else        dim  = dimp;        dimp = dimp+1;        if cn(dim) <= ub(dim)-lb(dim)  % Check that there is at least one more sibling          backtrack = 0;          compNextSibling(dim,dimp,lb(dim),ub(dim),Fr(dim,dim),Gr(dim,dim),py(dim,dim),pa(dim,dim));        else          backtrack = 1;               % Setting backtrack == 1 tells the decoder to backtrack                                        % in the next iteration        end        nf = nf + 1;      end    end  else                                 % If the node under consideration has too large a weight    dim       = dimp;                  % then we backtrack (if possible).  To do so, we have to    backtrack = 1;                     % compute the next sibling of the current node's parent.    if dim <= m                        % Check that we have not backtracked to root      dimp = dimp+1;      if cn(dim) <= ub(dim)-lb(dim)    % Check that there is at least one more sibling        backtrack = 0;        compNextSibling(dim,dimp,lb(dim),ub(dim),Fr(dim,dim),Gr(dim,dim),py(dim,dim),pa(dim,dim));      end      nf = nf + 1;    end  end  nf = nf + 1;endzHat = zHat.';function compFirstChild(dim,dimp,lbd,ubd,Frdd,Grdd,pydd,padd)global w;global z;global cn;global zp;global d;global nf;z0 = pydd/Frdd;                              % The first child is found byz1 = round(z0);                              % quantization and symbol-dependentz1 = min([z1 ubd]);                          % boundary control.z1 = max([z1 lbd]);z(dim)  = z1;                                % Store first child decisionzp(dim) = z0;                                % and pre-quantization data;w(dim)  = w(dimp)+(pydd-Frdd*z(dim))^2;      % compute its weight/cost andd(dim)  = d(dimp)-(padd-Grdd*z(dim))^2;      % residual shaping region squared radius;cn(dim) = 1;                                 % First child ordinal has 1.nf      = nf + 10;function compNextSibling(dim,dimp,lbd,ubd,Frdd,Grdd,pydd,padd);global w;global z;global cn;global zp;global d;global nf;zn   = z(dim)-cn(dim)*sign(z(dim)-zp(dim));  % The next sibling symbol decision can beif zn > ubd                                  % derived from the current and previous ones,  zn = ubd-cn(dim);                          % followed by boundary control. This procedureelseif zn < lbd                              % is dependent on the child ordinal and also the  zn = lbd+cn(dim);                          % symbol-dependent lower and upper bounds.endzp(dim) = z(dim);                            % Save previous sibling's symbol decision andz(dim)  = zn;                                % store next sibling decision.cn(dim) = cn(dim)+1;                         % Siblings have one larger child ordinal.w(dim) = w(dimp)+(pydd-Frdd*zn)^2;           % Compute sibling node weight andd(dim) = d(dimp)-(padd-Grdd*zn)^2;           % residual shaping region squared radius.nf     = nf + 14;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产香蕉久久精品综合网| proumb性欧美在线观看| 国产在线国偷精品免费看| 国产另类ts人妖一区二区| 成人免费av资源| 色婷婷综合五月| 制服丝袜一区二区三区| 久久久久国产精品麻豆| 自拍偷拍亚洲综合| 日韩av在线发布| 成人一级视频在线观看| 欧美日韩激情一区| 精品电影一区二区| 亚洲精品一二三四区| 免播放器亚洲一区| 成人黄色在线视频| 欧美一区永久视频免费观看| 国产精品视频yy9299一区| 天天综合天天做天天综合| 国产麻豆91精品| 欧美日韩精品一区二区三区蜜桃 | 亚洲午夜久久久久久久久久久| 免费观看日韩电影| 99久久国产综合色|国产精品| 欧美大片拔萝卜| 亚洲乱码一区二区三区在线观看| 全部av―极品视觉盛宴亚洲| 成人av网址在线| 精品久久久久一区| 精品剧情在线观看| 午夜精品影院在线观看| www.欧美精品一二区| 91精品国产色综合久久| 亚洲色图欧美偷拍| 国精产品一区一区三区mba视频| 欧美午夜寂寞影院| 国产精品日产欧美久久久久| 日韩高清在线电影| 色哟哟精品一区| 国产农村妇女精品| 日韩av电影免费观看高清完整版 | 久久久av毛片精品| 天天综合色天天| 在线观看视频一区二区欧美日韩| 精品久久久久久无| 午夜私人影院久久久久| 色偷偷88欧美精品久久久| 欧美激情一区二区三区蜜桃视频| 人人超碰91尤物精品国产| 在线观看欧美精品| ●精品国产综合乱码久久久久 | 国产欧美精品一区二区色综合 | 亚洲精品在线免费观看视频| 亚洲一区二区三区免费视频| 成人av资源在线| 欧美国产欧美综合| 国产美女主播视频一区| 精品国产一区二区三区忘忧草| 亚洲午夜久久久久久久久久久| 色偷偷久久一区二区三区| 欧美久久婷婷综合色| 依依成人综合视频| 成人福利视频在线| 欧美激情一二三区| 国产成人综合在线观看| 精品少妇一区二区三区视频免付费| 午夜电影一区二区| 9191精品国产综合久久久久久| 亚洲高清中文字幕| 在线观看亚洲专区| 午夜在线电影亚洲一区| 欧美亚洲动漫制服丝袜| 亚洲在线中文字幕| 欧美午夜片在线看| 亚洲午夜av在线| 欧美日韩国产美女| 午夜亚洲国产au精品一区二区| 欧美另类一区二区三区| 天堂va蜜桃一区二区三区| 欧美另类一区二区三区| 日韩制服丝袜av| 欧美一区二区三区影视| 蜜臀av国产精品久久久久| 制服丝袜日韩国产| 奇米影视在线99精品| 日韩欧美国产小视频| 韩国午夜理伦三级不卡影院| 欧美成人在线直播| 国产很黄免费观看久久| 国产精品乱码人人做人人爱| av电影天堂一区二区在线观看| 成人欧美一区二区三区1314| 欧美亚洲国产一区二区三区va | 日韩欧美激情一区| 韩国精品在线观看| 中文字幕av免费专区久久| 99精品久久只有精品| 一区二区三区国产| 91麻豆精品国产91久久久资源速度| 久久精品二区亚洲w码| 国产调教视频一区| 99久久精品免费观看| 亚洲成人一二三| 337p日本欧洲亚洲大胆色噜噜| 丰满少妇久久久久久久| 亚洲欧洲制服丝袜| 欧美妇女性影城| 狠狠狠色丁香婷婷综合久久五月| 日本一区二区三区电影| 日本高清成人免费播放| 调教+趴+乳夹+国产+精品| 久久久精品一品道一区| 色综合咪咪久久| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品麻豆视频| 欧美日本视频在线| 国产一区二区影院| 亚洲欧美激情小说另类| 日韩午夜av一区| www.av精品| 午夜精品免费在线| 久久精品视频一区二区三区| 91女神在线视频| 精品在线你懂的| 一区二区三区影院| 精品美女被调教视频大全网站| 色天天综合色天天久久| 久久精品国产精品亚洲综合| 亚洲日本在线视频观看| 欧美一区二区三区免费视频 | 亚洲免费观看高清| 日韩视频不卡中文| 91麻豆国产福利在线观看| 国产最新精品精品你懂的| 亚洲男人电影天堂| 精品成人免费观看| 色素色在线综合| 国产98色在线|日韩| 日韩福利电影在线观看| 中文字幕欧美一| 精品福利一二区| 欧美剧情片在线观看| 91在线免费视频观看| 久久99精品久久久久久国产越南| 一区二区欧美精品| 国产女人aaa级久久久级| 欧美一级免费大片| 色哟哟日韩精品| 成人国产亚洲欧美成人综合网 | 久久久久国产免费免费| 欧美日韩情趣电影| 99re热视频精品| 国产成人精品免费一区二区| 日本中文字幕一区二区视频| 一区二区三区在线视频免费观看| 国产欧美日韩卡一| 久久在线观看免费| 欧美一区二区三区精品| 在线观看欧美精品| 色综合咪咪久久| 成av人片一区二区| 国产精品综合一区二区三区| 日本亚洲天堂网| 亚洲国产美国国产综合一区二区| 亚洲三级电影全部在线观看高清| 日本一区二区在线不卡| 国产亚洲一区二区三区| 精品久久久久久久久久久久久久久| 7777精品伊人久久久大香线蕉经典版下载| 91丨porny丨国产| 成人黄色小视频在线观看| 国产精品综合av一区二区国产馆| 美腿丝袜一区二区三区| 日本视频中文字幕一区二区三区| 亚洲中国最大av网站| 亚洲另类春色校园小说| 一区二区在线观看不卡| 亚洲伦理在线精品| 亚洲综合在线五月| 亚洲精品中文字幕乱码三区| 一区二区三区自拍| 亚洲一卡二卡三卡四卡无卡久久| 一二三四社区欧美黄| 樱花影视一区二区| 日韩毛片在线免费观看| 综合久久久久久| 亚洲夂夂婷婷色拍ww47| 亚洲chinese男男1069| 五月天亚洲婷婷| 日韩成人精品在线| 麻豆精品一区二区综合av| 麻豆久久久久久久| 国产一区二区0| bt欧美亚洲午夜电影天堂| 99免费精品在线| 91精品福利视频| 欧美精品久久天天躁| 欧美一区二区视频在线观看2022 | 国产酒店精品激情| 国产91精品免费|