?? mslotseg.m
字號:
function [Out,SlotSize] = mSlotSeg(In,BlkSize,k)
% Slot sgmentation for IEEE 802.16-2004 (WiMAX, OFDMA only)
%
% [Out,SlotSize] = mSlotSeg(In,BlkSize)
%
% In : input column vector or matrix
% one column per code block
% BlkSize : row vector, length = number of code blocks
% number of data elements in each code block (or column)
% k : row vector, length = number of code blocks
% number of slots in each code block (or column)
%
% Out : output column vector or matrix
% one column per slot
% SlotSize: number of bits per slot
%
% Matlab 7 Release 14 SP2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Property of Freescale
% Freescale Confidential Proprietary
% Freescale Copyright (C) 2005 All rights reserved
% ----------------------------------------------------------------------------
% $RCSfile: mSlotSeg.m.rca $
% $Revision: 1.3 $
% $Date: Tue Aug 8 11:41:33 2006 $
% Target: Matlab
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[m,n]=size(In);
%check dimensions
[x,y]=size(BlkSize);
if ((x~=1)|(y~=n))
error('Error: BlkSize must be row vector with the same number of columns as In.');
end
[x,y]=size(k);
if ((x~=1)|(y~=n))
error('Error: k must be row vector with the same number of columns as In.');
end
if any(mod(BlkSize,k))
error('Error: Code blocks can not be seperated into slots.');
end
%segment first code block into slots
Out=reshape(In(1:BlkSize(1),1),BlkSize(1)/k(1),k(1));
%segment more code block into slots (if required)
if n>1
%loop over remaining code blocks
for b=2:n,
Out=[Out,reshape(In(1:BlkSize(b),b),BlkSize(b)/k(b),k(b))];
end
end
[SlotSize,NumSlots] = size(Out);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -