Matlab:EVM计算
function evmInfo = hEVM(varargin)
narginchk(3,7);
fcnName = 'hEVM';
isCarrierSyntax = isa(varargin{
1},'nrCarrierConfig');
if (isCarrierSyntax)
carrier = varargin{
1};
rxSlotGrid = varargin{
2};
refSlotGrid = varargin{
3};
if nargin == 4
ind = varargin{
4};
end
ofdmInfo = nrOFDMInfo(carrier);
else
nrb = varargin{
1};
scs = varargin{
2};
rxSlotGrid = varargin{
3};
refSlotGrid = varargin{
4};
optNames = {
'CyclicPrefix'};
firstOptArg = 5;
cp = 'normal';
if nargin >= firstOptArg && isnumeric(varargin{
firstOptArg})
ind = varargin{
firstOptArg};
firstOptArg = firstOptArg + 1;
end
if nargin == (firstOptArg+1) && (ischar(varargin{
firstOptArg}) || isstring(varargin{
firstOptArg}))
opts = coder.const(nr5g.internal.parseOptions( ...
fcnName,optNames,varargin{
firstOptArg:end}));
cp = opts.CyclicPrefix;
end
ofdmInfo = nrOFDMInfo(nrb,scs,'CyclicPrefix',cp);
end
if iscolumn(rxSlotGrid)
if isCarrierSyntax
nrb = carrier.NSizeGrid;
end
numSCs = nrb*12;
rxSlot = zeros