卷积编码技术在OFDM系统中的应用研究论文(正文)

更新时间:2024-05-24 13:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

第一章 绪论 ............................................................................................................................ - 2 -

1.1 信道编码的重要作用 ...................................................................................................... - 2 - 1.2 OFDM系统的历史和研究现状 ...................................................................................... - 2 - 1.3 本文的研究内容 ............................................................................................................... - 6 -

第二章 卷积编码原理和维特比译码 ................................................................ - 7 -

2.1卷积码原理 ......................................................................................................................... - 7 - 2.1.1 卷积码的树图描述................................................................................................. - 8 - 2.1.2 卷积码的网格描述............................................................................................... - 10 - 2.1.3 卷积码的状态图描述 ........................................................................................... - 11 - 2.2 VITERBI译码算法的基本原理 ................................................................................... - 12 - 2.2.1 最大似然译码 ........................................................................................................ - 12 - 2.2.2 VITERBI译码 ........................................................................................................... - 14 - 2.3 卷积码的性能分析 ........................................................................................................ - 16 -

第三章 OFDM系统的基本介绍............................................................................... - 18 -

3.1 OFDM基本原理 ................................................................................................................. - 18 - 3.2 OFDM系统的频域分析 .................................................................................................. - 20 - 3.3 OFDM系统的优缺点 ....................................................................................................... - 21 - 3.3.1 OFDM系统的优点 .................................................................................................. - 21 - 3.3.2 OFDM技术的不足之处包括以下方面 ............................................................ - 22 - 3.4.3 训练序列/导频及信道估计技术 .................................................................... - 24 -

第四章 OFDM的仿真研究 .......................................................................................... - 26 -

4.1 系统模型 ........................................................................................................................... - 26 - 4.2 卷积编码和维特比译码的实现 ................................................................................. - 26 - 4.3 仿真结果及分析 ............................................................................................................. - 29 - 4.3.1系统误码率分析 .................................................................................................... - 29 - 4.3.2 不同编码的系统性能仿真 ................................................................................ - 30 -

第五章 总结 .......................................................................................................................... - 33 - 参考文献 ................................................................................................................................... - 34 - 致谢 ............................................................................................................................................... - 36 - 附录 程序清单 .................................................................................................................... - 37 -

- 1 -

第一章 绪论

1.1 信道编码的重要作用

OFDM技术提高了系统的整体性能和频谱利用率、系统容量,减小了接收机内均衡器的复杂程度,最大限度提高物理层信息传输的可靠性。适用于多用户的高灵活度、高利用率的通信系统。

但是在OFDM系统中,频域的各个子载波之间是互相独立的,这样的话如果遇到窄带干扰或者是频选衰落导致某些子载波上传输的信息出错概率较高,那就会影响性能。引入了卷积编码技术之后,通过对各个子载波的卷积编码,提高系统的抗衰落能力。OFDM技术本身已经利用了信道的频率分集,如果衰落不是特别严重,就没有必要再加时域均衡器。通过将各个信道卷积编码,则可以使系统性能和传输的可靠性得到提高。

当调制好的信号在信道里进行传输的时候,必然要受到信道的影响。信道的影响可以分成以下三个主要方面:第一是信道本身对信号产生的衰落:由于信道本身频率响应特性不理想,造成对信号的破坏;第二是信道中的各种噪声,如背景噪声、脉冲噪声等,这些噪声叠加在信号上面,改变信号的幅度、相位和频率,使信号在解调时产生错误;第三是信号在传输过程中由于反射、折射或沿不同路径传播从而带来的叠加效应,即通常所说的多径效应,这会带来时间上前后信号互相干扰。总而言之,这三种影响都会导致在接收端信号解调的错误,使系统的误码率大大增加。

因此在一个实用的通信系统中,必须采取一定的措施来纠正错误,提高系统的误码率性能。信道编码就是一种非常有效的措施。信道编码的任务就是,在发送端以可控的方式在信号中加入一定的冗余度,而在接收端这些冗余度可以用来检测并且纠正信号通过信道后产生的错误。当然,冗余度的加入降低了系统的工作效率,但是和系统误码率的降低(即信号更加正确地传送)相比,这些代价是可以接受的。

1.2 OFDM系统的历史和研究现状

OFDM是正交频分复用的英文缩写。正交频分复用技术(OFDM)是一种多载波数字调制技术,虽然OFDM的概念已经存在了很长时间,但是直到最近随着多媒体业务的

- 2 -

发展,它才被人们认识到是一种实现高速双向无线数据通信的良好方法。在典型的无线信道中,发送信号的多次反射导致了多径传播不同的传播路径具有不同的延迟,从而使得信道有时间色散特性由此引起的符号间干扰(Inter Symbol Interference ISI)是无线传输系统需要考虑的因素。特别是宽带系统,码元传输速率高。

如果数据率较低,而且信道的最大延时比符号的持续时间短,那么不需任何均衡技术来处理ISI。无绳电话就属于这种情况。随着数据传输距离和速率的增加,ISI变得很严重,这时必需借助信道均衡技术。比如在GSM系统中,5个符号的ISI可以被均衡,需要采用信道估计并计算滤波系数。一个好的均衡器也可以处理更长的ISI,但会受到计算复杂度的限制。例如,如果数据以10 Mb/s的速率在最大延时为10?s的信道上传输,ISI将扩展到100个符号。这样的话,相应的计算变得非常复杂。

OFDM应用离散傅里叶变换(DFT)和其逆变换(IDFT)方法解决了产生多个互相正交的子载波和从子载波中恢复原信号的问题。这就解决了多载波传输系统发送和传送的难题。应用快速傅里叶变换更使多载波传输系统的复杂度大大降低。从此OFDM技术开始走向实用。但是应用OFDM系统仍然需要大量繁杂的数字信号处理过程,而当时还缺乏数字处理功能强大的元器件,因此OFDM技术迟迟没有得到迅速发展。

近些年来,集成数字电路和数字信号处理器件的迅猛发展,以及对无线通信高速率要求的日趋迫切,OFDM技术再次受到了重视。

在上个世纪60年代已经提出了使用平行数据传输和频分复用(FDM)的概念。1970年,美国发明和申请了一个专利,其思想是采用平行的数据和子信道相互重叠的频分复用来消除对高速均衡的依赖,用于抵制冲激噪声和多径失真,而能充分利用带宽。这项技术最初主要用于军事通信系统。但在以后相当长的一段时间,OFDM理论迈向实践的脚步放缓了。由于OFDM各个子载波之间相互正交,采用FFT实现这种调制,但在实际应用中,实时傅立叶变换设备的复杂度、发射机和接收机振荡器的稳定性以及射频功率放大器的线性要求等因素部成为OFDM技术实现的制约条件。在二十世纪80年代,MCM获得了突破性进展,大规模集成电路让FFT技术的实现不再是难以逾越的障碍,一些其它难以实现的困难也部得到了解决,自此,OFDM走上了通信的舞台,逐步迈向高速数字移动通信的领域。

OFDM传输技术则提供了让数据以较高的速率在较大的信道上传输的另一种途径。其基本思想是把一个高速的数据流分解成许多低速率的子数据流,以并行的方式

- 3 -

在多个子信道上传输。这样,在每个子信道上,符号持续时间比信道的最大延时大,从而可以消除ISI。

60年代,OFDM的基本原理被提出。但由于当时没有功能强大的集成计算芯片,所以未能有效的实现这些想法。最初是采用的正交滤波器来实现正交调制。

1966年,R. W Chang发表了《Synthesis of band-limited orthogonal signals for multi channel data transmission》一文。文中叙述了在线性带限信道中,无ISI无ICI (inter channel interference,信道间干扰)的同时传输信息的原理。

