资源简介
MIMO系统功率分配注水算法Matlab代码

代码片段和文件信息
% Alamouti Code to achieve diversity without channel knowledg at the
% transmitter
% It is assumed that system contains 2 transmit antennas and one receive
% antenna. At the transmitter the data of a two consecutive slots will be
% considered. At the odd time slots the first antenna transmit
% symbol 1 (s1) and the second ones will transmit symbol 2 (s2)
% simoltaneously. At the even time slots the -s2* and s1* will be transmited
% from the first and second antenna respectively. Study “WIRELESS
% COMMUNICATIONS“ by Goldsmith for further information.
% By Hamid Ramezani 01-Apr-2008
% Initialization
clear
clc
% Setting parameters
numOfBlk = 1e6; % number of blocks of data to be transmitted
qamOrder = 16; % the QAM modulation order 41664
SNRdB = 6:1:30;
linColor = ‘b‘; % graph color ‘b‘‘r‘‘k‘... see the help of plot function
linSym = ‘o‘; % graph Symbol ‘o‘‘>‘‘<‘... see the help of plotf unction
% Memory allocation
errRate = zeros(size(SNRdB));
%% AlamoutiSpace Time Code
for i = 1 : length(SNRdB)
% Main Program
% generating the data
txData = randint(numOfBlk*21qamOrder);
% splitting the data into two vectors (first transmition second
% transmition in time);
temp = reshape(txDatanumOfBlk2);
% QAM Modulation of transmite data
temp = qammod(tempqamOrder);
% 2 transmite antenna and 1 receive antena channel gain the channel
% varinance is set to unity and a rayleigh flat fading channel in each
% path is assumed
H = 1/sqrt(2) * (randn(numOfBlk2) + sqrt(-1)*randn(numOfBlk2));
% transmitted data through channel
% in each transmite antenna half of the power will be sent
% 1/sqrt(2) is to represent the half of the power on each antenna
txMod(:1) = H(:1).* 1/sqrt(2).*temp(:1) + H(:2).* 1/sqrt(2).*temp(:2) ;
txMod(:2) = -H(:1).*(1/sqrt(2).*temp(:2)‘).‘ + H(:2).*(1/sqrt(2).*temp(:1)‘).‘ ;
% adding noise
txMod = awgn(txModSNRdB(i)‘measured‘);
% receiving the data
% sqrt(2) is used for normalization
temp(:1) = sqrt(2)*(H(:1)‘.‘ .* txMod(:1) + H(:2) .* txMod(:2)‘.‘)./(abs(H(:1)).^2 + abs(H(:2)).^2);
temp(:2) = sqrt(2)*(H(:2)‘.‘ .* txMod(:1) - H(:1) .* txMod(:2)‘.‘)./(abs(H(:1)).^2 + abs(H(:2)).^2);
rxData(:1) = qamdemod(temp(:1)qamOrder);
rxData(:2) = qamdemod(temp(:2)qamOrder);
[numErr errRate(i)] = symerr(rxDatareshape(txDatanumOfBlk2));
end
% graphical observation
f1 = figure(1);
semilogy(SNRdBerrRate[linColor‘-‘linSym]);
xlabel(‘SNR in dB‘);
ylabel(‘Symbol Error Rate‘);
%% No space time coding
for i = 1 : length(SNRdB)
% txData is set in the Alamouti Code
temp = qammod(txDataqamOrder);
% Channel Definition
H = 1/sqrt(2) * (randn(numOfBlk*21) + sqrt(-1)*randn(numOfBlk*21));
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3616 2009-04-06 19:50 mimo\21alamouti.m
文件 1661 2006-10-03 09:17 mimo\MIMO_System.m
文件 779 2006-10-02 20:37 mimo\WaterFilling_alg.m
目录 0 2009-04-06 19:51 mimo
----------- --------- ---------- ----- ----
6056 4
相关资源
- 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
- k近邻算法matlab实现
- matlab识别系统
- 神经网络分类matlab程序
- matlab正弦信号发生器的设计
- matlab程序用Hopfield网络解决TSP
评论
共有 条评论