摘要:基于dds原理,采用模块化设计方法,通过cypress公司的psoc designer集成开发平台,设计出了一种可调带宽和功率的噪声信号发生器.系统电路具有结构简单、实用性强、可靠性高及便携,利用一片芯片实现整个系统dds原理的全部功能等优点.
0 引言
在工作和生活的各个领域中,为了有效地利用和克服噪声的影响,通常需要人工模拟产生出噪声信号,而高斯白噪声则是最为常用的.一般情况下,人们采用噪声信号发生器作为信号源,以获取具有良好特性的噪声信号.随着微电子技术的迅速发展,
信号发生器的研制通常采用直接数字频率合成dds技术进行[1],dds具有输出频率相对带宽较宽、频率转换时间短、频率分辨率极高、相位变化连续、输出波形灵活、易于集成、功耗低、体积小、重量轻、可靠性高、易于程控、使用相当灵活、性价比极高,以及集成化等优点,使其一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了优于模拟信号源的性能.本系统采用模块化设计思想,其中采用全数字结构,基于赛普拉斯半导体公司的可编程系统芯片psoc平台[2-3],通过调用芯片上的系统模块,利用线性同余法和box-muller变换为核心而开发,电路设计简单、频率控制灵活,实用性良好,信号精度误差小.
1 m序列
实际应用中通常用伪随机数列来替代真正的随机序列.所谓伪随机序列,其实是一种具有严格数学结构和优良性能、可按照预定要求设计的二进制序列伪随机序列作为一种信号形式具有良好的随机性和接近于白噪声的相关函数,并且有预先的可确定性和可重复性.这些特性使得伪随机序列得到了广泛的应用,它可以代替白噪声应用于需要随机信号的场合.
m序列是指由带线性反馈的移位寄存器所产生的具有最长周期的伪随机序列[4].由于产生该序列所需的电路简单、规律性强,而且具有许多优良的性能,所以,很多伪随机序列都是由m序列衍生而来的.
当带线性反馈逻辑的移位寄存器设定各级移位寄存器的初始状态后,在时钟的触发下,每次移位后各级寄存器的状态随之发生变化.观察其中一级寄存器的输出,随着移位节拍的推移便会产生一个序列,被称之为移位寄存器序列.最长线性反馈移位寄存器是同级的移位寄存器序列里面最长周期的一组序列,其周期为2n-1,其中n为移位寄存器的个数,也就是移位寄存器的级数.在设置初始状态后,每个时钟周期右移1位,输出1个m序列.
ak= c1ak-1+c2ak-2+*+cn-1ak-(n-1)+cnak-n=eni=1ciak-i
上式称为m序列的递推方程,ci为反馈状态,ci=0表示反馈线断开,ci=1表示反馈线连通;ai为移存器状态;k为k次位移.式中加法为模2加法,即0+1=1+0=1,1+1=0+0=0,相当于布尔代数中的÷异或"运算.
由以上分析可以看出,m序列完全满足伪随机序列的3点要求,是典型的伪随机序列.m随机序列的产生是具有一定的规律性的,通过对所产生的伪随机序列进行均匀性、分布参数和独立性等参数的检验,可以近似地认为,m序列产生器产生的数据是(0,1)均匀分布的,从统计学角度上可以认为是均匀分布的白噪声数据.
2 噪声信号的产生与控制
由随机信号理论可知,在(0,1)服从均匀分布的随机数经过一定的数学转换,可变成服从高斯分布的随机数[5].在实际工程设计中,通常采用box-muller变换法.box-muller算法是最早被应用于产生高斯白噪声信号的算法之一,它是利用均匀随机数来分别计算出高斯随机数的幅度和相位值,从而产生高斯随机数的算法,box-muller变换法可以同时将2个均匀随机数转换成为2个相互独立的高斯随机数.该变换法定义如下:
r1,r2为互为独立的(0,1)区间均匀随机数,x1,x2是互相独立的、服从n(0,1)高斯随机数对.利用上式所产生的高斯随机数的精度较高,在工程领域内得到广泛应用.当需要一段正态分布n(l,r2)的随机数yi时,可对n(0,1)随机数进行转换[6]:
yi=rxi+l
由以上分析可知,高斯白噪声信号具有2个重要特性,也即形成高斯白噪声需要同时满足的2个条件,一是噪声的幅度分布服从高斯分布;二是噪声的功率谱密度是均匀分布的.
根据高斯信号经过任意线性变化(或经线性系统处理)后,仍然是高斯信号的这一高斯白噪声信号的性质.为了测量系统在不同信噪比条件下的性能,设计了线性放大单元来实现这个功能.一般来说,高斯白噪声信号自身的特点决定了其功率和噪声方差的内在联系.有用信号的大小是确定的,设有用信号的功率为ps,噪声功率为pn,噪声方差为d,信噪比的分贝表示形式为snr.因为信号的功率等于其直流功率和交流功率之和,而白噪声信号和标准正态随机噪声信号的均值为0,即没有直流分量,因此它的功率就只有交流功率d,即
pn=d
功率信噪比为:
由以上分析可知,可以通过调整噪声方差来调整高斯白噪声信号的功率.在实际工程中,高斯分布方差是一定的,所以,在本设计中通过改变系数l和r来实现方差的变化,即通过改变功率控制单元中线性放大器的放大倍数,相当于给各个噪声数据同乘了一个系数k,经过线性放大器后的高斯白噪声信号功率为k2r2,其中r2为经过box-muller变换的高斯数据的方差.因此,在给定信噪比的条件下,根据以上分析计算出所要求的噪声方差,从而通过调节线性放大器来达到所需信噪比.也即,将这些数据存储在主控计算机中,通过data a输出到放大单元,并通过控制放大倍数来实现不同强度的噪声信号.
3 信号发生器设计
系统中的可编程增益放大器(pga)功能模块,实现了一个基于非反相放大器及用户可配置放大倍数的运算放大器,它具有高输入阻抗、宽带宽和可选的参考电压等特点.pga将输入的内部信号或外部输入的信号放大,反相端的基准电压可选为内部模拟地或其它可选项.用户设定功能模块实现一定的放大倍数后,通过设定电阻阵列的选择开关及psoc连续时间基本模块的反馈开关的配置,以实现相应的放大倍数.
当增益大于或等于1时,电阻列的顶端联接到运算放大器的输出端,电阻选择开关联接到运算放大器的反相输入端.放大器的传递函数为:
当增益小于1时,运算放大器配置为一个电压跟随器,功能模块输出联接到电阻选择开关.这样,放大器的传递函数为:
在pga功能模块中包括了3部分,即÷m序列发生器"用以产生均匀分布的伪随机序列,÷box-muller变换单元"用来把m序列发生器产生的随机序列变换成均匀分布的高斯随机数和÷数据调整单元".因为在pga开发板上只支持整数和二进制小数,所以,通过box-muller变换后的高斯随机数,还必须经由数据调整单元做进一步转换,将其转换成适合在pga上传输的二进制小数,并且还能适合在数模d/a转换单元中实现模拟量的传输.
数模转换单元主要是由d/a转换器构成.d/a转换器主要用于把由数据调整单元产生的二进制数据转换成模拟信号,在系统控制单元中,还产生d/a接口的参考时钟.
功率控制单元中的主要组成部件为一个线性运算放大器和一个数字电位器.线性放大器的放大倍数是由数字电位器与另一个固定电阻的阻值之比决定.由于前面各个单元所生成数据的功率是固定的,所以,用户所要求的不同等级噪声功率的控制就可以通过本单元进行.噪声信号发生器的系统工作原理如图1所示.系统控制单元发出相应的控制信号给功率控制单元,数据调整单元分别控制噪声的强度和带宽,同时还产生不同频率的时钟使能信号,便于提供可变的噪声样点速率,同时便于匹配输入数据速率.
4 结束语
当在系统的主控计算机中存放不同的波形数据后,通过本文所设计的信号发生器就可以实现诸如三角波、锯齿波和矩形波,以及各种任意波形的噪声信号输出.实验研究结果显示,所产生的噪声信号输出效果达到了设计预定的要求,而且具有很好的调试功能.
本设计使噪声信号产生过程在一个芯片上集中实现,进一步优化了设计,提高了性能,缩短了设计和调试周期.系统设计灵活性和通用性强,便于系统升级.同时该系统操作简单,便于控制,因此,可以作为一个模块嵌入到多个应用工程领域,移植应用效果很好,具有很高的实用价值.
参考文献:
[1] 徐金龙,刘宇红,刘 桥.基于dds原理的任意波形信号发生器的设计[j].现代机械,2006,(4):74-76.
[2] 戴国骏,张 翔,曾 虹.psoc体系结构与编程[m].北京:中国科学技术出版社,2006.
[3] 朱明程,李晓滨.psoc原理与应用设计[m].北京:机械工业出版社,2008.
[4] 樊昌信,徐炳祥.通信原理[m].北京:国防工业出版社,2002.
[5] 刘正高.标准均匀随机数的产生方法分析[j].航天标准化,1996,13(5):11-13.
[6] 闵华玲.随机过程与应用[m].上海:同济大学出版社,2002.
作者:徐 烁