资源简介
这个是基于LS最优算法的MIMO-OFDM通信系统的信道估计的代码,有仿真结果,及详细的注释。
代码片段和文件信息
%OFDM系统参数设置
clc;
clear all;
NFFT=64; %FFT长度
G=0; %保护间隔长度
M_ary=4; %进制数
P_A=sqrt(2); %导频符号的幅度
D_t=4; %时域内导频序列的间隔,即一个训练序列与另一个训练序列的间隔
t_a=50*10^(-9); %HiperLAN/2中的采样间隔
%蒙特卡洛信道参数设置
symbol_duration=NFFT*t_a; %一个OFDM信号的时间
number_of_summations=40; %蒙特卡洛方法中的调和系数
f_dmax=50.0; %最大多普勒频移
load h_decimation.am -ascii; %数据文件,存储多径信道p[k]与套k参数
h11_initial=h_decimation; %h11:发送天线1到接收天线1信道参数
h12_initial=h_decimation; %h12:发送天线1到接收天线2信道参数
h21_initial=h_decimation; %h21:发送天线2到接收天线1信道参数
h22_initial=h_decimation; %h22:发送天线2到接收天线2信道参数
N_P=length(h_decimation);
NofOFDMSymbol=1000; %OFDM符号个数,包括导频OFDM符号与数据OFDM符号
No_Of_OFDM_Data_Symbol=NofOfdmsYMBOLceil(NofOFDMSymbol/D_t);%数据OFDM符号个数
length_data=(No_Of_OFDM_Data_Symbol)*NFFT;%总的数据长度,例如采用4QAM则是四进制数据的长度
Number_Relz=100; %循环数
ser_relz=[]; %存储每个循环的误码率
for number_of_relialization=1:Number_Relz;%循环开始
%产生信道中的随机系数
u11=rand(N_Pnumber_of_summations);
u12=rand(N_Pnumber_of_summations);
u21=rand(N_Pnumber_of_summations);
u22=rand(N_Pnumber_of_summations);
%发送的二进制比特流
source_data1=randint(length_data2);
source_data2=randint(length_data2);
%转换为四进制信号
symbols1=bi2de(source_data1);
symbols2=bi2de(source_data2);
%进行4QAM映射
QASK_Symbol1=dmodce(symbols111‘qask‘M_ary);
%存放第一个天线发送的数据
QASK_Symbol2=dmodce(symbols211‘qask‘M_ary);
%存放第二个天线发送的串行数据
%天线IIFFT前的信号,为IFFT点的并行数据,即将串行数据转换为并行数据
Data_Patterm1=[];%为IFFT转呗输入信号
m=0;
for i=0:No_Of_OFDM_Data_Symbol-1;
QASK_tem=[];
for n=1:NFFT;
QASK_tem=[QASK_temQASK_Symbol1(i*NFFT+n)];
end;
Data_Pattern1=[Data_Pattern1;QASK_tem];
clear QASK_tem;
end;
%天线2IFFT前的信号,为IFFT点的并行数据,即将串行数据转换为并行数据
Data_Pattern2=[];
m=0;
for i=0:No_Of_OFDM_Data_Symbol-1;
QASK_tem=[];
for n=1:NFFT;
QASK_tem=[QASK_temQASK_Symbol2(i*NFFT+n)];
end;
Data_Pattern2=[Data_Pattern2;QASK_tem];
clear QASK_tem;
end;
%天线1的导频信号
PP_A1=[];
for m=0:NFFT-1;
PP_A1=[PP_A1P_A*exp(j*D_f*pi*(m)^2/NFFT)];
end;
%FFT矩阵
F=[];
for k=0:NFFT-1;
W_tem=[];
for n=0:NFFT-1;
W_tem=[W_temexp(-j*2*pi*n*k/NFFT)];
end;
F=[F;W_tem];
end;
%LS估计系数
PP=[diag(PP_A1)*F(:1:n_p)diag(PP_A2)*F(:1:N_P)];
%参看Q
Q=inv(PP*PP);%%%%%%%%%%%%%%%%%%%%%%%%参看式5—80中的QQ的逆
%天线1发送信号。将导频插入并行OFDM数据,一个块状导频OFDM符号后3个数据
%OFDM符号
TS1_BeforeIFFT=Insert_PilotSymbol(PP_A2Data_Pattern2D_tNofOFDMSymbolNFFT);
ser_without_isic=[];
snr_min=0;%最小性噪比
snr_max=50;%最大性噪比
step=5;%信噪比步长
for snr=snr_min:step:snr_max;%信噪比循环
%对第一个发送天线
rsl1_frame=[];
%存放并行的经过多径与加性高斯白噪声信道的第一个发送天线到第一个接收天线的每个OFDM符号
rsl2_frame=[];
%存放并行的经过多径与加性高斯白噪声信道的第一个发送天线到第二个接收天线的每个OFDM符号
initial_time=0;%初始时间
for i=0:NofOFD
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- OFDM系统MATLAB仿真代码
- MIMO雷达DOA估计中的克拉美罗界计算
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- OFDM_and_MC-CDMA_for_Broadband_Multi-User_Comm
- 基于MATLAB的OFDM系统仿真及分析
- OFDM通信系统matlab实现
- 基于Matlab的OFDM系统仿真的设计
- 密钥生成CQG量化
- 密钥生成CQ量化
- 基于OFDMA系统的多用户资源分配算法,
- 基于MATLAB的OFDM系统仿真及性能分析
- 基于自适应压扩法降低OFDM系统的峰均
- 多用户资源分配
- MIMO-OFDM无线通信技术及MATLAB实现
- 使用 MATLAB 改变mimo无线通信设计
- MIMO-OFDM+WIRELESS+COMMUNICATIONS+WITH+MATLAB
- 一篇很详细的关于OFDM原理和仿真的论
- Massive MIMO信号检测算法以及信道估计
- 基于matlab的mimo-ofdm的信道估计
- MIMOOFDM 极化码 MATLAB
- OFDM-MIMOMATLAB
- 基于MATLAB的OFDM通信系统模型的仿真毕
- ofdm系统matlab仿真源代码
- MassiveMIMO信号检测算法以及信道估计算
- OFDM系统MATLAB仿真.zip
- 多份OFDM仿真的MATLAB仿真代码,以及相
- 基于matlab的MIMO仿真
- MIMO-OFDM无线通信技术及MATLAB实现英文
- MIMO和OFDM及matlab实现
评论
共有 条评论