errprob.m
来自「In 揚erformance of multi-carrier DS CDMA 」· M 代码 · 共 51 行
M
51 行
function [err avp n1] = errprob(data,snr_in_dB,M,pn,h)
% ----------------------------------------------------------------------- %
global err
snr = 10^(snr_in_dB/10);;
Nusers = 3;
N = 100;
Nc = 31;
T = 1;
Tc = (T/Nc);
%chip duration of MC-DS-CDMA
Nsample = 1; ts = Tc/Nsample;
fs = 1/ts;
%To save run time, we can select fc to be [1:M]*10000;
%To ensure that bandwidth of subcarrier doesn't overlap each other.
for i = 1:M
fc(i) = 10000+(1/(2*Tc));
end;
error = 0;
iteration = 2;
for n = 1:iteration
for i = 1:N,
%Sampling time
t = [(i-1)*T:ts:i*T-ts];
datat = data(i,:);
%Transmitter
trans = transmitter(datat,t,Nsample,Nc,pn,M,fc,Nusers);
E = sum(trans.^2);
simga = sqrt(E/snr);
%For multicarrier system
hno=(randn(1,Nc)+j*randn(1,Nc));
for path = 1:M
noise = simga*hno;
rec(path,:) = conv(h(path),trans)+noise;
end;
%Receiver
z = multirece(rec,h,t,Nsample,Nc,pn,M,fc,Nusers);
%decision
if z(1)<1
decision = 0;
else
decision = 1;
end;
if decision ~= datat(1)
error = error+1;
end;
end;
p(n) = error/(Nusers*N);
end;
avp = sum(p(n))/iteration;
% ----------------------------------------------------------------------- %
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?