close all;clear all; clc; tic ; %计时开始
global CP_len;
global nSubC;
global ifft_len;
global bitPerSymbol;
global symbolPerCarrier;
global s_len;
global fade; %信道衰落
CP_len = 0;
nSubC = 64;
ifft_len = 128;
bitPerSymbol = 2;
symbolPerCarrier = 50;
fade = [0,0]; % 信道参数,下标为延时点数,值为衰减系数,两径衰落+AWGN
% 开始测试
s_len = nSubC*bitPerSymbol* symbolPerCarrier;
SNR = 0:1:10;
ber1 = zeros(1,length(SNR));
for kk = 1:length(SNR)
max = floor((2^(kk))/50)+10;
fprintf('仿真信噪比: %d', SNR(kk));
fprintf('仿真点数: %d', max*nSubC*bitPerSymbol*symbolPerCarrier);
CP_len = 0;
ber = 0;
for m = 1:max
% 生成用于测试的随机比特
s_in = floor( rand(1, s_len )*2 );
sch = ofdm_mod_eq(s_in);
sch = channel(sch,SNR(kk));
s_out = ofdm_demod_eq(sch);
%计算误比特率
err_count = sum(abs(s_in-s_out));
ber = ber + err_count/s_len ;
end
ber1(kk) = ber/max;
fprintf('CP=0 :%f',ber1(kk));
end
fade = [0,0.3]; % 信道参数,下标为延时点数,值为衰减系数,两径衰落+AWGN
% 开始测试
s_len = nSubC*bitPerSymbol* symbolPerCarrier;
SNR = 0:1:10;