您现在的位置:首页 >> 通信 >> 内容

OFDM信道估计matlab仿真,对比LS,MMSE, TD-LMMSE,TDD-LMMSE,TD-

时间:2022/12/28 15:48:53 点击:

  核心提示:A157,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y5uUk5pq

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览


3.算法概述

       信道估计器是接收机一个很重要的组成部分。在OFDM系统中,信道估计器的设计上要有两个问题:** 一是导频信息的选择,由于无线信道的时变特性,需要接收机不断对信道进行跟踪,因此导频信息也必须不断的传送: 二是既有较低的复杂度又有良好的导频跟踪能力的信道估计器的设计,在确定导频发送方式和信道估计准则条件下,寻找最佳的信道估计器结构。 在实际设计中,导频信息的选择和最佳估计器的设计通常又是相互关联的,因为估计器的性能与导频信息的传输方式有关。

4.部分源码

......................................................

for ii = 1:length(EsNodB)

    disp('EsN0dB is :'); disp(EsNodB(ii));tic;

    ChMSE_LS = 0;

    ChMSE_LMMSE=0; 

    TDMSE_LMMSE =0;

    TDDMSE_LMMSE=0;

    TDQabsMSE_LMMSE =0;

    for mc = 1:MC

% Random channel taps

        g = randn(L,1)+1i*randn(L,1);

        g = g/norm(g);

        H = fft(g,nFFT);

% generation of symbol

        X = randi([0 M-1],nFFT,1);  %BPSK symbols

        XD = modulate(modObj,X)/sqrt(10); % normalizing symbol power

        x = F'*XD;

        xout = [x(nFFT-nCP+1:nFFT);x];        

% channel convolution and AWGN

        y = conv(xout,g);

        nt =randn(nFFT+nCP+L-1,1) + 1i*randn(nFFT+nCP+L-1,1);

        No = 10^(-EsNodB(ii)/10);

        y =  y + sqrt(No/2)*nt;

% Receiver processing

        y = y(nCP+1:NT);

        Y = F*y;

% frequency doimain LS channel estimation 

        HhatLS = Y./XD; 

        ChMSE_LS = ChMSE_LS + ((H -HhatLS)'*(H-HhatLS))/nFFT;

% Frequency domain LMMSE estimation

        Rhh = H*H';

        W = Rhh/(Rhh+(beta/snr(ii))*eye(nFFT));

        HhatLMMSE = W*HhatLS;

        ChMSE_LMMSE = ChMSE_LMMSE + ((H -HhatLMMSE)'*(H-HhatLMMSE))/nFFT;        

% Time domain LMMSE estimation

        ghatLS = ifft(HhatLS,nFFT);

        Rgg = g*g';

        WW = Rgg/(Rgg+(beta/snr(ii))*eye(L));

        ghat = WW*ghatLS(1:L);

        TD_HhatLMMSE = fft(ghat,nFFT);%        

        TDMSE_LMMSE = TDMSE_LMMSE + ((H -TD_HhatLMMSE)'*(H-TD_HhatLMMSE))/nFFT;   

 % Time domain LMMSE estimation - ignoring channel covariance

        ghatLS = ifft(HhatLS,nFFT);

        Rgg = diag(g.*conj(g));

        WW = Rgg/(Rgg+(beta/snr(ii))*eye(L));

        ghat = WW*ghatLS(1:L);

        TDD_HhatLMMSE = fft(ghat,nFFT);%        

        TDDMSE_LMMSE = TDDMSE_LMMSE + ((H -TDD_HhatLMMSE)'*(H-TDD_HhatLMMSE))/nFFT;    

  % Time domain LMMSE estimation - ignoring smoothing matrix

        ghatLS = ifft(HhatLS,nFFT);

        TDQabs_HhatLMMSE = fft(ghat,nFFT);%        

        TDQabsMSE_LMMSE = TDQabsMSE_LMMSE + ((H -TDQabs_HhatLMMSE)'*(H-TDQabs_HhatLMMSE))/nFFT;          

    end

.......................................................

A157

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168