1982年,韦斯坦(Weistein)和艾伯特(Ebert)等人应用离散傅里叶变换(DFT)和快速傅里叶方法(FFT)研制了一个完整的多载波传输系统,叫做正交频分复用(OFDM)系统。他们没有把注意力放在完善单个信道性能上,而是在如何高效的处理和如何解决信道间相互干扰的问题上。为了解决ISI和ICI,他们在时域上插入符号间保护间隔以及加窗的方法。虽然该系统不是很完善,但仍然是OFDM发展路途上的一个里程碑。

另一个重要贡献是Peled和Ruiz在1990年做出的。他们引入了保护间隔 (cyclic prefix, CP)这一概念,解决了正交性的问题:没有采用插入空保护间隔的办法。相反,用OFDM的循环延伸填充了保护间隔。当CP的时间比信道的脉冲响应时间长时,这样就可以在色散信道上保持正交性。

高速数字信号处理芯片(DSP)的发展,使得OFDM优越性更突出。DSP与FFT技术的结合,使得OFDM开始迅速发展并被广泛应用。傅立叶变换/反变换、QAM技术、栅格编码技术、软判决技术、信道自适应技术等成熟技术的逐步引入,人们开始集中越来越多的精力开发OFDM技术在移动通信领域的应用。

正交频分复用技术(OFDM)的应用已有近40年的历史,第一个OFDM技术的实际应用是军用的无线高频通信链路。但这种多载波传输技术在双向无线数据方面的应用却是近十年来的新趋势。经过多年的发展,该技术在广播式的音频和视频领域己得到广泛的应用。主要的应用包括:非对称的数字用户环路(ADSL), ETSI标准的音频广播(D AB)、数字视频广播(DVB)等。

1999年IEEE802.11 a通过了一个5GHz的无线局域网标准,其中OFDM调制技术被采用为它的物理层标准。ETSI的宽带射频接入网(BRAN)的局域网标准也把OFDM定为它的调制标准技术。

- 4 -

1999年12月,包括Ericsson, Nokia不I I Wi-LAN在I匀的7家公司发起了国际OFDM论坛,致力于策划一个基于OFDM技术的全球性单一标准。现在OFDM论坛的成员已增加到46个会员,其中15个为主要会员。我国的信息产业部也已参加了OFDM论坛,可见OFDM在无线通信的应用已引起国内通信界的重视。

2000年11月,OFDM论坛的固定无线接入工作组向IEEE802.16.3的无线城域网委员会提交了一份建议书,提议采用OFDM技术作IEEE802.16.3城域网的物理层(PHY)标准。随着IEEE802.11 a和BRANHyperlan/2两个标准在局域网的普及应用,OFDM技术将会进一步在无线数据本地环路的广域网领。OFDM由于其频谱利用率高、成本低等原因越来越受到人们的关注。随着人们对通信数据化、宽带化、个人化和移动化的需求,OFDM技术在综合无线接入领域将越来越得到广泛的应用。

我国在采用OFDM的数字广播领域也取得了一定的成绩。

1999年12月,在清华大学完成数字电视传输系统计算机仿真系统,并向广电总局数字电视标准委员会、国家高清晰度数字电视总体组及其他专家、学者汇报演。

2000年6月,完成清华大学DMB-T数字电视传输中频硬件系统测试平台调试(由25片40万门/片FPGA实现的样机)。

2000年9月11日到12日,清华大学举行了“地面数字多媒体电视传输防议DMB-T”技术研讨会,中国工程院9位院士、国家数字电视系统标准化专家委员会16位委员、国家质量技术监督局等政府有关部门官员、电视台及相关企业共80多人出席了会议。与会人员认为清华提出的防议方案跳出了现有的3个国际标准,从中国市场和产业需要出发,采用开放的合作研发方式,在技术上具有后发制人的优势。

2000年9月30口,清华大学DMB数字电视传输射频RF系统(FPGA)调试成功。 2000年11月8口,清华大学DMB-T系统编码器芯片和解码器IC芯片设计完成,送给芯片厂家流片。

2001年2月20口,清华大学拿到DMB-T系统信道编解码器IC芯片,开始进行基于IC的演示系统的实现。

2001年3月,信息产业部、广电总局派有关专家赴日内瓦参加国际电联ITU召开的2001年年会。会上,我国代表向国际电联介绍中国数字电视的发展情况,并将清华大学研制开发的DMB-T地面数字多媒体电视传输协议通报国际电联。

- 5 -

让我们感到自豪的是:2002年,OFDM年会在北京召开!伴随着中国数字电视的发展,清华大学地面数字多媒体电视传输DMB-T系统也经历了不断发展、完善和提高的过程。清华大学提出的基于TDS-OFDM技术的地面数字电视广播网传输协议,借鉴了这些年来国际国内在数字电视技术方面的经验教训,并目拥有自主知识产权,我们愿意为我国的数字电视事业做出自己的贡献。

数字电视在我国部分地区开始试行,中国开始进入数字电视新时代。

1.3 本文的研究内容

论文的研究方向是卷积编码技术及其在OFDM系统中的应用。论文在分析OFDM系统的关键技术和优缺点的基础上,分析了信道编码在OFDM系统中的误码率性能;并结合其他编码方法,研究了OFDM系统中卷积编码的重要作用。

论文在第二章介绍卷积码的原理,给出卷积码的几种表示方法及卷积码的性能描述;接着给出维特比译码算法的基本原理。第三章主要阐述OFDM系统的基本原理、OFDM系统的频域分析、OFDM系统的优缺点及其关键技术。第四章设计OFDM系统模型,并在matlab中进行仿真,通过误码率分析系统的性能。

最后,对论文的工作进行了总结及展望。

- 6 -

第二章 卷积编码原理和维特比译码

本章首先介绍了卷积码的原理,给出了卷积码的几种表示方法及卷积码的性能描述;接着给出了维特比译码算法的基本原理。

2.1卷积码原理

1…k1…k…2k…3k1…k1…k…………………Nk1…k每次输入k比特Nk级移存器12…………nn个模2加法器每输入k比特旋转1周编码输出图2-1 卷积码编码器一般原理方框图

卷积码是1955年由爱里斯提出,它与分组编码不同。分组码中本组中的n-k个校验元仅与本组中的k个信息元有关,与其他组的码元无关。分组码译码时,也只从本组中提取有关译码信息。但卷积编码中,编码码字不仅与本组的信息有关,而且与以前时刻的其他组的信息有关。同样,译码时不仅从此时刻收到的码组中提取译码信息,同时还利用以前一段时刻收到的码字。卷积码以“位”为单位进行,因此编码设备结构比分组码简单。

卷积码的译码方式有二种:(1)1963年由梅西(Masse)提出的门限译码,这是一种码代数结构的代数译码,类似于分组码中的大数逻辑译码;(2)1961年由沃曾克拉夫特(Wozencraft)提出,1963年由费诺(Eano)改进的序列译码,这是基于码树图结构上的一种准最佳的概率译码;(3) 1967年由维特比(Viterbi)提出的Viterbi算法,这是基于码的网(trellis )图基础上的一种最大似然译码算法,是一种最佳的概率译

- 7 -

码方法。维特比译码具有最佳性能,但硬件实现复杂;门限译码性能最差,但硬件简单;序列译码在性能和硬件方面介于维特比译码和门限译码之间。

卷积码通常用(n, k, m)表示。m为编码约束长度,说明编码过程中互相约束的码段个数。k/n=R 同分组码一样称为卷积码的码率。它们是衡量卷积码的重要参数。典型的(2, 1, 2)卷积编码器如图2-2所示。

图2-2 (2, 1, 2)卷积编码器

2.1.1 卷积码的树图描述

若一个(n, k, m)卷积码编码器的输入序列是半无限长序列,则它的输出序列也是半无限长序列。这种半无限的输入、输出编码过程可用半无限树图来描述。

下面以图2-3所示的(2, 1, 2)卷积码为例说明。这里用寄存器中的内容来表示该时刻编码器的状态。由于本例中总共有两个寄存器,所以可能有4个状态,这里用

S0 = (00),S1 = (10),S2 =(01) S3 = (11)

标记这4个状态。假设编码器的初始状态为S0,相继的输入序列为 m =(mo, ml,?)

在t时刻编码器的输出由该时刻编码器状态和输入数据所决定,同时当前时刻的状态和输入也决定了下一时刻的编码器状态,可以把整个编码过程用图2-3所示的编码树表示。

编码树从根节点S0状态出发,输入m0 = 0 ,则树向上走一分支,若输入一个“1\则树向下走一个分支。在每条分支上标有的2 bit数字表示这时编码器输出的两位数据。若m0 = 0 ,编码树走上面分支,输出(00),进入状态S0若m0 = 0 ,编码树相应走下面分支,输出(11),进入到S1状态。当第二个信息数据ml输入时,编码

- 8 -

器已处于S0状态或S1状态。若这时编码器处于S0状态,则由ml = “0”或“1\,编码器进入状态S0或S1,同时输出(00)或(11) ;若当ml输入时,编码器处于S1状态,则由ml = \”或“1\,编码器进入状态S2或S3,同时输出(10)或(01)。如此继续,随着输入消息数据序列不断输入到编码器,在编码树上从根节点出发,从一个节点走向下一个节点,演绎出一条路径,而由组成路径的各分支上所标记的两位输出数据所组成的序列就是编码器输出

2-3 卷积码的树图

的码字序列。每一个输入消息数据序列对应了唯一的一条路径,也就对应了唯一的输出码字序列。例如输入数据序列

m = ( 1101000?)

- 9 -

在图3.2所示的树图上对应一条用粗黑线画出的路径,相应输出的码序列为 v=(11,01,01,00,10,11,00,?)

km2标有n(bit)编码输出数据,最多可能有种不同状态。

k2一般地,对于(n, k, m)卷积码来说,从每个节点发出条分支,每条分支上

2.1.2 卷积码的网格描述

对于树图来说,随着路径长度L的增加,终端分支数呈指数增长,所以对于大的L不可能画出编码树。同时从图2-3可以看出,从树的每一层上的同类节点,也就是从同一状态生长出的子树结构完全相同。因此,可以把树的每一层上同类节点归并压缩,例如图2-3所示树图经压缩后,得到图2-4所示的网格图,它也是描述卷积编码的重要工具。图2-4所示网格图在t?2T后,只保留4个状态,每个状态根据输入数据为“0”或“1\,转移到新的状态,同时输出2位码字比特。图2-4中用实线和虚线分别表示相应输入数据为“0”和“1\,在状态转移分支上所标的2比特数据为相应的输出码字比特。

图2-4 卷积码的网格图

若从t?0,状态S0出发,输入序列为 m = (11010000?)

在网格图中对应一条路径,图中用粗黑线标出,对应的状态转移序列为 S0一>S1一>S3一>S2一>S1一>S2一>S0一>S0

- 10 -

输出码字序列为

v=(11, Ol, Ol, 00, 10, 11, 00, 00,?)

因此,用网格图来描述卷积码与用树图来描述是等价的。

显然在t?0时刻,从状态S0出发可能有许多路径,但只有一条与输入序列m对应。这条路径称为正确路径,而所有其他路径称为错误路径。

对于一般(n, k, m)卷积编码器来说,它对应的网格图最多有2加个不同状态,从每个状态发出2条分支,每条分支上标有n (bit)输出码字。 2.1.3 卷积码的状态图描述

实际上,卷积码编码器是一个有限状态机,因此可以用状态转移图来描述。另一方面,从网格图上也可以看到,网格图在时间上完全是重复的,所以如果把网格图在时间轴上进行归并和压缩,可以得到状态转移图。例如图2-5表示与图2-4所示(2, 1, 2)卷积码对应的状态转移图,图中4个状态分别用S0, S1, S2, S3表示。输入数据“0”所引起的状态转移用实线表示,输入数据y;所引起的状态转移用虚线表示。状态转移线上标有的2bit数据表示状态转移时所对应的输出码字比特。

k

图2-5 卷积码的状态图

从S0出发,由输入数据序列m确定了一个状态转移序列,得到一个相应的输出码字序列。对于(n, k, m)卷积码,最多可能有2km个不同状态,从每个状态发出2k条分支,转移到相应的下一个状态,每个状态分支上标有n (bit)输出码字数据。

- 11 -

假定编码器初始状态为S0,对任何一给定信息序列的码字可以这样得到,沿着由信息序列所决定的状态图中的状态转移路径,记下每条转移分支上的输出数据,就可得到与输入消息序列对应的码字序列。如果给输入消息序列后面添加m个全零序列,就可使编码器转回到S0状态。

2.2 Viterbi译码算法的基本原理

卷积码的概率译码最早始于1961年由鸟曾克莱夫特(Wozencraft)提出的序列译码器,这是第一个提出的实用的卷积码概率译码方法,1963年费诺(Fano)对序列译码进行改进,提出了Fano算法,从而推动了序列译码的实际应用。1967年(Viterbi)提出了另一种概率译码算法Viterbi算法,它是一种最大似然译码算法。在码的约束度较小时,它比序列译码算法效率更高,速度更快,译码器也较简单。因而Viterbi算法提出以来,无论在理论上还是在实践上都得到了极其迅速的发展并广泛应用于各种数字通信系统中,特别是卫星通信系统中,该算法已被采用作为标准技术。 2.2.1 最大似然译码

图2-6给出了卷积码编码、译码模型。图中,信息序列M首先经过卷积码编

图2-6 卷积编译码图

码器变成编码发送序列C,然后将C送入有噪声的离散无记忆信道(DMC);在接收端,设译码器接收到的序列为R,译码输出序列为应M?。

对于(n, k, m)卷积码,设信息序列M为 M = (M0,M1,?,Mi,ML?1,0,0,?,0)

- 12 -

其中,每一个符号M代表长度为k的信息码块,故有用的信息码长度总长度为里

L*k有m*k个被附加在有用的信息码元之后,这样做的目的是使编码器对M序列完

成编码之后,恢复到全零状态,同时使信息序列能分帧传输,接收序列也能分帧译码。

若编码器输出的编码序列C为 C = (C0,C1,?,Ci,?,CL?M?1)

这是一个长度为n(L+m)个码元的二进制序列,其中Ci是第i个发送子码。由于编码器输出序列之后总能恢复到全0状态,所以称此序列为截尾卷积码序列。该码序列通过离散无记忆信道(DMC)之后,译码器接收序列R为

R = (R0,R1,?,Ri,?,RL?M?1) 其中,

Ri是第i个接收子码,长度是n。于是对于DMC信道,输入码序列为C

而接收到码序列是R的概率为

P(RC)?P(R0C0)*P(RCR11)?P(L+m?1)L?m?1

??P(RC)??P(riii?0j?0N?1jcj) (2一1)

式(2-1)中,N?n(L?m)是(L+m)个子码的二进制的长度,r和c分别代表接收序列R和发送序列C中的二进制码元,j是二进制码兀的顺序数。对式(2-1)两边取对数,有

logP(RC) =

?logP(rj?0N?1jcj) (2一2)

称logP(RC)是码序列C的似然函数,它表示发送序列为C 而接收到序列是R这种情况可能性的大小,logP(RC)越大,说明R和C越相似。式中logP(rjcj)是信道的转移概率。

在接收序列R,前面L个子码是由L*k个二进制信息码元编码获得。由L*k个二进制码元可以组成2kL种码序列。现在的问题是,已知接收码序列R,不知发送码序列C,那么这2kL码序列都可能是发送码序列,但是发送各种码序列的可能性大小,是由似然函数决定的。译码器的任务就是要从这2kL种找出一个与R最相似的码序列C,作为编码发送序列C的估值。换句话说,对于一个特定的接收序列R,译码器对2种码序列分别计算出相应的似然函数,挑选出似然函数最大的一个码序列作为译码器的译码输出序列应M?在等概率发送的情况下,这种最大似然函数译码方法是译码错误概率最小的方法,因而也是最佳的方法。

- 13 -

kL

若信道是二进制对称信道(BSC) ,

P(10) =

P(01)等于误码率 Pe 。假设发送序

列在传输中产生了e个错误,这时C与R有e个位置上码元不同,所以e=d(R,C),d(R,C)是R与C之间的汉明距离。这时,似然函数可以写成

logP(RC) = ?logP(rjcj)

j?0N?1= d(R,C)logPe= d(R,C)logj?0 + [N?d(R,C)] *

log(1?Pe)

(2一3)

Pe?1/2我们称似然函数

Pelog(1?Pe) + N * 1?PelogP(RC)

为C与R之间相似性的“度量”。由于故

有log[Pe /(1一Pe)] < 0 。所以当d(R,C)最小时,对应着

logP(RC)最大。也

就是说,对于二进制无记忆信道而言,最大似然译码就等于最小汉明距离译码,因此logP(RC)可以用d(R,C)代替似然函数作为度量C与R之间的汉明距离可以表示为

d(R,C) =

L?m?1i?0?d(R,C) = ?d(r,c) (2一4)

iiN?1j?0jj其中,

d(Ri,Ci)和

d(rj,cj)分别表示子码度量和码元度量。

2.2.2 Viterbi译码

由于卷积码的编码输出序列一定对应着网格图(或码树)中的一条路径,因此卷积码的最大似然译码,就是根据收到的序列R,按照最大似然译码的准则,力图在网格图上找到原来编码器编码时所走过的路径,这个过程就是译码器计算、寻找最大似然函数的过程,即得到

maxlogP(RjCj)(j?1,2,?,2kL) (2一5)

??对于BSC信道而言,就是寻找与R有最小汉明距离的路径,即得到

mind(Rj,Cj)(j?1,2,?,2kL) (2一6)

??最大似然译码的性能固然很好,但它是以整个译码长度为(L+m)n作为整体考虑的,这就给实际应用带来了困难。例如,若采用,L=50, k=2,可能的路径大于1030条,对于每一个接收序列R都要与大约1030条码序列进行比较,这在实际应用中几乎是不可能的。因此,必须寻找一种新的最大似然译码算法,Viterbi译码方法正是为了解决这一困难提出来的。它不是在网格图上一次比较所有可能的个序列(路径),

- 14 -

而是接收一段,就比较、计算一段,选择一条最可能的路径,从而使整个码序列是一个有最大似然函数的序列。用Viterbi译码的方法具体步骤如下:

(1)从S0状态开始,时间单位j=1,计算并存储进入每一个状态的部分路径及其度量值。

(2)j增加1,计算此时刻进入各状态的部分路径及其度量值,经过比较后,挑出并存储每个状态中一条有最大度量的那个部分路径及该部分路径对应的度量值,称此部分路径为幸存路径。

(3)如果j L以后,由于输入码元开始为0,故网格图的状态数减少,幸存路径也减少,到第(L+m)单位时间,网格图回到S0状态,最后只剩一条幸存路径,这条路径就是我们需要的有最大似然函数的路径C?。

简单流程图如图2-7。

- 15 -

图2-7 译码流程图

2.3 卷积码的性能分析

(1)码率对误码性能的影响

卷积码的码率R=k/n,它是卷积码的一个重要参数,当改变卷积码的码率时,系统的误码性能也将随之发生变化。当码率一定时,随着信道噪声的逐渐减小,系统的

- 16 -

误比特率也逐渐减小,当改变系统码率时,随着卷积码码率的逐渐提高,系统的误比特率也呈现出增大的趋势,也就是说码率越低,系统的误比特率就越小,误码性能就越好,仿真表明,当系统码率从2/3降至1/3时,可以使误比特率减小0.25 dB,然而,信道带宽和译码器的复杂性也将相应地增加,因此,对于二进制对称信道,当采用BPSK调制方式时,通常选取的码率为1/2。 (2)约束长度对误码性能的影响

对于码率一定的卷积码,当约束长度m发生变化时,系统的误码性能也会随之发生变化。随着约束长度的逐渐增加,系统的误比特率明显降低,所以说当码率一定时,增加约束长度可以降低系统的误比特率。但是随着约束长度的增加,译码器的复杂性也会随之增加,所以对于码率为1/2的卷积码,我们在选取约束长度时一般为3-9 。

(3)回溯长度对卷积码性能的影响

回溯长度是在Viterbi译码过程中一个很重要的参数,它决定了译码延迟,随着它的不断变化,误码性能也随之而变化。当回溯长度一定时,随着信道噪声的逐渐减小,系统的误比特率逐渐降低;当回溯长度逐渐增加,系统的误比特率随之逐渐降低,但是当回溯长度增加到??5m时(m为编码的约束长度),误比特率数值趋于稳定。因此,在确定回溯长度时既要考虑到随着?的增加误比特率随之降低的趋势,也要考虑到译码延迟会变大,在选取回溯长度时,通常取??5m。

- 17 -

第三章 OFDM系统的基本介绍

OFDM是一种无线环境下的高速传输技术。无线信道的频率响应曲线大多是非平坦的,而OFDM技术的主要思想就是在频域内将给定信道分成许多正交子信道,在每个子信道上使用一个子载波进行调制,并且各子载波并行传输。这样,尽管总的信道是非平坦的,具有频率选择性,但是每个子信道是相对平坦的,在每个子信道上进行的是窄带传输,信号带宽小于信道的相应带宽,因此就可以大大消除信号波形间的干扰。由于在OFDM系统中各个子信道的载波相互正交,它们的频谱是相互重叠的,这样不但减小了子载波间的相互干扰,同时又提高了频谱利用率。

3.1 OFDM基本原理

OFDM —— OFDM(Orthogonal Frequency Division Multiplexing)即正交频分复用技术,实际上OFDM是MCM Multi-CarrierModulation,多载波调制的一种。其主要思想是:将信道分成若干正交子信道,将高速数据信号转换成并行的低速子数据流,调制到在每个子信道上进行传输。正交信号可以通过在接收端采用相关技术来分开,这样可以减少子信道之间的相互干扰 ICI 。每个子信道上的信号带宽小于信道的相关带宽,因此每个子信道上的可以看成平坦性衰落,从而可以消除符号间干扰。而且由于每个子信道的带宽仅仅是原信道带宽的一小部分,信道均衡变得相对容易。在向B3G/4G演进的过程中,OFDM是关键的技术之一,可以结合分集,时空编码,干扰和信道间干扰抑制以及智能天线技术,最大限度的提高了系统性能。包括以下类型:V-OFDM,W-OFDM,F-OFDM,MIMO-OFDM,多带-OFDM。

OFDM的基本思想是把高速率的信源信息流通过串并变换,变换成低速率的N路并行数据流,然后将这N路数据流分别调到N个相互正交的子载波上,再将N路调制后的信号相加即得发射信号。设一个OFDM符号之内包含N个经过相移键控(PSK)或者正交幅度调制(QAM)的子载波。T 表示OFDM符号的持续时间(周期),则OFDM的基带信号为

s(t)??dnen?0N?1j2?ntT (3一1)

- 18 -

对于信号s(t)以T/N的速率进行抽样,即令t=kT/N(k=0,1,?,N-1),则可得:

sk?s(kT/N)??dnen?0N?1j2?nkT(0?k?N?1) (3一2)

可以看出,抽样值刚好为N点反离散傅里叶变换(IDFT)。同样在接收端,恢复原

sdn始数据符号的处理就可以通过对k制与解调框图。

进行N点离散傅里叶变换(DFT)获得。由此

可见,OFDM系统的调制和解调可以分别通过IDFT/DFT 来实现。图1 为OFDM系统的调

在OFDM系统的实际应用中,N点IDFT 运算需要进行N2次复数乘法和N(N-1)次复数加法,对于子载波数量非常大的OFDM系统而言,可以进一步采用Radix-2,Radix-4 或分裂基FFT 算法。N点Radix-2 FFT 算法中需要N2lbN 次复数乘法和NlbN次复数加法;N点Radix-4 算法仅需3N logN4 次复数乘法和3NlogN4 次复数加法,同Radix-2算法相比能够减少加法器和乘法器的使用数量,从而节省硬件资源、降低功耗、提高运算速度,满足OFDM 技术的实时性要求。同时Radix-4 FFT 算法的优点是只存在与{1,-1,j,-j}的相乘运算,因此可以不使用完整的乘法器,而通过简单的加减法以及交换实部和虚部(当与j 或-j 相乘时)就可以实现乘法运算。因此优先选用Radix-4 FFT算法。

图3-1 OFDM系统调制解调框图

- 19 -

3.2 OFDM系统的频域分析

图3-2 单个子载波的OFDM信号频谱

OFDM的实质是多载波调制,一个OFDM码元由多个子载波的信号叠加而成。 其单个子载波的频谱如图3-2。一个OFDM码元频谱图如图3-3(以7个子载波为例)。显然,与传统的频分复用方式相比,OFDM有较高的频谱效率,而且相比较于同等数据传输速率的单载波调制系统来说,OFDM系统有较长的码元周期,可抵抗突发脉冲干扰和多径时延拓展。

其频谱可以看作是周期为T的矩形脉冲的频谱与一组位于各个子载波频率上的d函数的卷积。矩形脉冲的频谱幅值为sinc(ft)函数,这种函数的零点出现在频率为1/7整数倍的位置上。

OFDM的正交性可以参见图3-3,其中给出相互覆盖的各个子信道内经过矩形波形成型得到的符号的sinc函数频谱。在每一子载波频率的最大值处,所有其他子信道的频谱值恰好为零。由于在对OFDM符号进行解调的过程中,需要计算这些点上所对应的每一子载波频率的最大值,因此可以从多个相互重叠的子信道符号频谱中提取出每个子信道符号,而不会受到其他子信道的干扰。

而且其还利用频率分集的思想来充分发挥多载波传输的特点,克服多径干扰。因

- 20 -

为多个子信道的划分降低了信号的波特率使得在各子信道上,信号历经平坦衰落,因此可以利用灵活的子信道分配策略,实现频率分集。

但是,多载波传输的方法也为OFDM带来了峰均比较高的特点,这对RF频段功放的线性是一个高要求,如何有效降低OFDM信号的峰均比是一个颇具挑战性的课题。

图3-3 7个子载波的OFDM信号频谱

3.3 OFDM系统的优缺点

3.3.1 OFDM系统的优点

1、频谱效率高

由于FFT处理使各子载波可以部分重叠,理论上可以接近Nyquist极限。以OFDM为基础的多址技术OFDMA(正交频分多址)可以实现小区内各用户之间的正交性,从而有效地避免了用户间干扰。这使OFDM系统可以实现很高的小区容量。 2、带宽扩展性强

由于OFDM系统的信号带宽取决于使用的子载波的数量,因此OFDM系统具有很好的

带宽扩展性。小到几百kHz,大到几百MHz,都很容易实现。尤其是随着移动通信宽带

- 21 -

化(将由£5MHz增加到最大20MHz),OFDM系统对大带宽的有效支持,成为其相对于单载波技术(如CDMA)的“决定性优势”。

3、抗多径衰落

由于OFDM将宽带传输转化为很多子载波上的窄带传输,每个子载波上的信道可以

看作水平衰落信道,从而大大降低了接收机均衡器的复杂度。相反,单载波信号的多径均衡的复杂度随着带宽的增大而急剧增加,很难支持较大的带宽(如20MHz)。 4、频谱资源灵活分配

OFDM系统可以通过灵活的选择适合的子载波进行传输,来实现动态的频域资源分

配,从而充分利用频率分集和多用户分集,以获得最佳的系统性能。 5、实现MIMO技术较简单

由于每个OFDM子载波内的信道可看作水平衰落信道,多天线(MIMO)系统带来的额

外复杂度可以控制在较低的水平(随天线数量呈线性增加)。相反,单载波MIMO系统的复杂度与天线数量和多径数量的乘积的幂成正比,很不利于MIMO技术的应用。 6、适合高速数据传输

OFDM自适应调制机制使不同的子载波可以按照信道情况和噪音背景的不同使用不同的调制方式。当信道条件好的时候,采用效率高的调制方式。当信道条件差的时候,采用抗干扰能力强的调制方式。再有,OFDM加载算法的采用,使系统可以把更多的数据集中放在条件好的信道上以高速率进行传送。因此,OFDM技术非常适合高速数据传输。

7、抗码间干扰(ISI)能力强

码间干扰是数字通信系统中除噪声干扰之外最主要的干扰,它与加性的噪声干扰不同,是一种乘性的干扰。造成码间干扰的原因有很多,实际上,只要传输信道的频带是有限的,就会造成一定的码间干扰。OFDM由于采用了循环前缀,对抗码间干扰的能力很强。

3.3.2 OFDM技术的不足之处包括以下方面 1、对频偏和相位噪声比较敏感

OFDM技术区分各个子信道的方法是利用各个子载波之间严格的正交性。频偏和相位噪声会使各个子载波之间的正交特性恶化,仅仅1%的频偏就会使信噪比下降30dB。

- 22 -

因此,OFDM系统对频偏和相位噪声比较敏感。

2、功率峰值与均值比(PAPR)大,导致射频放大器的功率效率较低

与单载波系统相比,由于OFDM信号是由多个独立的经过调制的子载波信号相加而成的,这样的合成信号就有可能产生比较大的峰值功率,也就会带来较大的峰值均值功率比,简称峰均值比。对于包含N个子信道的OFDM系统来说,当N个子信道都以相同的相位求和时,所得到的峰值功率就是均值功率的N倍。当然这是一种非常极端的情况,通常OFDM系统内的峰均值不会达到这样高的程度。高峰均值比会增大对射频放大器的要求,导致射频信号放大器的功率效率降低。

3、负载算法和自适应调制技术会增加系统复杂度

负载算法和自适应调制技术的使用会增加发射机和接收机的复杂度,并且当终端移动速度每小时高于30公里时,自适应调制技术就不是很适合了。

3.4 OFDM系统的关键技术

3.4.1同步技术

OFDM系统中,N个符号的并行传输会使符号的延续时间更长,因此它对时间的偏

差不敏感。对于无线通信来说,无线信道存在时变性,在传输中存在的频率偏移会使OFDM系统子载波之间的正交性遭到破坏,相位噪声对系统也有很大的损害。 由于发送端和接受端之间的采样时钟有偏差,每个信号样本都一定程度地偏离它真确的采样时间,此偏差随样本数量的增加而线性增大,尽管时间偏差坏子载波之间的正交性,但是通常情况下可以忽略不计。当采样错误可以被校正时,就可以用内插滤波器来控制真确的时间进行采样。

相位噪声有两个基本的影响,其一是对所有的子载波引入了一个随机相位变量,跟踪技术和差分检测可以用来降低共同相位误差的影响,其次也会引人一定量的信道间干扰(ICI),因为相位误差导致子载波的间隔不再是精确的1/T了。

载波频率的偏移会使子信道之间产生干扰。OFDM系统的输出信号是多个相互覆盖的子信道的叠加,它们之间的正交性有严格的要求。无线信道时变性的一种具体体现就是多普勒频移,多普勒频移与载波频率以及移动台的移动速度都成正比。多普勒展宽会导致频率发生弥散,引起信号发生畸变。从频域上看,信号失真会随发送信道的多普勒扩展的增加而加剧。因此对于要求子载波严格同步的OFDM系统来说,载波的频率偏移所带来的影响会更加严重,如果不采取措施对这种信道间干扰(ICI)加以克服,系统的性能很难得到改善。

OFDM中的同步通常包括3方面的内容:

- 23 -

(1)帧检测;

(2)载波频率偏差及校正; (3)采样偏差及校正。

由于同步是OFDM技术中的一个难点,因此,很多人也提出了很多OFDM同步算法,主要是针对循环扩展和特殊的训练序列以及导频信号来进行,其中较常用的有利用奇异值分解的ESPRIT同步算法和ML估计算法,其中ESPRIT算法虽然估计精度高,但计算复杂,计算量大,而ML算法利用OFDM信号的循环前缀,可以有效地对OFDM信号进行频偏和时偏的联合估计,而且与ESPRIT算法相比,其计算量要小得多。对OFDM技术的同步算法研究得比较多,需要根据具体的系统具体设计和研究,利用各种算法融合进行联合估计才是可行的。OFDM系统对定时频偏的要求是小于OFDM符号间隔的4%,对频率偏移的要求大约要小于子载波间隔的1%~2%,系统产生的-3dB相位噪声带宽大约为子载波间隔的0.01%~ 0.1%。 3.4.2 PARP的解决

由于OFDM信号是有一系列的子信道信号重叠起来的,所以很容易造成较大的PAPR。大的OFDM PAPR 信号通过功率放大器时会有很大的频谱扩展和带内失真。但是由于大的PARP的概率并不大,可以把大的PAPR值的OFDM信号去掉。但是把大的PAPR值的OFDM信号去掉会影响信号的性能,所以采用的技术必须保证这样的影响尽量小。一般通过以下几种技术解决:

(1)信号失真技术。采用修剪技术、峰值窗口去除技术或峰值删除技术使峰值振幅值简单地线性去除。

(2)编码技术。采用专门的前向纠错码会使产生非常大的PAPR的OFDM符号去除。 (3)扰码技术。采用扰码技术,使生成的OFDM的互相关性尽量为0,从而使OFDM的PAPR减少。这里的扰码技术可以对生成的OFDM信号的相位进行重置,典型的有PTS和SLM 3.4.3 训练序列/导频及信道估计技术

接收端使用差分检测时不需要信道估计,但仍需要一些导频信号提供初始的相位参考,差分检测可以降低系统的复杂度和导频的数量,但却损失了信噪比。尤其是在OFDM系统中,系统对频偏比较敏感,所以一般使用相干检测。

在系统采用相干检测时,信道估计是必须的。此时可以使用训练序列和导频作为辅助信息,训练序列通常用在非时变信道中,在时变信道中一般使用导频信号。在OFDM系统中,导频信号是时频二维的。为了提高估计的精度,可以插入连续导频和分散导

- 24 -

频,导频的数量是估计精度和系统复杂的折衷。导频信号之间的间隔取决于信道的相干时间和相干带宽,在时域上,导频的间隔应小于相干时间;在频域上,导频的间隔应小于相干带宽。实际应用中,导频的模式的设计要根据具体情况而定。

- 25 -

第四章 OFDM的仿真研究

4.1 系统模型

图4-1 系统模型图

本次仿真的系统模型如图4-1。信号源采用matlab内部产生的随机系列,对信号源使用卷积编码,得到编码系列,对编码系列使用QPSK调制,得到QPSK调制信号,将QPSK调制信号使用OFDM调制,并进行串并转换,加入高斯白噪声,通过OFDM多径信道传输,接收端将接收信号进行并串转换,然后使用OFDM解调,再进行QPSK解调,使用Viterbi算法进行译码,最后通过公式求出误码率并画出误码率曲线图。

4.2 卷积编码和维特比译码的实现

在程序设计中,我们没有采用MATLAB自带的编码函数而是采用了自己的编码函数encode_conv213,设a为输入信息序列,在命令窗口输入:

clear all

a=randint(1,10,[0 1]);%产生信号源 b=encode_conv213(a);%卷积

tiaozhixinhao=dmod(b,4800,2400,12000,'psk',2);%调制

noise=tiaozhixinhao+randn;%enoise=e+.1*randn(1,60)不同功率的高斯白噪声

jietiaoxinhao=ddemod(noise,4800,2400,12000,'psk',2);%解调

- 26 -

图4-2 随机生成的信号码源

图4-3 经过卷积后的信号

c=decode_conv213(jietiaoxinhao);%译码

- 27 -

figure(1)

stem(a);xlabel('信号源');%信号源 figure(2)

stem(b);xlabel('卷积信号');%卷积后的信号 figure(3)

stem(c);xlabel('译码后信号');%译码后信号的数字信号 可得信息序列a = 0110100011

其编码后得编码序列b = 00011111110101110111 编码结果符合理论预测。

图4-4 Viterbi译码后得到的信号

对其进行维特比译码c=decode_conv213(b)得c = 0110100011,如图4-5。 c与a相同结果正确。

- 28 -

4.3 仿真结果及分析

4.3.1系统误码率分析

信道编码, 又称差错控制编码, 它是按一定的规则给数字序列M 增加一些多余的码元, 使不具有规律性的信息序列M 变换为具有某种规律的数字序列Y。也就是说, 码序列中信息序列的各码元与多余码元之间是相关的。在接收端, 译码器利用这种预知的编码规则来译码, 或者说检验接收到的数字序列R 是否符合既定的规则, 从而发现R 中是否有无码而纠正其中的差错。根据相关性来检查和纠正传输过程中产生的差错, 这就是信道编码的基本思想。

图4-5 卷积码性能分析

这里仿真所使用的信道编码为(2,1,3)卷积编码,仿真参数如下:

Nums=40;

NumLoop = 60; NumSubc = 128; NumCP = 8; SyncDelay = 0;

%----------------------------------------------- % 子载波数 128 % 位数/ 符号 2

- 29 -

% 符号数/ 载波 60 % 训练符号数 0

% 循环前缀长度 8 (1/16)*T % 调制方式 4-QAM % 多径信道数 3 %IFFT Size 128 % 信道最大时延 2

在卷积编码中, 每k0 个信息比特序列映射为一个长为n0 的信息输入序列, 但是这个信道输入序列不仅决定于最当前的k0 个信息比特, 而且还与编码的前( L - 1) k0 个输入有关。因此, 这种编码器有一种有限状态机的结构, 在这里每一时刻, 输出序列不但与输入序列有关, 而且还与编码器的状态有关, 这个状态是由编码器的前( L - 1) k0 个输入决定的。参数L 称为该卷积码的约束长度。因此, 一个二进

k0(L?1)2制卷积码就是一个具有个状态的有限状态机。

卷积编码的译码一般有两种方式: 一种是代数解码, 它利用编码本身的代数结构进行解码, 不考虑信道的统计特性; 一种是概率解码, 这种解码方法在计算时要用到信道的统计特性。Viterbi译码属于概率解码, 它的基本思想是最大似然算法: 把接收到得序列与所有可能的发送序列进行比较, 选择一种距离最小的序列作为发送序列。这里仿真所采用就是Viterbi译码方法。

由图4-6在低信噪比部分出现了采用信道编码的误码率高于未采用信道编码的误码率的情况, 这是由于在低信噪比时, 进行信道解码前的误码率已经很高, 超出了卷积码的有效纠错范围, 导致正确的码在译码时纠错, 使得误码率升高, 但是这种低信噪比的可能性是很小的。随着信噪比的增加, 信道编解码的优势显现了出来, 采用信道编解码的误码率小于未采用信道编解码的误码率。 4.3.2 不同编码的系统性能仿真

本文对不同的信道编码分别进行了仿真,采用了(7,4)线性分组码与卷积码的比较,仿真结果如图4-6。

仿真参数如下:

Nums=40;

NumLoop = 70; NumSubc = 128; NumCP = 8; SyncDelay = 0;

%----------------------------------------------- % 子载波数 128

- 30 -

% 位数/ 符号 2 % 符号数/ 载波 70 % 训练符号数 0

% 循环前缀长度 8 (1/16)*T % 调制方式 4-QAM % 多径信道数 3 %IFFT Size 128 % 信道最大时延 2

图4-6 不同编码性能比较

(n,k) 线性分组码在编码时,将一个长为k 的信息分组映射为一个长为n 的码

Rc?k/m称为编码速率。字,每个分组码都有相应的校验矩阵H?PT,In?k,其中P 为

??生成矩阵的监督阵列,用来生成冗余的n ? k 位校验位。(n,k) 分组码可以用k bit线性移位寄存器和n ? k 个模2加法器实现。

分组码的译码采用标准阵译码。标准阵是由差错图样与码字组成的阵,其陪集首项的集合为可纠正的错误图样集合,译码的过程中先计算接收矢量v 的伴随式

s?vHT,然后由伴随式决定标准阵的陪集首e ,最后将接收码字译为c = v + e 。

对于二元对称信道,分组码的误组率为

- 31 -

Pe?n!Pi(1?P)n?i ?i?t?1i!(n?i)!n译码的误比特率为

1ni?n!iPb??P(1?P)n?i?P?P(1?P)n?i

ni?t?1i!(n?i)!其中P 为信道码元错误概率。

卷积码将分组码加以推广,使增加的多余数字不仅与本组的信息有关,还与前面若干组的信息有关,可以起到更好的校验作用。由图4-7可知卷积编码的性能明显比(4,7)线性分组码的要好,随着信噪比的增加卷积码的性能优越性越发明显。

- 32 -

第五章 总结

随着数字时代的到来,OFDM技术给通信领域注入了新的活力。正如绪论中所述,OFDM技术良好的性能在计算机网络、数字音频频广播、移动通信、卫星通信等多个领域中都有体现。

本文介绍分析了OFDM 系统的基本原理、OFDM 信号的产生、信道的编解码以及OFDM 系统的实现。在对整个OFDM系统的分析基础上对OFDM 系统进行了设计, 讨论了OFDM系统在卷积编码和不同信道编码对系统误码率的影响, 利用Matlab语言, 建立OFDM 系统模型, 并对系统进行了仿真和性能分析, 在仿真结果中, 通过绘出的性能曲线给出了误码率与信噪比的关系, 说明了所设计的系统在卷积编码和不同编码的性能。通过对不同曲线图的对比, 分析了其成因, 仿真结果表明采用信道编码可有效降低系统的误码率, 提高系统性能。

OFDM由于其频谱利用率高、成本低等原因越来越受到人们的关注。随着人们对通信数据化、宽带化、个人化和移动化的需求,OFDM技术在综合无线接入领域将越来越得到广泛的应用。

- 33 -

参考文献

[1] 江裕民,OFDM关键技术与应用,机械工业出版社,2006.

[2] 佟学俭, 罗涛. OFDM 移动通信技术原理与应用[M ]. 北京: 人民邮电出版社, 2003. [3] 谢志远, 戎丽, 刘欢. OFDM 系统仿真与分析[ J] . 通信技术,2008, 41 ( 12) : 16 - 18. [4] 陈长兴, 郑洪涛, 巩林玉. 基于Mat lab 的OFDM 系统仿真与性能分析[ J] . 通信技术, 2009, 42 ( 01) : 93 - 95.

[5] 孙小东, 于全, 王红星, 等. OFDM 技术及其系统仿真设计[ J] . 系统仿真学报, 2004, 16 ( 03) : 499- 503.

[6] 王文博,郑侃: 宽带无线通信OFDM技术, 北京:人民邮电出版社,2003.11 [7] 王立宁,乐光新,詹菲:《MATLAB与通信仿真》,人民邮电出版社,2000。 [8] 魏克新.MATLAB语言与自动控制系统设计,机械工业出版社,1997。 [9] 樊昌信,詹道庸,徐炳祥,吴成柯:《通信原理》,国防工业出版社,1995。 [10] 张平,崔春风:《第三代蜂窝移动通信系统—WCDMA》,北京邮电大学出版社,2002。 [11] 查光明 熊贤祚:《扩频通信》,西安电子科技大学出版社, 1997。 [12] John G.Proakis:《Digital Communications》,电子工业出版社,2001。

Van Nee R.D.J ,Prasad Ramjee:《OFDM for Wireless Multimedia Communication》,Artech House,2000。

[13] Henry L.Bertonic:《Radio Progation for Modern Wireless Systems》,电子工业出版社,1999。

[14] 周炯槃,续大我等著:《通信原理》,北京邮电大学出版社 [15] 佟学俭等著:《OFDM移动通信技术原理》,人民邮电出版社

[16] D.Rainish:《Diversity transform for fading channels》,IEEE Trans.Commun.vol 1996。 [17] R.Steele:《Moblie Radio Communications》,New York: IEEE Press,1992。

[18] L.J.Cimini,Jr:《Analysis and simulation of a digital mobile channel using orthogonal frequency division multiplexing》IEEE Trans。

[19] 《 Data Communications and Networking》 (Second Edition), pp. 88-90, Behrouz A.Forouzan,吴时霖,周正康,吴永辉等译,机械工业出版社,2002.05。

[20] 朱铭浩,赵勇,甘泉,}DSP应用系统设计》,pp.273,电子工业出版社,2002.10。 [21] Date Sheet: Tms320c6411 Fixed-Poind Digital Signal Processor, Sprs196B一March 2002一Revised February 2003, Texas Instruments Incorporated.

[22] Tiger SHARC ADSP-TS 1 O 1 S Hardware Reference, First Edition, Analog Devices, Inc, 2002。

[23] Date Sheet: DSP Microcomputer ADSP- TS 101 S (REV.O), Analog Devices, Inc,2002 [24] C.Berrou,A.Glavieux,and P.Thitimajshima,Near Shannon Limit error-correcting coding and decoding: Turbo-codes, in Proc.ICC'93, pp.1064-1070, May 1993.

- 34 -

[25] Clande Berrou and Alain Glavieux, Reflections on the Prize Paper: \error-correcting coding and decoding: Turbo codes\information theory society newsletter, Vol. 48, No.2, June 1998.

[26] Convolutional Turbo Codes for 802.16, IEEE 802.16 Broadband Wireless Access Working Group http://ieee802.org/16, 2002-07-02

[27] R. Dinis and A. Gusmao, \with saturated power amplifiers\

[28] S. H. Muller, R. W. Bauml, R. F. H. Fischer, and J. B. Huber, \peak-to-average power ratio by multiple signal representation\Annals of Telecommunications, vo1.52, pp.58-67, 1997.

[29] T. May and H. Rohling, \transmission systems\

- 35 -

致谢

在论文的结束,特附上此致谢,感谢在毕业设计期间给予了我热心帮助的老师、同学和朋友以及在研究生学习期间给予我帮助的老师、同学和朋友。

