精华内容
下载资源
问答
  • 信道估计理论
    千次阅读
    2020-09-22 22:05:22

    在通信的文章中,经常会遇见信道估计的问题,而且大多数文献通常会引用S. M. Kay的著作Fundamentals of Statistical Signal Processing: Estimation Theory,却没有给出具体的缘由,这对初学者造成了很大的困扰。下面针对信道估计的问题浅谈一下自己的理解。

    1. MMSE估计

    以文献Simultaneous Wireless Information and Power Transfer for Downlink Multi-User Massive Antenna-Array Systems为例,经过导频估计后,用户 k k k的信号为
    y ~ k = E k β k σ 2 h k + n ~ k {\widetilde {\bf{y}}_k} = \sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} {{\bf{h}}_k} + {\widetilde {\bf{n}}_k} y k=σ2Ekβk hk+n k
    其中 h k ∼ C N ( 0 , I ) {{\mathbf{h}}_k} \sim \mathcal{C}\mathcal{N}(0,{\mathbf{I}}) hkCN(0,I) n ~ k ∼ C N ( 0 , I N ) {{\mathbf{\tilde n}}_k} \sim \mathcal{C}\mathcal{N}\left( {0,{{\mathbf{I}}_N}} \right) n~kCN(0,IN)
    再经过最小均方误差估计(minimum mean square error estimation,MMSE)。具体步骤如下,根据最小均方误差准则,估计量为
    h k m s e = ∫ − ∞ ∞ h k p ( h k ∣ y ~ k ) d h k {{\bf{h}}_{kmse}} = \int_{ - \infty }^\infty {{{\bf{h}}_k}p\left( {{{\bf{h}}_k}\left| {{{\widetilde {\bf{y}}}_k}} \right.} \right)} d{{\bf{h}}_k} hkmse=hkp(hky k)dhk
    复高斯分布的概率密度函数为 p ( h k ) = 1 π e − h k 2 p\left( {{{\bf{h}}_k}} \right) = \frac{1}{\pi }{e^{ - {\bf{h}}_k^2}} p(hk)=π1ehk2
    p ( y ~ k ∣ h k ) = 1 π e − ( y ~ k − E k β k σ 2 h k ) 2 p\left( {{{{\bf{\tilde y}}}_k}|{{\bf{h}}_k}} \right) = \frac{1}{\pi }{e^{ - {{\left( {{{{\bf{\tilde y}}}_k} - \sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} {{\bf{h}}_k}} \right)}^2}}} p(y~khk)=π1e(y~kσ2Ekβk hk)2

    p ( h k ∣ y ~ k ) = p ( y ~ k ∣ h k ) p ( h k ) p ( y ~ k ) = 1 p ( y ~ k ) 1 π e − ( y ~ k − E k β k σ 2 h k ) 2 1 π e − h k 2 = K 1 ( y ~ k ) e − ( y ~ k 2 − 2 E k β k σ 2 y ~ k h k + E k β k σ 2 h k 2 + h k 2 ) = K 2 ( y ~ k ) e − ( E k β k + σ 2 σ 2 h k 2 − 2 E k β k σ 2 y ~ k h k ) = K 2 ( y ~ k ) e − E k β k + σ 2 σ 2 ( h k 2 − 2 σ E k β k E k β k + σ 2 y ~ k h k ) = K 3 ( y ~ k ) − E k β k + σ 2 σ 2 ( h k − σ E k β k E k β k + σ 2 y ~ k ) 2 \begin{array}{l} p\left( {{{\bf{h}}_k}|{{{\bf{\tilde y}}}_k}} \right) = \frac{{p\left( {{{{\bf{\tilde y}}}_k}|{{\bf{h}}_k}} \right)p\left( {{{\bf{h}}_k}} \right)}}{{p\left( {{{{\bf{\tilde y}}}_k}} \right)}}\\ {\rm{ = }}\frac{1}{{p\left( {{{{\bf{\tilde y}}}_k}} \right)}}\frac{1}{\pi }{e^{ - {{\left( {{{{\bf{\tilde y}}}_k} - \sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} {{\bf{h}}_k}} \right)}^2}}}\frac{1}{\pi }{e^{ - {\bf{h}}_k^2}}\\ {\rm{ = }}{K_1}\left( {{{{\bf{\tilde y}}}_k}} \right){e^{ - \left( {{{{\bf{\tilde y}}}_k}^2 - 2\sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} {{{\bf{\tilde y}}}_k}{{\bf{h}}_k} + \frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}{\bf{h}}_k^2 + {\bf{h}}_k^2} \right)}}\\ = {K_2}\left( {{{{\bf{\tilde y}}}_k}} \right){e^{ - \left( {\frac{{{E_k}{\beta _k} + {\sigma ^2}}}{{{\sigma ^2}}}{\bf{h}}_k^2 - 2\sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} {{{\bf{\tilde y}}}_k}{{\bf{h}}_k}} \right)}}\\ = {K_2}\left( {{{{\bf{\tilde y}}}_k}} \right){e^{ - \frac{{{E_k}{\beta _k} + {\sigma ^2}}}{{{\sigma ^2}}}\left( {{\bf{h}}_k^2 - \frac{{2\sigma \sqrt {{E_k}{\beta _k}} }}{{{E_k}{\beta _k} + {\sigma ^2}}}{{{\bf{\tilde y}}}_k}{{\bf{h}}_k}} \right)}}\\ = {K_3}{\left( {{{{\bf{\tilde y}}}_k}} \right)^{ - \frac{{{E_k}{\beta _k} + {\sigma ^2}}}{{{\sigma ^2}}}{{\left( {{\bf{h}}_k^{} - \frac{{\sigma \sqrt {{E_k}{\beta _k}} }}{{{E_k}{\beta _k} + {\sigma ^2}}}{{{\bf{\tilde y}}}_k}} \right)}^2}}} \end{array} p(hky~k)=p(y~k)p(y~khk)p(hk)=p(y~k)1π1e(y~kσ2Ekβk hk)2π1ehk2=K1(y~k)e(y~k22σ2Ekβk y~khk+σ2Ekβkhk2+hk2)=K2(y~k)e(σ2Ekβk+σ2hk22σ2Ekβk y~khk)=K2(y~k)eσ2Ekβk+σ2(hk2Ekβk+σ22σEkβk y~khk)=K3(y~k)σ2Ekβk+σ2(hkEkβk+σ2σEkβk y~k)2

    最后得到 h ^ k m m s e = σ E k β k E k β k + σ 2 y ~ k = σ E k β k E k β k + σ 2 ( E k β k σ 2 h k + n ~ k ) = E k β k E k β k + σ 2 h k + σ E k β k E k β k + σ 2 n ~ k {{\bf{\hat h}}_{k{\rm{mmse}}}} = \frac{{\sigma \sqrt {{E_k}{\beta _k}} }}{{{E_k}{\beta _k} + {\sigma ^2}}}{{\bf{\tilde y}}_k} = \frac{{\sigma \sqrt {{E_k}{\beta _k}} }}{{{E_k}{\beta _k} + {\sigma ^2}}}\left( {\sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} {{\bf{h}}_k} + {{\widetilde {\bf{n}}}_k}} \right) = \frac{{{E_k}{\beta _k}}}{{{E_k}{\beta _k} + {\sigma ^2}}}{{\bf{h}}_k}{\rm{ + }}\frac{{\sigma \sqrt {{E_k}{\beta _k}} }}{{{E_k}{\beta _k} + {\sigma ^2}}}{\widetilde {\bf{n}}_k} h^kmmse=Ekβk+σ2σEkβk y~k=Ekβk+σ2σEkβk (σ2Ekβk hk+n k)=Ekβk+σ2Ekβkhk+Ekβk+σ2σEkβk n k

    方差等于 ( E k β k E k β k + σ 2 ) 2 + ( σ E k β k E k β k + σ 2 ) 2 = E k β k ( E k β k + σ 2 ) ( E k β k + σ 2 ) 2 = E k β k E k β k + σ 2 {\left( {\frac{{{E_k}{\beta _k}}}{{{E_k}{\beta _k} + {\sigma ^2}}}} \right)^2}{\rm{ + }}{\left( {\frac{{\sigma \sqrt {{E_k}{\beta _k}} }}{{{E_k}{\beta _k} + {\sigma ^2}}}} \right)^2}{\rm{ = }}\frac{{{E_k}{\beta _k}\left( {{E_k}{\beta _k} + {\sigma ^2}} \right)}}{{{{\left( {{E_k}{\beta _k} + {\sigma ^2}} \right)}^2}}}{\rm{ = }}\frac{{{E_k}{\beta _k}}}{{{E_k}{\beta _k} + {\sigma ^2}}} (Ekβk+σ2Ekβk)2+(Ekβk+σ2σEkβk )2=(Ekβk+σ2)2Ekβk(Ekβk+σ2)=Ekβk+σ2Ekβk

    2. MAP估计

    根据最佳估计不变性,当被估计量的后验概率密度函数是高斯型时,最大后验估计(MAP)等价于MMSE。下面给出第二种方法,计算过程较为简单。
    ∂ ln ⁡ p ( h k ) ∂ h k = − 2 h k \frac{{\partial \ln p\left( {{{\bf{h}}_k}} \right)}}{{\partial {{\bf{h}}_k}}} = - 2{{\bf{h}}_k} hklnp(hk)=2hk

    ∂ ln ⁡ p ( y ~ k ∣ h k ) ∂ h k = 2 E k β k σ 2 ( y ~ k − E k β k σ 2 h k ) \frac{{\partial \ln p\left( {{{{\bf{\tilde y}}}_k}|{{\bf{h}}_k}} \right)}}{{\partial {{\bf{h}}_k}}} = 2\sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} \left( {{{{\bf{\tilde y}}}_k} - \sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} {{\bf{h}}_k}} \right) hklnp(y~khk)=2σ2Ekβk (y~kσ2Ekβk hk)

    MAP方程有
    ∂ ln ⁡ p ( y ~ k ∣ h k ) ∂ h k + ∂ ln ⁡ p ( h k ) ∂ h k ∣ h ^ k m a p = 0 \frac{{\partial \ln p\left( {{{{\bf{\tilde y}}}_k}|{{\bf{h}}_k}} \right)}}{{\partial {{\bf{h}}_k}}}{\rm{ + }}\frac{{\partial \ln p\left( {{{\bf{h}}_k}} \right)}}{{\partial {{\bf{h}}_k}}}\left| {_{{{{\bf{\hat h}}}_{k{\rm{map}}}}}} \right. = 0 hklnp(y~khk)+hklnp(hk)h^kmap=0

    2 E k β k σ 2 ( y ~ k − E k β k σ 2 h ^ k m a p ) − 2 h ^ k m a p = 0 E k β k σ 2 y ~ k = E k β k σ 2 h ^ k m a p + σ 2 σ 2 h ^ k m a p h ^ k m a p = σ E k β k E k β k + σ 2 y ~ k = σ E k β k E k β k + σ 2 ( E k β k σ 2 h k + n ~ k ) = E k β k E k β k + σ 2 h k + σ E k β k E k β k + σ 2 n ~ k \begin{array}{l} 2\sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} \left( {{{{\bf{\tilde y}}}_k} - \sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} {{{\bf{\hat h}}}_{k{\rm{map}}}}} \right) - 2{{{\bf{\hat h}}}_{k{\rm{map}}}}{\rm{ = }}0\\ \sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} {{{\bf{\tilde y}}}_k} = \frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}{{{\bf{\hat h}}}_{k{\rm{map}}}} + \frac{{{\sigma ^2}}}{{{\sigma ^2}}}{{{\bf{\hat h}}}_{k{\rm{map}}}}\\ {{{\bf{\hat h}}}_{k{\rm{map}}}} = \frac{{\sigma \sqrt {{E_k}{\beta _k}} }}{{{E_k}{\beta _k} + {\sigma ^2}}}{{{\bf{\tilde y}}}_k} = \frac{{\sigma \sqrt {{E_k}{\beta _k}} }}{{{E_k}{\beta _k} + {\sigma ^2}}}\left( {\sqrt {\frac{{{E_k}{\beta _k}}}{{{\sigma ^2}}}} {{\bf{h}}_k} + {{\widetilde {\bf{n}}}_k}} \right) = \frac{{{E_k}{\beta _k}}}{{{E_k}{\beta _k} + {\sigma ^2}}}{{\bf{h}}_k}{\rm{ + }}\frac{{\sigma \sqrt {{E_k}{\beta _k}} }}{{{E_k}{\beta _k} + {\sigma ^2}}}{\widetilde {\bf{n}}_k} \end{array} 2σ2Ekβk (y~kσ2Ekβk h^kmap)2h^kmap=0σ2Ekβk y~k=σ2Ekβkh^kmap+σ2σ2h^kmaph^kmap=Ekβk+σ2σEkβk y~k=Ekβk+σ2σEkβk (σ2Ekβk hk+n k)=Ekβk+σ2Ekβkhk+Ekβk+σ2σEkβk n k

    以上过程没有考虑传输 N 次的影响。

    更多相关内容
  • 该方法利用小波分解估计得到信道初始稀疏度,结合已有的压缩感知自适应算法的思想确定算法迭代停止条件完成信道估计,解决实际运用中水声通信系统信道估计时稀疏度未知的问题。仿真实验结果表明,所提出的方法可精确...
  • 基于瑞利信道的ls和mmse信道估计的matlab代码,采用的是jakes模型
  • 针对LTER通信系统,对快时变信道估计问题进行了研究。采用基扩展模型对高速铁路通信环境的快时变信道进行拟合,将信道冲激响应建模为基函数与系数相乘形式。通过理论推导,得到最优基函数系数。仿真结果表明,泛化...
  • 针对采用非正交多载波调制的无线通信系统中,信道的稀疏度未知且非零稀疏路径随时间变化的问题,提出了一种基于导频信号互相关运算的压缩感知信道估计方法,利用接收端导频信号互相关计算对信道 稀疏度及非零稀疏...
  • 在此代码中,我们考虑了MIMO OFDM系统的最小平方误差信道估计。 用户可以访问MIMO OFDM系统的设计参数和信道状态信息。 L抽头瑞利衰落信道被视为在任何一对发射天线和接收天线之间。 将仿真结果得到的LSE信道的均方...
  • 瑞利信道基带信号均衡仿真,绘制QPSK和16QAM理论误码率和误符号率
  • 提出了一种基于压缩感知理论的正交频分复用( OFDM)系统稀疏信道估计的新方法,并具体采用正交匹 配追踪( OMP)压缩感知算法对 OFDM时域信道脉冲响应进行估计。与传统的最小二乘算法比较,它可以在使用较 少导频的条件下...
  • 同时,在基于压缩感知的OFDM系统信道估计中应用这种观测矩阵,与基于最小二乘法的信道估计方法进行比较,通过实验仿真说明基于压缩感知的信道估计算法和利用混沌序列构造测量矩阵的优势. 3.核心代码 f...

    1.软件版本

    MATLAB2021a
    2.本算法理论知识

           构造测量矩阵是压缩感知技术中关键的研究方向之一, 在实现压缩的过程中需要构建一个满足RIP法则的特殊矩阵来保证较高的重构精度.在这篇文章中,我们通过一个简单的方式利用混沌序列构造测量矩阵,并证明在大多数情况下这种矩阵满足RIP法则.同时,在基于压缩感知的OFDM系统信道估计中应用这种观测矩阵,与基于最小二乘法的信道估计方法进行比较,通过实验仿真说明基于压缩感知的信道估计算法和利用混沌序列构造测量矩阵的优势.

    3.核心代码

    function [cs_mse_ave,ls_mse_ave,mmse_mse_ave]=MSE_com(N,L,K,h,N1)
    
    W_h=1/sqrt(N)*fft(eye(N,L));
    H=W_h*h;
    H1=H(1:N1,:);
    H2=H((N1+1):N,:);
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %-----------------------------training sequence----------------------%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    d=randn(1,N);
    d=d/std(d);
    d=d-mean(d);
    X=diag(d);
    X1=X(1:N1,1:N1);
    X2=X((N1+1):N,(N1+1):N);
    XH=X*H;
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % --------------------求h的自协方差矩阵-Rhh-------------------------%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    gg=diag(h);
    gg_myu = sum(gg, 1)/L;                    
    gg_mid = gg - gg_myu(ones(L,1),:);        
    sum_gg_mid= sum(gg_mid, 1);
    Rgg = (gg_mid' * gg_mid- (sum_gg_mid'  * sum_gg_mid) / L) / (L- 1);
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %---------------------------添加高斯白噪声,得Y-----------------------%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    n1=ones(N,1); 
    for m=1:20%多组实验取平均
        for n=0:6
           
    SNR(n+1)=5*n;%比较不同SNR
    clear j;
    n1=n1*0.01j;%保证下面的awgn函数输入的是复高斯噪声
    No=awgn(n1,SNR(n+1));%white Gaussian noise
    %variance=var(noise);
    SNR_log=10^(SNR(n+1)/10);
    variance=var(XH)/SNR_log;
    No=variance/var(No)*No;
    var_No=var(No);
    %No=fft(noise);
    %Y = AWGN(X,SNR) adds  to X.  The SNR is in dB.The power of X is assumed to be 0 dBW.  If X is complex, then AWGN adds complex noise.
    %No=fft(noise);
    Y=XH+No;
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %-----------------------LS/MMSE信道估计,得MSE-------------------------%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    mean_squared_error_ls=LS_MSE_calc(X,H,Y,N); 
    %Evaluating the mean squared error for the MMSE estimator..
    mean_squared_error_mmse=MMSE_MSE_calc(X,H,Y,Rgg,var_No,N,L); 
    mmse_mse(m,n+1)=mean_squared_error_mmse;
    ls_mse(m,n+1)=mean_squared_error_ls;
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %--------------------------CS信道估计H,得MSE--------------------------%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %CS evaluate H
    s=Y;
    Phi=X;
    T=Phi*W_h;                               %  恢复矩阵(测量矩阵*正交反变换矩阵
    re_H=zeros(1,N);                         %  待重构的谱域(变换域)向量   
    re_y=zeros(1,L);
    [pos_arry,aug_y]=omp(K,s,T);              %   pos_arry:最大投影系数对应的位置,
    [cos_pos_arry,aug_y]=omp(K,s,T);          %   pos_arry:最大投影系数对应的位置,
    re_y(pos_arry)=aug_y;
    re_H=W_h*re_y.';                     %  做傅里叶变换重构得到原信号                               
    
    diff_value=abs((re_H) -(H));
    re_error=mean((diff_value./abs(H)).^2);
    cs_mse(m,n+1)=re_error;
    end
    end
    
    mmse_mse_ave=mean(mmse_mse);
    ls_mse_ave=mean(ls_mse);
    cs_mse_ave=mean(cs_mse);

    4.操作步骤与仿真结论

    运行得到 

    5.参考文献

    [1]刘雨溪, 于蕾. 基于测量矩阵优化的OFDM系统CS信道估计[J]. 中国新通信, 2016(6):4.

    D200

    6.完整源码获得方式

    方式1:微信或者QQ联系博主

    方式2:订阅MATLAB/FPGA教程,免费获得教程案例以及任意2份完整源码

    展开全文
  • 摘 要:针对基于扩展模型(BEM)的正交频分复用(OFDM)系统时变信道估计中频谱利用率不高的问题,提出了一种多符号BEM方法。相对于传统的单符号BEM方法,提出的方法减少了导频的子载波,并且通过基线倾斜技术抑制了...
  • 参考: 请参见Simon Haykin所著的“自适应滤波器理论”一书中的第9章
  • 5. 研究了导频间隔的选取对信道估计性能的影响,并且计算了导频间距的理论上限值。 6. 综合仿真对比了不同一定速度、不同导频间距和不同信道估计算法下的误码性能,给出了高速移动信道最佳的估计方案建议。
  • 第二种导频结构为新POP导频结构,在导频对中引入虚数来增加等效导频功率,从而提高信道估计性能。从理论上分析了两种新导频结构算法的性能。仿真表明,新导频IAM算法在保持其传统信道估计性能时,相比IAM-R、IAM-C...
  • 将压缩感知理论应用UWB信道估计,解决硬件复杂性
  • 本算法理论知识 3.核心代码 clc; clear; close all; warning off; addpath 'func\' CYC = 20; for ij = 1:CYC ij CYC = 20; RandStream.setDefaultStream(RandStream('mt19937ar','seed',ij)); Len = 8; ...

    1.软件版本

    MATLAB2021a
    2.本算法理论知识

    3.核心代码

    clc;
    clear;
    close all;
    warning off;
    addpath 'func\'
     
    CYC = 20;
    for ij = 1:CYC
        ij
        CYC = 20;
        RandStream.setDefaultStream(RandStream('mt19937ar','seed',ij));
        Len                 = 8;
        Nc                  = 64*Len;%子载波数
        T                   = 6.4e-6;
        TG                  = 1.6e-6;
        fLen                = 512;
        I                   = 4;
        %导频坐标
        pilot_index         = [1:I:Nc];
        N                   = Nc;%总载波数
        [Rm,Cn]             = size(pilot_index);%导频子载波数
        %多普勒频移
        doppler_frequency   = 0.01;
        ts                  = 1e-6; 
        %保护时间
        CP                  = Nc/Len/(T/TG);
        C                   = 2; 
        SNR_dB              = [0:2:20];
        err_rate            = ones(C,length(SNR_dB));
        ERR_RATE            = ones(1,length(SNR_dB));
        ERR_RATE2           = ones(1,length(SNR_dB));
        ERR_RATE3           = ones(1,length(SNR_dB));
        h1                  = zeros(N,1);
        h2                  = zeros(N,1);
        %多径个数
        multipath_number = 3;
        delay            = [0,1e-6,2e-6]/ts;%各径延迟
        trms             = 4e-6/ts; %多径平均延迟
        var_pow          = 10*log10(exp(-delay/trms));
        RLchannel        = rayleighchan(1,doppler_frequency,delay,var_pow);
        RLchannel.StorePathGains = 1;
        test             = ones(C,1);%测试向量
        filter(RLchannel,test);
        %提取瑞利信道
        h_RL             = RLchannel.PathGains;
        for ii=1:C
            x_Trans = randint(N,1,4);
            %QPSK调制
            X       = func_QPSK_mod(x_Trans);
            %待传输信号
            x       = func_OFDM_mod(X,fLen,CP,Nc);     
            %信道
            for hh=1:multipath_number;
                h1(1+delay(hh))= h_RL(ii,hh);%信道的冲击响应
            end
            %H为根据22计算得到的H
            H   = fft(h1,fLen);
            %收到的信号
            y_r = filter(h1,1,x);
            for SNR_index=1:length(SNR_dB);
                %加噪声
                y       = awgn(y_r,SNR_dB(SNR_index),'measured'); 
                %去CP
                y0      = y(CP+1:CP+Nc,1);
                Y       = fft(y0);
                
                %你所要求的不太对的函数写法
                est_H        = ChannelEstimation(SNR_dB(SNR_index),1,delay,doppler_frequency,var_pow);
                %CS信道估计,H_esti为估计得到的H
                [H_esti,h2]  = func_omp(Y,X,Nc,fLen,pilot_index,multipath_number);
                %计算估计得到的Ap部分
                Ap   = abs(h2);
                
                %计算估计得到的exp部分
                exps = angle(h2);
                
                
                %估计的导频加信号的值
                X_esti  = Y./H_esti;
                x_omp_rec                           = func_QPSK_demod(X_esti);
                [err_number,err_rate(ii,SNR_index)] = symerr(x_Trans,x_omp_rec);
                err_num(ii,SNR_index)            = sum(sum(cov(x_Trans,x_omp_rec)));
                mse_num(ii,SNR_index)            = mse(abs(h1(1:multipath_number)-h2(1:multipath_number)));       
            end
        end
        for jj=1:length(SNR_dB);
            ERR_RATE(1,jj) = mean(err_rate(:,jj));
            ERR_RATE2(1,jj)= mean(err_num(:,jj));
            ERR_RATE3(1,jj)= mean(mse_num(:,jj));
        end
        S1 = [];
        S2 = [];
        S3 = [];
        
        if ij > 1
           load func\tmps.mat
        end
        S1 = [S1;ERR_RATE];
        S2 = [S2;ERR_RATE2]; 
        S3 = [S3;ERR_RATE3]; 
        save func\tmps.mat S1 S2 S3 SNR_dB
        addpath 'func\'
    end
    
    load func\tmps.mat
    ERR_RATEs  = mean(S1,1);
    ERR_RATE2s = mean(S2,1);
    ERR_RATE3s = mean(S3,1);
    
    figure;
    plot(SNR_dB,ERR_RATE2s/max(ERR_RATE2s),'b-s');
    hold on;
    xlabel('SNR');
    ylabel('信号相关性');
    grid on;
    
    
    figure;
    semilogy(SNR_dB,ERR_RATEs,'b-s');
    hold on;
    xlabel('SNR');
    ylabel('系统误码率');
    grid on;
    
    
    figure;
    semilogy(SNR_dB,ERR_RATE3s,'b-s');
    hold on;
    xlabel('SNR');
    ylabel('信道估计H 估计误差');
    grid on;
    
    
    
    save R.mat SNR_dB ERR_RATEs ERR_RATE2s ERR_RATE3s
    
    %显示原始信道和估计后的信道
    ho   = h1(1:multipath_number);
    hest = h2(1:multipath_number); 
    
    ho
    hest
    

    4.操作步骤与仿真结论

     5.参考文献

    [1]赵锦航, 刘健均, 周思源,等. 基于BIC停止准则的改进A*OMP信道估计算法[J]. 计算机应用与软件, 2019, 36(5):6.

    [2]朱芹, 王彪. 基于改进BOMP算法的水声信道估计[J].  2022(8).

     A01-102
    6.完整源码获得方式

    方式1:微信或者QQ联系博主

    方式2:订阅MATLAB/FPGA教程,免费获得教程案例以及任意2份完整源码

    展开全文
  • 本文根据双选信道在时延-多普勒域具有稀疏性,研究了OFDM系统中基于压缩感知的双选信道估计。为了克服信道的双选特性对信道估计造成的不稳定性,采用了正则正交匹配追踪(Regularized Orthogonal Matching Pursuit,ROMP...
  • 人工智能在移动通信网络中的应用:基于机器学习理论信道估计与信号检测算法.pdf
  • 针对存在码间干扰ISI的稀疏多径信道,已提出基于压缩感知理论的平滑SL0算法来研究其稀疏特性,然而 SL0算法的迭代方向为负梯度方向,存在“锯齿效应”,且其代价函数“陡峭性”性能欠佳,使得信道估计和收敛效果均未...
  • 为了抑制噪声和干扰,引入了整体最小二乘法(TLS)进行信道估计,并给出了整体最小二乘法的公式。该方法同时考虑了信道噪声和信道时变特性。理论分析和仿真结果表明,该算法能有效消除噪声和干扰,较好地恢复传输...
  • 根据一般的空时编码调制理论信道估计误差的统计特征,构造了一种信道参数估计误差的分析模型,据此模型,推导出了此误差的Cramer-Rao界,同时证明了它是一个一般界和紧界。利用蒙特卡洛方法仿真了采用空时分组编码...
  • 通过理论分析获得:当训练符号矩阵等于归一化Hadamard矩阵且在子载波上等间距的摆放时,ML-A+LI估计器实现等同于正交的ML信道估计器ML-B+LI最优的MSE性能和低复杂度。在MIMO移动信道仿真表明:ML-A+LI和ML-B+LI...
  • 针对频率选择性衰落信道下的放大转发协同正交频率复用(OFDM)通信系统,提出一种基于压缩感知理论的稀疏信道估计方法。首先,构造协同OFDM系统模型,利用循环矩阵理论,将该系统模型变换成类似于传统的点对点系统...
  • 针对高速移动环境下由多普勒频移引起的...仿真结果和理论分析达到很好的一致性,当信道信噪比为0 dB时,归一化均方误差(normalized mean square error,NMSE)性能增益最大约为0.071 4,提高了快时变信道估计的精度。
  • 计算机-后端-基于框架构造理论的航空LTE系统稀疏信道估计技术研究.pdf
  • 单载波频域均衡系统因具有峰均比低、适用于高速率传输的优势,具有广泛...理论分析及仿真结果表明,本文算法比传统的LS及MMSE信道估计算法在未编码系统及编码系统中的性能都更好,且运算复杂度比传统一维MMSE算法更低。
  • 针对煤矿井下信道情况复杂,多径效应会带来噪声增加和误码率上升等问题,建立了煤矿井下正交频分复用系统模型,研究了井下正交频分复用信道最小平方、最小均方误差估计算法;在矩形导频分配方案的基础上,提出了在时域...
  • 针对长期演进系统中采用块状导频的...仿真结果表明,该算法在不增加实现复杂度的情况下,可以保证优良的信道估计性能,能够在芯片TMS320C6455中得到高效实现,可以作为TD-LTE 综合测试仪的一种上行信道估计的插值备选方案。
  • 信道估计(channel estimation)图解——从SISO到MIMO原理介绍 1. 引言 在所有通信中,信号都会通过一个介质(称为信道),并且信号会失真,或者在信号通过信道时会向信号中添加各种噪声。正确解码接收到的信号而...

    1. 引言

    在所有通信中,信号都会通过一个介质(称为信道),并且信号会失真,或者在信号通过信道时会向信号中添加各种噪声。正确解码接收到的信号而没有太多错误的方法是从接收到的信号中消除信道施加的失真和噪声。为此,第一步是弄清信号经过的信道的特性。表征信道的技术/过程称为信道估计(channel estimation)。此过程将说明如下。

    信道估计有很多不同的方法,但是基本概念是相似的。该过程如下进行。

    i)设置一个数学模型,以使用“信道”矩阵将“发射信号”和“接收信号”相关。

    ii)发射已知信号(我们通常将其称为“参考信号”或“导频信号”)并检测接收到的信号。

    iii)通过比较发送信号和接收信号,我们可以找出信道矩阵的每个元素。

    作为此过程的示例,这里简要介绍LTE中的此过程。当然,很多细节取决于实现(这意味着具体算法可能会因每个特定的芯片组实现而有所不同)。但是,总体概念将是相似的。

    2. 通用算法

    我们如何找出信道的属性?即,我们如何估计信道?从高的角度来看,可以如下图所示。此图显示以下内容:

    i)我们嵌入了一组预定义信号(这称为参考信号)

    ii)当这些参考信号通过信道时,它会与其他信号一起失真(衰减,相移,噪声)

    iii)我们在接收方检测/解码接收到的参考信号

    iv)比较发送的参考信号和接收的参考信号,并找到它们之间的相关性。

    3. SISO的信道估计

    现在让我们考虑LTE SISO的情况,看看如何估计信道属性(信道系数和噪声估计)。由于考虑的是SISO系统,因此参考信号仅嵌入到一个天线端口(端口0)中。资源图中的垂直线表示频域。因此,这里用f1,f2,f3 ... fn索引了每个参考信号。每个参考符号可以是一个复数(I / Q数据),可以如下所示进行绘制。左侧(发送侧)的每个复数(参考符号)被修改(失真)为右侧的每个对应符号(接收的符号)。信道估计是在左侧的复数数组与右侧的复数数组之间找到相关性的过程。

    估计的详细方法可能非常取决于实现方式。这里将描述的方法基于开源:srsLTE(请参阅[1])

    3.1 信道系数的估计

    由于这里只有一根天线,因此每个发射参考信号和接收参考信号的系统模型可以表示如下。y()表示接收到的参考信号的数组,x()表示发送的参考信号()的数组,h()表示信道系数的数组。f1,f2,...只是整数索引。

    我们知道x()是什么,因为给定了它,而y()也知道,因为它是从接收者处测量/检测到的。有了这些,我们可以很容易地计算出系数阵列,如下所示。

    现在我们有了参考信号所在位置的所有信道系数。但是我们需要在所有位置(包括那些没有参考信号的点)处的信道效率。这意味着我们需要在没有参考信号的情况下找出那些位置的信道系数。为此,最常见的方法是对测得的系数数组进行插值。在srsLTE的情况下,它首先进行平均,然后对平均信道系数进行插值。

    3.2 噪声的估计

    下一步是估计噪声特性。从理论上讲,噪声可以如下计算。

    但是,我们需要的是噪声的统计属性,而不是确切的噪声值。我们可以仅使用测得的信道系数和平均信道来估算噪声,如下所示(实际上,准确的噪声值没有太大意义,因为噪声值会不断变化,使用那些特定的噪声值没有用)。在srsLTE中,作者使用了这种方法。

    4. 2 x 2 MIMO的信道估计

    假设我们有一个如下所示的通信系统。x(t)表示发送信号,y(t)表示接收信号。当x(t)传输到空中(信道)时,它会变形并获得各种噪声,并且可能会相互干扰。因此接收到的信号y(t)不能与发射信号x(t)相同。

    发射信号,接收信号和信道矩阵之间的关系可以用数学形式建模,如下所示。

    在此等式中,我们知道值x1,x2(已知的发射信号)和y1,y2(检测/接收的信号)。我们不知道的部分是H矩阵和噪声(n1,n2)。

    为简单起见,我们假设该信道中没有噪声,这意味着我们可以将n1,n2设置为0。(当然,在实际信道中总会存在噪声,估计噪声是信道估计中非常重要的一部分,但是我们在此示例中假设没有噪音,只是为了使其简单。稍后,当我有更好的知识以通俗的语言描述案件时,我将在案件中添加噪音)。

    由于我们具有数学模型,因此下一步是传输已知信号(参考信号)并从参考信号中找出信道参数。

    假设我们仅通过一个天线发送了幅度为1的已知信号,而另一个天线现在处于关闭状态。由于信号通过空气传播,并且接收方的两个天线都会检测到该信号。现在,假设第一个天线接收幅度为0.8的参考信号,第二个天线接收幅度为0.2的参考信号。有了这个结果,我们可以得出如下所示的一行信道矩阵(H)。

    假设我们仅通过另一个(第二个)天线发送了幅度为1的已知信号,并且第一个天线现在处于关闭状态。由于信号通过空气传播,并且接收方的两个天线都会检测到该信号。现在,假设第一个天线接收到幅度为0.3的参考信号,第二个天线接收到幅度为0.7的参考信号。有了这个结果,我们可以得出如下所示的一行信道矩阵(H)。

    够简单吗?我认为理解这个基本概念没有任何问题。但是,如果完全按照上述方法使用此方法,则可能会导致效率低下。根据上面解释的概念,应该有一个时刻,仅发送参考信号而没有实际数据,只是为了估计信道信息,这意味着由于信道估计过程,数据速率将降低。为了消除这种效率低下的问题,实际的通信系统会同时发送参考信号和数据。

    现在的问题是“如何在同时传输参考信号和数据的同时实现上述概念?”。可以有几种不同的方法来执行此操作,并且不同的通信系统将使用一些不同的方法。

    以LTE为例,我们使用如下所示的方法。在LTE中为2 x 2 MIMO的情况下,每个子帧具有用于每个天线的参考信号的不同位置。天线0的子帧发送了分配给天线0的参考信号,不发送分配给天线1的参考信号的信号。天线1的子帧发送了分配给天线1的参考信号的信号,不发送给参考天线的任何信号。为天线0分配的信号。因此,如果在两个接收器天线上解码为天线0的参考信号分配的资源元素,则可以估计h11,h12。(在这里,为了简单起见,我们还假设没有噪音)。如果在两个接收器天线上解码分配给天线1参考信号的资源元素,则可以估计h21,h22。

    4.1 信道系数的估计

    上面说明的过程是针对LTE OFDMA符号中的频域中的一个特定点测量 HH 矩阵的数组重新排列为多个独立数组(在本例中为4个数组),如下所示。

    对于这些数组中的每一个,我将进行如下所示的相同处理。(每个芯片组制造商都可以应用稍微不同的方法,但是总体思路是相似的)。在下面说明的方法中,数据(每个频点中的信道系数阵列)使用IFFT进行处理,这意味着将dta转换为时域,从而生成标记为(2)的时域数据阵列。实际上,这是特定信道路径的脉冲响应。然后,我们对该时域数据应用特定的过滤(或加窗)。在此示例中,将某个点的数据替换为零,并创建标记为(3)的结果。您可以应用更复杂的过滤器或窗口,而不是这种简单的调零。然后,通过将滤波后的信道脉冲数据转换回频域,

    通过对所有四个阵列执行相同的过程,您可以获得“估计信道系数阵列”的四个阵列。从这四个阵列中,您可以按以下方式重建估计信道矩阵的阵列。

    4.2 噪声的估计

    使用此估算的信道矩阵,您可以使用以下公式估算每个点的噪声值。这与本页开头的原始系统方程式相同,除了将H矩阵替换为“估计的H”矩阵外,现在我们知道除噪声值以外的所有值。因此,通过插入所有已知值,我们可以在每个测量点计算(估计)噪声值。

    如果将此方程式应用于所有测量点,则将获得所有测量点的噪声值,并从这些计算出的噪声值中获得噪声的统计属性。如上所述,此处计算出的每个单独的噪声值没有太大意义,因为该值不能直接应用于解码其他信号(非参考信号),但是这些噪声的统计特性对于确定噪声而言可能是非常有用的信息。渠道的性质。

    注意:如果您对在实际应用中如何使用此算法感兴趣,强烈建议阅读/尝试使用Ref [2]和[3]。

    参考

    [1] srsLTE:\ srslte \ lib \ ch_estimation \ chest_dl.c-srslte_chest_dl_estimate_port()

    [2] 信道估计(Mathworks,LTE工具箱)

    [3] NR同步程序

    [4] http://www.sharetechnote.com/html/Communication_ChannelEstimation.html#General_Algorithm

    作者: 优化与算法

    出处:https://www.cnblogs.com/louisanu/p/13046621.html

    展开全文
  • 提出了一种基于压缩感知理论的正交频分复用(OFDM)系统稀疏信道估计的新方法,并具体采用正交匹配追踪(OMP)压缩感知算法对OFDM时域信道脉冲响应进行估计。与传统的最小二乘算法比较,它可以在使用较少导频的条件下获得...
  • 基于贝叶斯压缩感知理论的超宽带通信信道估计

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,164
精华内容 1,665
关键字:

信道估计理论