毕业设计(论文)基于MATLAB的宽带数字无线通信系统设计_第1页
毕业设计(论文)基于MATLAB的宽带数字无线通信系统设计_第2页
毕业设计(论文)基于MATLAB的宽带数字无线通信系统设计_第3页
毕业设计(论文)基于MATLAB的宽带数字无线通信系统设计_第4页
毕业设计(论文)基于MATLAB的宽带数字无线通信系统设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要扩频技术原来是只应用在军事领域的通信技术,而如今第三代移动通信技术已经走进了老百姓的日常生活。3g技术的核心技术正是扩频技术。因此身处在3g时代,对扩频技术的性能的研究显得格外重要。扩频技术以其优越的抗噪声性能,和其在码分多址系统中的作用得到了很高的重视和很大的发展。本文阐述了扩频通信的基本原理。然后根据基本的数字通信的基本原理建立了一个宽带无线数字通信系统,并用matlab软件进行的系统仿真及抗噪声性能的分析。此系统用了二进制相移键控作为调制方法,用循环冗余校验以及交织技术作为差错控制,并做了简单的数据帧格式设计。关键词:直接序列扩频 相移键控 matlab 循环冗余校验 交织abst

2、ractat first spread spectrum technology was only for military use. but now the third generation mobile communication technology has been used by almost everyone. the core of the 3g is spread spectrum technology. so it is important to study the performance of the spread spectrum system.spread spectru

3、m technology has been pay lot of attention and great developed. this article introduced the principle of spread spectrum, and designed a basic wireless broadband digital communication system based on principle of digital communication which use direct sequence spread spectrum as the main technology,

4、 then simulate it use matlab to check its noise immunity. this system use bpsk as its modulate technology,use cyclic redundancy check and interleaving for error control. this system has designed a simple form of frame.keywords:direct sequence spread spectrum; cyclic redundancy check; interleaving; b

5、psk; matlab目 录摘 要iabstractii第1章 绪论11.1 课题背景11.2 直序扩频系统的特点11.2.1.直序扩频通信系统的优点11.3 直扩系统的发展31.4 本次设计的题目与目的3本章小结4第2章 技术原理52.1 扩频52.1.1 随机序列52.1.2 m序列62.1.3 扩频与直接序列扩频82.2 bpsk112.3 循环冗余校验112.4 交织13本章小结14第3章 系统设计及matlab仿真153.1 总体方案选择153.2 编码163.2.1 分组163.2.2 crc校验193.2.3 交织213.3 bpsk与dsss223.3.1 参数设置与信息输入2

6、23.3.2 bpsk部分243.3.3 扩频253.3.4 信道273.3.5 解扩283.3.6 bpsk解调283.3.7 采样判别检波303.4 误码分析31本章小结33结 论34致 谢35参考文献36附录 程序源代码38第1章 绪论1.1 课题背景直接序列扩频(dsssdirect sequence spread spectrum)技术是当今人们所熟知的扩频技术之一。这种技术是将要发送的信息用伪随机码(pn码)扩展到一个很宽的频带上去,在接收端,用与发端扩展用的相同的伪随机码对接收到的扩频信号进行相关处理,恢复出发送的信息。它是二战期间开发的,最初的用途是为军事通信提供安全保障, 是

7、美军重要的无线保密通信技术。这种技术使敌人很难探测到信号。即便探测到信号,如果不知道正确的编码,也不可能将噪声信号重新汇编成原始的信号。有关扩频通信技术的观点是在1941年由好莱坞女演员hedy lamarr 和钢琴家george antheil提出的。基于对鱼雷控制的安全无线通信的思路,他们申请了美国专利#2.292.387。不幸的是,当时该技术并没有引起美国军方的重视,直到十九世纪八十年代才引起关注,将它用于敌对环境中的无线通信系统。直序扩频解决了短距离数据收发信机、如:卫星定位系统(gps)、3g移动通信系统、wlan (ieee802.11a, ieee802.11b, iee802.

8、11g)和蓝牙技术等应用的关键问题。扩频技术也为提高无线电频率的利用率(无线电频谱是有限的因此也是一种昂贵的资源)提供帮助。在发端输入的数字信号信息,先由扩频码发生器产生的扩频码序列去调制数字信号以展宽信号的频谱,扩频码序列一般采用pn码。展宽后的信号再调制到射频发送出去。调制多采用bpsk、dpsk、mpsk等调制方式。在接收端收到的信号进行解调(一般采用相干解调)。然后由本地产生的与发端相同的扩频码序列去相关解扩。恢复成原输入的信息输出。由此可见,般的扩频通信系统都要进行两次调制和相应的解调。一次调制为扩频调制,二次调制为射频调制,以及相应的解扩和射频解调。 与一般通信系统比较,扩频通信就

9、是多了扩频调制和解扩部分。 1.2 直序扩频系统的特点1.2.1.直序扩频通信系统的优点:1)抗干扰性强抗干扰是扩频通信主要特性之一,比如信号扩频宽度为100倍,窄带干扰基本上不起作用,而宽带干扰的强度降低了100倍,如要保持原干扰强度,则需加大100倍总功率,这实质上是难以实现的。因信号接收需要扩频编码进行相关解扩处理才能得到,所以即使以同类型信号进行干扰,在不知道信号的扩频码的情况下,由于不同扩频编码之间的不同的相关性,干扰也不起作用。正因为扩频技术抗干扰性强,美国军方在海湾战争等处广泛采用扩频技术的无线网桥来连接分布在不同区域的计算机网络。 2)隐蔽性好因为信号在很宽的频带上被扩展,单位

10、带宽上的功率很小,即信号功率谱密度很低,信号淹没在白噪声之中,别人难以发现信号的存在,加之不知扩频编码,很难拾取有用信号,而极低的功率谱密度,也很少对于其他电讯设备构成干扰。 3)易于实现码分多址(cdma)直扩通信占用宽带频谱资源通信,改善了抗干扰能力,是否浪费了频段?其实正相反,扩频通信提高了频带的利用率。正是由于直扩通信要用扩频编码进行扩频调制发送,而信号接收需要用相同的扩频编码作相关解扩才能得到,这就给频率复用和多址通信提供了基础。充分利用不同码型的扩频编码之间的相关特性,分配给不同用户不同的扩频编码,就可以区别不同的用户的信号,众多用户,只要配对使用自己的扩频编码,就可以互不干扰地同

11、时使用同一频率通信,从而实现了频率复用,使拥挤的频谱得到充分利用。发送者可用不同的扩频编码,分别向不同的接收者发送数据; 同样,接收者用不同的扩频编码,就可以收到不同的发送者送来的数据,实现了多址通信,提高了频谱利用率。另外,扩频码分多址还易于解决随时增加新用户的问题。4)抗多径干扰无线通信中抗多径(发射的信号经多条不同路径传播)干扰一直是难以解决的问题,利用扩频编码之间的相关特性,在接收端可以用相关技术从多径信号中提取分离出最强的有用信号,也可把多个路径来的同一码序列的波形相加使之得到加强,从而达到有效的抗多径干扰。5)直扩通信速率高直扩通信速率可达 2m,8m,11m,无须申请频率资源,建

12、网简单,网络性能好。6)有很强的保密性能。对于直扩系统而言,射频带宽很宽,谱密度很低,甚至淹没在噪音中,就很难检查到信号的存在。由于直扩信号的频谱密度很低,直扩系统对其它系统的影响就很小。 2.直扩通信系统的不足:直扩系统除了一般通信系统所要求的同步以外,还必须完成伪随机码的同步,以便接受机用此同步后的伪随机码去对接受信号进行相关解扩。直扩系统随着伪随机码字的加长,要求的同步精度也就高,因而同步时间就长。1.3 直扩系统的发展由于它的抗噪声的特性,直接序列扩频技术非常适合商业应用。在容许无线设备公开使用的电磁环境里,它对其他传统微波设备造成最小的干扰,同时对附近其他设备有更高的抗扰性。上世纪8

13、0年代末,晶体电子技术的先进程度已经足以提供商用的、成本效益好的直接序列扩频系统。现在直扩技术被广泛应用于包括计算机无线网等许多领域。扩频技术在发展的初始阶段,就已经实现了理论和技术上的重大突破,在此后的发展过程中主要是硬件的改善和性能的提高。随着移动通信的迅猛发展,目前3g系统由研制开发逐步进入商用并且向第四代无线多媒体通信飞速发展。根据itu的标准,世界各大电信公司联盟均提出了自己的第三代移动通信系统方案,虽然第三代移动通信系统的标准差异很大,但采用码分多址技术已经达成共识。直扩码分多址,由于具备通信容量大、能充分利用话音的统计特性、平滑的越区切换、通信容量的软特性等优点被作为未来移动通信

14、中最具竞争力、最有前景的无线多址接入技术。无线扩频通信作为另一种有效的补充通信手段,已在金融系统得到了越来越广泛的应用。发展到现在,扩频技术理论和技术都已趋于完善,主要应从系统的角度考虑总体性能,且与其它新技术结合应用。因此,应用的驱动一直是扩频技术发展的强大动力,未来的无线通信系统,如移动通信、无线局域网、全球个人通信等,扩频技术必将发挥重要作用。随着科技的发展,扩频技术必将获得更加广阔的应用空间。1.4 本次设计的题目与目的本次设计的题目是基于matlab的宽带无线数字通信系统。本次设计的目的就是要设计一个数字通信系统,此系统应用扩频技术为其核心,再次基础上建立一个完整的系统,包括bpsk

15、调制、crc校验、交织等部分。并用matlab进行仿真并实现以下功能和指标:主要功能:1、dsss宽带通信系统设计2、链路预算分析过程3、数据帧格式设计4、系统性能分析方法量化的技术指标:1、载波频率5mhz2、m序列周期633、信源速率10kbps4、crc及交织设计5、调制方式bpsk 本章小结本章主要叙述了扩频技术的产生背景,研究现状,及发展前景。又描述了扩频中直扩技术的技术及主要特点。扩频技术可以大大增强通信系统对窄带干扰的抗噪声性能,但对白噪声没作用。应用扩频技术还可以根据不同的扩频码序列来区分用户,这就是码分多址。最后列出了本次设计所要求和想要达到的指标第2章 扩频通信系统基本原理

16、 基于扩频技术的通信系统是在基本数字通信系统的基础上加入了扩频环节,将原信号用伪随即序列对原信息序列进行调制,在接方在用相同的为随即序列进行解扩还原原来的信号。因为在接收方需要用相同的伪随即序列,所以使用不同的伪随即序列就可以区分不同用户,这也是扩频技术在cdma当中的应用。根据香农的理论对于一个给定的信道容量而言,既可以用增大信道带宽同时相应降低信噪比的办法达到,又可以用减少信道带宽同时相应增大信噪比的方法实现。这就是说:信道的容量可以利用带宽与信噪比的互换而保持不变。直接序列扩频技术正是利用这一原理,用高速率的扩频码来扩展待传输数字信息的带宽,可以增强系统对窄带噪声的影响。2.1 扩频2.

17、1.1 随机序列2.1.1.1 随即序列 随机序列ak 是平稳遍历的时间离散随机过程的一个样本。二进制情况下即为伯努利序列(掷币序列)。我们只考虑二进制序列。 我们认为,如果一个序列是掷币得来的,那么它就应该有如下特征,不然就不太可能是“随机”序列的一个实现:(1) 非周期:或者说周期无限长;(2) 平衡:序列中0、1(对应到实数域是+1,-1)出现的机会各为 1/2;(3) 游程:长度为n 的游程的出现的机会是1/2n;(4) 移位相加特性:若记bk为ak的相移,即bk=ak-m,则ck=bk+ak也是一个伯努利序列。(5) 实数域的自相关:(6) 实数域的互相关:若ak、ak是两个不相同的

18、样本序列,则2.1.1.2 随即序列 伪随机的意思是:表面看起来很像随机,但它其实是确定的序列。所谓“确定序列”是指:如果我们知道规则的话,可以一个不漏地写出以后的全部序列(例如:1 、1 、2 、3 、5、8 、13、)。而对于真正的随机序列,无论你已经看到了多少个前面的数值,也不可能确定出下一个数是什么。出于某些目的(例如扩频通信),我们需要随机序列,但从可操作的角度来说(收发必须要用完全相同的序列),需要做出这样的序列,它“看上去很随机”,但实际上是用不太复杂的规则以确定的方式产生的。这样的序列叫伪随机序列或者伪码。给定一个确定序列,它“看上去像不像随机”就是要检查前述的几条性质是否满足

19、或接近满足。2.1.2 m序列m序列是最长线性移位寄存器序列的简称。二进制的m序列是一种重要的伪随机序列,有优良的自相关特性。容易产生、规律性强,但其随机性接近于噪声和随机序列。m序列在扩展频谱及码分多址技术中有着广泛的应用,并在m序列基础上还能够成其它码序列。m序列是由多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列。在二进制移位寄存器发生器中,若n为级数,则所能产生的最大长度的码序列为2n1位。cpa3c0=1a2a1a0c1=1c3=1c2=1图2-1 m序列产生电路逻辑框图以长度(周期)为7的m序列为例说明m序列的产生过程如图2-1。在时钟脉冲的作用下移存器的状态不断变化如表

20、2-1移存器状态变化图表。cpa3a2a1a00100111100211103011141011501016001071001表2-1 状态变化图表2134567图2-2非全0初始状态下状态转移图0图2-3 全0初始状态下状态转移图假设移存器初始状态为a0=1, a1=0, a2=0。由图2-2可见,在第七个时钟脉冲时状态又回到初始状态,这说明此序列的长度(周期)等于7。如果移存器的初始状态为全0,即a0=0, a1=0, a2=0,则此状态在时钟脉冲作用下不会变。即全0初始状态下产生的序列为全0序列。非全0状态下,移存器状态变化顺序可以用其状态转移图表示。图2-2是非全0初始状态下状态转移图

21、;图2-3是全0初始状态下状态转移图。上述7位m序列产生器由三级移存器组成,每一级移存器有两个可能状态(0,1),三级移存器的所有可能状态为23=8种:000,001,010,011,100,101,110,111,其中全0状态不能进入m序列产生器的移存器,否则将出现全0序列。由此可见,三级移存器组成的线性反馈电路所产生的序列周期不会超过23-1=7。一般情况,由n级移存器组成的线性反馈电路所产生的序列周期不会超过2n-1。图2-4 线性反馈移位寄存器序列发生器逻辑框图c2c1c3cnan-1an-2an-3a0n级c0=1an图2-4为由n级具有线性反馈逻辑移存器所组成的码序列发生器的框图。

22、其中系数ck(0,1),k=1,2,3,n。ck=0时,图2-4中反馈连接断开;ck=1时,反馈接通。由此可见,系数c1,c2,c3,,cn的取值决定了反馈逻辑。反馈逻辑可由特征多项式f(x)表示 f(x)=c0+c1x+c2x2+c3x3+ cnxn (2-1)其中,ck(0,1),k=0,1,2,3,n;n为移存器级数。因为码序列发生器中反馈逻辑总是接入的,所以式(2-1)中c0=1。例如;f(x)=1+x+x4,表示n=4,有4级移存器,且c1=1,c2=0,c3=0,c4=1。不同特征多项式对应不同的返回逻辑,即对应不同的序列。有n级移存器组成的线性反馈电路所产生的序列周期不会超过2n

23、-1的序列即为m序列(最长线性反馈移存器序列)。钟脉冲d1d2d3输出1110010(a)三级移位寄存器构成的m序列发生器2.1.3 扩频与直接序列扩频2.1.3.1 扩频通信的理论基础 所谓扩频技术是指通过注入一个更高频率的信号将发送的基带信息扩展到一个更宽的频带内的射频通信系统,即发射信号的能量被扩展到一个更宽的频带内使其看起来如同噪声一样,接收端通过相关接收,将信号恢复到信息带宽的一种技术;基于该技术的系统就称为扩展频谱系统或扩频系统。 香农(shannon)在其信息论中得出了带宽与信噪比互换的关系式,即香农公式: 式中,c为信道容量(bit/s ),意指单位时间内信道中无差错传输的最大

24、信息量;w 为信号频带宽度(hz);s 为信号功率(w);n 为噪声功率(w);s/n 为输入功率与噪声功率之比,称为信噪功率比,简称信噪比。这个公式说明:对于一个给定的信道容量而言,既可以用增大信道带宽同时相应降低信噪比的办法达到,又可以用减少信道带宽同时相应增大信噪比的方法实现。这就是说:信道的容量可以利用带宽与信噪比的互换而保持不变。直接序列扩频技术正是利用这一原理,用高速率的扩频码来扩展待传输数字信息的带宽。扩展带宽与初始信号之比称为处理增益(db) ,典型的扩频处理增益可以从20 db 到60 db 。故在相同的情况下,与其它通信方式相比,扩频通信具有较强的抗噪声干扰的能力。2.1.

25、3.2 直接序列扩频系统的组成 直接序列扩频(dsss)是目前应用最广泛的一种扩频方式。它是将要发送的信息用伪随机码(pn) 码扩展到很宽的一个频带上去,在接收端,用与发送端扩展用的相同的伪随机码对接收到的信号进行相关处理,恢复出发送的信息。对于干扰信号而言,由于与伪随机码不相关,在接收端被扩展,使落入信号通频带内的干扰信号功率大大降低,从而提高了相关器的输出信噪比,达到了抗干扰的目的。直接序列扩展频谱通信系统发射部分和接受部分的简化方框图如图2-5,图2-6所示信源调制器发射机本质扩频pn码产生器图2-5 直接序列扩频通信系统发射部分高放混频器解扩解调器本振pn码同步图2-6 直接序列扩频通

26、信系统接收部分2.1.3.3 直接序列扩频系统的信号分析 信号源产生的信号a(t)为信息流,其码元速率为ra,码元宽度为ta,t2=1/ra,则a(t)为式中,a为信息码,以概率p取+1和以概率1-p取-1,即为门函数伪随机序列产生器产生的伪随机序列c(t),其速率为 rc,切普宽度为 tc, tc=1/rc,则式2-5中,cn为为随机码码元,取值+1或-1;gc(t)为门函数。扩频过程实质上是信息流a(t)与伪随机序列c(t)的模2加或相乘的过程。伪随机码速率rc比信息速率ra大得多,一般 rc/ra的比值为整数,且rc/ra远大于1,所以扩展后的序列的速率仍为伪随机码速率rc,扩展的序列d

27、(t)为 用此扩展后的序列去调制载波,将信号搬移到载频上去。本文中采用psk 调制。调制后得到的信号s(t)为 式中,w0为载波频率。在接收端,先经过解扩处理得到r(t)为 然后再经过psk 解调得到原始信号a(t)。以上就是扩频系统的基本信号分析过程。2.2 bpskpsk是用信息信号对载波信号的相位进行控制的一种调制方式,也就是用载波的相位来装载信息。假设载波信号是正弦信号sin(2fct+),如果是连续信号对载波进行psk调制,假设信息信号为s(t),则调制后的信号为sin(2fct+ s(t)。这时调制信号的相位是随着信息进行连续的变化,相位所提供的信息也就是无限个取值。如果用离散的信

28、号进行调制,则相位所装载的信息就是离散的几个取值。如果信息是用两个离散的信号表示就是bpsk,就是二进制相移检控。如果二进制信号调制后的载波的相位是0和两种相位,调制后的信号就是sin(2fct)和sin(2fct+)两种信号所组成的。因为sin(2fct+)= -sin(2fct)。所以bpsk调制实际上就是用+1,-1两种矩形脉冲信号对正弦信号进行类似与幅度调制的方法进行调制。2.3 循环冗余校验循环冗余校验(crc,cyclic redundancy check),它是应用非常广泛的一种检错编码。由于循环码的码字多项式c(x)能够被生成多项式g(x)整除,如果接收到的y(x)不能被g(x

29、)整除,则可以料定y(x)中存在差错的比特。crc的编码一般采用系统码的形式如图2-7是crc编码的一个例子。x2x1x3x4x5x6x7x8x000信息输入输出前32比特期间开关置上后8比特期间开关置下图2-7 crc编码器此例的生成多项式是x8+x7+x4+x3+x+1。编码器为32个信息比特后缀了8个校验比特,因此这是一个(40,32)线性码组。图2-8是相应的译码器,它在第41个比特或 门输入错误指示在第41比特周期闭合图2-8 crc译码器周期指示刚接收到的40个比特帧中是否发生了错误。crc生成多项式的次数r就是校验位的个数,信息分组的比特数k并无限制。crc的编码效率是,一般也是

30、用来描述crc的效率,称作crc的开销。通常,较长的信息分组使用较长crc生成多项式。crc的编码结果有2k种,它们都是g(x)的倍数。信道中可能发生的非全0错误图样共有2n-1=2k+r-1种。当错误图样能被g(x)整除,也即错误图样自身是一个码字时,这样的错误将骗过接收端,使译码器报告无错,称此情形为发生漏检。不同的错误图样的个数有2n=2k+r个,其中能被g(x)整除的错误图样个数是2k个,除去一个全0错误图样表示无错外,其余的错误图样都能导致漏检,这些错误图样个数是2k-1个占总错误图样的比例为。例如:crc-16不能检出的错误图样只占总可能图样的。在许多应用中,出错本身是个小概率事件

31、,出错时错误图样恰好是g(x)的倍数的概率更小。因而一般来说crc是个强有力的检错码。crc位数越长,检错能力也越强,不过编码效率也越低。2.4 交织交织就是把集中出现的错误打散,让错误均匀分散在各处。我们不能真正打散信道,但可以用一个交织器把像洗牌一样把发送数据的次序弄乱,经过信道后,接收端再用一个反交织器把次序给洗回来,这样做的效果等价于把信道中的差错打散了。发端用连续的l个(n , k )码码字组成一个包含n=ln比特的分组c=c1, c2, ,cn,。称c 为交织块,n 为交织长度。交织器对序列c洗牌,得到c=a(c)= ci1, ci2, ,cin,(i1,i2,in)是对(1,2,

32、n)的一种排列。通过二元信道实际传送的是c=a(c)。收端收到n 个比特后,先通过解交织(或者叫反交织)恢复到原来的比特次序,然后译码器逐个译出l个码字。理论上每一种排列都可以成为一个交织器。实际中最常用的是矩形交织器。矩形交织的实现如图2-10所示。图中矩形表示一个存储器,每格存一个比特。输入的数据x=(x1, x2, x3, x4, x5, x6, x7, x8, x9)按行写入,按列读出,x=(x1, x4, x7, x2, x5, x8, x3, x6, x9)。解交织器则是相反,如图2-11它把收到的n 个比特按列写入,再按行读出回复x。按行读出 按列写入按列写入按行写入图2-10

33、交织与解交织本章小结本章叙述了本次设计用的一些主要的技术作了阐述。第一节阐述了扩频技术的基本原理,扩频就是用更高频率的扩频序列(本次设计用m序列)对信号进行调制,对其进行频率的扩展。随机序列的概念,就是随机过程的一个样本,如果是二进制随即序列就是伯努利序列。伪随即序列,在性质上接近随机序列,但是为随即序列是可以确定,因此可以用来进行扩频和解扩。m序列就是一种为随即序列。m序列的全称是最长线性移位寄存器序列的简称,m序列可以用线性移位寄存器生成。直接序列扩频的原理,直扩是扩频的一种,它是将要发送的信息用伪随机码(pn) 码扩展到很宽的一个频带上去,在接收端,用与发送端扩展用的相同的伪随机码对接收

34、到的信号进行相关处理,恢复出发送的信息。对于干扰信号而言,由于与伪随机码不相关,在接收端被扩展,使落入信号通频带内的干扰信号功率大大降低,从而提高了相关器的输出信噪比,达到了抗干扰的目的。循环冗余校验和交织的基本技术都是信道编码技术,用来控制传输过程中的差错。第3章 系统设计及matlab仿真3.1 总体方案选择根据上面的技术原理以及本次设计的要求和目的,设计系统如图3-1数字信号编码bpsk调制扩频数字信号解码bpsk解调解扩信道图3-1 系统总体框图输入的是二进制的数字信号。编码部分包括三部分,分组、加crc校验、交织。与编码想对应的解码则是相反过程解交织、crc校验、将分组组合恢复原数字

35、信号。信道只包含高斯白噪声。编码解码主程序bpsk与dsss图3-2 系统仿真程序结构matlab仿真程序采用主程序和子程序的结构如图3-2。3.2 编码3.2.1 分组3.2.1.1 分组 分组主要为后面的crc与交织服务。分组数据每组的结构如图3-3。每个分组一共24位。把输入的原始数字信息分成了16位一组,放到每组的数据位。如果原始信息不是16的倍数,则在最后一组中在16位数据中加入0补足16位。在每组的开始加入4位的信息位,为后面将分组重新组合成原始信息提供信息,这4位信息位就提供给接收端本组的数据的位数。信息位数据位crc位4位16位4位图3-3 分组帧格式 分组程序是在主程序调用子

36、程序packup。function transp,addcrc,num=packup(x_in)程序首先将数据比特数量分成16比特一组,并计算出最后一组的数量。lenu = length(x_in); %信息长度remp = rem(lenu,16); %最后小组长度numop = (lenu-remp)/16; %小节数然后将数据按上面的信息分组,按信息长度是否为16的倍数(也就是最后小组是否是16)分两种情况,第一种情况,是16的倍数则平均分组;第二种情况,将最后的一组之前的数据平均分组在将最后一组补足16位分为一组。在分组的程序中再将每组的末尾加上crc校验位,这也是用调用子程序的办法i

37、f remp = 0 %最后一组是否为0 pack = zeros(numop,20); %按分组定义0矩阵 for m = 1:numop %将每组前4位赋0 for n = 1:4 pack(m,n) = 0; end for n=5:1: %将每16位一组的数据写入分组矩阵每组的5-20位 pack(m,n)=x_in(m-1)*16+n-4); end addcrc(m,:) = crc_add(pack(m,:),4); %加crc校验 endelse %如果最后组个数不为0 numop=numop+1; pack=zeros(numop,20); for m=1:numop-1 %

