怎样使用matlab进行跳频通信干扰方面的仿真?(在线等,请高手进啊!!!)

怎样使用matlab进行跳频通信干扰方面的仿真?(在线等,请高手进啊!!!),第1张

基于MATLAB 的扩频通信系统仿真研究

范伟 翟传润 战兴群

(上海交通大学电子信息与电气工程学院,200030,上海)

摘要 本文阐述了扩展频谱通信技术的理论基础和实现方法,利用MATLAB 提供的可视化

工具Simulink 建告猛差立了扩频通信系统仿真模型,详细讲述了各模块的设计,并指出了仿真建模

中要注意的袜皮问题。在给定仿真条件下,运行了仿真程序,得到了预期的仿真结果。同时,利

用建立的仿真系统,研究了扩频增益与输出端信噪比的关系,结果表明,在相同误码率下,

增大扩频增益,可以提高系统输出端的信噪比,从而提高通信系统的抗干扰能力。

关键词 扩频通信, 信噪比, 误码率, 扩频增益

中图分类号:TN914.42 文献标识码:A

Simulation of the Spread Spectrum Communication System

Based on MATLAB

FAN Wei, ZHAI Chuan-run, ZHAN Xing-qun

(School of Electronic, Information and Electrical Engineering, Shanghai Jiaotong University, 200030, Shanghai)

Abstract: The theory base and realizing methods of the spread spectrum communication

technology was presented in this study. The simulation model of the spread spectrum

communication system was built by using SIMULINK, which is provided by MATLAB. In

addition, each module of the simulation model was introduced in detail,and pointed out the

problems that must be pay attention to in the system simulation. On the basis of the designed

simulation conditions, the simulation program was run and the anticipant results were gained.

Moreover, the relationship between the spread spectrum gain and the fan-out error rate was also

studied by use of the simulation system. The results showed that on the base of the same error rate,

if the spread spectrum gain was enlarged, the Signal-to-Noise of the system fan-out would be

enhanced and the anti-jamming capability of the communication system would also be enhanced.

Keywords: spread spectrum communication, Signal-to-Noise, error rate, spread spectrum gain

1 引言

扩展频谱通信(简称扩频通信)与光纤通信、卫星通信,一同被誉为进入信息时代的三

大高技术通信传输方式,它是指发送的信息被展宽到一个很宽的频带上,在接收端通过相关

接收,将信号恢复到信息带宽的一种系统。采用扩频信号进行通信的优越性在于用扩展频谱

的方法可以换取信噪比上的好处,即接收机输出的信噪比相知告对于输入的信噪比有很大改善,

从而提高了系统的抗干扰能力。本文根据扩频通信的原理,利用MATALB提供的可视化仿真工

具Simulink建立了扩频通信系统仿真模型,研究了扩频通信的特性和扩频增益与输出端信噪

比的关系,目的是为以扩频通信为基础的现代通信的研究和设计提供依据。

2 扩展频谱通信技术

2.1 理论基础

扩频通信的基本理论是根据信息论中的Shannon 公式,即

log (1 / ) 2 C = B + S N (1)

式中:C为系统的信道容量(bit/s);B为系统信道带宽(Hz);S为信号的平均功率;N为噪

声功率。

Shannon公式表明了一个系统信道无误差地传输信息的能力跟存在于信道中的信噪比

(S/N)以及用于传输信息的系统信道带宽(B)之间的关系。该公式说明了两个最重要的概

念:一个是在一定的信道容量的条件下,可以用减少发送信号功率、增加信道带宽的办法达

到提高信道容量的要求;一个是可以采用减少带宽而增加信号功率的办法来达到。

扩频增益是扩频通信的重要参数,它反应了扩频通信系统抗干扰能力的强弱,其定义为

接收机相关器输出信噪比和接收机相关器输入信噪比之比,即

d

s

d

s

i i B

B

R

R

S N

S N

G = = =

/

/ 0 0 (2)

式中,Si和S0分别为接收机相关器输入、输出端信号功率;Ni和N0分别为相关器的输入、输出

端干扰功率;Rs为伪随机码的信息速率,Rd为基带信号的信息速率;Bs为频谱扩展后的信号带

宽,Bd频谱扩展前的信号带宽。

2.2 实现方法

扩频通信与一般的通信系统相比,主要是在发射端增加了扩频调制,而在接收端增加了

扩频解调的过程,扩频通信按其工作方式不同主要分为直接序列扩频系统、跳频扩频系统、

跳时扩频系统、线性调频系统和混合调频系统。现以直接序列扩频系统为例说明扩频通信的

实现方法。图1为直接序列扩频系统的原理框图。

图1 直接序列扩频系统原理图

由直扩序列扩频系统原理图可以看出,在发射端,信源输出的信号与伪随机码产生器产

生的伪随机码进行模2加,产生一速率与伪随机码速率相同的扩频序列,然后再用扩频序列

去调制载波,这样得到已扩频调制的射频信号。在接收端,接收到的扩频信号经高放和混频

后,用与发射端同步的伪随机序列对扩频调制信号进行相关解扩,将信号的频带恢复为信息

序列的频带,然后进行解调,恢复出所传输的信息。

3 系统仿真模型的建立

3.1 Simulik 简介

MATLAB 最初是Mathworks 公司推出的一种数学应用软件,经过多年的发展,开发了包括

通信系统在内的多个工具箱,从而成为目前科学研究和工程应用最流行的软件包之一。

Simulink 是MATLAB 中的一种可视化仿真工具,是实现动态系统建模、仿真和分析的一个集成

环境,广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。它包

括一个复杂的由接受器、信号源、线性和非线性组件以及连接件组成的模块库,用户也可以

根据需要定制或者创建自己的模块。Simulink 的主要特点在于使用户可以通过简单的鼠标 ***

作和拷贝等命令建立起直观的系统框图模型,用户可以很随意地改变模型中的参数,并可以

马上看到改变参数后的结果,从而达到方便、快捷地建模和仿真的目的。

3.2 模型建立及主要模块设计

基于MATLAB /Simulink 所建立的扩频通信系统的仿真模型,能够反映扩频通信系统的

动态工作过程,可进行波形观察、频谱分析和性能分析等,同时能根据研究和设计的需要扩

展仿真模型,实现以扩频通信为基础的现代通信的模拟仿真,为系统的研究和设计提供强有

力的平台。图2 为基于MATLAB/Simulink 的扩频通信系统仿真模型。

图2 系统仿真模型

信源:随机整数发生器(Random Integer generator)作为仿真系统的信源,随机整数发

生器产生二进制随机信号,采样时间、初始状态可自由设置,从而满足扩频通信系统所需信

接 收

高放混频解扩 解调

本振PN 码 同步

信 源 扩频调制

PN 码 振荡器

发 射

源的要求。

扩频与解扩:PN 序列生成器模块(PN Sequence Generator)作为伪随机码产生器,扩

频过程通过信息码与PN 码进行双极性变换后相乘加以实现。解扩过程与扩频过程相同,即

将接收的信号用PN 码进行第二次扩频处理。

调制与解调:使用二相相移键控PSK 方式进行调制、解调。调制由正弦载波与双极性扩

频码直接相乘实现,采用相干解调法进行解调。

信道:传输信道为加性高斯白噪声信道。在加性高斯白噪声信道模块中,可进行信号功

率和信噪比的设置。

误码计算:误码计算由误码仪实现,误码仪在通信系统中的主要任务是评估传输系统的

误码率,它具有两个输入端口:第一个端口(Tx)接收发送方的输入信号,第二个端口(Rx)

接收接收方的输入信号。

3.3 几点说明

在Simulink中,没有单独实现统计的计数器模块,需要自行创建,计数模型的设计如图

3。在计数模型中,用与信源和伪随机码同频的脉冲模块分别实现码元同步和切普同步,利

用加法器的累加功能,实现每个码元的相关峰值统计。

图3 计数模型实现框图

在扩频通信建模中,扩频与解扩使用的PN 码以及调制和解调所使用的载波必须保持同

步,因此要注意伪随机码模块和载波模块的参数设置。

在误码率计算中,接收到的信号,由于经过扩频解扩、调制解调、相关统计等处理,会

存在一个延迟,在误码仪模块的对话框中要设置一个合适的延迟。

4 仿真结果分析

4.1 仿真系统运行情况分析

在给出下列仿真的条件下,观察仿真运行情况。信息速率20b/s,幅度为1;伪随机序

列采用10 级,传输速率为200b/s 的m 序列;载波频率10KHz;信号功率为1W,信噪比30dB;

仿真时间设为2s。在这样的仿真条件下,理论上可获得10 倍的扩频增益。图4 是系统扩频

解扩的仿真结果。上图为信源,中图为扩频码,下图为信宿。从图4 可见,信源和信宿相同,

误码率为0,基于MATLAB/Simulink 所设计的仿真系统满足扩频通信系统的软件仿真要求。

图4 系统扩频解扩的仿真结果

4.2 扩频增益与输出端信噪比的关系

设置信息速率和伪随机序列传输速率,在扩频增益10 和50 的情况下,不断改变信噪比

的大小,从而得到扩频增益、误码率和信噪比的关系如图5。从图5 可以看到,在相同误码

率下,扩频增益越大,输出端信噪比越大,并且随着系统要求的提高,增大扩频增益,输出

端信噪比会得到更大的好处。

图5 不同扩频增益下误码率仿真曲线

5 结论

扩频通信以其较强的抗干扰、抗衰落、抗多径性能而成为第三代通信的核心技术,本文

阐述了扩频通信的理论基础和实现方法,利用MATLAB 提供的可视化工具箱Simulink 建立了

扩频通信系统仿真模型,详细讲述了各模块的设计,并给出了仿真建模中需注意的问题。在

给定仿真条件下,运行了仿真系统,验证了所建仿真模型的正确性。通过仿真研究了扩频增

益和输出端信噪比的关系,结果表明,在相同误码率下,增大扩频增益,可以提高系统输出

端的信噪比,从而提高系统的抗干扰能力。本文作者创新点:通过MATLAB/Simulink 建立的

仿真平台,研究了扩频增益与误码率、信噪比之间的关系,为以扩频通信为基础的卫星信号

设计提供依据。

参考文献:

1 曾兴雯,刘乃安,孙献璞。扩展频谱通信及其多址技术〔M〕。西安:西安电子科技大学

出版社,2004。

2 徐明远,邵玉斌。MATLAB 仿真在通信与电子工程中的应用[M]。西安:西安电子科技大

学出版社,2005。

3 李建新,刘乃安,刘继平。现代通信系统分析与仿真-MATALAB 通信工具箱〔M〕。西安:

西安电子科技大学出版社,2001。

4 徐明伟,李茜,汤伟。基于MATLAB 串口通信的数据采集系统的设计。微计算机信息,

2005,21(8-1),89-90。

5 郭海燕,毕红军。MATLAB 在伪随机码的生成及仿真中的应用。计算机仿真,21(3),2004.3。

基金项目:上海市科技攻关项目,项目编号:45115031。

作者简介:范伟(1973-),男,汉族,硕士研究生,主要研究方向为卫星导航、CDMA 扩频

通信。 E-mail: weifan@sjtu.edu.cn

通信地址及邮编:上海市长宁区安顺路220 弄18 号402 室,200051。

翟传润(1972-),男,汉族,博士,副教授,主要研究方向为卫星导航和测控技术。

战兴群(1970-),男,汉族,博士,教授,主要研究方向为卫星导航和新型控制理论与应用。

Authors brief introductions:

Fai Wei, was born in 1973, male, the Han nationality, master student. His research subjects include

the satellite navigation and CDMA spread spectrum communication.

Zhai Chuan-run, was born in 1972, male, the Han nationality, Ph.D, associate professor. His

research subjects include satellite navigation and test control technique.

Zhan Xing-qun, was born in 1970, male, the Han nationality, Ph.D, professor. His research interests

include satellite navigation, new control theory and application.

你说的我明白。如果真正使用alohal协议的时候,所有的孙渗薯机器都可以检测网络电平变化的是吧?但是使用Java编写模拟程序的话,我们并不能可能检测电平的变换,只能通过一定的手段来模拟这个过程。如果你将一个包裹群发,这样所有的机器都可以接受这个包,这样就可以做到所有机器模拟检测电平变化的这个要求。我认为这个是最有说服力的模拟方法了。

线程需要使用Thread类型,重写里面的run函数,调用start()启动线程,具体可以搜索一把Thread,例子遍地都是。

UDP协议使用Socket类型,初始化的时候参则者数里面绑定(或者初始化好以后直接调用bind绑定端口,一般输出不用绑定,监听的时候需要绑定)。调用里面的getOutputStream得到输入流。调用getInputStream得到输入流。

OutputStream:输出流,用于向网络中输出数据。调用其中的write函数进行输出,函数的参数就是输出的byte数组。

InputStream: 输入流,用于接受网络里面的数据。调用其中的read可以得到输入的包。

String:你要输出的字符串,调用里面的getBytes可以得到String的byte数组。

其它的应该用不到什么了吧。

**********************************

1.发送字符串的话用byte[]就可以啊。用Socket类里面的getOutputStream可以获得一个发送数据的OutputStream类对象。这个类对象有一个函数write(byte[] b) 可以向网络写byte[]。喊碧一个字符串可以通过String类中的getBytes() 转化成byte[]。这样总该明白了吧

2.说一下我的思路:开一个端口A发送UDP包(广播给端口B),用于模拟发送,用一个线程(线程1)来跑。开端口B接受局域网内的包,用另外一个线程(线程2)来跑。在发送UDP包的时候,将变量mark置1,发送完置0。线程2如果接受到一个不是从本机发送的包,而且此时mark是1(说明本机和另外一个机器同时在发包),发生了冲突,表示线程1这次发送的包失败。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12250703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存