資源簡介
本程序是對V-BLAST系統及其檢測算法的仿真,可采用BPSK,QPSK,16QAM,64QAM調制。檢測算法為ML,MMSE,ZF,以及采用迫零的連續干擾消除檢測算法。

代碼片段和文件信息
function?output_frame?=?demodulation(input_modu?index)
%?demodulation?for?IEEE802.11a
%?Input:????input_modu?complex?values?representing?constellation?points
%???????????index
%?Output:???output_frame?output?bit?stream?(data?unit?is?one?bit)
%?In?this?version?increase?the?quatilization?levels?into?8.
%?note:?Matlab?index?starts?from?1
QAM_input_I?=?real(input_modu);
QAM_input_Q?=?imag(input_modu);
output_frame?=?zeros(1length(input_modu)*index);
switch?index
case?1
????BPSK_Demodu_I?=?[0?1];??????%f(m)=(m+1)/2?+?1?so?I=-1?--->?1?I=1?--->?2
????idx?=?find(QAM_input_I>1);
????QAM_input_I(idx)?=?1;
????idx?=?find(QAM_input_I<-1);
????QAM_input_I(idx)?=?-1;
????output_frame?=?BPSK_Demodu_I(round((QAM_input_I+1)/2)?+?1);
case?2
????QPSK_Demodu_IQ?=?[0?1];?????%f(m)=(m+1)/2?+?1?so?I=-1?--->?1?I=1?--->?2
????idx?=?find(QAM_input_I>1);
????QAM_input_I(idx)?=?1;
????idx?=?find(QAM_input_I<-1);
????QAM_input_I(idx)?=?-1;
????idx?=?find(QAM_input_Q>1);
????QAM_input_Q(idx)?=?1;
????idx?=?find(QAM_input_Q<-1);
????QAM_input_Q(idx)?=?-1;
????output_frame(1:2:end)?=?QPSK_Demodu_IQ(round((QAM_input_I+1)/2)?+?1);
????output_frame(2:2:end)?=?QPSK_Demodu_IQ(round((QAM_input_Q+1)/2)?+?1);
case?4
????QAM_16_Demodu_IQ?=?[0?1?3?2];???%f(m)=(m+3)/2?+?1?so?I=-3?--->?1?I=1?--->?3
????idx?=?find(QAM_input_I>3);
????QAM_input_I(idx)?=?3;
????idx?=?find(QAM_input_I<-3);
????QAM_input_I(idx)?=?-3;
????idx?=?find(QAM_input_Q>3);
????QAM_input_Q(idx)?=?3;
????idx?=?find(QAM_input_Q<-3);
????QAM_input_Q(idx)?=?-3;
????tmp?=?round((QAM_input_I+3)/2)?+?1;
????output_frame(1:4:end)?=?bitget(QAM_16_Demodu_IQ(tmp)2);
????output_frame(2:4:end)?=?bitget(QAM_16_Demodu_IQ(tmp)1);
????tmp?=?round((QAM_input_Q+3)/2)?+?1;
????output_frame(3:4:end)?=?bitget(QAM_16_Demodu_IQ(tmp)2);
????output_frame(4:4:end)?=?bitget(QAM_16_Demodu_IQ(tmp)1);
case?6
????QAM_64_Demodu_IQ?=?[0?1?3?2?6?7?5?4];???%f(m)=(m+7)/2?+?1?so?I=-7?--->?1?I=1?--->?5
????idx?=?find(QAM_input_I>7);
????QAM_input_I(idx)?=?7;
????idx?=?find(QAM_input_I<-7);
????QAM_input_I(idx)?=?-7;
????idx?=?find(QAM_input_Q>7);
????QAM_input_Q(idx)?=?7;
????idx?=?find(QAM_input_Q<-7);
????QAM_input_Q(idx)?=?-7;
????tmp?=?round((QAM_input_I+7)/2)?+?1;
????output_frame(1:6:end)?=?bitget(QAM_64_Demodu_IQ(tmp)3);
????output_frame(2:6:end)?=?bitget(QAM_64_Demodu_IQ(tmp)2);
????output_frame(3:6:end)?=?bitget(QAM_64_Demodu_IQ(tmp)1);
????tmp?=?round((QAM_input_Q+7)/2)?+?1;
????output_frame(4:6:end)?=?bitget(QAM_64_Demodu_IQ(tmp)3);
????output_frame(5:6:end)?=?bitget(QAM_64_Demodu_IQ(tmp)2);
????output_frame(6:6:end)?=?bitget(QAM_64_Demodu_IQ(tmp)1);
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2693??2004-10-03?22:04??V-BLAST程序\demodulation.m
?????文件???????1237??2004-10-03?22:04??V-BLAST程序\modulation.m
?????文件????????134??2007-04-20?21:53??V-BLAST程序\read?me.txt
?????文件???????3714??2007-04-20?21:44??V-BLAST程序\vblast.m
?????文件???????1524??2007-04-20?20:58??V-BLAST程序\vblast1.m
?????文件???????3015??2007-04-20?21:15??V-BLAST程序\vblast3.m
?????文件???????1590??2007-04-20?21:39??V-BLAST程序\vblast4.m
?????目錄??????????0??2007-04-20?21:53??V-BLAST程序
-----------?---------??----------?-----??----
????????????????13907????????????????????8
評論
共有 條評論