这个是2012年写的,现在给放上来了,其实百度文库也有。
系统工作环境:
芯片为:xilinxSpartan 6
软件:ise 12.2
IP coreFFT版本:7.1
目标:完成对放大板的标定
一、标定的过程简单介绍:
放大板包含3级程控放大器的放大电路、4个可选择的高频滤波器、1个50Hz的工频滤波器,放大板主要是针对低频信号,放大频率范围:0-20KHz,
标定示意图:
◎offset 调节:控制放大板的输入接地,将放大器的放大倍数设置为1000倍,测试AD 的输出电压是否为0V,如果不是,则说明放大器内部有直流偏置,通过调节DA的offset输出电压,使得放大板在输入为0v时,输出也为0v。
◎直流标定:直流标定挺简单的,让DA输出固定的电位,设置放大器的倍数,看看输出是否与理论值一致。
例:输入为0.1mv,放大倍数为1000倍,检查输出是否为:0.1V ,目的主要是为了检查放大板对直流的响应。
◎交流标定:交流标定比较复杂,为了测量放大板对交流信号的响应,主要体现在放大器对信号的相频与幅频特性。
◎具体的做法:FPGA控制DA产生一个正弦波,再通过AD采集放大后的数据,并对其做FFT(快速傅里叶变换),计算出信号的相位与幅度,与输入的波形对比,检测放大板的对交流信号的响应。
例:①输入f=1Hz,A=10mv,Phase = 0°的正弦波,测量输出的
信号的A、Phase、f。
②输入f=2Hz,A=10mv,Phase = 0°的正弦波,测量输出的
信号的A、Phase、f
③输入f =3Hz……
………
⑩输入f =2000Hz……
其实简单点,就是一个频谱分析仪,求放大板的频谱图,看看放大器对交流信号有没有产生频移与幅度的衰减。
二、FGPA的工作
◎控制放大器,简单的IO应用
◎驱动ADS1274
◎驱动AD5664r
◎在内部生成一个DDS(直接数字频率合成器),输出频率、相位可调的正弦波。
◎对AD采集的数据进行FFT的转换。
三、DFT(离散傅里叶变换)的理解
3.1傅里叶变换的基础知识
其实,大学的时候几乎每个童鞋都学过傅里叶变换,应该算是必修的课程,但是当时我也就为考试,背背公式,不知道大家是什么心情,但是没有想过有一天居然真的用到了,表示很无力啊。
在网上找了一下资料,也看了一些书。把一些感觉好的东西记录一下,加上自己的一些理解。
傅立叶是一位法国数学家和物理学家的名字,英语原名是:Jean Baptiste Joseph Fourier(1768-1830)Fourier对热传递很感兴趣,于1807年在法国科学学会上发表了一篇论文,运用正弦曲线来描述温度分布,论文里有个在当时具有争议性的决断:任何连续周期信号可以由一组适当的正弦曲线组合而成。
。举个的例子理解下:
在数学上,关于一个信号最基本的问题在于如何将它表示和描述出来。按照上面所说的办法,把一个信号理解成一个定义在时间或空间上的函数是一种自然而然的表示方式,但是它对理解这一信号的内容来说常常不够。例如一段声音,如果单纯按照定义在时间上的函数来表示,它画出来是这个样子的:
这通常被称为波形图。毫无疑问,它包含了关于这段声音的全部信息。但是同样毫无疑问的是,这些信息几乎没法从上面这个「函数」中直接看出来,事实上,它只不过是巴赫的小提琴无伴奏 Partita No.3 的序曲开头几个小节。下面是巴赫的手稿,从某种意义上说来,它也构成了对上面那段声音的一个「描述」:
这两种描述之间的关系是怎样的呢?第一种描述刻划的是具体的信号数值,第二种描述刻划的是声音的高低(即声音震动的频率)。人们直到十九世纪才渐渐意识到,在这两种描述之间,事实上存在着一种对偶的关系,而这一点并不显然。
根据原信号的不同类型,我们可以把傅立叶变换分为四种类别:
四种不同信号的变换结果:
摘自《数字信号处理》 王世一
。提问:数字信号处理只能处理离散的信号,所以在以上的4种情况中,只有第4种是可行的,但是同时也参生了一个问题,就是信号必须是周期的,但是在实际的数据中,不一定都是周期的啊,这个怎么办呢!以下是在《Digitalsignal processing》(一个老外写的特别好的书)的图,看完图后应该就能明白了。
就是把有限长的信号进行复制,让其变成一个周期信号进行处理。
说到这,上一下离散傅里叶级数的公式: