我对OFDM的理解

来源:互联网 发布:阿芙精油 知乎 编辑:程序博客网 时间:2024/05/01 02:59
这些天在研究OFDM,B3G的很多协议都在广泛的使用OFDM技术,也许这是B3G到4G的协议中的一个趋势.随着半导体硬件技术的不断发展,单片机的运输速度越来越快,这使得很多需要硬件电路才能实现的功能逐渐被使用软件的方法所替代.这样的最终结果造成了一种产品中的硬件成分变少,软件成分增加,导致产品的成本能够有效的降低.而OFDM技术中的核心也是寻着这个思路的.

 

    看了好多片对OFDM介绍的文章,OFDM涉及到很多数学和通信方面的知识,比较难懂,这对基础不好或者长时间不接触理论知识的人来说,理解起来的确很不容易.OFDM在数字广播,数字电视,WiFi,WiMax,TLE等协议中都在广泛的使用,尤其是B3G和4G技术.只所以出现这种情况,是因为OFDM中存在很多优点.

 

    对于OFDM的优点来说,首先就是对带宽的节省.通信相关的专业人员都知道,带宽是一个宝贵的资源.而OFDM就有效的节省了这个资源.对于那些照本宣刻得人员来说,不知道为什么这种资源这么宝贵. 其实很简单,无线电通信是以无线电波为载体的.那么相互的通讯都要是有相应的载波,及相应频率的无线电波,一般来讲,通讯的双方要使用相同的频率,而电波的频率是不能无限的高的.至少目前为止,人类还没有办法在任意高的频率上进行通讯.而通讯的需求是无处不在的,海上作业,航空,航天,手机终端,无线上网,电视遥控,蓝牙设备......都需要在指定的频率上进行通讯.如果在很近的地方,如果两组通讯人员都使用相同的频率进行通讯,则两组人员的通讯会相互影响,如果需要相互不影响,就要各自使用各自的频率(一般是这样,也有码分等方式可以克服),这样一来,大家使用的频率都需要不相同,自然就出现了频率短缺的问题. 那么无论哪种用途的通讯,都是有国家的专门部门对其使用的频率进行批准.

 

    OFDM则使用频率正交技术,是传输相同信息所占用的频带宽度比较少,这样就节省了频率资源.至于为什么会占用较少的带宽,后面有机会我们再来聊这事情.

 

    另外OFDM使用了循环前缀的方法,克服了符号间干扰(ISI)和信道间干扰(ICI).那么什么是OFDM符号呢?首先必须了解OFDM的信号处理过程. 不同的文章中,OFDM信道的定义不一样.我理解,在谈论ICI的时候,我理解就是不同的子载波.而OFDM符号,应该是指多个子载波合成到一起行的一个串行信号.后面有时间我们再继续讨论.

因为绘制图形比较麻烦,有些东西我就只能用语言来描述.

    一般来说,使用OFDM通讯的协议,其信号处理大概是这样的:

    原始信号数据-->编码-->交织-->调制(QPSK,QAM等)-->映射-->插入导频-->串转并-->IDFT(IFFT)-->插入循环前缀-->上变频-->天线-->......射频传输.......-->天线-->下变频-->去循环前缀-->DFT(FFT)-->并转串-->去导频-->逆映射-->解调-->去交织-->解码-->还原数据

 

    当然,在实际的电路中远不止这些步骤,因为使用OFDM技术的过程中还要克服很多类似于信道时延,多径还有其他因素造成的干扰,里面要加入各种均衡电路来消除这些干扰.但对信号处理的全过程有个比较清晰的认识对理解OFDM的通讯原理至关重要.

    原始信号数据要经过各种编码(Turbo,卷积码等等),其目的是为了在接收端解码后能够计算信号处理的整个过程中是否有错误存在,并且好的编码在一定程度上能够将错误纠正过来.

    接下来就是交织,交织包括位交织和块交织,所谓的交织就是把不同的数据按照一定的顺序进行颠倒,交换位置,这样在接收端去交织后继,再把数据按相反的过程进行颠倒,交换位置.这样的目的是为了把传送过程中瞬时间造成的错误分散到不同的数据块中.打个比方说,就是不把所有的鸡蛋放到同一个篮子中.一旦错误被分散后,通过解码的校验纠错能力,就能够在一定程度上恢复一些错误数据.

    调制对于通讯爱好者来说,应该是个不陌生的东西.OFDM中的调整与传统的协议中的调制不太一样.一般来说,在传统的调整过程中,调制一般是把基带的信号加载到中频或者射频信号上的过程.但使用OFDM的协议中,一般调制过程都是在基带中进行,调制和映射结合到一起,形成了类似于星座图中描述的复数信号,这些复数信号的存在也是I/Q信号存在的原因.本来复数的表示就是a+jb的形式,也就是I/Q信号.这样就把二进制数映射为复数数据,以便在后面进行进一步的处理.

    数据的信号经过调整和映射后,我们就可以通过设备看到星座图了.之所以形成星座图,其实也就是复数在坐标中的表示.

    插入导频信号,导频信号我理解也是复数的形式.导频信号和数据的复数一起组成了后面用来计算的数据.它的作用是用来进行信道估计的.后面再解释信道估计是干什么用的.因为导频信号是和数据的复数值不同,所以经过导频信号后,我们是可以看到多出来的几个星座图中的星星.

    在下来呢,就是串转并,所谓的串转并,就是把串行的复数信号分配到时域中去.并行的是一种可以理解为载频的信号.这些载频的频率是有一定规律的.其规律不太好描述,我们通过下面的图形可以理解一下

注意这个图形的横轴是频率,这样的一组载频,每个载频的距离是相等的,每个载频的带宽的一半都与下一个载频重叠.假设它们的频率分别是f1,f2,f3......fn.那么他们是等距的.所谓的串转并就是把每个复数逐个的分配到这些频率点上.因为数据此时已经是复数,所以分成I/Q两路分别分配到载频的cos,sin两路上去.其实OFDM的奥秘也就在这里.数据的复数,I/Q两路分别控制自己所在的载频的幅度.那么每路载频的顶峰承载找I/Q复数信号的幅度信息,在解调的时候,将幅度信息取出便可以恢复原来的复数值.

串转并,把映射的复数信号调制不同的子载频上去.这是一种数学上的运用,我们可以这样去理解,其实也只是个数学运算的过程.这时我们看成是信号加载到不同的谐波上,很象是一堆频域上的信号.

    实际的射频信号不可能是很多路子载频同时发射出去,懂射频的人应该理解这一点,硬件上根本是无法实现的.我们最终的发射应该是一个载频.这个载频其实是一个很宽频带的载频.也就是说,最终还要把众多的窄带的子载频合并到一个很宽的时域信号上去.也就是说,把并行的信号再次合并成一个时域的串行信号,而这个过程正好与频域到时域转换的数学算法是一致的,也就是一种反傅里叶变换的算法(IDFT),那么快速反傅里叶变换就是IFFT.

    IFFT每一次处理指定数量的码元,我们可以想象每个子载频上带有一个码元,那么IFFT每次处理的码元数量应该是子载频的数量.那么这些并行的码元经过IFFT处理后就变成了时域上的串行信号.IFFT每次处理的码元一般会被称为一个BLOCK,或者成为一个OFDM符号.这个概念要在了解OFDM的时候应该了解的.

    为了解决每一个BLOCK的同步或者说抵抗多径的干扰,在每个OFDM符号之间要插入一段保护.这些保护时间时间上并不是空的,而是把一个符号的后面的一部分拷贝一下放在前面做为保护.这个保护被称为保护前缀.这个保护用的循环嵌缀是用来防止多径等造成的码间干扰用的.其原理在后面有时间的时间再慢慢的把我的理解讲述一下.

    在后面就是上变频,提升频率到射频,再把信号发送出去.接收的一侧就是一个相反的过程.后面有时间慢慢聊.

对于OFDM又有了一下理解.发现前面理解的可能有些是错误的,当然这也不能怪我,实在是有些文档说得不清楚把我引入了歧途.我其实很了解国人的技术心理状态,即要显示自己是专家,又要不把别人讲明白,很正常.不过,这种文章最终只能把笨人和懒人引入歧途,而聪明和勤奋的人最终会从陷阱里爬出来的.

起初我以为这个从编码到串转并的过程就是IFFT的过程,怪

我才疏学浅.后来认真研究下去,才知道其实下面的并转串的过程才是IFFT的过程.后来才知道,其实是多个子载波合成为一个时域信号的过程只是是IFFT的开始信号..

当然,也并不是那么简单.符号的概念也是可以有两个地方可以称为符号,大概一般人都这样理解吧,时间这两个符号的内容是不同的.例如,每个子载波上所带的一个信号就称为一个符号,那么这个并转串的过程形成了下面的信号形式:

 也就是形成了x(t)信号.那么对x(t)进行采样,就形成了等间隔的x(n).而这个x(n).这个过程相当于是离散的频域信号到离散的时域信号的变换过程,x(t)->x(n)的采样其中在发射的时候并没有使用真正的抽烟,而是通过下面的公式计算出了x(n).

这个过程也就是子载波到x(n)的过程正好就是反傅里叶变换的计算过程.那么形成的x(n)是时域上的一串采样数,每一个采样的值又可以被称为一个符号.

   所以符号也是一些书中容易混的概念,在不同的地方有不同的理解,大家要注意才是.