dùng các cách khác nhau
Ta xét hiệu năng của hệ thống với số người dùng hoạt động cực đại
K=L=64 và ta giả sử rằng K tín hiệu của người dùng có cùng mức công suất,
2 2
1 ... k b
E d E d E . Do đó, chỉ trong trường hợp này, thành phần CUC
trong thuật toán MMSEC MUD cho từng người dùng trở thành ma trận đơn vị. Do đó, công thức (4.30) tương tự như công thức (4.19) và ma trận hệ số cân bằng
phương pháp MMSEC và MMSE là hoàn toàn giống nhau, đường cong MMSE MUD trùng khít với đường cong MMSEC.
Hình 4.7: Tỷ lệ lỗi bit tính theo phương pháp Monte-Carlo với K=L=NC=64 Ngược lại, trên hình 4.8, trong trường hợp số người dùng trong hệ thống khác nhau K<L. Lúc này, ma trận cân bằng G không cong là ma trận đường chéo. Do vậy, ma trận G của giải pháp MMSE MUD thực hiện theo công thức (4.30) sẽ cho hiệu năng tốt hơn so với giải pháp MMSEC. Tính ưu việt này có thể thấy trên hình 4.8 với trường hợp K=32 (tương ứng với hệ thống có dung lượng là 50%). 0 2 4 6 8 10 12 14 16 18 20 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR (dB) BER
K=L=64 and Nc=64 (Full load system)
No Equalizer MRC Combining ORC Combining EGC Combining MMSEC/carrier MMSE MUD/user MF MMSEC and MMSE MUD is coincident
Hình 4.8: Tỷ lệ lỗi bit tính theo phương pháp Monte-Carlo với K=32, L=NC=64
Tóm lại
Chương 4 nghiên cứu về:
- Các biểu thức giải tích và đánh giá hiệu năng của các kỹ thuật tách sóng đơn người dùng SUD và kỹ thuật tách sóng đa người dùng MUD của hệ thống MC-CDMA.
- Tìm hiểu mối quan hệ giữa các giải pháp tách tín hiệu tuyến tính MMSEC và MMSE MUD.
- Đưa ra một số kết quả mô phỏng
0 2 4 6 8 10 12 14 16 18 20 10-6 10-5 10-4 10-3 10-2 10-1 100 SNR (dB) BER
K=32 and L=Nc=64 (system load is equal to 50%)
No Equalizer MRC Combining ORC Combining EGC Combining MMSEC/carrier MMSE MUD/user MF
KẾT LUẬN VÀ KIẾN NGHỊ
Mục đích chính của Luận văn là tìm hiểu hiệu năng của các phương pháp tách sóng trong hệ CDMA đa sóng mang. Tác giả trình bày về mô hình hệ thống MC-CDMA, là sự kết hợp giữa hai công nghệ CDMA và OFDM, vì vậy tác giả cũng đi sâu vào tìm hiểu, nghiên cứu về hai công nghệ này. Các giải pháp cân bằng khác nhau của hệ thống MC-CDMA được nghiên cứu, phân tích đối với kênh đường xuống (tức là từ trạm gốc đến đầu cuối di động). Đồng thời tác giả cũng nghiên cứu phương pháp tách tín hiệu đa người dùng theo chỉ tiêu lỗi bình phương trung bình cực tiểu trên từng người dùng (MMSE MUD) trong môi trường đơn tế bào.
Mặc dù kỹ thuật tách tín hiệu đơn người dùng là kỹ thuật đơn giản, dễ thiết lập nhưng hiệu năng của hệ thống không cao. Để cải thiện hiệu năng của hệ thống, phải thiết lập kỹ thuật tách tín hiệu đa người dùng. Như ta đã biết giải pháp tách tín hiệu theo chỉ tiêu hợp lý cực đại ML là giải pháp tách tín hiệu tối ưu. Theo lý thuyết, giải pháp tách tín hiệu ML có thể sử dụng cho cả đường lên và đường xuống của hệ MC-CDMA. Tuy nhiên, vì có độ phức tạp tăng theo hàm mũ của số người dùng và độ dài mã trải phổ, nên giải pháp này chỉ phù hợp khi có ít người dùng trong hệ thống và chuỗi trải phổ của người dùng là ngắn. Chính vì vậy, để tăng dung lượng người dùng trong hệ thống, máy thu của hệ thống có thể thiết lập kỹ thuật tách tín hiệu đa người dùng phi tuyến dựa trên thuật toán triệt nhiễu song song PIC là giải pháp cận tối ưu tách đa người dùng, cho chúng ta hiệu năng tốt hơn nhiều so với kỹ thuật tách sóng đơn người dùng nhưng vẫn đảm bảo độ phức tạp chấp nhận được. Việc nghiên cứu, phân tích kỹ giải pháp triệt nhiễu song song PIC của hệ thống MC-CDMA trong môi trường đơn tế bào làm cơ sở cho tác giả tìm hiểu về cấu trúc máy thu lặp MMSEC-PIC mới của hệ thống MC-CDMA trong môi trường đa tế bào. Tác giả sẽ nghiên cứu, phát triển các lĩnh vực này trong thời gian tới.
TÀI LIỆU THAM KHẢO Tiếng Việt
1. Nguyễn Phạm Anh Dũng (9/2004), “Giáo trình lý thuyết trải phổ và đa truy cập vô tuyến”, NXB Bưu điện.
2. Nguyễn Ngọc Tiến (2007), “Các kỹ thuật tách tín hiệu của hệ thống thông tin Multicarrier-CDMA trong kênh đường xuống”, tr.1-16, Chuyên đề Tiến sĩ công nghệ Bưu chính Viễn thông, Học viện công nghệ Bưu chính Viễn thông, Hà Nội.
Tiếng Anh
3. Tom Bruns, “Performance comparison of multiuser OFDM Techniques”, Stanford University.
4. Nevio Benvenuto, “Algorithms for Communications systems and their application”
5. GS. Huỳnh Hữu Tuệ (2006), "Công Nghệ CDMA và ứng dụng trong mạng điện thoại di động", pp 32-40, 62-69, 85-90.
6. Hiroshi Harada, Ramjec Prasad (2002), “Simulation and software radio for mobile communication”, Code Division Multiple Access (CDMA) Transmission Technology, Artech Horse, pp. 227-242.
7. Shiro Kondo and L.B. Milstein (Feb. 1996), “Performance of Multicarrier DS CDMA system”, IEEE Transactions On Communications, vol 44, NO.2.
8. S. Hara, R. Prasad (1997), “Overview of Multicarrier CDMA”, IEEE Communications Magazine, pp. 126-133.
9. R.L. Gouable., and M.Helard (3/2003), “Performance of MC-CDMA systems in multipath indoor enviroments comparison with COFDM-TDMA system”,
3G Mobile Communication Technologies, first International Conference on, pp.81-85
10.A.Chouly, A. Brajal, S. Jourdan (Nov. 1993), “Orthogonal multicarrier techniques applied to direct sequence spread spectrum CDMA systems”, pp. 468-472.
11.D.N kalofonos, M. Stojanovic and J.G. Proakis (1998), “On the performance of adaptive MMSE detector for a MC-CDMA system in fast fading Rayleigh
12.H.Wang, Z. Li, J. Lilleberg (March. 2004), “Equalized parallel interference cancellation for MC-CDMA multicode downlink transmission”, Wireless Communication and networking Conference 2004 WCNC’04, vol.3.
13.Nguyen Ngoc Tien, Nguyen Viet Kinh (2006), “Performance evaluation MC- CDMA system over frequency selective Rayleigh Fading channel using Matlab”.
PHỤ LỤC
Dưới đây là một số chương trình mã nguồn trong phần mô phỏng bằng phần mềm Matlab.
1. MAI.m
L=64; % do dai ma walsh
Nu=[1 2 4 6 16 32 64]; % so nguoi su dung
snr=[3:0.5:20]; % ti le tin hieu tren on S/N
iter=10; % so lan lap lai cua kenh rayleigh
rt=[1:50:9951]; % thoi gian lay mau kenh fading Rayleigh
% kenh fading rayleigh lua chon theo tan so g=[1 0.8 0.8 0.6 0.4 0.3 0.2 0.2];
Ntap=length(g);
taps=channel(10000,g,1000,1,2); a=-1;
for i=1:log2(L) a=[a a;a -a]; end;
% ti le loi bit ban dau duoc gan bang ma tran zeros ber1=zeros(1,length(snr));
for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)])); % dap ung tan so cua kenh h=h/(mean(h.^2));
for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA
Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu
Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA
for n=1:Nu(1)
z11(n)=sum(r1.*h'./(Nu(1).*h'.^2+Pn(j)).*a(n,:)); end
ber1(j)=ber1(j)+sum(sign(z11)~=b(1:Nu(1)));
end; end;
BER1=ber1/iter/L/length(rt); % Average BER cua MC-CDMA theo EGC
% ti le loi bit ban dau duoc gan bang ma tran zeros ber2=zeros(1,length(snr));
for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)]));
% dap ung tan so cua kenh h=h/(mean(h.^2));
for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA
Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA
for n=1:Nu(2)
z11(n)=sum(r1.*h'./(Nu(2).*h'.^2+Pn(j)).*a(n,:)); end
ber2(j)=ber2(j)+sum(sign(z11)~=b(1:Nu(2)));
% BER cua MC-CDMA theo MMSEC end;
end; end;
BER2=ber2/iter/L/length(rt); % Average BER cua MC-CDMA theo EGC
% ti le loi bit ban dau duoc gan bang ma tran zeros ber3=zeros(1,length(snr));
for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)]));
% dap ung tan so cua kenh h=h/(mean(h.^2));
for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA
Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu
for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA
for n=1:Nu(3)
z11(n)=sum(r1.*h'./(Nu(3).*h'.^2+Pn(j)).*a(n,:)); end
ber3(j)=ber3(j)+sum(sign(z11)~=b(1:Nu(3)));
% BER cua MC-CDMA theo MMSEC end;
end; end;
BER3=ber3/iter/L/length(rt);
% Average BER cua MC-CDMA theo EGC % ti le loi bit ban dau duoc gan bang ma tran zeros
ber4=zeros(1,length(snr)); for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)]));
% dap ung tan so cua kenh h=h/(mean(h.^2));
for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA for n=1:Nu(4)
z11(n)=sum(r1.*h'./(Nu(4).*h'.^2+Pn(j)).*a(n,:)); end
ber4(j)=ber4(j)+sum(sign(z11)~=b(1:Nu(4)));
% BER cua MC-CDMA theo MMSEC end;
end; end;
ber5=zeros(1,length(snr)); for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)]));
% dap ung tan so cua kenh h=h/(mean(h.^2));
for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA for n=1:Nu(5)
z11(n)=sum(r1.*h'./(Nu(5).*h'.^2+Pn(j)).*a(n,:)); end
ber5(j)=ber5(j)+sum(sign(z11)~=b(1:Nu(5)));
% BER cua MC-CDMA theo MMSEC end;
end; end;
BER5=ber5/iter/L/length(rt);
% Average BER cua MC-CDMA theo EGC % ti le loi bit ban dau duoc gan bang ma tran zeros
ber6=zeros(1,length(snr)); for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)]));
% dap ung tan so cua kenh h=h/(mean(h.^2));
for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
for n=1:Nu(6)
z11(n)=sum(r1.*h'./(Nu(6).*h'.^2+Pn(j)).*a(n,:)); end
ber6(j)=ber6(j)+sum(sign(z11)~=b(1:Nu(6)));
% BER cua MC-CDMA theo MMSEC end;
end; end;
BER6=ber6/iter/L/length(rt); % Average BER cua MC-CDMA theo EGC
% ti le loi bit ban dau duoc gan bang ma tran zeros ber7=zeros(1,length(snr));
for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)]));
% dap ung tan so cua kenh h=h/(mean(h.^2));
for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA for n=1:Nu(7)
z11(n)=sum(r1.*h'./(Nu(7).*h'.^2+Pn(j)).*a(n,:)); end
ber7(j)=ber7(j)+sum(sign(z11)~=b(1:Nu(7)));
% BER cua MC-CDMA theo MMSEC end;
end; end;
BER7=ber7/iter/L/length(rt); % Average BER cua MC-CDMA theo EGC
semilogy(snr,BER1,'-',snr,BER2,'+-',snr,BER3,'*-',snr,BER4,'o-',snr,BER5,'x- ',snr,BER6,'^-',snr,BER7,'v-')
xlabel('SNR (dB)') ylabel('Average BER')
axis([snr(1) snr(end) 1e-4 1])
2. sosanhMC-CDMA,PDMA,optimalPDMA,.m
L=64; % do dai ma walsh
Nu=64; % so nguoi su dung
snr=[3:0.5:20]; % ti le tin hieu tren on S/H
iter=10; % so lan lap lai cua kenh rayleigh
subset=[49:L]; % tap hop con
Lopt=length(subset); % do dai cua tap con subset
g=[1 0.8 0.8 0.6 0.4 0.3 0.2 0.2]; Ntap=length(g);
rt=[1:50:9951]; % thoi gian lay mau kenh fading
Rayleigh % tao ma WALSH
a=-1;
for i=1:log2(L) a=[a a;a -a]; end;
taps=channel(10000,g,1000,1,2); % kenh fading rayleigh chon lọc tan so ber1=zeros(1,length(snr));
ber2=zeros(1,length(snr)); ber3=zeros(1,length(snr)); for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)])); % dap ung tan so cua kenh ave_gain=sqrt(mean(h.^2));
h=h/ave_gain; hh=sort(h);
hopt=hh(subset); % dap ung tan so cua kenh ung voi tap
con subset for k=1:iter
b=sign(randn(1,L)); %tao bit ngau nhien ung voi ma WALSH bopt=b(subset);
s1=sum(diag(b)*a); % tin hieu MC-CDMA
Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu
Pn=Ps./(10.^(.1*snr)); % cong suat on trung binh cua tin hieu
s2=b*sqrt(Ps); % tin hieu FDMA
s3=s2(subset); % tin hieu optimal FDMA
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA
for n=1:Nu
z11(n)=sum(r1.*L.*h'./(L*h'.^2+Pn(j)).*a(n,:));
% MC-CDMA su dung MMSEC end;
ber1(j)=ber1(j)+sum(sign(z11)~=b); % BER cua he thong MC-CDMA
r2=s2.*h'+noise; % tin hieu thu FDMA
z12=sign(r2); % giai ma bit tin hieu FDMA
ber2(j)=ber2(j)+sum(sign(z12)~=b); % BER cua he thong FDMA r3=s3.*hopt'+noise(subset); % tin hieu thu optimal FDMA
z13=sign(r3); % giai ma bit tin hieu optimal FDMA
ber3(j)=ber3(j)+ sum(sign(z13)~=bopt); % BER cua he thong optimal FDMA end;
end; end;
BER1=ber1/iter/L/length(rt); % Average BER cua MC-CDMA
BER2=ber2/iter/L/length(rt); % Average BER cua FDMA
BER3=ber3/iter/Lopt/length(rt); % Average BER cua optimal FDMA
semilogy(snr,BER1,'o-',snr,BER2,'v-',snr,BER3,'*-') xlabel('SNR(dB)')
ylabel('Average BER')
legend('ti le loi bit cua he thong MC-CDMA','ti le loi bit cua he thong FDMA','ti le loi bit cua he thong Optimal FDMA')
axis([snr(1) snr(end) 1e-4 1])
3. sosanhEGC,MRC,MMSECwith32users.m
L=64; % do dai ma walsh
Nu=32; % so nguoi su dung
snr=[3:0.5:20]; % ti le tin hieu tren on S/N
iter=10; % so lan lap lai cua kenh rayleigh
rt=[1:50:9951]; % thoi gian lay mau kenh fading Rayleigh
% kenh fading rayleigh chon loc theo tan so g=[1 0.8 0.8 0.6 0.4 0.3 0.2 0.2];
Ntap=length(g);
taps=channel(10000,g,1000,1,2);
ber2=zeros(1,length(snr)); ber3=zeros(1,length(snr)); for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)]));
% dap ung tan so cua kenh h=h/(mean(h.^2));
% tao ma WALSH a=-1;
for i=1:log2(L) a=[a a;a -a]; end; for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA for n=1:Nu
z11(n)=sum(r1.*a(n,:)); % giai ma bit theo EGC z12(n)=sum(r1.*h'.*a(n,:)); % giai ma bit theo MRC z13(n)=sum(r1.*h'./(Nu.*h'.^2+Pn(j)).*a(n,:));
% giai ma bit theo MMSEC end
ber1(j)=ber1(j)+sum(sign(z11)~=b(1:Nu));
% BER cua MC-CDMA theo EGC ber2(j)=ber2(j)+sum(sign(z12)~=b(1:Nu));
% BER cua MC-CDMA theo MRC ber3(j)=ber3(j)+sum(sign(z13)~=b(1:Nu));
% BER cua MC-CDMA theo MMSEC end;
end; end;
BER1=ber1/iter/L/length(rtBER2=ber2/iter/L/length(rt);
% Average BER cua MC-CDMA theo EGC BER3=ber3/iter/L/length(rt); % Average BER cua MC-CDMA theo MMSEC
semilogy(snr,BER1,'o-',snr,BER2,'+-',snr,BER3,'*-') xlabel('SNR (dB)')
ylabel('Average BER')
legend('BER with EGC','BER with MRC','BER with MMSEC') axis([snr(1) snr(end) 1e-4 1])
4. MMSECwith8paths&4paths.m
L=64; % do dai ma walsh
Nu=[1 2 4 6 16 32 64]; % so nguoi su dung
snr=[3:0.5:20]; % ti le tin hieu tren on S/N
iter=10; % so lan lap lai cua kenh rayleigh
rt=[1:50:9951]; % chi so thoi gian de lay mau kenh fading Rayleigh
% kenh fading rayleigh lua chon theo tan so g=[1 0.8 0.8 0.6 0.4 0.3 0.2 0.2];
Ntap=length(g);
taps=channel(10000,g,1000,1,2); a=-1;
for i=1:log2(L) a=[a a;a -a]; end;
% ti le loi bit ban dau duoc gan bang ma tran zeros ber1=zeros(1,length(snr));
for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)]));
% dap ung tan so cua kenh h=h/(mean(h.^2));
for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA
Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu
Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA
for n=1:Nu(1)
z11(n)=sum(r1.*h'./(Nu(1).*h'.^2+Pn(j)).*a(n,:)); end
% BER cua MC-CDMA theo MMSEC end;
end; end;
BER1=ber1/iter/L/length(rt); % Average BER cua MC-CDMA EGC
% ti le loi bit ban dau duoc gan bang ma tran zeros ber2=zeros(1,length(snr));
for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)])); % dap ung tan so cua kenh h=h/(mean(h.^2));
for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA
Ps=1/L*sum(s1.^2); % cong suat trung binh cua tin hieu
Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA
for n=1:Nu(2)
z11(n)=sum(r1.*h'./(Nu(2).*h'.^2+Pn(j)).*a(n,:)); end
ber2(j)=ber2(j)+sum(sign(z11)~=b(1:Nu(2)));
% BER cua MC-CDMA theo MMSEC end;
end; end;
BER2=ber2/iter/L/length(rt); % Average BER cua MC-CDMA theo EGC
% ti le loi bit ban dau duoc gan bang ma tran zeros ber3=zeros(1,length(snr));
for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)]));
% dap ung tan so cua kenh h=h/(mean(h.^2));
for k=1:iter
b=sign(randn(1,L)); % tao cac bit ngau nhien
s1=sum(diag(b)*a); % tin hieu truyen dan MC-CDMA
Pn=Ps./(10.^(0.1*snr)) ; % cong suat on trung binh cua tin hieu for j=1:length(snr)
noise=sqrt(Pn(j))*randn(1,L); % tin hieu on
r1=s1.*h'+noise; % tin hieu thu MC-CDMA
for n=1:Nu(3)
z11(n)=sum(r1.*h'./(Nu(3).*h'.^2+Pn(j)).*a(n,:)); end
ber3(j)=ber3(j)+sum(sign(z11)~=b(1:Nu(3)));
% BER cua MC-CDMA theo MMSEC end;
end; end;
BER3=ber3/iter/L/length(rt); % Average BER cua MC-CDMA theo EGC
% ti le loi bit ban dau duoc gan bang ma tran zeros ber4=zeros(1,length(snr));
for t=1:length(rt)
h=abs(fft([taps(:,rt(t));zeros(L-Ntap,1)]));
% dap ung tan so cua kenh