首先要感谢导师宋高俊博士。感谢一年来宋老师在学习、工作中给予的关心和帮助。本文的研究工作也是在宋老师的悉心指导下完成的。宋老师严谨求实的工作作风都使我在这一年中受益匪浅。在他耐心细致的指导下,我的专业知识得以扩充,科研能力得以提高,论文的工作也得以顺利地进行。所以,再次向宋老师表达我最诚挚的谢意。

其次感谢胡山峰同学,在程序的编写和调试的过程中得到了他不少的帮助,在此表示感谢。

论文的撰写过程中还得到了实验室中各位师兄、师姐和其他同学的热情帮助,感谢他们为本文的研究工作所付出的辛勤劳动。

对我的论文进行认真评阅以及提出修改意见的各位老师和同学,衷心的感谢你们。

最后还要大学期间所结识的同学,和他们一起度过了四年的和谐而美好的时光。和他们建立的友谊和我所学到的知识同样弥笃可贵。这两年来的每一点成绩和进步都得益于我身边的很多人,在此谨向所有关心过我、帮助过我的老师和朋友表示衷心的感谢。

- 36 -

附录 程序清单

%************************beginning of file***************************** %encode_conv213.m

function word = encode_conv213(msg) word = zeros(1,length(msg)*2); current = [0 0 0]; for i = 1:length(msg)

[out,next] = state_machine(msg(i),current); current = next;

word(2*i-1) = out(1); word(2*i)= out(2); end

% ************************end of file***********************************

%************************beginning of file***************************** Tcode_conv213.m

function msg = decode_conv213(word)

chip = 10; for i = 1:2^chip

M(i,:) = de2bi(i-1,chip); W(i,:) = encode_conv213(M(i,:));

D(i) = hamming_distance(W(i,:),word(1:chip*2)); end

[val,index] = sort(D);

ret_msg = zeros(1,length(word)/2); for i = 1:6

ret_msg(i,1:chip) = M(index(i),:); ret_dis(i) = D(index(i)); end

iter = (length(word)-chip*2)/2;

for i=1:iter for j=1:6

msg_temp1 = [ret_msg(j,1:chip+i-1) 0]; msg_temp2 = [ret_msg(j,1:chip+i-1) 1];

word_temp1 = encode_conv213(msg_temp1);

word_temp2 = encode_conv213(msg_temp2); dis_temp1 = hamming_distance(word_temp1,word(1:chip*2+2*i)); dis_temp2 = hamming_distance(word_temp2,word(1:chip*2+2*i)); if (dis_temp1

- 37 -

ret_msg(j,1:chip+i) = msg_temp1; ret_dis(j) = dis_temp1; else

ret_msg(j,1:chip+i) = msg_temp2;

ret_dis(j) = dis_temp2; end end end

[val,index] = sort(ret_dis); msg =ret_msg(index(1),:);

% ************************end of file***********************************

%************************beginning of file***************************** %hamming_distance.m

function distance = hamming_distance(a,b) temp= a+b;

temp= mod(temp,2); distance= sum(temp);

% ************************end of file***********************************

%************************beginning of file***************************** %state_machine.m

function [output,nextState] = state_machine(input,current_state) output(1)= mod(current_state(1)+current_state(3),2);

output(2)= mod(input+current_state(2)+current_state(1),2); nextState(1)=current_state(2); nextState(2)=current_state(3); nextState(3)=input;

% ************************end of file***********************************

%************************beginning of file***************************** %OFDM_juanji.m

echo off;clear all;close all;clc; fprintf( 'OFDM仿真\\n') ; tic

Nums=40;

NumLoop = 60; NumSubc = 128; NumCP= 8; SyncDelay = 0;

%----------------------------------------------- % 子载波数 128

- 38 -

% 位数/ 符号 2 % 符号数/ 载波 60 % 训练符号数 0

% 循环前缀长度 8 (1/16)*T % 调制方式 4-QAM % 多径信道数 3 %IFFT Size 128 % 信道最大时延 2

BitsTx1 = floor(rand(1,Nums*NumSubc)*2); trel=poly2trellis([5 4],[27 33 0;0 5 13]); BitsTx=convenc(BitsTx1,trel);

% Modulate (Generates QAM symbols)

% input: BitsTx(1,NumLoop*NumSubc); output:SymQAM(NumLoop,NumSubc/2) SymQAMtmp = reshape(BitsTx,2,NumLoop*NumSubc/2).'; SymQAMtmptmp = bi2de(SymQAMtmp,2,'left-msb'); QAMTable = [-1-i -1+i 1-i 1+i];

SymQAM = QAMTable(SymQAMtmptmp+1); SymIFFT = zeros(NumSubc,NumLoop);

SymIFFTtmp = reshape(SymQAM,NumSubc/2,NumLoop); SymIFFTtmptmp = zeros(NumSubc,NumLoop);

SymIFFTtmptmp(1,:) = real(SymIFFTtmp(1,:)); % 实数

SymIFFTtmptmp(NumSubc/2+1,:) = imag(SymIFFTtmp(1,:)); % 实数 SymIFFTtmptmp(2:NumSubc/2,:) = SymIFFTtmp(2:NumSubc/2,:);

SymIFFTtmptmp((NumSubc/2+2):NumSubc,:) = flipdim(conj(SymIFFTtmp(2:NumSubc/2,:)),1); SymIFFT = ifft(SymIFFTtmptmp,NumSubc,1); NumAddPrefix = NumSubc + NumCP; SymCP = zeros(NumAddPrefix,NumLoop);

RowPrefix = (NumSubc - NumCP + 1):NumSubc; SymCP = [SymIFFT(RowPrefix,:);SymIFFT];

SymChtmp = SymCP(:).'; % 进行这个转置操作之后就成了一个矢量

Ch = [1 1/2 1/4];

SymChtmptmp = filter(Ch,1,SymChtmp);

for snr=1:1:10;

SymCh = awgn(SymChtmptmp,snr,'measured'); SymDeCP = zeros(NumSubc,NumLoop);

SymDeCPtmp = reshape(SymCh,NumSubc + NumCP,NumLoop);

SymDeCP = SymDeCPtmp((NumCP+1+SyncDelay):NumAddPrefix+SyncDelay,:); SymFFT = fft(SymDeCP,NumSubc,1); SymDec = zeros(NumSubc,NumLoop);

SymEqtmp(1,:) = SymFFT(1,:)+i*SymFFT(NumSubc/2+1,:);

- 39 -

SymEqtmp(2:NumSubc/2,:) = SymFFT(2:NumSubc/2,:); for m = 1:NumLoop for n = 1:NumSubc/2

Real = real(SymEqtmp(n,m)); Imag = imag(SymEqtmp(n,m)); if( abs((Real -1)) < abs((Real +1))) SymDec(2*n-1,m) = 1; else

SymDec(2*n-1,m) = 0; end

if( abs((Imag -1)) < abs((Imag +1 )) ) SymDec(2*n,m) = 1; else

SymDec(2*n,m) = 0; end end end

BitsRx = zeros(1,NumSubc*NumLoop); BitsRx = SymDec(:).';

BitsRx1 = vitdec(BitsRx,trel,34,'cont','hard');

[Num,Ber] = symerr(BitsTx1(1:end-68),BitsRx1(68+1:end)) [Num1,Ber1] = symerr(BitsTx,BitsRx) w(snr)=Ber;t(snr)=Ber1; semilogy(w,'o-'); hold on

semilogy(t,'*-')

xlabel('Eb/No(dB)'); ylabel('SER');

legend('未编码系统性能','编码性能') title('卷积码性能分析') hold on end

% ************************end of file***********************************

%************************beginning of file***************************** %OFDM_xianxinfenzhu.m echo off;clear all;close all;clc; fprintf( 'OFDM仿真\\n') ; tic

Nums=40;

NumLoop = 70; NumSubc = 128;

- 40 -

本文来源:https://www.bwwdw.com/article/ekw7.html

Top