自适应MSER波束形成辅助接收机的MATLAB仿真

目录

一、理论基础

二、MATLAB程序

三、仿真结论


一、理论基础

     自适应MSER波束形成辅助接收机是一种先进的无线通信技术,它的原理是基于对信号的空间采样和波束形成,以实现干扰信号的衰减和期望信号的提取。这项技术运用了自适应波束形成算法,即最小符号误码率(MSER)算法,以实现空分多址场景中多用户信号的分离和检测。

      在自适应MSER波束形成辅助接收机中,多个麦克风阵元被放置在不同的空间位置,以对声波进行空间采样。每个麦克风阵元都配备了高灵敏度的传感器,能够捕捉到从不同方向传来的信号,并将这些信号传输到后端的信号处理系统。

      在信号处理系统中,自适应MSER波束形成算法被用来处理从麦克风阵元传来的信号。这种算法运用了最小均方误差(MMSE)和最小符号误码率(MSER)两种优化准则,以实现最佳的信号分离和检测。具体来说,这种算法会计算出每个采样信号的相关性,然后根据这些相关性对信号进行加权处理,以实现信号的定向性和灵敏度的优化。

      在具体的实现过程中,自适应MSER波束形成辅助接收机需要解决的一个重要问题是如何对信号进行有效的分离和检测。为了解决这个问题,该技术采用了最小均方误差(MMSE)和最小符号误码率(MSER)两种优化准则,以得到最佳的信号处理效果。其中,MMSE准则主要考虑的是干扰信号的抑制和期望信号的提取,而MSER准则主要考虑的是数据符号的错误率和误码率的降低。

     在对自适应MSER波束形成辅助接收机的研究中,研究者们发现这种技术相比传统的MMSE波束形成辅助接收机具有更好的性能。具体来说,自适应MSER波束形成辅助接收机在可实现的符号错误率方面超过了标准的MMSE设计。这主要是因为MSER算法在处理高阶QAM信令时具有更高的精度和鲁棒性。

       运用波束形成技术,利用麦克风阵列估计指定方向上的混有噪声和干扰的期望信号。这些麦克风阵元位于不同的空间位置,对声波进行空间采样,然后对采样信号进行处理以衰减干扰信号并提取期望信号。这样就得到一个特定的阵列空间响应,其主瓣指向期望信号而对干扰进行陷波。

       自适应波束形成能够分离在相同载波频率上传输的用户信号,因此提供了在空分多址场景中支持多用户的实用手段。此外,为了进一步提高可实现的带宽效率,高吞吐量正交幅度调制QAM方案在许多无线网络标准中变得流行,特别是在最近的WiMax标准中。多天线辅助多用户系统的自适应波束形成辅助检测其采用高阶QAM信令。

      传统上,最小均方误差(MMSE)自适应波束形成辅助接收机的设计被认为是最先进的。然而,最近工作[1]提出了一种新的波束形成辅助最小符号误码率(MSER)设计并且证明了这种MSER设计提供了显著的性能增强,在可实现的符号错误率方面超过标准MMSE设计。该MSER波束形成设计在此贡献中得到充分发展。特别是MSER的自适应实现详细研究了波束形成算法,即最小符号误码率算法。在仿真中评估了所提出的自适应MSER波束形成方案,并与自适应MMSE波束形成基准。

        该算法的流程和理论公式如下:

二、MATLAB程序

clc;
clear;
close all;
warning off;

SNR_set      = [10:1:24];
BER          = 1;
nRx          = 4;
nTx          = 3;
frame_length = 1000;
Bers         = [];
%论文table 2
alpha        = [0,-70,65,32];
SIR          = [0,0,0,0];
for SNR = SNR_set;
    N0          = 1/(10^(SNR/10));
    delta2      = N0;
    error_count = 0;
    bit_count   = 0;
    index       = 0;
    ERR_NUM     = [];
    tmps        = 0;
    while error_count < 500000
        index = index+1;
        for kk=1:nTx
            bits(kk,:)    =  round(rand(1,frame_length));
            symbols(kk,:) = qammod(bits(kk,:),16);
        end
        %transmit signal
        s        = symbols; 
        u        = reshape(s,nTx,nRx,length(s)/nRx);
        %Channel
        h        = 1/sqrt(2)*[randn(nRx,nTx,length(s)/nRx) + j*randn(nRx,nTx,length(s)/nRx)];
        for ij = 1:nTx
            p(:,ij,:) = h(:,ij,:).*exp(j*alpha(ij)*pi/180);
        end
        %mmse beamforming
        WK  = [];
        WK2 = [];
        w   = [];
        LMS = zeros(1,length(s)/nRx);
        dt  = [];
        for i=1:length(s)/nRx
            for ii = 1:length(SIR)
                u2(:,ii) = u(:,ii,i)*10^(SIR(ii)/10); 
            end
            XN(:,:,i)= awgn(u2,SNR,'measured');
            %定义接收信号
            w(:,:,i) = inv(p(:,:,i)*p(:,:,i)'+2*delta2^2*eye(nRx))*p(:,1,i);
            Nsb      = nRx;
            M        = nRx;
            r        =(2*sqrt(M)-2)/sqrt(M);
            if i == 1
               WK =  w(:,:,i)'*p(:,:,i);
               dt = -0.0001*[ones(1,Nsb)]';
            else
               bk          = bits(1,nRx*(i-2)+1:nRx*(i-1)); 
               bk          = 2*bk-1;
               x1_         = bk;
               p1          = p(:,1,i);
               yr          = real(yhat(:,:,i-1));
               cr          = real(w(:,:,i));
               for iii = 1:Nsb
                   l       = iii;
                   ul      = 2*l-sqrt(M) - 1;
                   Rt{iii} =  exp(-(yr(iii) - cr(iii)*(ul-1))^2/(2*delta2^2))*((yr(iii) - cr(iii)*(ul-1))*w(:,:,i) - x1_(iii) + (ul-1)*p1);
               end
               PER=  r/(2*Nsb*sqrt(2*pi)*delta2) * (Rt{1} + Rt{2} + Rt{3} + Rt{4});

               yi          = imag(yhat(:,:,i-1));
               ci          = imag(w(:,:,i));
               for iii = 1:Nsb
                   q       = iii;
                   uq      = 2*q-sqrt(M) - 1;
                   It{iii} =  exp(-(yi(iii) - ci(iii)*(uq-1))^2/(2*delta2^2))*((yi(iii) - ci(iii)*(uq-1))*w(:,:,i) + sqrt(-1)*x1_(iii) + (uq-1)*p1);
               end
               PEI=  r/(2*Nsb*sqrt(2*pi)*delta2) * (It{1} + It{2} + It{3} + It{4});
               PEB=  PER + sqrt(-1)*PEI;
               
               for is = 1:length(PEB)
                   if isnan(abs(PEB(is))) == 1
                      PEB(is) = 1; 
                   end
               end
               WWt(:,i-1) = PEB;
               if i>3
                  fai=max(min((abs(WWt(:,i-1)).^2)./(abs(WWt(:,i-2)).^2),1),0);
               else
                  fai=ones(nRx,1); 
               end
               dt          = fai.*dt - PEB;
               miu         = 5e-6;
               WK          = WK + miu*[dt(1:nTx)]'; 
               
            end
            
            WK          = WK/(max(abs(WK)));
            yhat(:,:,i) = WK*XN(:,:,i);
            R1          = real(yhat(:,:,i));
            I1          = imag(yhat(:,:,i));
            s_hat(:,:,i)= qamdemod(R1+sqrt(-1)*I1,16);
        end
        s_hat1               = squeeze(s_hat);
        recovered_bits       = reshape(s_hat1,1,length(s));
        ERR_NUM              = sum(recovered_bits ~= bits(1,:));
        %异常错误不进行统计
%         if index <= 200
%            tmps  = tmps + ERR_NUM; 
%         else
%            if ERR_NUM/(tmps/200) < 20
              SNR
              error_count
              error_count    = error_count + ERR_NUM;
              bit_count      = bit_count + frame_length;
%            end
%         end
    end
    %Calculate the BER
    BER  = error_count/bit_count;
    Bers = [Bers,BER];
end
error_count
bit_count

figure;
semilogy(SNR_set,Bers,'b-o');
axis([10,40,1.0001e-6,1]);
ylabel('BER');
xlabel('SNR');
grid on
% save r2ber.mat SNR_set Bers
 

三、仿真结论

仿真结果如下:

       提出了一种用于多天线辅助的自适应MSER波束形成技术采用高通量QAM信令的多用户通信系统。已经证明了MSER波束形成设计可以在可实现系统的SER方面提供比标准MMSE设计显著的性能增强。它已经还已经证明,MSER波束形成设计提供了更高的用户容量与传统的MMSE波束形成相比,在远近传感器中更为鲁棒设计已经使用称为LSER技术的随机梯度自适应算法实现了MSER波束形成解决方案的自适应实现。模拟研究结果清楚地表明,自适应LSER波束形成能够:在快速衰落条件下成功运行,其性能始终优于自适应LMS波束形成基准。

A01-14 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值