返回信息流有研究MIMO 波束成形的同学吗~~求带
这是一条镜像帖。来源:北邮人论坛 / communications / #26440同步于 2016/4/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖
有研究MIMO 波束成形的同学吗~~求带
sudelong
2016/4/11镜像同步17 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
你好 我是研究的MIMO-ofdm那种波束成型最简单的SVD算法 为什么性能一直不好呢 不知道哪里出了问题 而且随着天线数目的增加性能还会下降····
【 在 syx828 的大作中提到: 】
: beamforming原理很简单的,先说说自己哪儿有问题嘛
【 在 sudelong 的大作中提到: 】
: 你好 我是研究的MIMO-ofdm那种波束成型最简单的SVD算法 为什么性能一直不好呢 不知道哪里出了问题 而且随着天线数目的增加性能还会下降····
波束成形是假设基站已获得了上行信道,有两种不同的定义,一种是SVD分解后,仅取最大奇异值对应的特征信道进行发送(这种肯定不如注水法。。。),另一种是智能天线的波束成形。你应该说的是第一种吧
至于性能,按照数学公式推导出来的做,就不应该变差,你应该是哪儿代码写错了。你可以把代码贴出来看看
【 在 syx828 的大作中提到: 】
:
: 波束成形是假设基站已获得了上行信道,有两种不同的定义,一种是SVD分解后,仅取最大奇异值对应的特征信道进行发送(这种肯定不如注水法。。。),另一种是智能天线的波束成形。你应该说的是第一种吧
: 至于性能,按照数学公式推导出来的做,就不应该变差,你应该是哪儿代码写错了。你可以把代码贴出来看看
代码有点长啊 你看看你有QQ吗 我QQ给你,谢啦 我就是第一种波束成型 734043073我的qq 希望能得到大神指导
【 在 sudelong 的大作中提到: 】
:
: 代码有点长啊 你看看你有QQ吗 我QQ给你,谢啦 我就是第一种波束成型 734043073我的qq 希望能得到大神指导
我这是采用了4*4天线的 我的想法就是把OFDM上面的思想转移到单载波频域均衡上面来 所以我先把数据转移到频域 然后在频域波束成型 然后转移到时域发送出去 这是发送端的代码
for循环里面就是生成每个天线对应每个频域符号的波束成型系数Chanxxfft代表信道的FFT变换T矩阵是发送端的波束成型系数,Z是接收端的波束成型系数
Chan11fft=fft(Chan11,Bitlength/2);
Chan21fft=fft(Chan21,Bitlength/2);
Chan31fft=fft(Chan31,Bitlength/2);
Chan41fft=fft(Chan41,Bitlength/2);
Chan12fft=fft(Chan12,Bitlength/2);
Chan22fft=fft(Chan22,Bitlength/2);
Chan32fft=fft(Chan32,Bitlength/2);
Chan42fft=fft(Chan42,Bitlength/2);
Chan13fft=fft(Chan13,Bitlength/2);
Chan23fft=fft(Chan23,Bitlength/2);
Chan33fft=fft(Chan33,Bitlength/2);
Chan43fft=fft(Chan43,Bitlength/2);
Chan14fft=fft(Chan14,Bitlength/2);
Chan24fft=fft(Chan24,Bitlength/2);
Chan34fft=fft(Chan34,Bitlength/2);
Chan44fft=fft(Chan44,Bitlength/2);
H=zeros(4,4);
T=zeros(4,2048);
Z=zeros(4,2048);
for i = 1:Bitlength/2
H(1,1)=Chan11fft(i);
H(1,2)=Chan21fft(i);
H(1,3)=Chan31fft(i);
H(1,4)=Chan41fft(i);
H(2,1)=Chan12fft(i);
H(2,2)=Chan22fft(i);
H(2,3)=Chan32fft(i);
H(2,4)=Chan42fft(i);
H(3,1)=Chan13fft(i);
H(3,2)=Chan23fft(i);
H(3,3)=Chan33fft(i);
H(3,4)=Chan43fft(i);
H(4,1)=Chan14fft(i);
H(4,2)=Chan24fft(i);
H(4,3)=Chan34fft(i);
H(4,4)=Chan44fft(i);
R=H'*H;
[X,Y]=eig(R);
[x,y]=find(Y==max(max(Y)));
tezhengzhi(i)=Y(x,y);
T(:,i)=X(:,x);
% Z(:,i)=(H*T(:,i))';
end
Data=randi([0,1],1,Bitlength);
Datamodulation=psk(Data,2);
Datamodulationfft=fft(Datamodulation);
D1atamodulationfft1=Datamodulationfft.*T(1,:);
D1atamodulationfft2=Datamodulationfft.*T(2,:);
D1atamodulationfft3=Datamodulationfft.*T(3,:);
D1atamodulationfft4=Datamodulationfft.*T(4,:);
TESTDATA1=D1atamodulationfft1.*Chan11fft+D1atamodulationfft2.*Chan21fft+D1atamodulationfft3.*Chan31fft+D1atamodulationfft4.*Chan41fft;
TESTDATA2=D1atamodulationfft1.*Chan12fft+D1atamodulationfft2.*Chan22fft+D1atamodulationfft3.*Chan32fft+D1atamodulationfft4.*Chan42fft;
TESTDATA3=D1atamodulationfft1.*Chan13fft+D1atamodulationfft2.*Chan23fft+D1atamodulationfft3.*Chan33fft+D1atamodulationfft4.*Chan43fft;
TESTDATA4=D1atamodulationfft1.*Chan14fft+D1atamodulationfft2.*Chan24fft+D1atamodulationfft3.*Chan34fft+D1atamodulationfft4.*Chan44fft;
Datamodulationfft1=ifft(D1atamodulationfft1,2048);
Datamodulationfft2=ifft(D1atamodulationfft2,2048);
Datamodulationfft3=ifft(D1atamodulationfft3,2048);
Datamodulationfft4=ifft(D1atamodulationfft4,2048);
DatamodulationCp1=[Datamodulationfft1(end-CP_length+1:end) Datamodulationfft1];
DatamodulationCp2=[Datamodulationfft2(end-CP_length+1:end) Datamodulationfft2];
DatamodulationCp3=[Datamodulationfft3(end-CP_length+1:end) Datamodulationfft3];
DatamodulationCp4=[Datamodulationfft4(end-CP_length+1:end) Datamodulationfft4];