资源简介
基于matlab的mimo-ofdm的信道估计,内含代码及论文
代码片段和文件信息
%------------------------------------------
% EE359 final project Fall 2002
% Channel estimation for a MIMO-OFDM system
% By Shahriyar Matloub
%------------------------------------------
clc;
clear all;
%close all;
i = sqrt(-1);
Rayleigh = 1;
AWGN = 0; % for AWGN channel
MMSE = 0; % estimation technique
Nsc = 64; % Number of subcarriers
Ng = 16; % Cyclic prefix length
SNR_dB = [0 5 10 15 20 25 30 35 40]; % Signal to noise ratio
Mt = 2; % Number of Tx antennas
Mr = 2; % Number of Rx antennas
pilots = [1:Nsc/Ng:Nsc]; % pilot subcarriers
DS = 5; % Delay spread of channel
iteration_max = 200;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Channel impulse response %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (Rayleigh)
N = 50;%模拟用到的模型的个数
fm = 100;%似乎是多普勒频移
B = 20e3;%20000 似乎是抽样频率
fd = (rand(1N)-0.5)*2*fm;%产生元素为-fm~fm之间服从均匀分布1*N的向量
theta = randn(1N)*2*pi;%产生均值为零,方差为2pi的服从正态分布的1*N的向量
c = randn(1N);
c = c/sum(c.^2);%正态分布的矢量对能量归一化1*N的向量
t = 0:fm/B:10000*fm/B;%产生10001个点范围为(0~100/20000)
Tc = zeros(size(t));
Ts = zeros(size(t));
for k=1:N
Tc = c(k)*cos(2*pi*fd(k)*t+theta(k))+Tc;%在时间轴上的每个点上对50个波形碟带
Ts = c(k)*sin(2*pi*fd(k)*t+theta(k))+Ts;%在时间轴上的每个点上对50个波形碟带
end
r = ones(Mt*Mr1)*(Tc.^2+Ts.^2).^0.5;%通过jakes或者是clark模型产生频选信道的幅度 行为Mt*Mr列为时间抽样点(10001个点),每行的数值是一样的
%也就是说每对天线之间的信道都是独立同分布的
index = floor(rand(Mt*MrDS)*5000+1);%元素在(0,5000)之间,行为Mt*Mr列为DS的矩阵,用来索引r
end
MEE1 = zeros(1length(SNR_dB));
MEE2 = zeros(1length(SNR_dB));
for snrl = 1:length(SNR_dB)
snrl;
estimation_error1 = zeros(Mt*MrNsc);%用来存放误码的数量,是一个行为Mt*Mr列为Nsc(子载波)个数的矩阵
estimation_error2 = zeros(Mt*MrNsc);
%%%计算贝塞尔函数的值有什么作用呢
R1 = besselj(02*pi*fm*(Nsc+Ng)/B);%0阶bessel函数的数值,就是一个数值,用到了(Nsc+Ng)即OFDM符号的长度和B 似乎是抽样的频率
sigma2 = 10^(-SNR_dB(snrl)/10);
%%%产生aabb有什么用处呢信道估计
aa = (1-R1^2)/(1-R1^2+sigma2);%由贝塞尔函数值和信噪比确定的值
bb = sigma2*R1/(1-R1^2+sigma2);%由贝塞尔函数值和信噪比确定的值 ,分母一样,分子不一样
%%%
for iteration = 1:iteration_max %%%设定最大的叠代次数
%iteration
if AWGN == 1 %%不经过AWGN信道
h = ones(Mt*Mr1);
else
phi = rand*2*pi; %%% 角度服从均匀分布,产生一个0~2pi均匀分布的角度
h = r(index+iteration)*exp(j*phi); %%% 幅度服从瑞利分布,即为r中的元素,每次碟带,对应的索引不一样,
%%% 但是有可能对应的元素相同,是一个行为Mt*Mr,列为DS
%h=rand(Mt*MrDS);
h = h.*(ones(Mt*Mr1)*(exp(-0.5).^[1:DS]));%每条径产生幅度的衰减,是幅度的衰减还是相位的差异?size不变
h = h./(sqrt(sum(abs(h).^22))*ones(1DS));%为每条径的幅度归一化,size不变
end
CL = size(h2); % channel length,多径信道,获得信道的长度
data_time = zeros(MtNsc+Ng); % 产生发送数据的矩阵,是一个Mt*(Nsc+Ng)的矩阵 其实只是发了一个OFDM符号
data_qam = zeros(MtNsc);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1807816 2007-11-29 17:00 mimo-ofdm 信道估计\Channel Estimation.pdf
文件 5427395 2005-02-25 15:37 mimo-ofdm 信道估计\IST_FLOW Selected MIMO Techniques and their Performance d14.pdf
文件 559204 2005-01-06 22:25 mimo-ofdm 信道估计\mimo simulator\A space-time correlation model for multielement antenna systems in mobile fading channels.pdf
文件 393942 2005-01-06 22:24 mimo-ofdm 信道估计\mimo simulator\Efficient simulation of space-time correlated MIMO mobile fading channels.pdf
文件 47024 2005-01-06 21:57 mimo-ofdm 信道估计\mimo simulator\MIMOsimSpectral.p
文件 6247 2005-01-06 21:57 mimo-ofdm 信道估计\mimo simulator\MIMOsimSpectralHelp.m
文件 9079 2009-03-16 14:10 mimo-ofdm 信道估计\MIMO_OFDM_channel_estimation.m
文件 9080 2007-11-29 20:05 mimo-ofdm 信道估计\wo_MIMO_OFDM_channel_estimation.m
目录 0 2009-03-16 19:35 mimo-ofdm 信道估计\mimo simulator
目录 0 2009-03-13 17:00 mimo-ofdm 信道估计
----------- --------- ---------- ----- ----
8259787 10
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论