📄 run_pilot.asv
字号:
n_bits_data = 10000;
[bits_data] = cp0201_bits(n_bits_data);
N_OFDM = 10; %?个OFDM符号为一帧
N = 128;
N_pilot_distance = 8;
N_pilot = N/N_pilot_distance;
n_symbol_per_ofdm = N - 1 - N_pilot - 1; % [0 N-1 0 N-1]
n_time = ceil(n_bits_data/(2*N_OFDM*n_symbol_per_ofdm)); %正无穷方向取整 发送帧数
bits_data_fixed = zeros(1,n_time*2*N_OFDM*n_symbol_per_ofdm);
bits_data_fixed(1:n_bits_data) = bits_data;
SNR = [0 5 10 15 20 25 30];
%N_los = [1 2 3 4]; %cm1-cm4
BER = zeros(1,length(SNR));
pilot = (1+i)/sqrt(2);
count = 0;
%---------------------channel------------------------------
PT = 3; % 用于限制信道冲击响应中的多径分量的个数
N_los = 1;%cm1-cm4
%[h] = cp0802_channel_IEEEuwb(N_los,PT);
h =[0.1];
%---------------------channel------------------------------
for snr = 1:length(SNR)
for nb = 1:n_time
bits = bits_data_fixed(1+(nb-1)*2*N_OFDM*n_symbol_per_ofdm:2*N_OFDM*n_symbol_per_ofdm+(nb-1)*2*N_OFDM*n_symbol_per_ofdm);
[S,Sc,Ss] = cp0203_qpsk_mod(bits);
[x] = cp0203_OFDM_pilot(S,N,N_pilot,pilot,N_OFDM); %
[y] = cp0802_channel(h,x);
[y] = cp0802_add_noise(y,SNR(snr));
%[y] = cp0204_Channel_Noise(x,SNR(snr));
[Y] = cp0204_transform(y,N,N_OFDM); % 去循环嵌缀, 变换到频域
[H_estimat,Y_data] = cp0204_channel_estimat(Y,N,N_pilot,pilot,N_OFDM); %
[H_estimat_interp] = cp0204_channel_estimat_interp(H_estimat,N,N_pilot,N_OFDM); %
[X_estimat] = cp0204_Y_estimat(Y_data,H_estimat_interp); %
[bits_estimat] = cp0203_qpsk_demod(X_estimat);
[rx_bits] = cp0203_qpsk_demod(Y_data);
if nb==n_time
bits = bits(1:2*N_OFDM*n_symbol_per_ofdm - length(bits_data_fixed) + n_bits_data);
bits_estimat = bits_estimat(1:2*N_OFDM*n_symbol_per_ofdm - length(bits_data_fixed) + n_bits_data);
end
[ER] = cp0203_ber(bits,bits_estimat);
[ER1] = cp0203_ber(bits,rx_bits);
BER(snr) = BER(snr) + ER;
count=count+1
%[x,bits] = cp0203_OFDM_qpsk(numbits,N);
%[y] = cp0204_Channel_Noise(x,N_los,SNR(snr));
%[R_bits] = cp0203_OFDM_qpsk_demod(y,N);
%[ER] = cp0203_ber(bits,R_bits);
%BER(N_los,snr) = BER(N_los,snr) + ER;
%m=m+1
end
end
BER = BER/n_bits_data;
plot(SNR,BER);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -