噪声产生器的MATLAB实现及性能分析.docx
《噪声产生器的MATLAB实现及性能分析.docx》由会员分享,可在线阅读,更多相关《噪声产生器的MATLAB实现及性能分析.docx(20页珍藏版)》请在冰豆网上搜索。
![噪声产生器的MATLAB实现及性能分析.docx](https://file1.bdocx.com/fileroot1/2022-11/29/5c32bc66-9a22-401f-b4f3-a2fd386bd4ab/5c32bc66-9a22-401f-b4f3-a2fd386bd4ab1.gif)
噪声产生器的MATLAB实现及性能分析
1引言3
1.1研究课题的意义3
1.2噪声产生器的研究现状4
1.3选题的研究内容4
1.4MATLAB仿真软件介绍5
2基本原理6
2.1高斯白噪声和带限白噪声6
2.2m序列7
3系统设计9
3.1模型建立及主要模块设计9
3.2主要模块设计10
3.3仿真结果及分析15
3.4不同噪声产生器波形比较17
4遇到问题及解决办法18
5结束语20
参考文献21
噪声产生器的MATLA实现及性能分析
——噪声带宽为1.5MHz
摘要在分析通信系统的抗噪声性能时,常用高斯白噪声作为通信信道中的噪声模型,由它给出具有所要求的统计特性,并且可以随意控制其强度,以便得到不同信噪比条件下的系统性能。
因为在通信系统中常见的热噪声近似为白噪声,且热噪声的取值恰好服从高斯分布。
实际信道或滤波器的带宽存在一定限制,白噪声通过后,其结果为带限噪声,若其谱密度在通带范围内仍具有白色特性,则称其为带限白噪声。
本课程设计的目的主要是仿真噪声产生器。
利用Matlab中Simulink模块的m序列模拟高斯白噪声,调制频率搬移到10MHz后,送入一带宽为1.5MHz的带通滤波器,得到带宽为1.5MHz的带限白噪声,示波器上观察该噪声波形,并观察其频谱,与同组同学比较各种不同带宽噪声的波形和性能。
通过仿真结果表明,通过Simulink中m序列产生的伪随机序列有很好的噪声特性。
关键词噪声产生器;带限白噪声;matlab/Simulink;m序列
1引言
噪声并不如我们平日所认为的那样是无用的有害的,比如白噪声并非“噪音”,这是一个良好的信号频率,就像听到一个温柔的声音,类似风吹过通过树木、瀑布、广播或静态海洋草地。
白噪声可构成整个光谱频率,人类的耳朵可以听到。
生活中到处充满了声音和噪声干扰,如轿车鸣喇叭、狗叫声、邻居吵架、警报器报警声等。
带限白噪声是一种通频带噪声信号,是一种在现实通信系统中普遍存在的噪声信号。
为了对通信系统的性能进行准确的测试和分析,技术人员需要一种能够在实验室条件下模拟真实通信环境的装置。
噪声发生器正是应此而生,而噪声发生器在国外早有商品问世,本文拟介绍用matlab的m序列模拟带限白噪声发生器。
1.1研究课题的意义
随着社会的不断进步,科技的不断发展,人们对通信的需求日益增强,对通信质量的要求也越来越高。
人们理想的目标是任何时候、任何地方、与任何人都能传输任何信息。
信息在信道中传输的特性是研究任何通信系统首先要遇到的问题,传输特性如何直接关系到通信系统的设计与规划,因此,我们事先需建立通信系统仿真模型研究系统首先要解决的问题。
通信系统仿真模型可以通过改变系统信道参数来模拟多种典型通信环境。
这样就可以随时进行多次重复试验,进而了解一种通信设备或通信手段的优缺点。
利用通信系统模拟器测试通信设备,可以缩短开发周期,降低开发费用,有利于新体制、新技术的产生。
在信道中噪声是永远存在的,它不会随着信号的消失而消失。
在通信系统模拟仿真时,通常人为地加入噪声,以检测系统的性能。
所以设计一个噪声产生器对于通信系统的研究十分重要。
在不同信道条件下的性能,或在同一信道条件下,比较不同通信设备或通信手段的优缺点测量通信系统的性能时,常常要使用噪声产生器,由它给出具有所要求的统计特性和频率特性的噪声。
使用噪声二极管这类噪声源做成的噪声产生器,在测量数字通信系统的性能时不很适用。
因为它在一段观察时间内产生的噪声的统计特性,不一定和同样长的另一段观察时间内的统计特性相同。
在一段较长的观察时间中,它的统计特性可能是服从高斯分布的,但在较短的一段观察时间中,其统计特性一般是
不知道的。
结果测量到的误码率常常很难重复得到。
m序列产生的高斯白噪声则能克服噪声二极管的不足。
在课题研究的时候,不仅可以让我们对通信系统的新的理解,对本专业有更深的认识,更加熟练地掌握matlab的运用,还能培养我们的独立思考能力,动手操作能力,开拓思维。
1.2噪声产生器的研究现状
目前国内外市场上,高斯噪声产生器的种类十分繁多,其性能十分强大,基本都是
FPGA或DSP作为核心器件。
例如UFX7000系列高斯白噪声发生器,它是一款可编程多用途噪声发生器,频率覆盖高达40GHz,能输出高质量的白噪声信号,而且能显示状态数据于LCD显示屏,可选配有较准噪声带宽的内置滤波器,前面面板或GPIB远程控制均可。
又如NC6000/8000系列加性高斯白噪声,其频率覆盖范围广,在10Hz-18GHz
之间,通过衰减器调变可改变白噪声频率输出,最重要的价格便宜性价比高。
这些高斯噪声发生器均可应用于通信系统仿真中,从而通信设备进行测试,避免在实际通信系统中进行现场测试带来的麻烦。
而在Matlab的Simulink模块中也有高斯噪声产生器,可以用于通信系统的模拟仿真。
1.3选题的研究内容
高斯白噪声对于通信系统的性能测试十分重要。
本文主要是仿真噪声产生器。
利用m序列模拟高斯白噪声,调制频率搬移到10MHz后,送入一带宽为1.5MHz的带通滤波器,得到带宽为1.5MHz的带限白噪声,示波器上观察该噪声波形,并观察其频谱,并比较各种不同噪声产生器的到的不同带宽的噪声的波形。
本文主要围绕噪声产生器的建立与仿真展开研究,主要研究以下几个方面:
1)分析m序列的特点及其与高斯白噪声的联系,如何利用m序列得到带限白噪声,中间需要经过什么转换;
2)在Simulink平台上建造噪声产生器模型并仿真;
3)分析仿真结果并与同组同学进行比较,总结结论。
1.4MATLAB仿真软件介绍
MATLAB是矩阵实验室(MatrixLaboratory)的简称。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB和Mathematical、Maple并称为三大数学软件。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱扩展了MATLAB环境,可以解决这些应用领域内特定类型的问题。
MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。
MATLAB的最突出的特点就是简洁。
MATLABS更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。
MATLAB给用户带来的是最直观、最简洁的程序开发环境。
SIMULINK是MATLAB软件下的一个附加组件,是一个用来对动态系统进行建模、仿真和分析的MATLAB软件包。
支持连续、离散以及两者混合的线性和非线性系统,同时它也支持具有不同部分拥有不同采样率的多种采样速率的仿真系统。
提供了丰富的仿真模块。
其主要功能是实现动态系统建模、方针与分析,可以预先对系统进行仿真分析,按仿真的最佳效果来调试及整定控制系统的参数。
SIMULINK仿真与分析的主要步骤按先后顺序为:
从模块库中选择所需要的基本功能模块,建立结构图模型,设置仿真参数,进行动态仿真并观看输出结果,针对输出结果进行分析和比较。
SIMULINK模块库提供了丰富的描述系统特性的典型环节,有信号源模块库(Source),接收模块库(Sinks),连续系统模块库(Continuous),离散系统模块库(Discrete),非连续系统模块库(SignalRouting),信号属性模块库(SignalAttributes),数学运算模块库(MathOperations),逻辑和位操作库(LogicandBitOperations)等等,此外还有一些特定学科仿真的工具箱。
2基本原理
2.1高斯白噪声和带限白噪声
所谓高斯白噪声中的高斯是指概率分布是正态分布函数,而白噪声是指它的二阶矩
不相关,一阶矩为常数,是指先后信号在时间上的相关性。
高斯白噪声通常是指一个均值为零、功率谱密度为非零常数的平稳随机过程。
它在任意两个不同时刻上的随机变量之间,不仅是互不相关的,而且还是统计独立的。
高斯白噪声一维概率密度函数见公式(2.1)
1二
f(x)^^^=2e2(2.1)
V2
功率谱密度函数见公式(2.2)
巳(f)n0(f)(W/Hz)(2.2)
2
自相关函数见公式(2.3)
1
R()一n。
()
2(2.3)
其中Pn(f)是R()的傅里叶变换。
带限白噪声分为低通白噪声和带通白噪声,如果高斯白噪声通过理想矩形的带通滤
波器后,得到的是带通白噪声,用n(t)表示。
设理想带通滤波器的差传输特性为
0其他
2.2m序列
m序列是最长线性反馈移位寄存器序列的简称,它是由带线性反馈的移位寄存器产生的周期最长的序列。
一般来说,一个m序列可能产生的最长周期等于(2n-1)。
其一般原理方框图如图3-1所示,图中各级移存器的状态用a表示,日=0或1,i=0,1,2,…,n-1o反馈线的连接状态用ci表示,ci=1表示此线接通(参加反馈);Ci=0表示此线断开。
m序列的特征多项式为
f(x)coC1XC2X2LCnXn(2.6)
m序列拥有很好的伪随机性,具体为:
1)良好的均衡性。
在每一个周期p2n1内,“I”和“0”出现的次数基本相等,准确地说“1”的个数比“0”的个数多一个。
2)满足游程特性。
长度为k的游程所占的比例=2k,1k(n1)(2.7)
3)移位相加特性。
一个m序列Mp与其经过任意次延迟移位产生的另一个不同序列Mr模二相加,得到的仍是Mp的某次延迟移位序列Ms,即
MpMrMs(2.8)
4)
具有类似白噪声的自相关函数一双值自相关函数,即归一化自相关函数为:
若把m序列当作周期性连续函数求其自相关函数
R()
其归一化后的自相关函数如图2-2所示。
图2-2m序列的自相关函
5)伪噪声特性。
由于m序列的均衡性、游程分布和自相关特性与随机序列的基本特性质极为相似,所以通常将m序列称为伪噪声(PN)序列。
m序列的功率谱密度的包络是(sinx/x)2,设m序列的码元宽度为Ti,则大约在0
至1/Ti45%Hz的频率范围内,可以认为它具有均匀的功率谱密度。
所以可以用m序
列的这一部分频谱可以作为噪声产生器的噪声输出。
3.1模型建立及主要模块设计
3系统设计
噪声产生器模拟系统在Simulink平台的总模型架构如图3-1所示,其中包括最核心
该仿真图的m序列用的是5级线形反馈移存器,根据其特征多项式
图3-2m序列产生器框图
3.2主要模块设计
为了得到带宽B为1.5MHz的带限白噪声,则根据公式
B(1/TJ45%(3.2)
具体设置参见表3-1
FunctionBlockParameters:
UnitDelay
UmtDelay
SawtpleandhaldiurLthonesanicpleperioddel&y,
MainStateJLftributes
田
UnitDelay
Initialcortdition:
1
Tiipul:
[IiJjlsl11od
Ssntplctin#(-1forinKtrit»d)i0.0000003
」0K
C.ancel
Help
1
图3-3延迟单元模块及参数设置选项框
表3-1延迟单元参数设定
Name
InitialCondition
InputProcessing
SampleTime
CodeGenStateStorageClass
UnitDelay
1
Inherited
0.0000003
Auto
UnitDelay1
0
Inherited
0.0000003
Auto
UnitDelay2
0
Inherited
0.0000003
Auto
UnitDelay3
0
Inherited
0.0000003
Auto
UnitDelay4
0
Inherited
0.0000003
Auto
异或运算模块在这里作模2判决,移存器每移动一位时,便将氏与ao进行一次模2
运算,作为a4的输入。
它的模块图与参数设置见图3-4和表3-2所示
r
也FurKtonElockParameterrLragcalOperartcr
LdcicbIOperator
Logical・rot自siitgl'SLnpiztjCipol8:
工上Oi■吉areappliedbctciesIt兔白irputVactCT・For
iwiltiple二npit巧opesatatffifeapplied加:
ro帖ihe・
Siiftj|_DataI;/pc
OjjciErtDi:
;SCR
»ufth*ri3fin^trtpcrtf!
2
Iconshares[h巴:
t也能llL扯
Sanglotino(-1foriTihori:
汕i
0H
CalLLcl
L虹灯1
图3-4模2单元模块及参数设置选项框
表3-2模2单元参数设置
Name
Operator
Inputs
IconShape
AllPortsSameDT
OutDataTypeStr
LogicalOperator
XOR
2
rectangular
off
boolean
m序列产生的随机序列,具有伪噪声特性,将其加载到载波上进行调制,可以得到高斯白噪声。
其中SineWave模块(见图3-5)参数设置如表3-3。
根据设置有,载波的公式为
c(t)cos(2107t-)(3.3)
2
其中载波的频率是根据要将m序列的频率搬移到10MHz上,由此可设定载波的模块中的频率为20000000rads/sec。
因为系统默认的是正弦函数,设置初始相位为0时,便
可得到如式(3.3)所示的载波。
表3-3载波参数设置
Name
Sine
Type
TimeSource
Amplitude
Bias
Frequency
Phase
Samples
Offset
Sample
Time
Vector
Params
1D
Sine
Wave
Timebased
Usesimulationtime
1
0
20000000*pi
0
0
0
0
off
图3-5载波模块及参数设置选项
乘法器模块(见图3-6)将m序列与载波相乘,将m序列的频率搬移到10MHz上
乘法器的参数设置如表3-4
表3-4乘法器参数设置
Name
nputs
Multiplication
CollapseMode
CollapseDim
Input
Same
DT
Out
Data
TypeStr
Lock
Scale
Rnd
Meth
SaturateOnInteger
Overflow
Product
2
Element-wise(.*)
All
dimensions
1
off
double
off
Floor
off
带通滤波器模块(见图3-7)主要是自己根据所需要产生的信号带宽设定低边带频率
fL和咼边带频率fH。
利用m序列模拟咼斯白噪声,并调制其频率f到10MHz后,因为
要得到带宽B为1.5MHz的带限白噪声,则根据fB便可以计算出L和fH带通滤波
2,
器的具体参数设置见表3-5。
这里选择的是8阶的巴特沃兹带通滤波器,这种滤波器具有幅度响应在通带和阻带都是平坦的性质特征。
图3-7带通滤波器模块及参数设置选项
表3-5带通滤波器参数设置
Name
Method
Filttype
N
Wlo
Whi
AnalogFilterDesign
Butterworth
Bandpass
8
18500000*pi
21500000*pi
频谱仪可以直接观察通过带通滤波器后的带限白噪声的时域波形和频谱图,不过在
其之前一般需要接一个零阶采样和保持电路,它的作用是将模拟信号转换为数字信号。
零阶采样和保持模块的采样时间fs应根据公式
fs2fH(3.4)
来设定,fH为带通滤波器的高通边带频率。
零阶保持模块图见图3-8,具体参数设置见
表3-6。
Zero-Order
Hold
图3-8零阶保持模块及参数选项表3-6零阶保持模块的参数设置
Name
SampleTime
Zero-OrderHoldl
0.0000000465
频谱仪的采样时间设为-1,表示和前面的零阶采样保持模块的采样时间保持一致,
其他的参数项均采用默认设置。
频谱仪模块见图3-9,其具体参数设置见表3-7
|检|QiwikBldulcParameters:
Pow-erSpectralDensrty
PcworSpoctDon口iLty(:
mochiPlo±i:
LicPSDq-£*huinpu.-t.
Parajusters
Lengthofbu££er;
128
Nwiberofpoint3fortTX;
512
Ploi±1erhowmasiypoint:
s:
64
Sample1ime:
-11
a
Uulp
Apply
图3-9频谱仪及其参数设置选项
表3-7频谱仪参数设置
Name
Npts
Fftpts
HowOften
SampleT
PowerSpectralDensity
128
512
64
-1
3.3仿真结果及分析
m序列的码元宽度为Ti,则大约在0至1/T145%Hz的频率范围内,可以认为它具有均匀的功率谱密度。
我们也可以以逆向思维的方法,根据要产生得到的带限白噪声的带宽推出m序列的码元宽度,从而利用m序列生成我们所需要的噪声。
设该5级m序列的初始值为10000,其周期为31。
根据其系统图可以算出输出的周期序列为000010101110110001111100110100佣Matlab的Simulink模块对m序列进行仿真得到的波形图如图3-10所示,示波器观察的是02105s内的m序列的波形。
从图3-10可以看出,该序列的二进制码形和示波器的波形显示完全一致,表明该模型的
仿真结果是正确的
图3-10m序列仿真波形图
噪声产生器产生的带限白噪声是一串服从随机分布的白噪声。
噪声产生器经过
Simulink仿真,通过频谱仪得到的时域波形和频谱图如图3-11所示。
从图3-11可以看
出,带限白噪声的功率谱密度主瓣的中心频率约为fc2.95Hz,横坐标取值范围为,
根据数字信号频谱换算原理,得角频率计算公式(3.5)
wf|主(rad/s)(3.5)
2
式中fs2fH=21.5MHz可以算出角频率w10.09106MHz,与10MHz比,因为存在读
图3-11带限白噪声时域波形与功率谱密度
Bi=0.44rads/sec
(3.6)
数等的误差,误差不是很大,在误差范围内。
频谱仪中频谱密度带宽
再根据公式(3.6)可以求得
BB1fs(Hz)
2
实际功率谱B=1.51MHz,与所要求产生的带宽为1.5MHz的噪声的带宽相差不是很大,也在误差的允许范围内。
所以此也仿真正确。
下面通过图3-12可以将m序列与带限白噪声的时域波形进行对比,图3-12从上到
下依次是m序列波形、m序列加载到载波后的波形、带限白噪声时域波形和经过零阶保持后的带限白噪声波形。
从图3-12可以看出,m序列对载波进行调制后,使载波具有了m序列的性质,得到了一个高频率的高斯白噪声,再经过一个带宽为1.5MHz的带通滤波器后,便得到了如图3-12所示的带限白噪声。
对比可以得出,信号在传输过程中会发生一定的延时,带限白噪声也是一个随机过程个零阶抽样保持将连续的带限白噪声转换为了离散的数字信号。
图3-12m序列波形与带限白噪声噪声波形
3.4不同噪声产生器波形比较
不同的m序列通过,通过不同带宽的带通滤波器可以得到带宽不同的带限白噪声。
Pbmw1S®*rirW!
f
(a)
F面采用四组不同的噪声产生器的得到的功率谱密度图进行比较,如图3-13所示,
日
■
♦
4
j
■3-P
-3-1爭-1
•KL%
(b)
(c)(d)
图3-13不同噪声产生器噪声比较
3-8
据公式(3.5)和公式(3.6)可以算出,图3-13四个噪声产生器的角频率及带宽如表所示。
表3-84种不同噪声产生器的带宽比较
噪声产生器
频率f(106Hz)
带宽B(106Hz)
a
17.12
1.70
b
10.09
1.51
c
12.03
1.22
d
15.08
0.99
根据表3-8可知,我们可以利用噪声产生器,改变模块参数设置,从而得到不同频率和带宽的带限白噪声。
比较图3-13(a)、(b)、(c)和(d)还可以看出,不同频率的带限白噪声的时域波形,频率越高波形越密集;不同带宽,在相同的时间范围内,带宽越大,能观察到的带限白噪声的波形范围越大。
不同频率和不同带宽的带限白噪声的功率谱密度对应的主瓣的中心频率fc不同。
4遇到问题及解决办法
刚拿到这个课题的时候是一头雾水,加云里雾里的,完全不知道如何入手。
后来慢慢的自己看书,总算勉强的拼凑出了个简单的模型。
但模块的具体参数不知道怎么设置,因此在运行过程中,一直报错。
全英文的软件,更加加大了软件的操作难度,所以在参数的设置过程中,只得一遍又一遍地去查单词的意思,再一个一个参数地试着改变,观察其效果。
刚开始仿真时将频谱仪的时间设为-1的,系统总是报错,并弹出如图4-1所示的错误提示。
起始,一直不知道是什么原因,因为前面的模块设置的参数都是正确的,其他同学频谱仪的时间设置成-1却可以运