mceintratile.m

来自「OFDMA 物理层开发的matlab 源码.飞思卡尔提供.对物理层开发的工程师有」· M 代码 · 共 66 行

M
66
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  Property of Freescale
%  Freescale Confidential Proprietary
%  Freescale Copyright (C) 2005 All rights reserved
%  ----------------------------------------------------------------------------
%  $RCSfile: mCEIntraTile.m.rca $
%  $Revision: 1.8 $
%  $Date: Thu Jan  4 14:47:14 2007 $
%  Target: Matlab
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%**************************************************************************
%  802.16-2004 OFDMA PHY - Matlab Implementation - Straightforward Channel
%                                                  Estimator
%
%    Description: Straightforward channel estimation by linear averaging of
%                 LS-estimates at pilot locations.
%
%    Parameters:  h_LS1 - vector of modulated pilots of symbol 1
%                 h_LS2 - vector of modulated pilots of symbol 3
%
%    Output:      ChanEst - estimated response
%
%
%    Functions: interpolate
%               interpolateSTC
%
%    Data Files:
%                N/A
%
%***************************************************************************

%-- Matlab files used by this file
%-- End of list

function ChanEst = mCEINtraTile(ntile,h_LS1,h_LS2)

% generate a total h_LS estimate for all pilot frequencies

vec1 = zeros(1,2*length(h_LS1.'));
vec2 = vec1;
vec1(1:4:end) = h_LS1(1:2:end);
vec1(4:4:end) = h_LS1(2:2:end);
% generate data estimates using wiener coefficients
vec1(2:4:end) = (2*h_LS1(1:2:end)+h_LS1(2:2:end))/3;
vec1(3:4:end) = (h_LS1(1:2:end)+2*h_LS1(2:2:end))/3;
vec1d = zeros(1,length(h_LS1.'));
vec1d(1:2:end) = vec1(2:4:end);
vec1d(2:2:end) = vec1(3:4:end);

vec2(1:4:end) = h_LS2(1:2:end);
vec2(4:4:end) = h_LS2(2:2:end);
% generate data estimates using wiener coefficients
vec2(2:4:end) = (2*h_LS2(1:2:end)+h_LS2(2:2:end))/3;
vec2(3:4:end) = (h_LS2(1:2:end)+2*h_LS2(2:2:end))/3;
vec2d = zeros(1,length(h_LS2.'));
vec2d(1:2:end) = vec2(2:4:end);
vec2d(2:2:end) = vec2(3:4:end);

vec3 = (vec1+vec2)/2;

ChanEst = [vec1d,vec3,vec2d];

ChanEst = ChanEst * 2^16;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?