资源简介
mimo下行的线性预编码,分别基于ZF准则和MMSE准则,分别对基于zf准则的线性预编码和基于mmse准则的线性预编码进行比较。最后得到结论。
代码片段和文件信息
%基于ZF准则和MMSE准则的预编码性能比较
function zf_mmse()
clear all
close all
format long; %将数据显示为长整型科学计数
Nt=4;%天线个数
Nr=4;
SNR=[0:2:20];%设置不同信噪比
channel_n=100*ones(1length(SNR));
error_mmselinp=zeros(1length(SNR));%初始化误码率
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));%信道增益矩阵
mmse_F=H‘*inv(H*H‘+sigma_n2/ea*eye(Nt));
zf_F=H‘*inv(H*H‘); %求出F^文献MIMO信道预编码技术研究 重要文献p27
beta_mmse=sqrt(es/norm(mmse_F‘fro‘).^2);
beta_zf=sqrt(es/norm(zf_F‘fro‘).^2);%计算zf_F的Frobenius范数%%求出缩放因子beta
F_mmse=beta_mmse*mmse_F;
F_zf=beta_zf*zf_F;%求出预编码矩阵F=F^×beta
for loop_num=1:num%在一帧数据符号中,信道保持不变。一帧总共有num个数据发送
gen_u=(sign(randn(Nt1))+j*sign(randn(Nt1)));%产生信号
u=sqrt(1/2)*gen_u;%归一化信号功率
x_mmse=F_mmse*u;
x_zf=F_zf*u;%发送信号
noise=sqrt(sigma_n2/2)*(randn(Nr1)+j*randn(Nr1));%生成噪声功率为sigma_n2的噪声
noise1=sqrt(sigma_n2/2)*(randn(Nr1)+j*randn(Nr1));
y_mmse=H*x_mmse+noise;
y_zf=H*x_zf+noise1;
r_mmse=1/beta_mmse*y_mmse;
r_zf=1/beta_zf*y_zf;%接收信号
rev_data_mmse=sign(real(r_mmse))+j*sign(imag(r_mmse));%对接收信号进行判决
rev_data_zf=sign(real(r_zf))+j*sign(imag(r_zf));
error_mmselinp(1loop_ebno)=error_mmselinp(1loop_ebno)+sum(((abs(rev_data_mmse-gen_u)).^2)/4);%计算误比特数
error_zflinp(1loop_ebno)=error_zflinp(1loop_ebno)+sum(((abs(rev_data_zf-gen_u)).^2)/4);
end
end
toc
ber_mmselinp(1loop_ebno)=error_mmselinp(1loop_ebno)/(num*Nt*2*channel_n(loop_ebno));%注意每一个信噪比产生的数据数=channel_n(loop_ebno)*num*Nt*2
%乘以2是因为,产生的数据符号式复数,相当于进行了4QAM调制
ber_zflinp(1loop_ebno)=error_zflinp(1loop_ebno)/(num*Nt*2*channel_n(loop_ebno));
end
%画出不同准则下误码率和信噪比的曲线
P1=semilogy(SNRber_mmselinp‘o-r‘);
hold on
P2=semilogy(SNRber_zflinp‘*-k‘);
set(P1‘Linewidth‘[2]);%P1线宽2号
set(P2‘Linewidth‘[2]);%P2线宽2号
grid on;
xlabel(‘symbol SNR(dB)‘);ylabel(‘BER‘);
title(‘基于ZF准则和MMSE准则的预编码性能比较‘)
leg1=‘mmselinear‘;%设置图例
leg2=‘zflinear‘;
legend(leg1leg2);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2735 2010-05-04 09:19 zf_mmse.m
----------- --------- ---------- ----- ----
2735 1
- 上一篇:Intouch2017临时授权
- 下一篇:Caurina 包文件
相关资源
- 降低MIMO-OFDM系统峰均比的QAS算法
- MIMO-OFDM通信系统仿真报告.docx
- Eazfuscator.NET 2019.2.zip
- Fundamentals of Massive MIMO
- 基于MIMO技术轨道角动量光通信的仿真
- OFDM信道估计,实现了LMMSE算法
- 06586529STBC-MIMO-OFDM.rar
- 有关mimo信道估计的相关源码
- 大规模MIMO的容量算法优化算法研究
- MIMO-OFDM信道仿真
- MU_MIMO.rar
- OFDM基于块状导频的信道估计算法仿真
- 研究MIMO的93篇优秀论文导读
- 77GHz多载频MIMO汽车雷达信号处理方法
- MIMO 检测算法 ML、ZF、MMSE 等采用 BPS
- MIMO-OFDM 系统的信道估计程序包括导频
- 最佳多用户发射波束形成:一个具有
- MIMO中不同分集技术对误比特率的影响
- MIMO_QR分解_符號檢測
- 大规模MIMO
- 不同信道估计性能对比
- Massive-MIMO
- 瑞利信道LS信道估计
- 双基地MIMO雷达的DOD和DOA联合估计
- 基于ESPRIT和Root-MUSIC算法的极化MIMO雷达
- 基于MMSE的频域均衡方法
- MIMO技术详解
- MIMO系统中ZF均衡算法
- LMMSE算法在信道均衡中的应用
评论
共有 条评论