📄 runsimscfdma.m
字号:
function runSimSCFDMA()
%% SP as a structure N = 16, M =512,CP = 20
%%what does subband mean? %%
%%SNR from 0 to 20 %%
SP.FFTsize = 1;
SP.inputBlockSize = 1;
SP.CPsize = 0; % CP legnth is 20
%SP.subband = 15; % the subband NO is actually the user NO-1.
SP.subband = 0;
SP.SNR = [0:1:8]; % Eb/No in dB
SP.numRun = 10^5;
%% channel secifications
% TS 25.104
%%pedAchannel is a 3-tap channel and vehAchannel is a 14-tap chennel and idenChannel is an identity channel
pedAchannel = [1 10^(-9.7/20) 10^(-22.8/20)];
pedAchannel = pedAchannel/sqrt(sum(pedAchannel.^2));
vehAchannel = [1 0 10^(-1/20) 0 10^(-9/20) 10^(-10/20) 0 0 0 10^(-15/20) 0 0 0 10^(-20/20)];
vehAchannel = vehAchannel/sqrt(sum(vehAchannel.^2));
idenChannel = 1;
%% set the channel
SP.channel = idenChannel;
%SP.channel = pedAchannel;
%SP.channel = vehAchannel;
%% set the equalization tye
SP.equalizerType ='ZERO';
%SP.equalizerType ='MMSE';
%% simulate
[SER_ifdma SER_lfdma] = scfdma(SP);
%% Plot results
% plot(SP.SNR,SER_lfdma,'-.+r');
hold on;
plot(SP.SNR,SER_ifdma,':ob');
hold on;
title('BER for SC-FDMA ');
xlabel('Eb/No (dB)');
ylabel('BER');
legend('LFDMA','IFDMA',1);
%% plot theoretical result
y = qfunc(sqrt(2*10.^(SP.SNR/10)));
plot(SP.SNR,y,'*r');
%% save variables
save scfdma_awgn
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -