MIMO是如何实现可靠性的提升

mimo是如何实现抗干扰的?
我们都知道mimo有两种方式,分集和复用;mimo也有两个显著的特点——可靠性与有效性。
mimo采用多进多出的天线,来实现可靠性和有效性的提升。公网采用mimo用来提升通信容量——有效性,专网通信用mimo来提升系统的可靠性。
今天主要来讲一讲mimo是如何实现可靠性的提升。
分集
分集是在多条独立通道传输相同的数据,接收端通过分集合并技术,抵抗信道衰落,提升信道传输的可靠性。
复用
复用是在多条独立信道传输不同的数据,提升频谱利用率,增加信道容量。
在了解分集提升抗干扰性之前,我们先了解两个概念。
瑞利衰落和多径效应。
瑞利衰落是指信号在传输过程中,由于多普勒效应的影响使得信号的相位和幅度发生快速变化,这种变化被称为快速衰落。
多径衰落则是指信号在传输过程中经历了多条路径,不同路径的信号到达时相位不同引起信号的叠加干扰,导致信号的衰落。
瑞利衰落和多径衰落都是无线传输中不可避免的信道影响,但它们的产生机理不同。多径衰落是由于信号在传播时经历了不同路径的干涉导致信号衰减,而瑞利衰落则是由于信号振荡和干扰造成的快速衰落。在环境较为简单的开放区域,多径效应相对弱,主要由瑞利衰落引起;而在城市、山地等复杂环境下,多径效应很强,是主要的信道衰落因子。
瑞利衰落和多径衰落都衰落的一种,衰落具有独立性,即只要接收距离足够大,则接收到的信号衰落不具备相关性,这就是mimo分集抗衰落的设计原则。
在信道中,使用1根发射天线n根接收天线,发送信号通过n个不同的路径。分集在天线设计时,都会保证各个天线之间无相关,所以天线之间的衰落是独立的,可以获得最大的分集增益为n,平均误差概率可以减小 。
对于发射分集技术来说,同样是利用多条路径的增益来提高系统的可靠性。在一个具有m根发射天线n根接收天线的系统中,如果天线对之间的路径增益是独立均匀分布的瑞利衰落,可以获得的最大分集增益为mn。
对比仿真
从仿真结果看,2t1r的效果好于1t1r,1t2r的效果好于2t1r,这也能理解4g手机是1发多收,而不是多发1收。
附仿真代码
frmlen = 100; % frame lengthnumpackets = 1000; % number of packetsebno = 020; % eb/no varying to 20 dbn = 2; % maximum number of tx antennasm = 2; % maximum number of rx antennas% create comm.bpskmodulator and comm.bpskdemodulator system objects(tm)p = 2; % modulation orderbpskmod = comm.bpskmodulator;bpskdemod = comm.bpskdemodulator('outputdatatype','double');% create comm.ostbcencoder and comm.ostbccombiner system objectsostbcenc = comm.ostbcencoder;ostbccomb = comm.ostbccombiner;awgn1rx = comm.awgnchannel(...'noisemethod', 'signal to noise ratio (eb/no)', ...'signalpower', 1);awgn2rx = clone(awgn1rx);errorcalc1 = comm.errorrate;errorcalc2 = comm.errorrate;errorcalc3 = comm.errorrate;s = rng(55408);h = zeros(frmlen, n, m);ber_nodiver = zeros(3,length(ebno));ber_alamouti = zeros(3,length(ebno));ber_maxratio = zeros(3,length(ebno));ber_thy2 = zeros(1,length(ebno));fig = figure;grid on;ax = fig.currentaxes;hold(ax,'on');ax.yscale = 'log';xlim(ax,[ebno(1), ebno(end)]);ylim(ax,[1e-4 1]);xlabel(ax,'eb/no (db)');ylabel(ax,'ber');fig.numbertitle = 'off';fig.renderer = 'zbuffer';fig.name = 'transmit vs. receive diversity';title(ax,'transmit vs. receive diversity');set(fig, 'defaultlegendautoupdate', 'off');fig.position = figposition([15 50 25 30]);for idx = 1:length(ebno)reset(errorcalc1);reset(errorcalc2);reset(errorcalc3);% set the ebno property of the awgnchannel system objectsawgn1rx.ebno = ebno(idx);awgn2rx.ebno = ebno(idx);% loop over the number of packetsfor packetidx = 1:numpackets% generate data vector per framedata = randi([0 p-1], frmlen, 1);% modulate datamoddata = bpskmod(data);% alamouti space-time block encoderencdata = ostbcenc(moddata);% create the rayleigh distributed channel response matrix% for two transmit and two receive antennash(1end, :, :) = (randn(frmlen/2, n, m) + ...1i*randn(frmlen/2, n, m))/sqrt(2);% assume held constant for 2 symbol periodsh(2end, :, :) = h(1end, :, :);% extract part of h to represent the 1x1, 2x1 and 1x2 channelsh11 = h(:,1,1);h21 = h(:,:,1)/sqrt(2);h12 = squeeze(h(:,1,:));% pass through the channelschanout11 = h11 .* moddata;chanout21 = sum(h21.* encdata, 2);chanout12 = h12 .* repmat(moddata, 1, 2);% add awgnrxsig11 = awgn1rx(chanout11);rxsig21 = awgn1rx(chanout21);rxsig12 = awgn2rx(chanout12);% alamouti space-time block combinerdecdata = ostbccomb(rxsig21, h21);% ml detector (minimum euclidean distance)demod11 = bpskdemod(rxsig11.*conj(h11));demod21 = bpskdemod(decdata);demod12 = bpskdemod(sum(rxsig12.*conj(h12), 2));% calculate and update ber for current ebno value% for uncoded 1x1 systember_nodiver(:,idx) = errorcalc1(data, demod11);% for alamouti coded 2x1 systember_alamouti(:,idx) = errorcalc2(data, demod21);% for maximal-ratio combined 1x2 systember_maxratio(:,idx) = errorcalc3(data, demod12);end % end of for loop for numpackets% calculate theoretical second-order diversity ber for current ebnober_thy2(idx) = berfading(ebno(idx), 'psk', 2, 2);% plot resultssemilogy(ax,ebno(1:idx), ber_nodiver(1,1:idx), 'r*', ...ebno(1:idx), ber_alamouti(1,1:idx), 'go', ...ebno(1:idx), ber_maxratio(1,1:idx), 'bs', ...ebno(1:idx), ber_thy2(1:idx), 'm');legend(ax,'no diversity (1tx, 1rx)', 'alamouti (2tx, 1rx)',...'maximal-ratio combining (1tx, 2rx)', ...'theoretical 2nd-order diversity');drawnow;end % end of for loop for ebno% perform curve fitting and replot the resultsfitber11 = berfit(ebno, ber_nodiver(1,:));fitber21 = berfit(ebno, ber_alamouti(1,:));fitber12 = berfit(ebno, ber_maxratio(1,:));semilogy(ax,ebno, fitber11, 'r', ebno, fitber21, 'g', ebno, fitber12, 'b');hold(ax,'off');% restore default streamrng(s); 总结
当下对mimo的主流应用主要在增加通信容量上。在专网领域,通信地形的复杂,采用mimo分集技术可以提升通信系统的通信可靠性。


