📄 create_channel.m
字号:
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -