?? mmse_dec.m
字號:
%本程序用于對單用戶檢測,傳統多用戶檢測,解相關多用戶檢測
%的性能進行比較
%本程序只考慮到噪聲和干擾的抵消,不針對編解碼的問題
%%本例針對同步cdma系統
%僅考慮了遠近效應和功率控制,信道考慮了AWGN和正弦干擾的影響
%異步和多徑沒有考慮
%擴頻碼是長度為31的gold序列
echo on
Lc=31;%用于對符號擴頻的長度
A2=7;%正弦干擾信號的幅度
w0=1;
%
%gold 序列,參考<<MATLAB與通信仿真>>
%也可以考慮使用一個函數來產生
% PN1=[0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0] %sum()=7
PN1=[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];
% PN2=[0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 1 1]%sum()=-1
PN2=[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];
% PN3=[ 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 ] %sum()=7
PN3=[-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];
% PN4=[0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 1]%sum()=-1
PN4=[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];
%
%correlatting index
R12=sum(PN1.*PN2)/Lc;
R13=sum(PN1.*PN3)/Lc;
R14=sum(PN1.*PN4)/Lc;
R23=sum(PN2.*PN3)/Lc;
R24=sum(PN2.*PN4)/Lc;
R34=sum(PN3.*PN4)/Lc;
%
% correlating matrix
R=[1 R12 R13 R14;R12 1 R23 R24;R13 R23 1 R34;R14 R24 R34 1];
%
%the inverse matrix of R
%S=inv(R);
%
%在不同的信噪比條件下誤碼測試
snrindb=0:2:12;
for i=1:length(snrindb),
[err_prbmul(i),err_prbmuldecorr(i),err_mmse(i)]=ss_pemmse(snrindb(i),R,PN1,PN2,PN3,PN4);
end;
%
%畫誤碼率曲線
semilogy(snrindb,err_prbmul,'-b');%傳統多用戶的誤碼率曲線
hold on
semilogy(snrindb,err_prbmuldecorr,'-r');%解相關多用戶的誤碼率曲線
hold on
semilogy(snrindb,err_mmse,'-g');%mmse多用戶的誤碼率曲線
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -