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

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

?? fig_channel_estimation_cdma_zheng.m

?? CDMA信道盲估計源碼
?? M
字號:
%%%%%%%%%%%% Joint Channel Estimation and Multiuser Detection for Multipath CDMA Systems %%%%%%%%%%%%
% This algorithm based on the MOE criteria was developed by Zhengyuan Xu,
% Michail K. Tsatsanis in the following literatures:
%[1] On minimum output energy CDMA receivers in the presence of multipath.
%    Proc. CISS-97, Baltimore, MD, Mar. 19-21, 1997.
%[2] Performance analysis of minimum variance CDMA receivers.
%    IEEE Trans. Signal Processing, vol. 46, No. 11, Nov. 1998.
%[3] Blind adaptive algorithms for minimum variance CDMA receivers.
%    IEEE Trans. Commun., vol. 49, No. 1, Jan. 2001.
%[4] Blind multiuser detection: from MOE to subspace methods.
%    IEEE Trans. Signal Processing, vol. 52, No. 2, Feb. 2004.

clear
load channelinva_2
% initialize paramters
UserNum = 10;                       % the number of active users
PathNum = 4;                        % the number of resolvable paths, here all the users have the same PathNum
DataNum = 3000;                     % the number of simulation iteration
LoopNum = 5;                       % the number of loop
ProcGain = 31;                      % the length of spreadingcode
SourceGain = [0 5*ones(1,UserNum-1)];       % the power of each user from which we can see the desired user's power is 5dB less than the other user's
SNR = 15;

% generate the spreadingcode (Gold Code) for each user
SpreadingCode = goldcode(log2(ProcGain+1));            % this spreadingcode has been normalized to unit power
SpreadingCode = SpreadingCode(:,2:UserNum+1)/sqrt(ProcGain);

% begin simulation
for nn = 1:LoopNum
    % generate QPSK source signal 
    for n = 1:UserNum
        Source(n,:) = make_qam(4,DataNum,1)*exp(j*pi/4);
    end
    Source = diag(10.^(SourceGain/20))*Source;
  
    % generate complex additive Gaussian noise for Zhengyuan's algorithm
    % and mine, the difference here lies in the length of noise vector
%     Noise = (10^(-SNR/20))*(randn(DataNum*ProcGain,1)+j*randn(DataNum*ProcGain,1))/sqrt(ProcGain);
    Noise = (10^(-SNR/20))*(randn(DataNum*(ProcGain+PathNum-1),1)+j*randn(DataNum*(ProcGain+PathNum-1),1))/sqrt(ProcGain);
    
    % generate Rayleigh fading channel: the pre-defined channel and
    % stotistich one. the later one was used in Zhengyuan's paper
    Channel = H(:,:,nn)/1.3705;
%     Channel = (randn(PathNum,UserNum)+j*randn(PathNum,UserNum))/sqrt(2*PathNum);
    
    % delays for all users: stotistich delays and no delay
    delay = [0 randsrc(1,UserNum-1,0:1:30)];
