meqzf.m

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

M
52
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  Property of Freescale
%  Freescale Confidential Proprietary
%  Freescale Copyright (C) 2006 All rights reserved
%  ----------------------------------------------------------------------------
%  $RCSfile: mEqZF.m.rca $
%  Tag $Name:  $
%  $Revision: 1.12 $
%  $Date: Wed Jan 17 11:29:47 2007 $
%  Target: Matlab
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ZF Equalizer for IEEE 802.16-2005 (WiMAX)
%
%     [Out] = mEqZF(In,CE)
%
% This function performs frequency domain equalization of the signal based
% on the channel estimation result and estimated SNR.
%
% In       : received uncorrected carriers
% CE       : column vector of channel estimates
%
% Out      : corrected carriers
%
% Matlab 7 Release 14 SP2

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

function Out = mEqZF(In,CE)

[NAnt NData] = size(In);

% EQUALIZE - compensate for the channel response
Out = double(In)./double(CE);

OutMax = max([max(abs(real(Out))),max(abs(imag(Out)))]);
Out = Out.*2^(floor(log2(1/OutMax)));

Out_finite = isfinite(1./double(CE));
for AntIndex=1:NAnt
    for DataIndex=1:NData
        if (Out_finite(AntIndex,DataIndex) == 0)
            Out(AntIndex,DataIndex) = 0;
        end
    end
end

Out = Out .* 2^15;

return;

⌨️ 快捷键说明

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