⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mslotprocess_lib2.m

📁 OFDMA 物理层开发的matlab 源码.飞思卡尔提供.对物理层开发的工程师有帮助!
💻 M
📖 第 1 页 / 共 2 页
字号:
          end
       end
       
       % Demodulation mapper
       DataDM = DataDR(SubCh,:).';
       [DataOut BlkSize] = mDemodMapper(DataDM,length(DataDM),SlotSubChModType,DemapScale);

       Data(SubCh,1:BlkSize) = DataOut.'; 
     end
end

SlotMeasurement = [RSSI;CINR;FreqOff;TimeOff];

%Test vector generation
if TC
    FN=0;
    ZN=0;
    TCstr=sprintf('TC%03d',TC);
    if ~exist(['../vector/ref/',TCstr],'dir')
        mkdir(['../vector/ref/',TCstr]);
    end
    if ~exist(['../vector/in/',TCstr],'dir')
        mkdir(['../vector/in/',TCstr]);
    end
    if ~exist(['../../SPKernel/SlotExtraction/vector/ref/',TCstr],'dir')
        mkdir(['../../SPKernel/SlotExtraction/vector/ref/',TCstr]);
    end
    if ~exist(['../../SPKernel/SlotMeasurement/vector/in/',TCstr],'dir')
        mkdir(['../../SPKernel/SlotMeasurement/vector/in/',TCstr]);
    end
    if ~exist(['../../SPKernel/SlotMeasurement/vector/ref/',TCstr],'dir')
        mkdir(['../../SPKernel/SlotMeasurement/vector/ref/',TCstr]);
    end
    if ~exist(['../../SPKernel/CEIntraTile/vector/in/',TCstr],'dir')
        mkdir(['../../SPKernel/CEIntraTile/vector/in/',TCstr]);
    end
    if ~exist(['../../SPKernel/CEIntraTile/vector/ref/',TCstr],'dir')
        mkdir(['../../SPKernel/CEIntraTile/vector/ref/',TCstr]);
    end
    if ~exist(['../../SPKernel/EqZF/vector/in/',TCstr],'dir')
        mkdir(['../../SPKernel/EqZF/vector/in/',TCstr]);
    end
    if ~exist(['../../SPKernel/EqZF/vector/ref/',TCstr],'dir')
        mkdir(['../../SPKernel/EqZF/vector/ref/',TCstr]);
    end
    if ~exist(['../../SPKernel/MRC/vector/in/',TCstr],'dir')
        mkdir(['../../SPKernel/MRC/vector/in/',TCstr]);
    end
    if ~exist(['../../SPKernel/MRC/vector/ref/',TCstr],'dir')
        mkdir(['../../SPKernel/MRC/vector/ref/',TCstr]);
    end
    if ~exist(['../../SPKernel/DemodMap/vector/in/',TCstr],'dir')
        mkdir(['../../SPKernel/DemodMap/vector/in/',TCstr]);
    end
    if ~exist(['../../SPKernel/DemodMap/vector/ref/',TCstr],'dir')
        mkdir(['../../SPKernel/DemodMap/vector/ref/',TCstr]);
    end

    for ant=1:NAntenna
        %IF2eRX
        mGenBin(double(FullData),... %dump only fixp test vectors
            sprintf('../vector/ref/%s/IF2eRX_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');
        mGenBin(double(FullData),... %dump only fixp test vectors
            sprintf('../../SPKernel/SlotExtraction/vector/ref/%s/IF2eRX_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');
        mGenBin(double(FullData),... %dump only fixp test vectors
            sprintf('../../SPKernel/SlotMeasurement/vector/in/%s/IF2eRX_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');

        %IF2eRXPlt
        mGenBin(double(FullPilot),... %dump only fixp test vectors
            sprintf('../vector/ref/%s/IF2eRXPlt_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');
        mGenBin(double(FullPilot),... %dump only fixp test vectors
            sprintf('../../SPKernel/SlotExtraction/vector/ref/%s/IF2eRXPlt_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');
        mGenBin(double(FullPilot),... %dump only fixp test vectors
            sprintf('../../SPKernel/SlotMeasurement/vector/in/%s/IF2eRXPlt_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');

        %IF2dRXCtrl
        mGenBin(int16(IF2dRXCtrl),... %dump only fixp test vectors
            sprintf('../vector/ref/%s/IF2dRXCtrl_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','R');
        mGenBin(int16(IF2dRXCtrl),... %dump only fixp test vectors
            sprintf('../../SPKernel/SlotMeasurement/vector/ref/%s/IF2dRXCtrl_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','R');

        %IF2dRXPlt (Copy of IF2eRXPlt)
        mGenBin(double(FullPilot),... %dump only fixp test vectors
            sprintf('../vector/ref/%s/IF2dRXPlt_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');
        mGenBin(double(FullPilot),... %dump only fixp test vectors
            sprintf('../../SPKernel/CEIntraTile/vector/in/%s/IF2dRXPlt_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');

        %IF2cRXCtrl
        mGenBin(int16(IF2cRXCtrl),... %dump only fixp test vectors
            sprintf('../vector/ref/%s/IF2cRXCrtl_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');
        mGenBin(int16(IF2cRXCtrl),... %dump only fixp test vectors
            sprintf('../../SPKernel/CEIntraTile/vector/ref/%s/IF2cRXCrtl_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');
        mGenBin(int16(IF2cRXCtrl),... %dump only fixp test vectors
            sprintf('../../SPKernel/EqZF/vector/in/%s/IF2cRXCrtl_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');

        %IF2cRX (Copy of IF2eRX)
        mGenBin(double(FullData),... %dump only fixp test vectors
            sprintf('../vector/ref/%s/IF2cRX_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');
        mGenBin(double(FullData),... %dump only fixp test vectors
            sprintf('../../SPKernel/EqZF/vector/in/%s/IF2cRX_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');

        %IF2bRX
        IF2bRX=reshape(reshape(DataAntEq(ant,:,:),NSubCh,FPULNDATACARRIER).',[],1);
        mGenBin(double(IF2bRX),... %dump only fixp test vectors
            sprintf('../vector/ref/%s/IF2bRX_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');
        mGenBin(double(IF2bRX),... %dump only fixp test vectors
            sprintf('../../SPKernel/EqZF/vector/ref/%s/IF2bRX_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');
        mGenBin(double(IF2bRX),... %dump only fixp test vectors
            sprintf('../../SPKernel/MRC/vector/in/%s/IF2bRX_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','1R1I');

        %IF2bRXCtrl (Copy of %IF2dRXCtrl)
        mGenBin(int16(IF2dRXCtrl),... %dump only fixp test vectors
            sprintf('../vector/ref/%s/IF2bRXCtrl_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','R');
        mGenBin(int16(IF2dRXCtrl),... %dump only fixp test vectors
            sprintf('../../SPKernel/MRC/vector/in/%s/IF2bRXCtrl_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex,ant-1),...
            'int16','R');

    end

    %IF2aRX
    mGenBin(double(FullDataMRC),... %dump only fixp test vectors
        sprintf('../vector/ref/%s/IF2aRX_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex),...
        'int16','1R1I');
    mGenBin(double(FullDataMRC),... %dump only fixp test vectors
        sprintf('../../SPKernel/MRC/vector/ref/%s/IF2aRX_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex),...
        'int16','1R1I');
    mGenBin(double(FullDataMRC),... %dump only fixp test vectors
        sprintf('../vector/in/%s/IF2aRX_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex),...
        'int16','1R1I');

    %IF2aRXCtrl
    mGenBin(int16(IF2aRXCtrl),... %dump only fixp test vectors
        sprintf('../vector/ref/%s/IF2aRXCtrl_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex),...
        'int16','R');
    mGenBin(int16(IF2aRXCtrl),... %dump only fixp test vectors
        sprintf('../vector/in/%s/IF2aRXCtrl_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex),...
        'int16','R');
    mGenBin(int16(IF2aRXCtrl),... %dump only fixp test vectors
        sprintf('../../SPKernel/MRC/vector/ref/%s/IF2aRXCtrl_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex),...
        'int16','R');

    %IF2aaRXCtrl
    mGenBin(double(FullDataRotation),... %dump only fixp test vectors
        sprintf('../vector/ref/%s/IF2aaRXCtrl_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex),...
        'int16','R');
    mGenBin(double(FullDataRotation),... %dump only fixp test vectors
        sprintf('../../SPKernel/DemodMap/vector/in/%s/IF2aaRXCtrl_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex),...
        'int16','R');

    %IF2RX
    mGenBin(double(reshape(Data.',[],1)),... %dump only fixp test vectors
        sprintf('../vector/ref/%s/IF2RX_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex),...
        'int16','R');
    mGenBin(double(FullDataRotation),... %dump only fixp test vectors
        sprintf('../../SPKernel/DemodMap/vector/ref/%s/IF2RX_%02d_%02d_%02d.lod',TCstr,FN,ZN,SlotVecIndex),...
        'int16','R');
end


end

⌨️ 快捷键说明

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