create_channel.m
上传用户:xinxin4122
上传日期:2013-04-03
资源大小:464k
文件大小:1k
- function [H H_f]=create_channel(Nt,Nr,pdp,num_subc,GI)
- % 多径MIMO信道
- % 输入:
- % Nt: 发送天线个数
- % Nr: 接收天线个数
- % pdf: 功率延迟分布向量
- % num_subc: 子载波个数
- % GI: 循环前缀的长度
- % 输出:
- % H 多径MIMO信道矩阵
- % H_f 多径MIMO信道矩阵的频率形式
- N=num_subc+GI; % 每个发天线一次发送的数据帧的长度
- H=zeros(Nr*N,Nt*(N+length(pdp)-1));
- H_f1 = zeros(Nr,Nt*num_subc);
- clear j;
- for ii=1:Nr
- for jj=1:Nt
- Hint=1/sqrt(2)*(randn(1,length(pdp)) + j*randn(1,length(pdp)));
- Hint1=sqrt(pdp).*Hint;
- Hint2=fliplr(Hint1);
- h=zeros(N,N+length(pdp)-1);
- for k=1:N
- h(k,k:k+length(pdp)-1)=Hint2;
- end
- H((ii-1)*N+1:(ii-1)*N+N,(jj-1)*(N+length(pdp)-1)+1:(jj-1)*(N+length(pdp)-1)+N+length(pdp)-1)=h; % 多径信道矩阵
-
- h_f = fft(Hint1,num_subc);
- H_f1(ii,(jj-1)*num_subc+1:(jj-1)*num_subc+num_subc) = h_f;
- end
- end
- H_f=cell(1,num_subc);
- for ii=1:num_subc
- H_f{ii}=H_f1(:,ii:num_subc:end);
- end
- % 通过信道时,要求
- % 把发送数据符号排成一列向量,每个发送天线的发送符号各占连续的一段
- % 每个发送天线发送符号所占一段的长度为frame_length+length(pdp)-1