资源简介
有关于mimo下行预编码的matlab编程,希望能有帮助。
代码片段和文件信息
%基于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)*(rand
相关资源
- 注水功率分配
- mimo_detection.m
- 《MIMO-OFDM无线通信技术及MATLAB实现》
- MIMO_OFDM联合仿真的matlab 源程序很完整
- MIMO MMSE、ZF检测
- mimo-ofdm系统fft方法的实现
- MIMO_OFDM.m
- 双基地MIMO雷达目标跟踪算法matlab程序
- MIMO-WSN系统的功率控制仿真
- 无线通信MIMO VBLAST的matlab仿真
- MIMO信道容量随信噪比变化:发送端未
- MIMO信道容量随信噪比变化:发送端未
- MIMO 信道容量 发射端已知、未知CSI的
- mimo ofdm无线通信技术及matlab实现 源代
- MIMO 注水算法 Matlab代码
- Matrix_inversion_Multiuser_MIMO
- MU MIMO sim 无线信道中多用户MIMO的建模
- MIMO系统 检测仿真
- 《MIMO-OFDM无线通信技术及MATLAB实现》
- 任意发送天线_任意接收天线的STBC-M
- STBC-MIMO-OFDM
- MIMO信道容量的Matlab仿真程序
- 关于大规模MIMO的系统仿真matlab程序
- MIMO-OFDM Wireless Communications with MATLAB
- 单/多用户MIMO仿真代码 附多种调制方
- MIMO信道容量MATLAB仿真程序
- function Energy Efficiency
- MIMO雷达发射方向图设计源码
- 可见光通信MIMO和OFDM系统仿真
- 3DMIMOchannel--3DMIMO
评论
共有 条评论