📄 nti_tr_uwb.asv
字号:
load tx;
ber=[];
%--------------------------------------------------------------------------
%--------------------------------------------------------------------------
%--------------------------------------------------------------------------
for i = 1:5
snr = 5*ii - 10;
%----------------------------------------------------------------------
%basic settings
sample_time = 1e-10;
Ns = 6; %Ts/Tf
nTp = 10;
nTd = 50;
nTf = 120;
nTs = Ns*nTf;
data_length = 10000;
%----------------------------------------------------------------------
%----------------------------------------------------------------------
for ii = 1:11
nTi = 3*ii + 7;
%------------------------------------------------------------------
for iii = 1:100
berr = [];
rx = awgn(tx,snr);
rx = reshape(rx,nTs,data_length);
%--------------------------------------------------------------
%small trick
reference_index_select = [];
for i=1:Ns
reference_index_select = [reference_index_select,(i-1)*nTf+1:(i-1)*nTf+nTi];
end
data_index_select = [];
for i=1:Ns
data_index_select = [data_index_select,(i-1)*nTf+nTp+nTd+1:(i-1)*nTf+nTp+nTd+nTi];
end
%--------------------------------------------------------------
%seperate reference and data pulse
rx_reference = rx(reference_index_select,:);
rx_data = rx(data_index_select,:);
%--------------------------------------------------------------
%demodulation
de = rx_reference.*rx_data;
de = sum(de,1);
de = de>0;
source = source>0;
berr(iii) = (data_length - sum(de==source))/(data_length);
end
%------------------------------------------------------------------
ber(i,ii) = sum(ber)/100;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -