直接序列扩频通信
直接序列扩频通信系统仿真

直接序列扩频通信系统仿真直接序列扩频通信系统仿真一、实验的背景及内容1、直接扩频通信背景扩频通信,即扩展频谱通信(Spread Spectrum Communication),它与光纤通信、卫星通信,一同被誉为进入信息时代的三大高技术通信传输方式。
有关扩频通信技术的观点是在1941年由好莱坞女演员Hedy Lamarr和钢琴家George Antheil提出的。
解决了短距离数据收发信机、如:卫星定位系统(GPS)、移动通信系统、WLAN(IEEE802.11a, IEEE802.11b, IEE802.11g)和蓝牙技术等应用的关键问题。
扩频技术也为提高无线电频率的利用率(无线电频谱是有限的因此也是一种昂贵的资源)提供帮助。
扩频通信技术自50年代中期美国军方便开始研究,一直为军事通信所独占,广泛应用于军事通信、电子对抗以及导航、测量等各个领域。
直到80年代初才被应用于民用通信领域。
为了满足日益增长的民用通信容量的需求和有效地利用频谱资源,各国都纷纷提出在数字峰窝移动通信、卫星移动通信和未来的个人通信中采用扩频技术,扩频技术现已广泛应用于蜂窝电话、无绳电话、微波通信、无线数据通信、遥测、监控、报警等等的系统中。
2、实验的内容及意义本次实验主要研究了直接序列扩频系统,建立了直接序列扩频系统的matlab仿真模型,在信道中存在高斯白噪声和干扰的情况下,对系统误码率性能进行了仿真及分析。
近年来,随着超大规模集成电路技术、微处理器技术的飞速发展,以及一些新型元器件的应用,扩频通信在技术上已迈上了一个新的台阶,不仅在军事通信中占有重要地位,而且正迅速地渗透到了个人通信和计算机通信等民用领域,成为新世纪最有潜力的通信技术之一因此研究扩频通信具有很深远的意义。
本人通过此次实验,进行深入地研究学习扩频通信技术及对它进行仿真应用,将所学的知识进行归纳与总结,从而巩固通信专业基础知识,为以后的个人学习和工作打下基础。
精编扩频通信的基本原理(直接序列扩频、跳频等)资料

