1.软件版本
MATLAB2019a
2.本算法理论知识
在传统的多址接入方式中,常用的技术是FDM,即频分多址技术。其主要功能就是将整个带宽分为多个频率互不重叠的子信道,然后单独对每个信号进行独立的调制。这种技术的特点是频率上的互不重叠从而防止了信道间干扰,但这降低了频谱利用率,浪费了大量的带宽资源。针对这个问题,为了提高频谱的利用率,可以考虑将频谱进行重叠,但是为了防止互相干扰,必须让每个子信道之间是正交的。从而发展处了OFDM技术,这就是多载波调制技术,即OFDM技术。
在OFDM中,整个带宽被分为N个正交子载波,每一个子载波的数据传输波特率为1/Ts,此外,相邻两个子载波之间的中心频率间隔也为1/Ts,这就实现了子载波的正交性要求。同时,使用OFDM技术,其是将N个子载波进行同时传输,即并行传输的,这样就能降低每个子载波的传输速率。所以OFDM技术可以将高速率传输变为N个低速率传输。这样还大大降低了系统接收机的实现复杂性。此外,OFDM技术也是多载波CDMA技术的基础,因此,在这里首先介绍OFDM技术。
OFDM技术在接收端进行和发送相反的操作,将接收到的OFDM信号通过FFT傅里叶变换将其变为为频域信号,子载波的幅度和相位被采集出来并转换回数字信号。完整的OFDM系统的物理结构框图如图2.2所示:
多载波CDMA技术的发送和接收原理框图如下所示:
图2 多载波CDMA发送框图
图3 多载波CDMA接收框图
3.部分核心代码
function ber=MRC(snr)
Nt = 1;
Nr = 1;
p = 1;
no_bit_sym = 1;
no_it_x_SNR = 10000;
tot_err_m1 = 0;
for i=1:no_it_x_SNR
X=(2*round(rand(Nt,1))-1);
H=Cor_H(Nr,Nt,p);
sig=sqrt(0.5/(10^(snr/10)));
n=sig*(randn(Nr,Nt)+j*randn(Nr,Nt));
R=H*X+n;
s0=0;
for n=1:Nr
s0=conj(H(n,1))*R(n,1)+s0;
end
if(real(s0)>0)
decoded=1;
else
decoded=-1;
end
err_m1=sum(round(X')~=round(decoded));
tot_err_m1=err_m1+tot_err_m1;
end
ber=tot_err_m1/(no_it_x_SNR);
function ber = mc_cdma(snr,num_user,num_data)
N = 512; % number of symbols in a single OFDM symbol
GI = 80; % guard interval
Mt = 1; % number of Tx antennas
Mr = 1; % number of Rx antennas
M = 8; % max constellation bit number
num_subc = 8; % number of subcarriers
mod_level = 2;
spreadLength=8;
% snr=0;
en = 10^(snr/10);
sigma = 1/sqrt(2*en);
cSpread=[1 1 1 1 1 1 1 1;1 -1 1 -1 1 -1 1 -1;...
1 1 -1 -1 1 1 -1 -1;1 -1 -1 1 1 -1 -1 1;...
1 1 1 1 -1 -1 -1 -1;1 -1 1 -1 -1 1 -1 1;...
1 1 -1 -1 -1 -1 1 1;1 -1 -1 1 -1 1 1 -1];
multipath = [sqrt(0.1897) 0 sqrt(0.3785) 0 0 sqrt(0.2388) 0 0 0 0 sqrt(0.0951) 0 0 0 0 sqrt(0.06) 0 0 0 0 0 0 sqrt(0.0379)]; %% power
multipath_channel0 = zeros(1,length(multipath));
signal_tx = zeros(num_data*spreadLength/N,N + GI);
for loop_user=1:num_user
msg = rand(num_data,1)>=0.5;
code1 = [];
trel = poly2trellis(6,[53 75]);
code1 = [code1 convenc(msg,trel)];
code = code1';
if loop_user == 1
msg_user1 = msg;
code_user1 = code1;
end
num_data1 = 2*num_data;
[iout,qout] = qpsk(code,1,num_data1,mod_level);
inputData = iout+i*qout; %???
[S] = mc_spreading(inputData,1,num_data,cSpread(loop_user,:),spreadLength);
for m=1:num_data*spreadLength/N
ofdm_symbol((m-1)*(N+GI)+1:m*(N+GI)) = ifft_cp_tx_blk(S((m-1)*N+1:m*N),N,GI)*sqrt(N);
end
for p = 1:(num_data*spreadLength/N)
multipath_channel(p,:) = multipath.*(randn(1,length(multipath_channel0))+j*randn(1,length(multipath_channel0)))*sqrt(0.5);
if loop_user==1
multipath_channel_user1(p,:) = multipath_channel(p,:);
end
signal_tx_p = filter(multipath_channel(p,:),[1],ofdm_symbol((N+GI)*(p-1)+1:(N+GI)*p));% passing through the multipath channel
signal_tx_loop(p,:) = signal_tx_p;
end
signal_tx = signal_tx + signal_tx_loop;
end
noise = sigma*(randn(num_data*spreadLength/N,N+GI) + j*randn(num_data*spreadLength/N,N+GI));
signal_rx = signal_tx + noise;
y2 = [];
for q =1:(num_data*spreadLength/N)
rec_symbol = [];
rec_symbol = [rec_symbol; fft_cp_rx_blk(signal_rx(q,:),N,GI)/sqrt(N)];
rec_symbol2 = reshape(rec_symbol,Mt*N,1);
h = [multipath_channel_user1(q,:),zeros(1,N+GI-length(multipath))];
Hf1 = fft(h,N);
for n = 1:N/spreadLength
y1=0;
for m = 1:spreadLength
y1 = y1 + cSpread(1,m)*conj(Hf1((n-1)*spreadLength+m))*rec_symbol2((n-1)*spreadLength+m);
end
temp(n) = y1;
end
y2 = [y2,temp];
end
y = reshape(y2,1,num_data);
idata = real(y);
qdata = imag(y);
y_demod = deqpsk(idata,qdata,1,num_data,mod_level);
y_demod = y_demod';
tblen = 10;
decoded1 = vitdec(y_demod,trel,tblen,'cont','hard');
[n1,r1] = biterr(decoded1(tblen+1:end),msg_user1(1:end-tblen,1));
ber = r1;
4.仿真结论
图.7 三种方式的误码率对比
通过上面的讨论分析,这里采用MMSE方式作为单用户检测方式。由此说明,在相同SNR的条件下,MMSE具有较好的性能,因此,在进行单用户检测的时候,采用MMSE均衡算法。
5.参考文献
[1]Wenfeng Lin,Chen He.A low-complexity receiver for iterative parallel interference cancellation and decoding in MIMO–OFDM systems.AEU-International Journal of Electronics and Comm- unications, 2008,62(1,2):68-71.
[2]Merahi Bouziani,Ali Djebbari,Ahmed B.Djebbar,Mohammed F.Belbachir,Jean M.Rouvaen. MC-CDMA with exponential power profile in Nakagami fading channel.AEU-International Journal of Electronics and Communications,2005,59(6):359-361.
[3]Jinfang Zhang,Jon W.Mark,Xuemin(Sherman)Shen.An adaptive handoff priority scheme for wireless MC-CDMA cellular networks supporting real-time multimedia applications.Computer Communications,2005,28(10):1240-1250.
A01-34