資源簡介
代碼實現ZF迫零預編碼功能。在移動通信系統中,由于多用戶干擾,造成接收端信號受到干擾,可以通過在站端進行預編碼消除。
代碼片段和文件信息
function?zf()%定義命名函數
clear?all
close?all
format?long;?%將數據顯示為長整型科學計數?
Nt=4;%發送天線個數
Nr=4;%接收天線數
SNR=[0:2:20];%設置不同信噪比?從0開始0+2?0+2+2?....到20結束的11個不同的信噪比
channel_n=100*ones(1length(SNR));%初始化信道矩陣?建立100組?1*length(SNR)的全1信道矩陣
error_zflinp=zeros(1length(SNR));%初始化誤碼率
for?loop_ebno=1:length(SNR)%不同信噪比的循環
????snr=10.^(SNR(loop_ebno)/10);%將信噪比從分貝形式轉化成比例表示
????ea=1;%每個天線發射的功率,也即信號向量中每個元素的功率
????es=ea*Nt;%總共的發射功率
????sigma_n2=es/snr;%噪聲功率
????num=200;%發送數據個數
????tic
????for?loop_channel=1:channel_n(loop_ebno)%信道的實現次數的循環
????????H=sqrt(1/2)*(randn(NrNt)+j*randn(NrNt));%信道增益矩陣
????????zf_F=H‘*inv(H*H‘);?%求出F^文獻MIMO信道預編碼技術研究??重要文獻p27??線性預編碼器取右偽逆矩陣
????????beta_zf=sqrt(es/norm(zf_F‘fro‘).^2);%計算zf_F的Frobenius范數%%求出縮放因子beta
????????F_zf=beta_zf*zf_F;%求出預編碼矩陣F=F^×beta
????????for?loop_num=1:num%在一幀數據符號中,信道保持不變。一幀總共有num個數據發送
????????????gen_u=(s
- 上一篇:圖像中煙霧檢測
- 下一篇:matlab瑞利信道的程序
評論
共有 條評論