扩频通信的理论基础1.1扩频通信的基本概念通信理论和通信技术的研究,是围绕着通信系统的有效性和可靠性这两个基本问题展开的,所以有效性和可靠性是设计和评价一个通信系统的主要性能指标。
通信系统的有效性,是指通信系统传输信息效率的高低。
这个问题是讨论怎样以最合理、最经济的方法传输最大数量的信息。
在模拟通信系统中,多路复用技术可提高系统的有效性。
显然,信道复用程度越高,系统传输信息的有效性就越好。
在数字通信系统中,由于传输的是数字信号,因此传输的有效性是用传输速率来衡量的。
通信系统的可靠性,是指通信系统可靠地传输信息。
由于信息在传输过程中受到干扰,收到的信息与发出的信息并不完全相同。
可靠性就是用来衡量收到信息与发出信息的符合程度。
因此,可靠性决定于系统抵抗干扰的性能,也就是说,通信系统的可靠性决定于通信系统的抗干扰性能。
在模拟通信系统中,传输的可靠性是用整个系统的输出信噪比来衡量的。
在数字通信系统中,传输的可靠性是用信息传输的差错率来描述的。
扩展频谱通信由于具有很强的抗干扰能力,首先在军用通信系统中得到了应用。
近年来,扩展频谱通信技术的理论和应用发展非常迅速,在民用通信系统中也得到了广泛的应用。
扩频通信是扩展频谱通信的简称。
我们知道,频谱是电信号的频域描述。
承载各种信息(如语音、图象、数据等)的信号一般都是以时域来表示的,即信息信号可表示为一个时间的函数)(t f 。
信号的时域表示式)(t f 可以用傅立叶变换得到其频域表示式)(f F 。
频域和时域的关系由式(1-1)确定:⎰∞∞--=t e t f f F ft j d )()(π2⎰∞∞-=f e f F t f ft j d )()(π2 (1-1) 函数)(t f 的傅立叶变换存在的充分条件是)(t f 满足狄里赫莱(Dirichlet)条件,或在区间(-∞,+∞)内绝对可积,即t t f d )(⎰∞∞-必须为有限值。
扩展频谱通信系统是指待传输信息信号的频谱用某个特定的扩频函数(与待传输的信息信号)(t f 无关)扩展后成为宽频带信号,然后送入信道中传输;在接收端再利用相应的技术或手段将其扩展了的频谱压缩,恢复为原来待传输信息信号的带宽,从而到达传输信息目的的通信系统。
直接序列扩频通信系统抗干扰技术研究分析

直接序列扩频通信系统抗干扰技术研究摘要:当前,扩展频谱(Spread Spectrum,SS,简称扩频)技术在军事通信和民用系统中均有广泛的应用。
这是由于扩频技术具有多址能力、隐蔽性好、抗干扰能力等优点,因此特别适合于无线移动通信环境。
直接序列扩频(Direct Sequence Spread Spectrum,DSSS,简称直扩)技术具有良好的保密性、灵活的信道分配能力以及较强的抗多径、多址干扰能力,不增加扩频增益的条件下,在接受机解扩之前借助信号处理的方式对接收信号进行预处理,可以显著增加系统的抗干扰能力。
本文首先介绍了扩频技术的基本理论,包括扩频技术的理论基础,扩频系统的特点、分类及应用,扩频通信的几种实现方式。
研究了直扩系统的数学模型,扩频用的处理增益和抗干扰容限等。
其次,分析了直扩系统的抗干扰性能,包括抗高斯白噪声干扰、窄带干扰、单频正弦干扰、多径效应干扰以及其他扩频信号干扰的性能。
最后利用MATLAB建立了扩频通信系统的仿真模型,并结合仿真结果分析了扩频通信系统的抗干扰性能。
关键词:直接序列扩频,窄带干扰,MATLAB仿真,抗干扰技术目录摘要 ................................................................................................................ 错误!未定义书签。
1 绪论 (1)1.1 抗干扰技术 (1)1.2 扩展频谱系统的分类及特点 (2)1.2.1 扩频系统的分类 (2)1.2.2 扩频系统的特点 (2)2 扩展频谱通信技术 (3)2.1 扩频通信的定义 (3)2.2 扩频技术的理论基础 (4)2.2.1 Shannon公式 (4)2.2.2 处理增益与抗干扰容限 (5)2.3 直接序列扩频系统(DSSS系统) (5)2.3.1 DS扩频通信系统的数学模型 (6)2.3.2 直扩信号的数学表示 (7)3 直接序列扩频系统的抗干扰性能 (7)3.1 抗高斯白噪声干扰能力 (8)3.2 抗单频正弦干扰能力 (9)3.3 抗窄带干扰能力 (10)3.4 抗多径效应的能力 (11)3.5 抗其它扩频信号干扰能力 (14)4 DSSS系统抗干扰性能仿真与分析 (15)4.1 抗正弦干扰仿真及结果分析 (15)4.1.1 建立抗正弦干扰仿真模型 (15)4.1.2 仿真结果及其分析 (16)4.2 抗窄带干扰仿真及结果分析 (17)4.2.1 建立抗窄带干扰仿真模型 (17)4.2.2 仿真结果及其分析 (18)4.3 抗多径效应仿真及结果分析 (18)4.3.1 建立抗多径效应的仿真模型 (18)4.3.2 仿真结果及其分析 (19)4.4 抗其他扩频信号干扰仿真及结果分析 (21)4.4.1 建立抗其他扩频信号干扰仿真模型 (21)4.4.2 仿真结果及其分析 (21)5 DSSS系统的抗干扰技术 (22)5.1 混合式扩展频谱系统 (22)5.2 自适应天线抑制干扰技术 (23)5.3 自适应滤波器抑制窄带干扰 (23)6 结束语 (25)参考文献 (26)1 绪论扩频通信技术是通信的一个重要分支和发展方向,它是扩展频谱技术与通信相结合的产物。
直接序列扩频通信技术

直接序列扩频通信技术摘要:随着科技的迅速发展,无线通信技术发展越来越成熟,人们对无线通信传输的要求也越来越高。
无线通信是靠电磁波信号来进行传输的,在享有高效、快速等优点的同时,在传输过程中也极易受到各种各样来自外界的干扰,影响信号传输的准确、高效性。
直接序列扩频技术作为一种主要抗干扰技术,本文将针对这一技术做一个简要探讨。
关键词:无线通信直接序列扩频引言:通信是伴随着人类文明的产生而产生和发展的。
无线通信技术正是随着人类文明及科学技术发展而发展起来的。
所谓无线通信,指通过电磁波信号把人们所需要传达的信息及时、准确的送达。
它突破了有线电缆在时间、地域、空间、距离上的局限性,更具灵活性,因而被广泛发展和应用。
但是,在长期的发展和实践过程中发现,由于无线通信技术本身的缺陷性和使用环境的复杂多变性,该技术在实际使用中极易受到外界的干扰。
常见的干扰有同频干扰,临频干扰,互调干扰,多址干扰,噪声干扰等。
而针对这些干扰,人们也研究出了多种抗干扰技术,如扩频技术,功率控制技术,间断传输技术及多用户检测技术等。
本文主要讨论扩频技术的发展与应用。
一、直接序列扩频技术的应用背景无线通信技术以其特有的优点而被迅速推广和发展。
但无线通信由于其传输环境的复杂性,在传输过程中会遇到各种各样的反射体以及来源于其它无线电波的干扰,会极大的影响甚至改变信号的传输信息,因此,无线通信抗干扰技术便应运而生。
直接序列扩频技术作为主要的抗干扰技术之一,产生于二十世纪五十年代,其发明之初主要被应用于军事领域,后来逐渐发展为商用。
之后,由于其自身技术的优越性及人们对它的不断改进和发展,扩频通信抗干扰技术在民用通信领域得到了很好的发展。
现随着通信产业的不断发展,通信环境的日趋复杂,扩频抗干扰技术也不断发展来满足这一需求变化,从而使得这一技术不管是在民用还是军事领域,都进行着不断地改进与发展,以不断适应当代的发展需求,由此在各种各样的无线通信抗干扰技术之中占据了重要地位。
直接序列扩频通信分析解析

伪随机(PN)序列
m序列的产生原理
---m序列
下图示出的是由n级移位寄存器构成的码序 列发生器。寄存器的状态决定于时钟控制下的 信息(“0”或“1”)。
伪随机(PN)序列
---m序列
n级循环序列发生器的模型
伪随机(PN)序列
部分m序列反馈系数表
---m序列
伪随机(PN)序列
n=4码序列产生电路
直接序列扩频通信的应用
主要用于移动通信,3G技术中的多 址方式码分多址,即CDMA即采用了直接
序列扩频的技术。
其它伪随机(PN)序列
Gold序列 Gold码是m序列的复合码,它是由两个码 长相等、码速率相同的m序列优先对模2加组 成。 Walsh(沃尔什)函数 Walsh函数是一种非正弦的完备正交函数 系。它仅有可能的取值:+1和-1(或0和1), 比较适合用来表达和处理数字信号。
直接序列扩频通信的优点
直接序列扩频通信
直接序列扩频的概念
直接序列扩频的原理 直接序列扩频的优点 直接序列扩频的应用
直接序列扩频通信的概念
所谓直接序列扩频(DS),就是直接用具
有高速率的扩频码序列在发端去扩展信号的频 谱。在接收端,用相同的扩频码序列进行解 扩,把展宽的扩频信号还原成原始信息。
直接序列扩频通信的原理
伪随机码在扩频系统或码分多址系统中起
着十分重要的作用,是因为这类序列最重要特 性是它近似于随机信号的性能,也可以说具有 近似白噪声的性能。
伪随机(PN)序列
m序列的含义
---m序列
m序列是最长线性移位寄存器序列的简
称。顾名思义,m序列是由多级移位寄存器或 延迟原件通过线性反馈产生的最长的码序列。
直接序列扩频技术在无线通信中的

直接序列扩频技术能够抵抗多普勒效应,保证高速移动通信的稳 定性。
05
直接序列扩频技术在无线通信 中的实例分析
实例一:无线局域网(WLAN)中的应用
1 2
扩频技术
在无线局域网中,直接序列扩频技术被用于对 数据进行编码和传输。
抗干扰能力
由于使用了扩频技术,无线局域网可以在复杂 的电磁环境中提高抗干扰能力。
通过扩频技术可实现信号 隐蔽传输,提高通信的保 密性。
直接序列扩频技术在无线通信中的实现方式
采用伪随机二进制序列进行调制
01
将信息信号与伪随机二进制序列进行调制,实现信号的扩频。
通过相关解调技术进行解调
02
在接收端,使用相关解调技术将扩频信号解调为原始信号。
可实现多用户同时接入
03
通过不同的伪随机二进制序列实现多个用户同时接入,提高频
直接序列扩频技术 在无线通信中的应 用
2023-11-05
目录
• 引言 • 直接序列扩频技术概述 • 无线通信中的直接序列扩频技术 • 直接序列扩频技术的性能分析 • 直接序列扩频技术在无线通信中的实例分析 • 结论与展望
01
引言
背景介绍
无线通信在现代社会中的普及程度不断提高,尤其在移动通 信和互联网接入方面。
扩频技术定义
扩频技术是一种用宽带信号传输信息的方式,其信号所占用的带宽远大于所传输的信息所需的带宽。
扩频技术特点
抗干扰能力强、抗多径衰落能力强、抗噪声干扰能力强、抗人为干扰能力强、保密性好。
直接序列扩频技术的原理
• 直接序列扩频技术原理:直接序列扩频技术是将待传输信息 信号的频谱用高速率的伪随机噪声(PN码)进行扩展,形 成宽带信号,然后通过发射天线发送出去。接收端使用相同 的PN码进行解扩,恢复原始信息信号。
扩频通信的基本原理(直接序列扩频、跳频等)

扩频通信的理论基础1.1扩频通信的基本概念通信理论和通信技术的研究,是围绕着通信系统的有效性和可靠性这两个基本问题展开的,所以有效性和可靠性是设计和评价一个通信系统的主要性能指标。
通信系统的有效性,是指通信系统传输信息效率的高低。
这个问题是讨论怎样以最合理、最经济的方法传输最大数量的信息。
在模拟通信系统中,多路复用技术可提高系统的有效性。
显然,信道复用程度越高,系统传输信息的有效性就越好。
在数字通信系统中,由于传输的是数字信号,因此传输的有效性是用传输速率来衡量的。
通信系统的可靠性,是指通信系统可靠地传输信息。
由于信息在传输过程中受到干扰,收到的信息和发出的信息并不完全相同。
可靠性就是用来衡量收到信息和发出信息的符合程度。
因此,可靠性决定于系统抵抗干扰的性能,也就是说,通信系统的可靠性决定于通信系统的抗干扰性能。
在模拟通信系统中,传输的可靠性是用整个系统的输出信噪比来衡量的。
在数字通信系统中,传输的可靠性是用信息传输的差错率来描述的。
扩展频谱通信由于具有很强的抗干扰能力,首先在军用通信系统中得到了使用。
近年来,扩展频谱通信技术的理论和使用发展非常迅速,在民用通信系统中也得到了广泛的使用。
扩频通信是扩展频谱通信的简称。
我们知道,频谱是电信号的频域描述。
承载各种信息(如语音、图象、数据等)的信号一般都是以时域来表示的,即信息信号可表示为一个时间的函数)(t f 。
信号的时域表示式)(t f 可以用傅立叶变换得到其频域表示式)(f F 。
频域和时域的关系由式(1-1)确定:⎰∞∞--=t e t f f F ft j d )()(π2⎰∞∞-=f e f F t f ft j d )()(π2 (1-1) 函数)(t f 的傅立叶变换存在的充分条件是)(t f 满足狄里赫莱(Dirichlet)条件,或在区间(-∞,+∞)内绝对可积,即t t f d )(⎰∞∞-必须为有限值。
扩展频谱通信系统是指待传输信息信号的频谱用某个特定的扩频函数(和待传输的信息信号)(t f 无关)扩展后成为宽频带信号,然后送入信道中传输;在接收端再利用相应的技术或手段将其扩展了的频谱压缩,恢复为原来待传输信息信号的带宽,从而到达传输信息目的的通信系统。
扩频通信的基本原理(直接序列扩频、跳频等)

扩频通信的理论基础1.1扩频通信的基本概念通信理论和通信技术的研究,是围绕着通信系统的有效性和可靠性这两个基本问题展开的,所以有效性和可靠性是设计和评价一个通信系统的主要性能指标。
通信系统的有效性,是指通信系统传输信息效率的高低。
这个问题是讨论怎样以最合理、最经济的方法传输最大数量的信息。
在模拟通信系统中,多路复用技术可提高系统的有效性。
显然,信道复用程度越高,系统传输信息的有效性就越好。
在数字通信系统中,由于传输的是数字信号,因此传输的有效性是用传输速率来衡量的。
通信系统的可靠性,是指通信系统可靠地传输信息。
由于信息在传输过程中受到干扰,收到的信息与发出的信息并不完全相同。
可靠性就是用来衡量收到信息与发出信息的符合程度。
因此,可靠性决定于系统抵抗干扰的性能,也就是说,通信系统的可靠性决定于通信系统的抗干扰性能。
在模拟通信系统中,传输的可靠性是用整个系统的输出信噪比来衡量的。
在数字通信系统中,传输的可靠性是用信息传输的差错率来描述的。
扩展频谱通信由于具有很强的抗干扰能力,首先在军用通信系统中得到了应用。
近年来,扩展频谱通信技术的理论和应用发展非常迅速,在民用通信系统中也得到了广泛的应用。
扩频通信是扩展频谱通信的简称。
我们知道,频谱是电信号的频域描述。
承载各种信息(如语音、图象、数据等)的信号一般都是以时域来表示的,即信息信号可表示为一个时间的函数)(t f 。
信号的时域表示式)(t f 可以用傅立叶变换得到其频域表示式)(f F 。
频域和时域的关系由式(1-1)确定:⎰∞∞--=t e t f f F ft j d )()(π2⎰∞∞-=f e f F t f ft j d )()(π2 (1-1) 函数)(t f 的傅立叶变换存在的充分条件是)(t f 满足狄里赫莱(Dirichlet)条件,或在区间(-∞,+∞)内绝对可积,即t t f d )(⎰∞∞-必须为有限值。
扩展频谱通信系统是指待传输信息信号的频谱用某个特定的扩频函数(与待传输的信息信号)(t f 无关)扩展后成为宽频带信号,然后送入信道中传输;在接收端再利用相应的技术或手段将其扩展了的频谱压缩,恢复为原来待传输信息信号的带宽,从而到达传输信息目的的通信系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB仿真直接序列扩频通信1.摘要直接序列扩频通信系统(DS-CDMA)因其抗干扰性强、隐蔽性好、易于实现码分多址(CDMA)、抗多径干扰、直扩通信速率高等众多优点,而被广泛应用于许多领域中。
针对频通信广泛的应用,本文用MATLAB工具箱中的SIMULINK通信仿真模块和MATLAB函数对直接序列扩频通信系统进行了分析和仿真,使其更加形象和具体。
关键字:扩频通信m序列gold正交序列matlab仿真2.引言直接序列扩频(DSSS— Direct Sequence Spread Spectrum)技术是当今人们所熟知的扩频技术之一。
这种技术是将要发送的信息用伪随机码(PN码)扩展到一个很宽的频带上去,在接收端,用与发端扩展用的相同的伪随机码对接收到的扩频信号进行相关处理,恢复出发送的信息。
它是二战期间开发的,最初的用途是为军事通信提供安全保障, 是美军重要的无线保密通信技术。
这种技术使敌人很难探测到信号。
即便探测到信号,如果不知道正确的编码,也不可能将噪声信号重新汇编成原始的信号。
有关扩频通信技术的观点是在1941年由好莱坞女演员Hedy Lamarr 和钢琴家George Antheil提出的。
基于对鱼雷控制的安全无线通信的思路,他们申请了美国专利#2.292.387。
不幸的是,当时该技术并没有引起美国军方的重视,直到十九世纪八十年代才引起关注,将它用于敌对环境中的无线通信系统。
直序扩频解决了短距离数据收发信机、如:卫星定位系统(GPS)、3G移动通信系统、WLAN (IEEE802.11a, IEEE802.11b, IEE802.11g)和蓝牙技术等应用的关键问题。
扩频技术也为提高无线电频率的利用率(无线电频谱是有限的因此也是一种昂贵的资源)提供帮助。
3.直接序列扩频DS-SS是直接用具有高码率的扩频码序列在发送端去扩展信号的频谱。
而在收端,用相同的扩频码序列去进行解扩,把展宽的扩频信号还原成原始的信息。
4.DS-CDMA通信系统原理图在实验中,我们采用;两种扩频码进行仿真。
M序列和正交Gold序列,扩频后的数据通过脉冲成型滤波器后通过信道同时到达接收端,在接收端分别对不同用户信息数据进行解扩,恢复各个用户的原始信息。
5.仿真设计步骤1、m序列的DS-CDMA在AWGN下的性能的仿真。
2、正交Gold序列的DS-CDMA在AWGN下的性能的仿真。
3、对比两个扩频码在AWGN信道下的性能曲线,分析哪种扩频码更适合在AWGN信道中传输,传输衰减最小,对比m序列和正交Gold序列的抗干扰能力。
6.实验仿真运行结果从图中可以看出,由于正交Gold序列在完全同步时,它们的互相关值为0,因此其BER性能并不随着用户数的增加而恶化。
在信噪比为2 、4 、6时误比特率基本相同。
由图可以看出来当误比特率仿真时候小于10-3时结果就会有一定的偏差。
但还是可以看出正交Gold序列比M序列的性能要好。
所以,初步得出结论:正交Gold序列在AWGN信道下的抗干扰能力更强,衰减比,序列要小。
对比图4-1和图4-3,显然M序列在瑞利衰落信道下的性能要比能过AWGN信道下的性能要差7.总结对于本仿真而言,已基本完成了设计任务书的设计和研究目的,通过用MATLAB 对DS-CDMA系统的仿真调试、结果分析,让我组熟悉了DS-CDMA的工作原理,加深了对扩频通信的认识,并深刻的了解PN码在不同信道的衰落情况。
通过仿真结果中波形的直观方式,更让我们了解到了系统衰减的规律。
但是在本设计中也存在着缺陷与不足1、在本设计中过程中可能由于程序过于复杂,信息本身所占用的带宽偏大,用来传输信息的带宽相对不够大,造成结果并不明显,信息衰减严重。
2、在设计中只考虑到加性高斯信道所带来的干扰,在实际通信信道却是复杂多变,存在着各种各样的情况,所以最后的接收信号是在很简单的干扰下得出。
要想应用于实际中,必须加入各种噪声来考虑,以实现真实系统的设计。
3、实验中,我们选择加大传输带宽,来弥补其他干扰带来的影响,可能会造成消耗过大,浪费带宽的结果,实际应用中是不实用的。
只能作为仿真,进行研究。
即使如此,在本次设计的整个过程中,以上的结果已经令我们受益匪浅。
通信系统的性能分析和仿真,随着通信技术、信息技术和计算机技术的发展以及网络系统的大量应用,显得越来越重要。
参考文献[1] 刘学勇,编著.通信系统建模与仿真(电子工业出版社)[2] 邓薇,编著.MATALB函数速查手册(人民邮电出版社)[3] 【美】William C.Y.Lee,著.移动通信工程理论和应用(第二版)(人民邮电出版社)[4] 王华奎,李艳萍等编著.移动通信原理与技术(清华大学出版社)程序%1.函数mseq用于产生m序列:function [mout] = mseq(n, taps, inidata, num)% ****************************************************************%说明:函数mseq用于产生num个阶数为n的m序列% n : m序列的阶数n% taps : 反馈寄存器的连接位置% inidata : 寄存器的初始值序列% num : 输出的m序列的个数% mout : 输出的m序列,如果num>1,则每一行为一个m序列% ****************************************************************if nargin < 4 %输入参数判断num = 1;endmout = zeros(num,2^n-1); %寄存器输出值的初始化,全0fpos = zeros(n,1); %反馈寄存器连接位置的初始化fpos(taps) = 1; %反馈寄存器连接位置for ii=1:2^n-1mout(1,ii) = inidata(n); % 寄存器的输出值temp = mod(inidata*fpos,2); % 计算反馈数据inidata(2:n) = inidata(1:n-1); % 寄存器移位一次inidata(1) = temp; % 更新第1个寄存器的值endif num > 1 %如果要输出多个m序列,生成其他m序列for ii=2:nummout(ii,:) = shift(mout(ii-1,:),1); %shift函数完成序列的循环移位,上一个序列向右循环移位endend%2.函数goldseq用于产生gold序列function [gout] = goldseq(m1, m2, num)% ****************************************************************% m1 : m序列1% m2 : m序列2% num : 生成的Gold序列个数% gout : 生成的Gold序列输出% ****************************************************************if nargin < 3 %如果没有指定生成的Gold序列个数,默认为1num = 1;endgout = zeros(num,length(m1));for ii=1:num %根据Gold序列生成方法生成Gold序列gout(ii,:) = xor(m1,m2);m2 = shift(m2,1);end%函数shift用于完成循环移位function [outregi] = shift(inregi,shiftr)% ****************************************************************% inregi : 输入序列% shiftr : 循环右移的位数% outregi : 输出序列% ****************************************************************v = length(inregi); %输入序列的长度outregi = inregi; %输出序列初始化为输入序列shiftr = rem(shiftr,v); %求余,使移位的值在[0, v]之间if shiftr > 0outregi(:,1:shiftr) = inregi(:,v-shiftr+1:v); %循环移位把最后shiftr位移到前shiftr位outregi(:,1+shiftr:v) = inregi(:,1:v-shiftr); %完成剩余的移位elseif shiftr < 0outregi(:,1:v+shiftr) = inregi(:,1-shiftr:v);outregi(:,v+shiftr+1:v) = inregi(:,1:-shiftr);end%3.直接序列扩频主程序代码function [ber] = dscdma(user,seq)% user: 同时进行扩频通信的用户数% seq: 扩频码1:M-序列2:Gold序列3:正交Gold序列% ber:该用户数下的误码率%**************************** 初始化部分*****************************sr = 256000.0; % 符号速率nSymbol=10000; %每种信噪比下发送的符号数M = 4; % 4-QAM调制br = sr * log2(M); % 比特速率graycode=[0 1 3 2]; % Gray编码规则EbNo=0:2:10; % Eb/No 变化范围%************************** 脉冲成形滤波器参数**************************delay = 10; % 升余弦滤波器时延Fs = 8; % 滤波器过采样数rolloff = 0.5; % 升余弦滤波器滚降因子rrcfilter = rcosine(1,Fs,'fir/sqrt',rolloff,delay); %设计根升余弦滤波器%********************** 扩频码产生参数**********************%直接序列扩频主程序代码function [ber] = dscdma(user,seq)% user: 同时进行扩频通信的用户数% seq: 扩频码1:M-序列2:Gold序列3:正交Gold序列% ber:该用户数下的误码率%**************************** 初始化部分*****************************sr = 256000.0; % 符号速率nSymbol=10000; %每种信噪比下发送的符号数M = 4; % 4-QAM调制br = sr * log2(M); % 比特速率graycode=[0 1 3 2]; % Gray编码规则EbNo=0:2:10; % Eb/No 变化范围%************************** 脉冲成形滤波器参数**************************delay = 10; % 升余弦滤波器时延Fs = 8; % 滤波器过采样数rolloff = 0.5; % 升余弦滤波器滚降因子rrcfilter = rcosine(1,Fs,'fir/sqrt',rolloff,delay); %设计根升余弦滤波器%********************** 扩频码产生参数**********************% user = user1; % 用户数stage = 3; % m序列的阶数ptap1 = [1 3]; % m序列1的寄存器连接方式ptap2 = [2 3]; % m序列2的寄存器连接方式regi1 = [1 1 1 ]; % m序列1的寄存器初始值regi2 = [1 1 1]; % m序列2的寄存器初始值%******************** 扩频码的生成*********************switch seqcase 1 % M-序列code = mseq(stage,ptap1,regi1,user);case 2 % Gold 序列m1 = mseq(stage,ptap1,regi1);m2 = mseq(stage,ptap2,regi2);code = goldseq(m1,m2,user);case 3 % 正交Gold 序列m1 = mseq(stage,ptap1,regi1);m2 = mseq(stage,ptap2,regi2);code = [goldseq(m1,m2,user),zeros(user,1)];endcode = code * 2 - 1;clen = length(code);%************************** 衰落信道参数**************************ts = 1 / Fs / sr/ clen; % 信道采样时间间隔t = (0:nSymbol*Fs*clen-1+2*delay*Fs)*ts; % 每种信噪比下的符号传输时间fd = 160; % 多普勒频移[Hz]h=rayleigh(fd,t);%**************************** 仿真开始****************************for indx=1:length(EbNo)indx%****************************** 发射端********************************data = randsrc(user,nSymbol,[0 :3]) ; % 产生各个用户的发射数据data1=graycode(data+1); % Gray编码data1 = qammod(data1,M) ; % 4-QAM 调制[out] = spread(data1,code); % 扩频out1=rcosflt(out.',sr,Fs*sr,'filter',rrcfilter); % 通过脉冲成形滤波器spow = sum(abs((out1)).^2) / nSymbol; % 计算每个用户信号功率if user > 1 % 用户数大于1时,所有用户数据相加out1=sum(out1.');elseout1=out1.';end%***************************** 通过瑞利衰落信道******************************% out1=h.*out1;%******************************** 接收端*********************************sigma = sqrt(0.5 * spow * sr / br * 10^(-EbNo(indx)/10)); % 根据信噪比计算高斯白噪声方差y=[];for ii=1:usery(ii,:)=out1+sigma(ii).*(randn(1,length(out1))+j*randn(1,length(out1))); %加入高斯白噪声(AWGN)% y(ii,:)=y(ii,:)./h; % 假设理想信道估计endy=rcosflt(y.',sr,Fs*sr,'Fs/filter',rrcfilter); % 通过脉冲成形滤波器进行滤波y=downsample(y,Fs); % 降采样for ii=1:usery1(:,ii)=y(2*delay+1:end-2*delay,ii);endyd = despread(y1.',code); % 数据解扩demodata = qamdemod(yd,M); % 4-QAM 解调demodata=graycode(demodata+1); % Gray编码逆映射[err,ber(indx)]=biterr(data,demodata,log2(M)); % 统计误比特率End%扩频函数function [out] = spread(data, code)% ****************************************************************%说明:函数spread用于将输入数据序列和扩频序列扩频% data : 输入数据序列% code : 扩频码序列% out : 扩频后的输出数据序列% ****************************************************************switch nargincase { 0 , 1 } %如果输入参数个数不对,提示错误error('缺少输入参数');end[hn,vn] = size(data);[hc, vc] = size(code);if hn > hc %如果扩频码数小于输入的待扩频的数据序列,提示错误error('缺少扩频码序列');endout = zeros(hn,vn*vc); %初始化输出序列for ii=1:hnout(ii,:) = reshape(code(ii,:).'*data(ii,:),1,vn*vc); %将扩频后的数据排成行矢量的形式end%信号解扩function out = despread(data, code)% ****************************************************************%说明:函数despread用于将输入数据序列和扩频序列解扩% data : 输入数据序列% code : 解扩使用的扩频码序列% out : 解扩后的输出数据序列% ****************************************************************switch nargin %如果输入参数个数不对,提示错误case { 0 , 1 }error('缺少输入参数');end[hn,vn] = size(data);[hc, vc] = size(code);out = zeros(hc,vn/vc); %初始化输出序列for ii=1:hcxx=reshape(data(ii,:),vc,vn/vc);out(ii,:)= code(ii,:)*xx/vc;end%函数rayleigh用于产生瑞利衰落信道function [h]=rayleigh(fd,t)%该程序利用改进的jakes模型来产生单径的平坦型瑞利衰落信道%Yahong R.Zheng and Chengshan Xiao "Improved Models for%the Generation of Multiple Uncorrelated Rayleigh Fading Waveforms"%IEEE Commu letters, Vol.6, NO.6, JUNE 2002%输入变量说明:% fd:信道的最大多普勒频移单位Hz% t :信号的抽样时间序列,抽样间隔单位s% h为输出的瑞利信道函数,是一个时间函数复序列%假设的入射波数目N=40;wm=2*pi*fd;%每象限的入射波数目即振荡器数目N0=N/4;%信道函数的实部Tc=zeros(1,length(t));%信道函数的虚部Ts=zeros(1,length(t));%归一化功率系数P_nor=sqrt(1/N0);%区别个条路径的均匀分布随机相位theta=2*pi*rand(1,1)-pi;for ii=1:N0%第i条入射波的入射角alfa(ii)=(2*pi*ii-pi+theta)/N;%对每个子载波而言在(-pi,pi)之间均匀分布的随机相位fi_tc=2*pi*rand(1,1)-pi;fi_ts=2*pi*rand(1,1)-pi;%计算冲激响应函数Tc=Tc+cos(cos(alfa(ii))*wm*t+fi_tc);Ts=Ts+cos(sin(alfa(ii))*wm*t+fi_ts);end;%乘归一化功率系数得到传输函数h=P_nor*(Tc+j*Ts );%4.主程序%m-序列DS-CDMA在AWGN信道下的性能仿真clear alluser=[1 4 7];seq=1;for index=1:length(user)ber(index,:)=dscdma(user(index),seq);endEbNo=0:2:10;semilogy(EbNo,ber(1,:),'-kx',EbNo,ber(2,:),'-ko',EbNo,ber(3,:),'-k*'); legend('user=1','user=4','user=7')title('m序列DS-CDMA在AWGN信道下的性能')xlabel('信噪比EbNo(dB)')ylabel('误比特率(BER)')%5、正交Gold序列在AWGN信道下的性能%正交Gold序列DS-CDMA在AWGN信道下的性能仿真clear alluser=[1 1 1];seq=3;for indx=1:length(user)ber(indx,:)=dscdma(user(indx),seq);endEbNo=0:2:10;semilogy(EbNo,ber(1,:),'-kx',EbNo,ber(2,:),'-ko',EbNo,ber(3,:),'-k*');legend('user=1','user=4','user=7')title('正交Gold序列DS-CDMA在Reyleigh信道下的性能')xlabel('信噪比EbNo(dB)')ylabel('误比特率(BER)')学校电子科技大学学院通信与信息学院班级通信专业十一班候号前2010013110001龚睦2010013110003。