38、将除最后组外的每组前4位赋0 pack(m,1:4)=0; for n=5:1:20 pack(m,n)=x_in(m-1)*16+n-4); end addcrc(m,:) = crc_add(pack(m,:),4); end ln=binary(remp,4); %子程序binary将最后组的数据位数变为二进制 for n=1:4 %将最后组的数据位数赋给最后分组的前4位 pack(numop,n)=ln(n); end for n=5:1:remp+4 %将最后组的数据赋给最后分组4位之后 pack(numop,n)=x_in(numop-1)*16+n-4); end for n=5

39、+remp:20 %将最后组的数据不足16位的位置赋0 pack(numop,n)=0; end addcrc(numop,:) = crc_add(pack(numop,:),4); %加crc校验end如果输入信息是16的倍数,例如输入信息是32位:x_in=11011001110110100111101111101010则经过分组后的数据形式为:xt= 00001101100111011010 00000111101111101010如果输入信息不是16的倍数,例如输入信息是20位:x_in=01111011100001101011则经过分组后的数据形式为:xt =00000111101

40、110000110010010110000000000003.2.1.2 解分组 将分组重新装回原来的序列就是将每个分组的前4位的信息位去掉,然后将每组16位的信息按原来的顺序拼接起来。function cout = packdown(adeint,numop)for k = 1:numop outacheck, indicate = crc_check(adeint(k,:),4); in(k,:) = outacheck;endc = 0 0 0 0;temp = 0;d = in(numop,1:4);if (d(1)-c(1)+(d(2)-c(2)+(d(3)-c(3)+(d(4)-c

41、(4) for n = 1:4 temp = temp+in(numop,n)*2(4-n); endelse temp = 16;endcout = zeros(1,(numop-1)*16+temp);for m = 1:numop-1 for n = 1:16 cout(m-1)*16+n) = in(m,n+4); endendcout(numop-1)*16+1:(numop-1)*16+temp) = in(numop,5:4+temp); 3.2.2 crc校验3.2.2.1 加crc校验位 加crc校验位的程序是在分组的子程序中再调用子程序crc_add, function o

42、utput = crc_add( input, crc_no ) 其中的crc_no就是校验位的个数,在分组程序中就赋值为4。k = size(input,2); %确定数组的长度output = zeros(1,k+crc_no); %按输入数组长度定义0矩阵generator = 1 1 1 1 1; %生成多项式output(1:k) = input;for ii = 1:k %计算校验位if(output(1) = 1)output(1:crc_no+1) = mod(output(1:crc_no+1)+generator),2);endoutput = output(2:end)

43、output(1);endoutput = input output(1:crc_no); %加校验位output = interleaving(output); %调用交织子程序其中的for循环语句部分就是计算crc校验位。如发送16位的信息,x_in = 1101100111011010加入是经上一级程序分组后为:xt = 00001101100111011010在经crc_add加入crc校验位后为:output=000011011001110110101110其中最后4位“1110”为前20位对生成多项式进行求余运算得到。3.2.2.2 crc检验 此部分就是将crc_add生成的序列

44、对生成多项式进行求余,若余0则证明接收的码序列无错,若不余0则证明出错。然后去除冗余码后还原原来的序列。function output, indicate = crc_check( input, crc_no )input=deint(input);n = size(input,2);output = zeros(1,n-crc_no);generator = 1 1 1 1 1;output = input(1:n-crc_no);for ii = 1:nif(input(1) = 1)input(1:crc_no+1) = mod(input(1:crc_no+1)+generator),

45、2);endinput = input(2:end) input(1);endif sum(input) = 0indicate = 0;elseindicate = 1;end这段程序被解分组程序packdown调用的。此程序是先调用解交织子程序将上交织了的码序列解交织,然后在for训话语句中,对生成多项式进行求余。若余0则证明接收的码序列无错,则对indicate赋0,若不余0则证明出错,则indicate赋1。然后将结果返回给上层程序packdown。3.2.3 交织3.2.3.1 交织 交织就是用子程序将上级程序中添加crc校验位后的共24位比特的码序列进行交织。将原序列先变成4*6的

46、矩阵,然后转置在变回一维的序列。此程序是被crc_add程序调用的子程序。function outint=interleaving(w)beint=reshape(w,4,6);outint=reshape(beint,1,24);如原来的经过crc_add后的码序列:output = 000011011001110110101110经过第一个reshape函数后为:beint = 0 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0经过第二个reshape函数后为有变成一维数组:outint = 0111110101010000110111003.2

47、.3.2 解交织 解交织是用子程序将上级程序crc_check接收到的共24位比特的码序列进行解交织。将原序列先变成6*4的矩阵,然后转置在变回一维的序列。function adeint=deint(aintm)bedeint=reshape(aintm,6,4);adeint=reshape(bedeint,1,24);将交织后的码序列经过第一个reshape后变为:bedeint = 0 0 0 0 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 1 0再经过第二个reshape函数后为有变成一维数组:adeint = 00001101100111011010111

48、03.3 bpsk与dsss这部分将前部分编码结束的的序列进行bpsk调制和直接序列扩频,然后送入信道,经过加性高斯白噪声影响后将接收到的信号进行bpsk解调和解扩。这段程序是经主程序调。function rxbits=dsbpsk(user,snr)这段程序分为几个部分:3.3.1 参数设置与信息输入% 参数设置fc = 5e6; % 载波频率eb = 1; % 每个字符的能量tb = 1e-4; % 每个信息比特所占的时间dt = 1e-7; % 最小时间单位nu = floor(tb/dt);length_user=length(user); for i=1:length_user %改

49、变用户数据中的0为-1 if user(i)=0 user(i)=-1; endend% 输入的码序列信息t=dt:dt:tb*length_user; basebandsig=;for i=1:length_user for j=dt:dt:tb if user(i)=1 basebandsig=basebandsig 1; else basebandsig=basebandsig -1; end end endlen_basebandsig=length(basebandsig);figureplot(t,basebandsig)axis(0 tb*length_user -1.5 1.5

50、);title(用户输入的信息)图3-4 用户输入信息波形参数可以根据用户的要求设置各个参数。在输入的码序列信息部分是将码序列信息按参数赋在时间轴上,并将时间轴的采样个数也进行统一方便程序的运行。在最后将输入的信息绘出图来。如前面将交织后的码序列经过这个过程后的波形如图3-4。3.3.2 bpsk部分因为本设计的调制是二进制的相移键控,所以主要有两个不同的相位的载波就可以表示信息,因此采用了用输入信息的双极性序列与正弦载波相乘得到调制信号。假设输入的脉冲波形用g(t)表示,调制后的波形用sbpsk表示则调制过程可表示为:sbpsk=g(t)sin(2fct) 3-1图3-5为调制后信号波形局部

51、放大后的波形。图3-5 bpsk后的波形% bpsk调制过程 bpskmod=;for i=1:length_user for j=dt:dt:tb bpskmod=bpskmod sqrt(2*eb)*user(i)*sin(2*pi*fc*j); endendlen_bpskmod=length(bpskmod);figure %用户bpsk调制后的波形图输出plot(t,bpskmod)axis(0.99*tb 1.01*tb -3 3);title( 用户经bpsk调制之后的波形 )3.3.3 扩频首先生成pn序列,生成pn码序列波形如图3-6。seed=1 -1 1 -1 1 -1;

52、 % 设pn码初始值pn=;for i=1:length_user for j=1:10 %pn码和数据比特码的比率设为10:1 pn=pn seed(6); if seed (6)=seed(5) temp=-1; else temp=1; end seed(6)=seed(5); seed(5)=seed(4); seed(4)=seed(3); seed(3)=seed(2); seed(2)=seed(1); seed(1)=temp; endendlen_pn=length(pn);pnupsampled=;for i=1:len_pn for j=dt*10:dt*10:tb if pn(i)=1 pnupsamp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论