资源简介
这个是基于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
相关资源
- OFDM峰均比限幅clipping抑制matlab仿真程
- MIMO通信系统_MATLAB仿真代码
- 多径信道下 简单OFDM matlab仿真
-
OFDM的Simuli
nk仿真 - OFDM符号定时同步算法仿真
- OFDM同步算法的仿真matlab
- OFDM QPSK调制解调
- OFDM系统信道估计仿真程序
- mIMO系统中STBC编码
- 基于导频的信道估计ls算法
- PTS matlab 代碼源
- OFDM MATLAB源码
- OFDM MATLAB 通信系统仿真程序
- mimo matlab
- ofdm1.m
- Volterra_均衡器
- MIMO复用技术MATLAB仿真代码
- matlab仿真mimo
- 使用matlab的OFDM导频ls lmmse信道估计
- OFDM盲信道估计_基于子空间的盲信道估
- 自适应信号与系统 LMS与RLS算法收敛
- 降低OFDM系统PAPR算法(PTS-SLM-C变换)
- OFDM信道估计源代码
- ZF/MMSE检测的MIMO误码率对比matlab仿真
- mimo 的matlab仿真
- LMS和RLS算法
- OFDM-BER-BPSK的matlab
- OFDM matlab程序
- 基于MATLAB的两输入两输出DMC控制教程
- OFDM信道估计
评论
共有 条评论