资源简介
基于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
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论