线性均衡可以做在接收端,也可以做在发送端,而DFE只能做在接收端。对于DFE的讨论都是建立在判决器能够判决正确的情况下,但是如果每一个发送的符号含有多比特信息,比如PAM16,由于发送信号的最大能量是一定的,所以星座图之间的距离很小,这会导致判决器很容易产生错误的判决,在DFE中造成误差传播(error propagation)。每个符号含有的比特数越多,DFE判决时就越容易出错。更重要的是,DFE需要即时判决来消除ISI, 这与信道编码存在根本性的矛盾。根据香农定理,我们知道,应该把一长串符号作为一个整体来进行判决,才能达到信道的最高传输速率,即信道容量。已经有一些方法来解决DFE与信道编码不兼容的问题,但是其物理实现的复杂度增加不少,也引入了很长的延迟。

  这里我们介绍一种做在发送端的预编码(precoding)技术——Tomlinson-Harashima Precoding(THP)。THP是一种非线性均衡技术,它可以与信道编码相兼容,并且不会产生误差传播现象。在10G base-T Ethernet中就使用了这种技术。

  图1(a)是接收端迫零均衡,图1(b)是DFE。这里把整个通信系统离散化了,并且忽略了发送端滤波器。迫零均衡的缺点是只考虑了信道传输函数,而没有考虑信道噪声的影响。经过迫零均衡器后,信道噪声被放大了。DFE把判决器放进了环路内部,只要判决器判断正确,不仅可以消除ISI,还可以消除噪声。

图1  (a) 接收端迫零均衡  (b) DFE

  既然在接收端可以将判决器放进环路内部,在发送端是否可以做类似的操作呢?

  先看图2(a)的发送端迫零均衡。发送端迫零均衡不会放大信道噪声,但是却要将发送信号能量中的一部分用于补偿信道pre-cusor和post-cursor的影响。一般情况下,发送端的总能量是一定的,这导致我们需要相应地减小main-cursor的能量,最终的结果就是y(k)的SNR降低。发送端迫零均衡会减小信号能量,而接收端迫零均衡则会放大信道噪声,这两者造成的后果其实是一样的,即都是y(k)的SNR降低。如图3所示,假设m(k)是M点PAM信号,那么经过发送端迫零均衡后,我们需要加一个小于1的增益g以保证s(k)的信号幅度不会超过[-M,+M)。

  图3(b)是THP,通过在反馈环路中增加一个模2M的运算,把信号s(k)限制在[-M,+M)内,因此也就不再需要减小main-cursor能量。但是,使用THP后,需要在RX做相应的解码运算,这可以通过另外一个模2M运算来实现。可以证明,THP的输出信号s(k)相互独立并且在[-M,+M)上是均匀分布的。

图2  (a) 发送端迫零均衡  (b) THP

图3  PAM信号

  

  THP可以采用图4的方法来建模,可以推导得到,经过信道后

    

  再经过THP解码和判决,就能恢复出m(k),其中THP解码可以用另外一个模2M运算来实现。这里有一个需要注意的地方:n(k)是白噪声,但是经过THP解码后还是白噪声吗?THP解码会不会放大噪声?一般来说,如果信道噪声不是非常大,n(k)经过THP解码后仍然可以当作是白噪声,且不会被放大。

  

图4 THP建模

  TX端的预编码技术还有一种叫Flexible Precoding, 感兴趣的可以参考Robert F. H. Fiscber的“Precoding and Signal Shaping for Digital Transmission",这本书里面将信道均衡讲得非常清楚,而且有详细的数学推导过程,想进一步深入了解信道均衡的话这本书非常适合 。本文以及之前关于信道均衡的文章中的大部分观点都来自于这本书。

  

以上仅为个人的一些见解,如有错误的地方,欢迎大家指正。

作者:波波葡

出处:波波葡 - 博客园 (cnblogs.com)

信道均衡之非线性均衡——Tomlinson-Harashima Precoding(THP)的更多相关文章

  1. Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)

    概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...

  2. 服务注册发现Eureka之三:Spring Cloud Ribbon实现客户端负载均衡(客户端负载均衡Ribbon之三:使用Ribbon实现客户端的均衡负载)

    在使用RestTemplate来消费spring boot的Restful服务示例中,我们提到,调用spring boot服务的时候,需要将服务的URL写死或者是写在配置文件中,但这两种方式,无论哪一 ...

  3. DNS负载均衡 Nginx 负载均衡的种类

    DNS负载均衡 当一个网站有足够多的用户的时候,假如每次请求的资源都位于同一台机器上面,那么这台机器随时可能会蹦掉.处理办法就是用DNS负载均衡技术,它的原理是在DNS服务器中为同一个主机名配置多个I ...

  4. Devstack配置负载均衡,负载均衡版本V2

    本文为minxihou的翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou JmilkFan:minxihou的技术博文方向是 算法&Open ...

  5. 【转载】Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)

    概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...

  6. Hadoop HDFS负载均衡

    Hadoop HDFS负载均衡 转载请注明出处:http://www.cnblogs.com/BYRans/ Hadoop HDFS Hadoop 分布式文件系统(Hadoop Distributed ...

  7. Web负载均衡的几种实现方式

    Web负载均衡的几种实现方式摘要:负载均衡(Load Balance)是集群技术(Cluster)的一种应用.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用是 ...

  8. nginx入门篇----负载均衡策略

    负载均衡策略 负载均衡策略:内置策略和扩展策略. 内置策略包括:轮询.加权轮询.IP hash:扩展策略包括:url hash.fair等 策略详细介绍 轮询:对前端的访问逐一分流到后端网络节点,类似 ...

  9. linux负载均衡总结性说明(四层负载/七层负载)

    在常规运维工作中,经常会运用到负载均衡服务.负载均衡分为四层负载和七层负载,那么这两者之间有什么不同?废话不多说,详解如下: 一,什么是负载均衡1)负载均衡(Load Balance)建立在现有网络结 ...

随机推荐

  1. POJ1789简单小生成树

    题意:       给你一些车牌号,然后另一两个车牌号之间的权值就是这两个字符串之间相同位置不同字母的个数,然后求最小生成树. 思路:       裸题,不解释了. #include<stdio ...

  2. python工业互联网应用实战14——单元测试覆盖率

    前面的章节我们完成了任务管理主要功能的开发及单元测试编写,可如何知道单元测试效果怎么样呢?测试充分吗?还有没有没有测到的地方呢? 本章节我们介绍一个统计测试代码覆盖率的利器Coverage,Cover ...

  3. JAVA连接、操作数据库的DBHelper

    工厂模式的DBHelper 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.Prepa ...

  4. SparkSQL电商用户画像(四)之电商用户画像数据仓库建立

    六.  电商用户画像数据仓库建立 7.1  数据仓库准备工作 为什么要对数据仓库分层?星型模型 雪花模型 User----->web界面展示指标表 l    用空间换时间,通过大量的预处理来提升 ...

  5. SparkSQL电商用户画像(五)之用户画像开发(客户基本属性表)

    7.电商用户画像开发 7.1用户画像--数据开发的步骤 u 数据开发前置依赖 -需求确定 pv uv topn -建模确定表结构 create table t1(pv int,uv int,topn ...

  6. 【近取 key】Alpha 阶段任务分配

    项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 alpha阶段初始任务分配 我在这个课程的目标是 进一步提升工程化开发能力,积累团队协作经验,熟悉 ...

  7. 阿里云上安装 OpenStack 是什么体验

    阿里云上跑火车(安装 OpenStack Train 版本),猜猜最终花了多少钱? 前言 前面给大家提供了用虚拟机安装 OpenStack 的镜像,虽然已经很简便了,但还是略显笨重.一来镜像文件比较大 ...

  8. shell练习(1)创建100个用户

    shell练习(1)创建100个用户 默默努力的小白. 2020-04-15 16:28:49 49 收藏文章标签: linuxshell版权随机创建100个用户,并生成随机密码,并将密码放入一个文件 ...

  9. Linux下使用bcwipe擦除磁盘空间

    Linux下使用bcwipe擦除磁盘空间 2 Replies 如果要彻底删除硬盘上的文件,Windows下有磁盘粉碎机,bcwipe等. Linux下,也有bcwipe,而且功能更强大. 擦除磁盘剩余 ...

  10. linux中级之lvs概念

    一.lvs介绍 LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器.它是我们国家的章文嵩博士的一个开源项目.在linux内存2.6中,它已经成为内核的一部分,在此之前的 ...