对于ADC采样数据,通常需要进行动态性能分析,测量一些指标如信噪比SNR、信纳比SINAD、无杂散动态范围SFDR等。
通常的做法是通过信号源输入一特定频率点频信号,然后对采样数据进行FFT变换,找出主频,各次谐波以及直流并分别求出其信号能量,然后按照定义求各种指标。这一过程在几年前可能需要自己编写代码实现。好在MATLAB后面的版本(大概2014a之后就有了吧,具体没查过)提供了几个函数,使得测量ADC性能指标异常容易。MATLAB提供的函数包括:
函数 | 说明 |
snr | 求信噪比, |
sfdr | 求无杂散动态范围 |
sinad | 求信纳比,通过sfdr=6.02N+1.76可求出有效位 |
thd | 求总谐波失真 |
toi | 求三阶交调 |
各个函数的具体使用就不集体说了,大家查看matlab帮助文档就知道怎么用了。
这里需要说明一下,有时候我们需要同时测量并显示这几个指标到图上,或者需要测一些别的指标,怎么办了。其实也容易,adc动态性能测试方法一样,这几个函数用的方法基本相同,以SNR函数为例,在命令行输入:
open snr
就可以打开matlab提供的函数源码,我们可以依次打开另外几个函数做参考,然后新建一个新的函数并在SNR源码基础上做适当更改即可。在平时写程序参考官方函数,也是提高水平的方法。