📄 ofdmslice.m
字号:
function rec_bitSource = ofdmSlice(rec_freq_Signal,baseType);
simulNUM = length(rec_freq_Signal);
switch baseType
case 1
for i = 1:simulNUM
if rec_freq_Signal(i) > 0
rec_bitSource(i) = 1;
else
rec_bitSource(i) = 0;
end
end
case 2
y_real = real(rec_freq_Signal);
y_imag = imag(rec_freq_Signal);
for i = 1: simulNUM
if y_real(i) > 0
y_real_slice(i) = 1;
else
y_real_slice(i) = 0;
end
if y_imag(i) > 0
y_imag_slice(i) = 1;
else
y_imag_slice(i) = 0;
end
end
rec_bitSource = reshape([y_real_slice;y_imag_slice],1,length(y_imag_slice)*2 );
case 3
avAmp = (sqrt(2) + sqrt(18) + 2*sqrt(10)) / 4; % the average signal amplitude % the average signal amplitude
y_real = real(rec_freq_Signal) * avAmp;
y_imag = imag(rec_freq_Signal) * avAmp;
for i = 1: simulNUM
if y_real(i)>=2
if y_imag(i)>=2
yslice(:,i) =[0,0,0,0]';
elseif y_imag(i)<2 & y_imag(i)>=0
yslice(:,i) =[0,0,0,1]';
elseif y_imag(i)<0 & y_imag(i)>=-2
yslice(:,i) =[0,1,0,1]';
elseif y_imag(i)<-2
yslice(:,i) =[0,1,0,0]';
end
elseif y_real(i)>=0 & y_real(i)<2
if y_imag(i)>=2
yslice(:,i) =[0,0,1,0]';
elseif y_imag(i)<2 & y_imag(i)>=0
yslice(:,i) =[0,0,1,1]';
elseif y_imag(i)<0 & y_imag(i)>=-2
yslice(:,i) =[0,1,1,1]';
elseif y_imag(i)<-2
yslice(:,i) =[0,1,1,0]';
end
elseif y_real(i)<0 & y_real(i)>=-2
if y_imag(i)>=2
yslice(:,i) =[1,0,1,0]';
elseif y_imag(i)<2 & y_imag(i)>=0
yslice(:,i) =[1,0,1,1]';
elseif y_imag(i)<0 & y_imag(i)>=-2
yslice(:,i) =[1,1,1,1]';
elseif y_imag(i)<-2
yslice(:,i) =[1,1,1,0]';
end
elseif y_real(i)<-2
if y_imag(i)>=2
yslice(:,i) =[1,0,0,0]';
elseif y_imag(i)<2 & y_imag(i)>=0
yslice(:,i) =[1,0,0,1]';
elseif y_imag(i)<0 & y_imag(i)>=-2
yslice(:,i) =[1,1,0,1]';
elseif y_imag(i)<-2
yslice(:,i) =[1,1,0,0]';
end
end
end
rec_bitSource = reshape(yslice,1,length(yslice(1,:))*4 );
otherwise
error('unsuported mapping type');
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -