MRC最大比合并

embedded/2025/2/13 7:11:51/

1️⃣ 分集和复用技术介绍

多天线技术大致可以分为两类:分集技术和空间复用技术。

分集技术利用多天线接收同一个信号,从而提高传输的可靠性。分集技术的基本思想是将瑞利衰落无线信道转换成更加稳定的信道,像 AWGN 一样没有灾难性的信号衰落。

在空间复用技术中,多个天线同时发送多个独立的数据流,从而实现更高的传输速率。当使用空间复用技术时,可以获得的最大传输速率能够达到 MIMO 信道容量。


2️⃣ 最大比合并介绍

在MIMO系统中,每个天线接收到的信号会因为信道条件、干扰和噪声的不同有所差异。有些信号可能较强,而有些信号则较弱。

因此我们需要研究最优的分集合并技术,包括选择合并(SC)、最大比合并(MRC)和等增益合并(EGC)。这里主要分析MRC,MRC能根据每个天线的信号质量给每个信号分配不同的权重,将强信号赋予更高的权重,最终将这些信号合成成一个最优的接收信号。


3️⃣ MRC原理分析

最大比合并的实现方式是通过给分集的N路不同信号乘上一个不同的权重系数 w i , i = 1 , 2 , … … , N w_i, i=1,2, \ldots \ldots, N wi,i=1,2,……,N ,该权重系数与N路分支的信道增益【即频率响应的幅度】 h i , i = 1 , 2 , … … , N h_i, i=1,2, \ldots \ldots, N hi,i=1,2,……,N 有关,关系如下:
w m w n = h m h n \frac{w_m}{w_n}=\frac{h_m}{h_n} wnwm=hnhm

为什么有上面的关系呢?因为通过这样的加权方式,每个信号的贡献都能得到最大化,使得合并后的信号总信噪比最大。

下面进行简单证明:

考虑一个AWGN信道,设发送符号功率为 E S E_S ES ,噪声功率谱密度为 N 0 N_0 N0,N路分支的的信道增益 h i , i = 1 , 2 , … … , N h_i, i=1,2, \ldots \ldots, N hi,i=1,2,……,N权重系数 w i , i = 1 , 2 , … … , N w_i, i=1,2, \ldots \ldots, N wi,i=1,2,……,N ,则接收端的总信噪比为:

S N R = ( ∑ n = 1 N w n h b E s ) 2 ∑ n = 1 N w n 2 N 0 = E s N 0 ( ∑ n = 1 N w n h b ) 2 ∑ n = 1 N w n 2 S N R=\frac{\left(\sum_{n=1}^N w_n h_b \sqrt{E_s}\right)^2}{\sum_{n=1}^N w_n^2 N_0}=\frac{E_s}{N_0} \frac{\left(\sum_{n=1}^N w_n h_b\right)^2}{\sum_{n=1}^N w_n{ }^2} SNR=n=1Nwn2N0(n=1NwnhbEs )2=N0Esn=1Nwn2(n=1Nwnhb)2

因为 N 0 N_0 N0 E S E_S ES 都为定值(常数),所以如果要让SNR最大,此时我们能控制的改变权重系数 w i , i = 1 , 2 , … … , N w_i, i=1,2, \ldots \ldots, N wi,i=1,2,……,N ,所以通过总信噪比对 W i W_i Wi求一阶偏导:

∂ S N R ∂ w i = 0 , i = 1 , 2 , ⋯ ⋯ , N \frac{\partial S N R}{\partial w_i}=0, i=1,2, \cdots \cdots, N wiSNR=0,i=1,2,⋯⋯,N

最终得到的结果就是 w m w n = h m h n \frac{w_m}{w_n}=\frac{h_m}{h_n} wnwm=hnhm,总信噪比最大


4️⃣ 代码

代码中,权重系数的求法是:
w i = h i ′ h i ′ h i w_i=\frac{h_i^{\prime}}{\sqrt{h_i^{\prime} h_i}} wi=hihi hi
分母的根号是一种标准化的方式

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%MRC最大比合并%%%%%%%%%%%%%%%%%%%
clear all;
close all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%初始化%%%%%%%%%%%%%%%%%%%%%%%%%%
SNR = 0:1:20;
Ntx = 1;
num_symbol = 1000;
%调制方式,QPSK
b = 2;
M = 2^b;
num_iteration = 1000;
errors = zeros(3,length(SNR));
%%%%%%%%%%%%%%%%%%%%%%%%%主循环%%%%%%%%%%%%%%%%%%%%%
for i =1:3%分三种情况进行仿真if i == 1Nrx = 1;elseif i ==2Nrx = 2;elseNrx = 4;endfor index_snr = 1:length(SNR)for iteration = 1:num_iterationsnr = SNR(index_snr);%噪声方差sigma = 1/(10^(snr/10));%生成符号symbol = randi([0 M-1],Ntx,num_symbol);%调制symbol_mod = pskmod(symbol,M,pi/M);%生成瑞利衰落信道H = sqrt(0.5)*(randn(Nrx,Ntx)+1i*randn(Nrx,Ntx));%生成复高斯白噪声N = sqrt(sigma/2)*(randn(Nrx,num_symbol)+1i*randn(Nrx,num_symbol));%通过信道,Y=Hx+nY = H*symbol_mod + N;w = H'/sqrt(H'*H);%MRC最大比合并Y_combine = w*Y;%解调Y_demod = pskdemod(Y_combine,M,pi/M);%计算误码errors(i,index_snr) = errors(i,index_snr)+sum(sum(Y_demod~=symbol));endend
end
%计算误码率
error_rate = errors/(num_symbol*num_iteration*Ntx);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%作图比较%%%%%%%%%%%%%%%%%%%%%%%%%
semilogy(SNR,error_rate(1,:),'r-o',SNR,error_rate(2,:),'b-s',SNR,error_rate(3,:),'g-^');
xlabel('SNR(dB)');
ylabel('BER');
legend('SISO','MIMO 1*2','MIMO 1*4');
title('不同MIMO的MRC最大比合并比较');

结果分析:
在这里插入图片描述

  • SNR 与误码率关系:
    随着 SNR 的增加,误码率 (BER) 会逐渐降低,这符合无线通信系统的常规表现。信噪比越高,接收的信号越清晰,误码率越低

  • 不同 MIMO 配置的比较:

    • SISO:仅有一个接收天线,系统性能相对较差,因为接收到的信号只有一个路径的增益。
    • MIMO 1x2 和 MIMO 1x4:随着接收天线数量的增加,系统的误码率表现显著改善。通过最大比合并(MRC),系统能够更好地利用多路径信息,增强信号,抑制噪声。
    • 在相同的 SNR 下,MIMO 1x4 的性能最好,接收天线越多,MRC 的增益越大,系统的误码率会更低。

http://www.ppmy.cn/embedded/161811.html

相关文章

Kafka的ISR是什么,HW是什么,怎么保证可靠性,Kafka怎么实现顺序消息?为什么Kafka的broker上的topic越多,效率越慢?

目录 1. Kafka 的 ISR 是什么 2. Kafka 的 HW 是什么 3. Kafka 如何保证可靠性 4. Kafka 怎么实现顺序消息 5. 为什么 Kafka 的 broker 上的 topic 越多,效率越慢 1. Kafka 的 ISR 是什么 ISR 即 In-Sync Replicas(同步副本集),是 Kafka 中一个重要的概念,用于保障消…

音视频协议

1. 多媒体信息 1.1 多媒体信息的两个主要特点: 信息量很大 标准语音:64Kbits(8KHz采样,8位编码)高质量音频:3Mbps(100KHz采样,12位编码) 在传输多媒体数据时,对时延和时延抖动均有较高要求 1.2 处理时延…

Python3创建虚拟环境

个人博客地址:Python3创建虚拟环境 | 一张假钞的真实世界 Python虚拟环境主要是为了解决Python多版本及模块间版本兼容的问题。创建虚拟环境的方法很简单,使用下面的命令即可: python3 -m venv PySparkEnv PySparkEnv即虚拟环境的主目录。…

Ubuntu20.04上搭建nginx正向代理提供上网服务

背景:公司很多电脑因软件管控问题不得不禁止设备上网,现需搭建上网代理服务器提供给这些用户使用。 操作系统:ubuntu20.04 工具:nginx-1.25.4 1、下载nginx安装包及依赖 由于nginx默认只持支持转发http协议,所以如…

DeepSeek 与网络安全:AI 驱动的智能防御

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 随着人工智能(AI)的快速发展,深度学习技术正渗透到多个领域,从医疗诊断到…

Python----PyQt开发(PyQt高级:组件大小,界面位置,按钮,文本显示,文本输入,字体大小)

一、大小 setMinimumSize(width, height) 描述: 设置控件的最小尺寸。控件不会被缩小到比这个尺寸更小的大小。 参数: width: 最小宽度(以像素为单位)。 height: 最小高度(以像素为单位)。 button.setMinimumSize(100, …

day 40 复习makefile以及51单片机

1.makefile 1.流程 1.将源文件和头文件以及库分别放在src include lib中 2.在源码目录下创建一个名为makefile的文件 3.编写makefile代码。 4.make编译 2.怎么编写代码 通过定义变量 将gcc main.c tree.c queue.c -o app -lm -lpthread 转换 1.定义变量(所有变…

2025Java面试题超详细整理《微服务篇》

什么是微服务架构? 微服务框架是将某个应用程序开发划分为许多独立小型服务,实现敏捷开发和部署,这些服务一般围绕业务规则进行构建,可以用不同的语言开发,使用不同的数据存储,最终使得每个服务运行在自己…