test_mdatamod.m

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

M
66
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  Property of Freescale
%  Freescale Confidential Proprietary
%  Freescale Copyright (C) 2005 All rights reserved
%  ----------------------------------------------------------------------------
%  $RCSfile: test_mDataMod.m.rca $
%  $Revision: 1.1 $
%  $Date: Mon Oct 30 18:39:58 2006 $
%  Target: Matlab
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%test DL PRBS generation and DL data modulation for FFT-512
%(one segment, all groups)
%
%       status = test_mDataMod
%


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

function status = test_mDataMod

addpath('../../../../CM/Utilities/matlab');
addpath('../../../../UL/SPKernel/DataDemodulation/matlab');

ModuleName = 'DataMod';
disp(['Testing ' ModuleName ' ... ']);

%zone descriptor for DL-PUSC (required subset)
ZoneConfig      = struct( 'NFFTUsed', 421 );
AsyncPhyControl = struct( 'IDCell',    12,...
    'SegmentNr',  0 ...
    );

%generate PRBS table
PRBS = mGenPRBS(ZoneConfig, AsyncPhyControl);

%stimuli
SymbolIndex = 0;
dataref = (1:ZoneConfig.NFFTUsed-1)'*ones(1,2).*(1-i);

%add DC and modulate data
datamod = mDataModulation(dataref, PRBS, SymbolIndex);

%demodulate data and remove DC
datamod(floor(size(datamod,1)/2)+1,:)=[];
dataout = mDataDemodulation(datamod, PRBS, SymbolIndex);

%verification
if any(any(dataref-dataout))
    disp(['Error: Matlab function ' ModuleName ' failed.' ]);
    status = -1 ;
else
    disp(['OK: Matlab function ' ModuleName ' succeeded.'  ]);
    status = 1;
end


rmpath('../../../../CM/Utilities/matlab');
rmpath('../../../../UL/SPKernel/DataDemodulation/matlab');


⌨️ 快捷键说明

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