美国国家半导体推出首款可编程且配备诊断功能的零点漂移仪表放大
vivo X23真机曝光,屏占比进一步提升,或于vivo V11一同在本月底发布
TUYA开发者大会(苏州)盛大开幕,涂鸦智能携手全球开发者共建IoT新生态
戴森CycloneV10评测 许多方面都完成了对V8的超越
电动汽车与锂电发展的际问题与解决办法
MIMO是如何实现可靠性的提升
AI启示人类并没有真正的自我意识
瑞能半导体功率器件产品慕尼黑华南电子展精彩回顾
双星可分辨引力波信号源达6000个
FRAM性能比EEPROM好的三个优势是什么
人类大脑正在被AI逐步替换,AI这条道路人类从未停止探索
2016年年度全球销量榜新鲜出炉 华为让三星睡不好觉!
4G到5G的演进 3GGP都做了些什么?
低频信号发生器介绍_低频信号发生器设计
基于形状记忆合金弹簧驱动柔性脊柱的仿壁虎机器人
太赫兹波相机可捕捉微观世界的3D图像
LDO为什么只能降压?ldo稳压芯片原理
华为Mate家族再添新成员 平板电脑业务很受欢迎
基于C8051F020单片机实现便携式心电监护仪的应用方案
盘点边缘侧人工智能市场规模增长