%     delay = zeros(1,UserNum);
    
    % compose the Spreading Code Matrix and Compound Channel response vector,
    % which means the convolution effect of Channel and Spreading Code
    for n = 1:UserNum
        for m = 1:PathNum
            CodeMatrix(:,m,n) = [zeros(m-1,1);SpreadingCode(:,n);zeros(PathNum-m,1)];
        end
        ComChan(:,n) = CodeMatrix(:,:,n)*Channel(:,n);
    end
    
    % algorithms' parameters for Zhengyuan's model
    lambda = 0.998;
    mu_u = 0.02;
    mu_f = 0.02;
    mu_g = 0.004;
    
    f = zeros(ProcGain+PathNum-1,1);
    g = [1 0 0 0]';
    u = zeros(ProcGain-1,1);
    P = 1000*eye(ProcGain+PathNum-1);
    C = CodeMatrix(:,:,1);
    PI = eye(ProcGain+PathNum-1)-C*inv(C'*C)*C';
    B = inv(C'*C);
    [U,sigma,V] = svd(C);
    Cn = U(:,PathNum+1:end);
        
    for i = 2:DataNum-1
        for n = 1:UserNum
            if (delay(n) >= PathNum-1)
                Recei(:,n) = [zeros(delay(n),1);ComChan(1:ProcGain+PathNum-1-delay(n),n)]*Source(n,i) ...
                    +[ComChan(ProcGain-delay(n)+1:end,n);zeros(ProcGain-delay(n),1)]*Source(n,i-1);
            else
                Recei(:,n) = [zeros(delay(n),1);ComChan(1:ProcGain+PathNum-1-delay(n),n)]*Source(n,i) ...
                    +[ComChan(ProcGain-delay(n)+1:end,n);zeros(ProcGain-delay(n),1)]*Source(n,i-1) ...
                    +[zeros(ProcGain+delay(n),1);ComChan(1:PathNum-1-delay(n),n)]*Source(n,i+1);
            end
        end

    % algorithms for my model
%     f = zeros(ProcGain,1);
%     g = [1 0 0 0]';
%     u = zeros(ProcGain-PathNum,1);
%     P = 1000*eye(ProcGain);
%     C = CodeMatrix(1:ProcGain,:,1);
%     PI = eye(ProcGain)-C*inv(C'*C)*C';
%     B = inv(C'*C);
%     [U,sigma,V] = svd(C);
%     Cn = U(:,PathNum+1:end);

%     for i = 3:DataNum
%         for n = 1:UserNum
%             if (delay(n) <= ProcGain-PathNum+1)
%                 Recei(:,n) = [ComChan(ProcGain-delay(n)+1:end,n);zeros(ProcGain-delay(n)-PathNum+1,1)]*Source(n,i-1) ...
%                     +[zeros(delay(n),1);ComChan(1:ProcGain-delay(n),n)]*Source(n,i);
%             else
%                 Recei(:,n) = [ComChan(end-(delay(n)-ProcGain+PathNum-1)+1:end,n);zeros(2*ProcGain-delay(n)-PathNum+1,1)]*Source(n,i-2) ...
%                     +[ComChan(ProcGain-delay(n)+1:2*ProcGain-delay(n),n)]*Source(n,i-1) ...
%                     +[zeros(delay(n),1);ComChan(1:ProcGain-delay(n),n)]*Source(n,i);
%             end
%         end
        r = sum(Recei,2)+Noise((i-1)*(ProcGain+PathNum-1)+1:i*(ProcGain+PathNum-1));                % the received data vector composed of all the active user's information
            %%%%%%%%%%%%% Method I %%%%%%%%%%%%%%%%%%%%
%         f = PI*(f-mu_f*r*r'*f)+C*inv(C'*C)*g;
%         x = g-mu_g/mu_f*inv(C'*C)*(C'*(f-mu_f*r*r'*f)-g);
%         a1 = mu_g^2*g'*g;
%         a2 = mu_g*(g'*x+x'*g);
%         a3 = x'*x-1;
%         if (a2^2-4*a1*a3 >= 0)
%             rho = 1/(2*a1)*(-a2-sqrt(a2^2-4*a1*a3));
%             g = mu_g*rho*g+x;
%         else
%             g = g;
%         end
%         %%%%%%%%%%%%% Method II %%%%%%%%%%%%%%%%%%%%
%         f = PI*(f-mu_f*r*r'*f)+C*inv(C'*C)*g;
%         g = g+mu_g/mu_f*(eye(PathNum)-g*g'/(g'*g))*inv(C'*C)*(mu_f*C'*r*r'*f+g-C'*f);
%         g = g/norm(g,'fro');
        %%%%%%%%%%%%% Method III %%%%%%%%%%%%%%%%%%%%
%         y1 = C'*r;
%         y2 = Cn'*r;
%         w = y1'*B*g-y2'*u;
%         u = u+w*mu_u*y2;
%         g = g+w*mu_g*B*y1;
%         g = g/norm(g,'fro');
%         f = C*B*g-Cn*u;
%         %%%%%%%%%%%%% Method IV %%%%%%%%%%%%%%%%%%%%
        P = 1/lambda*(P-P*r*r'*P/(lambda+r'*P*r));
        [a,b] = eig(C'*P*C);
        g = a(:,find(diag(b) == min(diag(b))));
% %         f = min(diag(b))*P*CodeMatrix(1:ProcGain,:,1)*g;
%         f = min(diag(b))*P*CodeMatrix(:,:,1)*g;
%         SINR(nn,i) = 10*log10(abs(2*f'*ComChan(1:ProcGain,1)*ComChan(1:ProcGain,1)'*f/(abs(f'*(r-Source(1,i)*ComChan(1:ProcGain,1)))^2)));
        EstChan = g;                          % the estimated channel response vector of the user of interest
        error(nn,i) = norm(EstChan*exp(-j*angle(EstChan(1)))*exp(j*angle(Channel(1,1)))-Channel(:,1)/norm(Channel(:,1),'fro'),'fro')^2;
    end
end
% Estimation Error Figure
semilogy(mean(error),'y')
xlabel('Iteration Number')
ylabel('MSE of Channel Estimation')
title('50 Average Result of Blind Adaptive Channel Estimation ')
% figure
% semilogy(mean(SINR),'g')

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美综合在线| 91精品国产色综合久久久蜜香臀| 亚洲精品成人a在线观看| 97久久精品人人爽人人爽蜜臀| 久久综合国产精品| 欧美在线观看视频一区二区三区| 日韩av一区二区在线影视| 精品国精品国产尤物美女| 欧洲色大大久久| 久久99精品久久久久婷婷| 国产精品福利一区二区三区| 日韩欧美一区二区免费| av在线播放成人| 男人的j进女人的j一区| 日本一区二区三区视频视频| 欧美一卡2卡三卡4卡5免费| 粉嫩高潮美女一区二区三区 | 亚洲观看高清完整版在线观看| 欧美videossexotv100| 91网站最新地址| 亚洲综合网站在线观看| 久久久一区二区| 欧美在线|欧美| 99久久精品免费看| 精品亚洲免费视频| 亚洲午夜一区二区三区| 国产精品系列在线| 日韩女优视频免费观看| 欧美综合天天夜夜久久| 成人性色生活片免费看爆迷你毛片| 精品一区二区三区免费观看| 一区二区三区日本| 国产日产精品一区| 欧美日韩精品三区| 欧美在线观看视频一区二区 | 国产精品免费久久久久| 精品国产成人系列| 欧美日韩不卡一区| 9191国产精品| 欧美在线你懂得| eeuss影院一区二区三区| 国产精品99久久久久| 日本sm残虐另类| 午夜视黄欧洲亚洲| 国产精品麻豆一区二区| 国产精品毛片久久久久久| 久久青草国产手机看片福利盒子| 欧美一区二区三区公司| 日韩欧美在线一区二区三区| 欧美丝袜丝交足nylons图片| 一本色道久久综合亚洲aⅴ蜜桃 | 久88久久88久久久| 久久精品国产亚洲一区二区三区| 国产视频不卡一区| 久久久久久亚洲综合影院红桃 | 亚洲精品一区在线观看| 在线不卡a资源高清| 欧美日韩视频在线第一区| 91久久精品一区二区| 91亚洲国产成人精品一区二区三 | 亚洲国产aⅴ成人精品无吗| 亚洲综合一区二区三区| 国产精品久久久久7777按摩| 国产精品人成在线观看免费| 国产精品乱人伦| 中文字幕欧美日本乱码一线二线 | 中文字幕日韩一区二区| 亚洲人吸女人奶水| 亚洲欧美日韩一区| 亚洲欧洲性图库| 日韩理论在线观看| 亚洲一区二区欧美日韩| 欧美日韩免费视频| 久久综合九色综合欧美亚洲| 日韩午夜三级在线| 国产网红主播福利一区二区| 欧美国产视频在线| 国产精品成人免费在线| 亚洲成人先锋电影| 久久99在线观看| 国产电影一区在线| 欧美性色综合网| 欧美一区二区视频在线观看2022| 精品国产123| 国产拍揄自揄精品视频麻豆| 亚洲天堂2014| 日韩精品一卡二卡三卡四卡无卡| 一区二区三区 在线观看视频| 蜜臀久久久99精品久久久久久| 久久99最新地址| 成人高清免费在线播放| 欧美精品一二三| 久久免费偷拍视频| 中文字幕一区二区三区不卡在线| 亚洲裸体在线观看| 免费看欧美美女黄的网站| 成人免费黄色在线| 欧美美女视频在线观看| 久久久精品一品道一区| 中文字幕精品在线不卡| 琪琪一区二区三区| 成人精品电影在线观看| 欧美日韩视频在线观看一区二区三区| 久久精品亚洲麻豆av一区二区 | 国产天堂亚洲国产碰碰| 一区二区久久久久久| 麻豆专区一区二区三区四区五区| 91网站在线播放| 日韩三级免费观看| 国产精品九色蝌蚪自拍| 国产精品国产三级国产| 裸体一区二区三区| 成人av在线资源网| 日韩女优制服丝袜电影| 亚洲国产视频a| 国产精品99久久不卡二区| 欧美日韩免费一区二区三区| 欧美韩日一区二区三区| 免费成人在线观看| 色综合夜色一区| 久久久久久9999| 亚洲人成伊人成综合网小说| 国产原创一区二区| 欧美日韩一区二区不卡| 国产性色一区二区| 午夜日韩在线电影| 精品视频1区2区| 亚洲视频 欧洲视频| 亚洲电影一级片| 色呦呦网站一区| 中文字幕精品一区二区精品绿巨人| 亚洲国产成人91porn| 欧美影片第一页| 国产精品久久99| 欧美aaa在线| 欧美揉bbbbb揉bbbbb| 亚洲激情中文1区| 乱一区二区av| 在线观看亚洲一区| 国产精品日产欧美久久久久| 成人免费高清视频| 国产亚洲一区二区三区四区| 国产精品资源网站| 久久影院视频免费| 日韩av在线发布| 日韩一区二区三区视频在线| 午夜私人影院久久久久| 欧美在线视频你懂得| 亚洲成人免费看| 欧美一a一片一级一片| 亚洲精品乱码久久久久久| 99久久精品国产导航| 国产精品萝li| 99精品国产91久久久久久| 久久综合九色综合欧美就去吻 | 亚洲一区免费在线观看| 色先锋aa成人| 亚洲国产一区在线观看| 欧美视频中文字幕| 洋洋av久久久久久久一区| 欧美精品色一区二区三区| 亚洲国产精品人人做人人爽| 欧美日韩一卡二卡三卡| 麻豆91精品91久久久的内涵| 亚洲精品在线免费播放| 秋霞国产午夜精品免费视频| 欧美成人aa大片| 精品一区二区免费在线观看| 久久综合色播五月| 国产成人av电影在线| 中文字幕二三区不卡| 91官网在线观看| 天天色 色综合| 日韩亚洲欧美一区二区三区| 国产精品亚洲а∨天堂免在线| 亚洲国产精品二十页| 99国产精品视频免费观看| 亚洲图片自拍偷拍| 日韩欧美成人午夜| 成人免费视频国产在线观看| 亚洲综合色区另类av| 91精品福利在线一区二区三区| 亚欧色一区w666天堂| 日本一二三四高清不卡| 91在线小视频| 亚洲va国产天堂va久久en| 日韩三级高清在线| 精品制服美女久久| 中文字幕亚洲综合久久菠萝蜜| 欧美日韩精品是欧美日韩精品| 日韩国产高清在线| 精品欧美乱码久久久久久 | 专区另类欧美日韩| 色婷婷综合久久久久中文一区二区| 性做久久久久久免费观看| 欧美精品一区二区三区蜜桃视频| 国产一区在线观看视频| 夜夜操天天操亚洲| 26uuu亚洲综合色欧美| 91色porny|