资源简介
MIMO通信系统_MATLAB仿真代码,帮助有需要的
代码片段和文件信息
%main_STBC_MIMO_OFDM.m
%这是一个基于空时分组编码的MIMO_OFDM通信系统的仿真设计。
%此系统包括QPSK调制解调,IFFT调制,空时编解码,基于训
%练符号的信道估计等通信模块。
clear all
close all
clc
%+++++++++++++++++++++++++++变量++++++++++++++++++++++++++++++
i=sqrt(-1);
IFFT_bin_length=512; %傅立叶变换抽样点数目
carrier_count=100; %子载波数目
symbols_per_carrier=66; %符号数/载波
cp_length=10; %循环前缀长度
addprefix_length=IFFT_bin_length+cp_length;
M_psk=4;
bits_per_symbol=log2(M_psk); %位数/符号
%[x1 x2;-x2* x1*] 二天线发送矩阵
% O=[1 2;-2+j 1+j];
%[x1 -x2 -x3;x2* x1* 0;x3* 0 x1*;0 -x3* x2*] 三天线发送矩阵
O=[1 -2 -3;2+j 1+j 0;3+j 0 1+j;0 -3+j 2+j];
co_time=size(O1);
Nt=size(O2); %发射天线数目
Nr=2; %接收天线数目
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%+++++++++++++++++++++++++++发射机++++++++++++++++++++++++++++++
disp(‘--------------start-------------------‘);
num_X=1;
for cc_ro=1:co_time
for cc_co=1:Nt
num_X=max(num_Xabs(real(O(cc_rocc_co))));
end
end
co_x=zeros(num_X1);
for con_ro=1:co_time
for con_co=1:Nt %用于确定矩阵“O”中元素的位置,符号以及共轭情况
if abs(real(O(con_rocon_co)))~=0
delta(con_roabs(real(O(con_rocon_co))))=sign(real(O(con_rocon_co)));
epsilon(con_roabs(real(O(con_rocon_co))))=con_co;
co_x(abs(real(O(con_rocon_co)))1)=co_x(abs(real(O(con_rocon_co)))1)+1;
eta(abs(real(O(con_rocon_co)))co_x(abs(real(O(con_rocon_co)))1))=con_ro;
coj_mt(con_roabs(real(O(con_rocon_co))))=imag(O(con_rocon_co));
end
end
end
eta=eta.‘;
eta=sort(eta);
eta=eta.‘;
% 坐标: (1 to 100) + 14=(15:114)
carriers = (1: carrier_count) + (floor(IFFT_bin_length/4) - floor(carrier_count/2));
% 坐标 :256 - (15:114) + 1= 257 - (15:114) = (242:143)
conjugate_carriers=IFFT_bin_length-carriers+2;
tx_training_symbols=training_symbol(Ntcarrier_count);
baseband_out_length = carrier_count * symbols_per_carrier;
snr_min=3; %最小信噪比
snr_max=15; %最大信噪比
graph_inf_bit=zeros(snr_max-snr_min+12Nr); %绘图信息存储矩阵
graph_inf_sym=zeros(snr_max-snr_min+12Nr);
for SNR=snr_min:snr_max
clc
disp(‘Wait until SNR=‘);disp(snr_max);
SNR
n_err_sym=zeros(1Nr);
n_err_bit=zeros(1Nr);
Perr_sym=zeros(1Nr);
Perr_bit=zeros(1Nr);
re_met_sym_buf=zeros(carrier_countsymbols_per_carrierNr);
re_met_bit=zeros(baseband_out_lengthbits_per_symbolNr);
%生成随机数用于仿真
baseband_out=round(rand(baseband_out_lengthbits_per_symbol));
%二进制向十进制转换
de_data=bi2de(baseband_out);
%PSK调制
data_buf=pskmod(de_dataM_psk0);
carrier_matrix=reshap
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10803 2009-03-22 23:14 MIMO通信系统\main_STBC_MIMO_OFDM.m
文件 62976 2009-03-22 10:55 MIMO通信系统\STBC_MIMO_OFDM 源程序.doc
文件 933 2009-03-21 13:24 MIMO通信系统\training_symbol.m
目录 0 2011-04-27 13:33 MIMO通信系统
----------- --------- ---------- ----- ----
74712 4
相关资源
- 基于MATLAB的医学图像处理系统
- 数字基带传输系统的matlab仿真实现
- 十字路口车流通量及车身颜色的统计
- Matlab实现Moravec算子程序
- 语音信号处理实验matlab程序
- Turbo码matlab仿真程序204389
- SFLA算法 matlab
- matlab构造4阶m序列,显示波形及自相关
- 基于Matlab的SVM含数据
- matlab液压系统仿真
- Lyapunov指数计算的Matlab code
- matlab HARQ仿真
- 机器人控制系统设计与matlab仿真程序
- Matlab实现二值图像的边缘检测 getedg
- 史上最全的AMESim-Matlab 联合仿真设置步
- matlab时延估计算法的互相关函数
- matlab 人脸检测
- bp神经网络算法的一个matlab实现
- 8*8矩阵zigzag反扫描 matlab代码
- matlab VAR模型应用,和PPT
- 室内可见光通信一次反射功率分布m
- 室内可见光通信信噪比计算MATLAB代码
- matlab图像叠加
- 语音信号共振峰提取Matlab
- polar3d_Matlab
- matlab串口接收程序
- 完整的维纳滤波器Matlab源程序
- MATLAB GOAT工具箱
- 用MatLab实现SVM分类.
- 空间计量,matlab
评论
共有 条评论