📄 testtv_mrc.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Property of Freescale
% Freescale Confidential Proprietary
% Freescale Copyright (C) 2005 All rights reserved
% ----------------------------------------------------------------------------
% $RCSfile: testTV_MRC.m.rca $
% Tag $Name: $
% $Revision: 1.4 $
% $Date: Tue Dec 12 18:56:43 2006 $
% Target: Matlab
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%-- This function test the generation of random TV from MRC
%
% function test_MRC(seed)
%
% input:
% seed : (double), random seed
%
% Note: for a good use of mGenBin, make sure your files are not "read only"
%-- Matlab files used by this file
% mMRC
%-- End of list
function testTV_MRC(nantenna,seed)
clear global
clear functions
close all
profile off
addpath('../');
addpath('../../../../../../../SP/CM/matlab');
if (exist('nantenna','var') == 0)
nantenna = 2;
end
DataSize = 48;
fname = 'MRC';
Q = 15;
QCHANEST = 31;
if (exist('seed','var') == 0)
seed = sum(100*clock);
end
rand('state',seed);
system(['del ..\..\vector\log\TCRND',num2str(nantenna),'\',fname,'.txt']);
diary(['../../vector/log/TCRND',num2str(nantenna),'/',fname,'.txt']);
disp('MRC Simulation');
disp('=====================================');
disp(' ');
%%%%%%%%%%%%%%%%%%%%%% Initialize Paramters %%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('*********Initializing Parameters*********')
disp(strcat('SEED = ',num2str(seed)));
% generates pilot random data , include the 4/3 Pilot boosting
DataReal = round((2^(Q+1)-1).*rand(nantenna,DataSize)-2^Q);
DataImag = round((2^(Q+1)-1).*rand(nantenna,DataSize)-2^Q);
Data = DataReal + DataImag*i;
ChanEstReal = round((2^(QCHANEST+1)-1).*rand(nantenna,DataSize)-2^QCHANEST);
ChanEstImag = round((2^(QCHANEST+1)-1).*rand(nantenna,DataSize)-2^QCHANEST);
ChanEst = ChanEstReal + ChanEstImag*i;
RSSI = round(rand(nantenna,1)*2^Q);
CINR = round(rand(nantenna,1)*2^Q);
FreqOff = round(rand(nantenna,1)*2^Q);
TimeOff = round(rand(nantenna,1)*2^Q);
BitShift = zeros(nantenna,1);
Pad = zeros(nantenna,1);
[DataComb ChanEstComb RSSIComb CINRComb FreqOffComb TimeOffComb BitShiftComb]= ...
mMRC2D(nantenna,DataSize,Data,ChanEst,RSSI.',CINR.',FreqOff.',TimeOff.',BitShift.');
SlotMeasurement = [round(RSSI.');round(CINR.');round(FreqOff.');round(TimeOff.');BitShift.';Pad.'];
SlotMeasurementComb = [RSSIComb;CINRComb;FreqOffComb;TimeOffComb;BitShiftComb;Pad];
for ant=1:nantenna
filename = ['../../vector/in/TCRND',num2str(nantenna),'/IF2bRX_RND_RND_RND_',num2str(ant-1)];
mGenBin(Data(ant,:),[filename,'.lod'],'int16','1R1I','b');
filename = ['../../vector/in/TCRND',num2str(nantenna),'/IF2bRXEst_RND_RND_RND_',num2str(ant-1)];
mGenBin(ChanEst(ant,:),[filename,'.lod'],'int32','1R1I','b');
filename = ['../../vector/in/TCRND',num2str(nantenna),'/IF2bRXCtrl_RND_RND_RND_',num2str(ant-1)];
mGenBin(SlotMeasurement(:,ant),[filename,'.lod'],'int16','R','b');
end
filename = ['../../vector/in/TCRND',num2str(nantenna),'/IF2bRX_RND_RND_RND'];
mGenHeader(Data.',[filename,'.h'],'int16','signed short int gasiData');
filename = ['../../vector/in/TCRND',num2str(nantenna),'/IF2bRXEst_RND_RND_RND'];
mGenHeader(ChanEst.',[filename,'.h'],'int32','signed long int galiChanEst');
filename = ['../../vector/in/TCRND',num2str(nantenna),'/IF2bRXCtrl_RND_RND_RND'];
mGenHeader(SlotMeasurement,[filename,'.h'],'int16','unsigned short int gausiSlotMeasurement','R');
filename = ['../../vector/ref/TCRND',num2str(nantenna),'/IF2aRX_RND_RND_RND'];
mGenBin(DataComb,[filename,'.lod'],'int16','1R1I','b');
mGenHeader(DataComb,[filename,'.h'],'int16','signed short int gasiRefData');
filename = ['../../vector/ref/TCRND',num2str(nantenna),'/IF2aRXEst_RND_RND_RND'];
mGenBin(ChanEstComb,[filename,'.lod'],'int32','1R1I','b');
mGenHeader(ChanEstComb,[filename,'.h'],'int32','signed long int galiRefChanEst');
filename = ['../../vector/ref/TCRND',num2str(nantenna),'/IF2aRXCtrl_RND_RND_RND'];
mGenBin(SlotMeasurementComb,[filename,'.lod'],'int16','R','b');
mGenHeader(SlotMeasurementComb,[filename,'.h'],'int16','unsigned short int gausiRefSlotMeasurement','R');
diary off
rmpath('../');
rmpath('../../../../../../../SP/CM/matlab');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -