摘 要:采用赛普拉斯公司的混合信号可编程片上系统芯片PSoC和直接数字合成频率原理,通过PsoC Desiner集成开发平台,充分利用芯片灵活的模块化资源,设计出了一种基于PSoC硬件可调带宽和功率的任意波形发生器。创新之处在于利用一片芯片实现整个系统DDS原理的全部功能,系统电路具有结构简单、实用性强、可靠性高及便携等优点,系统结构得以简化并减少了调试时间。本系统具有较强的应用价值。
关键词:噪声发生器PsoCm序列单芯片直接数字合成频率Box-Muller变换
中图分类号:TN88文献标识码:A文章编号:1007-9416(2010)08-0081-02
在通信、建筑、机械制造、自动控制、工业测量和航空航天等各领域中普遍存在着随机噪声,其中最为常见的高斯白噪声常对实际应用造成严重危害。为了克服噪声的影响,在使用前应对设备进行抗噪声模拟,因此,需要人工产生高斯白噪声。在各行各业中广泛采用波形发生器作为信号源,以获取具有良好特性的高斯白噪声。现代新型信号发生器的研制都采用直接数字频率合成(DDS)技术进行[1],这种技术是第三代频率合成技术的标志,主要特点是计算机参与频率合成,既可以用软件来实现,也可以用硬件来实现,或者以二者结合方式实现。随着现代科学的发展,半导体芯片的集成度越来越高,系统趋于小型化。本系统是基于美国赛普拉斯半导体公司的可编程系统芯片PSoC平台[2,3],通过调用片上的系统模块,利用线性同余法和Box-Muller变化为核心开发出的单片系统。PSoC Designer是PSoC的集成开发环境,它支持C语言和汇编语言编译,采用模块化设计思想,设计时用户选择应用模块后,放置到可编程模拟和数字模块阵列中,进行配置和连线后,即可完成系统设计。
1 m序列
由于在实际应用中很难产生真正的随机序列,所以通常用伪随机数列来替代。伪随机序列是一种具有严格数学结构和优良性能、可按照预定要求设计的二进制序列。由于它具有类似白噪声的随机特性,但又能重复产生,所以称为伪随机序列,可以代替白噪声用于需要随机信号的场合。m序列是指由带线性反馈的移位寄存器所产生的具有最长周期的伪随机序列的简称[4]。由于该序列产生所需电路简单、规律性强,而且具有许多优良的性能,很多伪随机序列都是由m序列衍生而来的。
带线性反馈逻辑的移位寄存器设定各级移位寄存器的初始状态后,在时钟的触发下,每次移位后各级寄存器的状态随之发生变化。观察其中一级寄存器的输出,随着移位节拍的推移便会产生一个序列,称为移位寄存器序列。最长线性反馈移位寄存器是同级的移位寄存器序列里面最长周期的一组序列,其周期为2n-1,其中n为移位寄存器的个数,也就是移位寄存器的级数。在设置初始状态后,每个时钟周期右移一位,输出一个m序列。
(1)
上式称为m序列的递推方程,ci为反馈状态,ci=0表示反馈线断开,ci=1表示反馈线连通;ai为移存器状态;k为k次位移。式中加法为模2加法,即0+l=1+0=1,1+1=0+0=0,相当于布尔代数中的“异或”运算。m序列n级线性反馈移存器工作原理如图1所示。
由以上分析可以看出,m随机序列的产生是具有一定的规律性的,通过对所产生的伪随机序列进行均匀性、分布参数、独立性等参数的检验,可以近似地认为,m序列产生器产生的数据是(0,1)均匀分布的,从统计学角度上可以认为是均匀分布的白噪声数据(如图1)。
2 高斯白噪声的产生与噪声功率控制
由随机信号理论可知,在(0,1)服从均匀分布的随机数经过一定的数学转换可变成服从高斯分布的随机数[5]。在实际工程设计中,通常采用Box-Muller变换法,Box-Muller算法是最早用于产生高斯白噪声的算法之一,它是利用均匀随机数来分别计算出高斯随机数的幅度和相位值从而产生高斯随机数的算法,Box-Muller算法可以同时将两个均匀随机数转换成为两个相互独立的高斯随机数。该变换法定义如下:
式中r1、r2为互为独立的(0,1)区间均匀随机数,r1、r2是互相独立的、服从N(0,1)高斯随机数对。利用上式产生的高斯随机数的精度高,在工程领域内得到广泛应用。当需要一段正态分布N(μ,σ2)的随机数yi时,可对N(0,1)随机数进行转换[6]:
yi=σxi+μ (4)
由以上可知,高斯白噪声的具有两个重要特性,也即形成高斯白噪声需要同时满足的两个条件,一是噪声的幅度分布服从高斯分布;二是噪声的功率谱密度是均匀分布的。
根据高斯信号经过任意线性变化(或经线性系统处理)后仍然是高斯信号的这一高斯白噪声性质。为了测量系统在不同信噪比条件下的性能,设计了线性放大单元来实现这个功能。一般来说,高斯白噪声自身的特点决定了其功率和噪声方差的内在联系。有用信号的大小是确定的,设有用信号的功率为PS,噪声功率为PN,噪声方差为D,信噪比的分贝表示形式为SNR。因为信号的功率等于其直流功率和交流功率之和,而白噪声和标准正态随机噪声的均值为零,即没有直流分量,因此它的功率就只有交流功率D,即PN=D。
则功率信噪比为: (5)
信噪比: (6)
所以,方差(7)
由这些分析可以知道,可以通过调整噪声方差来调整高斯白噪声功率,在工程中高斯分布的方差是一定的,在本设计中就是通过改变系数μ和σ来实现方差的变化,即通过改变功率控制单元中线性放大器的放大倍数,相当于给各个噪声数据同乘了一个系数k,经过线性放大器后的高斯白噪声功率为:k2σ2,其中σ2为经过Box-Muller变换后的高斯数据的方差。所以,给定信噪比的条件下,根据上式计算出要求的噪声方差,从而通过调节线性放大器来达到所需信噪比。同样,将这些存储在主控计算机当中,通过Data A输出到放大单元通过控制放大倍数来实现不同强度的噪声。
3 波形发生器设计
系统中的PGA功能模块实现了一个基于非反相放大器及用户可配置放大倍数的运算放大器,它具有高输入阻抗、宽带宽和可选的参考电压等特点。PGA将输入的内部信号或外部输入的信号放大,反相端的基准电压可选为内部模拟地或其它可选项。用户设定功能模块实现一定的放大倍数后,通过设定一个电阻阵列的选择开关及PSoC连续时间基本模块的反馈开关来配置以实现相应的放大倍数 。
当增益大于或等于1时,电阻列的顶端连接到运算放大器的输出端,电阻选择开关连到运算放大器的反相输入端。放大器具有如下的传递函数:
(8)
当增益小于1时,运算放大器配置为一个电压跟随器,功能模块输出连接到电阻选择开关。这样,放大器得到如下的传递函数:
(9)
在PGA功能模块中,包括了m序列发生器,用以产生均匀分布的伪随机序列,Box—Muller变换单元,用来把m序列发生器产生的随机序列变换成均匀分布的高斯随机数,和数据调整单元。因为在PGA开发板上只支持整数和二进制小数,所以,通过Box—Muller变换后的高斯随机数还必须转换,设计中的数据调整单元就是把变换后的高斯随机数转换成适合在PGA上传输的二进制小数,并且还能适合在数模单元中的D/A上传输。
在数模转换单元中,主要由D/A转换器构成。D/A转换器主要用于把由数据调整单元产生的二进制数据转换成模拟信号,在系统控制单元中,还产生D/A接口的参考时钟。
功率控制单元中的主要组成部件为一个线性运算放大器和一个数字电位器。线性放大器的放大倍数是由数字电位器与另一个固定电阻的阻值之比决定。由于前面各个单元所生成数据的功率是固定的,所以用户所要求的不同等级噪声功率的控制可以通过本单元进行。
波形发生器功能流程如图2所示。系统控制单元发出相应的控制信号给功率控制单元,数据调整单元分别控制噪声的强度和带宽,同时还产生不同频率的时钟始能信号,便于提供可变的噪声样点速率,同时便于匹配输入数据速率。
4 结语
实验研究表明,本文所设计的波形发生器所产生的数据达到设计预先要求的效果,而且具有很好的调试功能。
本设计使噪声波形产生过程集成在一个芯片上集中实现,进一步优化了设计,提高了性能,大大地缩短了设计和调试周期。系统设计灵活性和通用性强,便于系统升级。同时该系统操作简单,便于控制,因此,可以作为一个模块嵌入到其他应用工程领域,移植应用效果很好,具有很高的实用价值。
参考文献
[1] 徐金龙,刘宇红,刘桥.基于DDS原理的任意波形信号发生器的设计[J].现代机械,2006.4.
[2] 戴国骏,张翔,曾虹.PSoC体系结构与编程[M].北京:中国科学技术出版社,2006.10.
[3] 朱明程,李晓滨.PSoC原理与应用设计[M].北京:机械工业出版社,2008.3.
[4] 樊昌信,徐炳祥.通信原理[M].北京:国防工业出版社,2002.
[5] 刘正高.标准均匀随机数的产生方法分析[J].航天标准化,1996,13(5):11-13.
[6] 闵华玲.随机过程与应用[M].上海:同济大学出版社,2002.
扩展阅读文章
推荐阅读文章
花田文秘网 https://www.huatianclub.com
Copyright © 2002-2018 . 花田文秘网 版权所有