在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 2608|回复: 5

[求助] ADC的snr测试/仿真

[复制链接]
发表于 2021-12-16 10:00:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
大家好,最近在做adc的测试,想测试adc的频谱特性比如snr,sndr等等,学习了有关相干采样的知识,有:adc输入单音信号fin、adc采样率fs、采样点数N、采到的输入单音信号周期数Bin,有如下关系:
fs/N = fin/Bin

要满足:
1、Bin为整数(采到的第一点和最后一点数值相同,在周期延拓时就不会频谱泄露),且Bin为质数(在每个周期中采到的数值不同);Bin不能太大,否则不满足fs>>fin;
2、N一般为2^n,且一般大于adc的code总数;
3、fs>>fin;

我设计的adc的fs为16M,10bit,于是我选择采1024个点,并选取Bin=13,于是有:fin=16M/1024*13 = 203.125K,由此计算snr、sndr、enob等等。
我的问题是:即使在fs确定的情况下,Bin和N的组合有无数多种,每种计算出的snr等值都不同,请问一般该怎么选取?是否N就选取为adc的code数,还是越多越好呢?Bin选择的质数有什么原则吗?谢谢!
发表于 2021-12-16 10:34:01 | 显示全部楼层
一般256点以上各种情况误差应该不大了吧,你算出来误差很大吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-16 12:15:19 | 显示全部楼层


   
不负时光 发表于 2021-12-16 10:34
一般256点以上各种情况误差应该不大了吧,你算出来误差很大吗?


我目前是fs=16M ,fin=203.125K  这两个值不变;1、采1024点(对应Bin=13),此时snr=54.85;
2、采866点(对应Bin=11),此时snr=46.72;
3、 采552点(对应Bin=7),此时snr=37.95;
4、 采394点(对应Bin=5),此时snr=54.46;
看上去snr也不是单调的,我准备再仿真几组N>1024的情况


回复 支持 反对

使用道具 举报

发表于 2021-12-16 13:21:11 | 显示全部楼层
本帖最后由 ZZW_semic 于 2021-12-16 13:35 编辑


   
wuhanhan8 发表于 2021-12-16 12:15
我目前是fs=16M ,fin=203.125K  这两个值不变;1、采1024点(对应Bin=13),此时snr=54.85;
2、采866点 ...


频谱泄露了,加窗函数了么,按照你说的,394个点,bin为5,此时fin=(5/394)*fs根本就不等于203.125K,其他几个情况也是一样,先搞清楚为什么要fin=(bin/numpoint)*fs...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-16 13:49:11 | 显示全部楼层


   
ZZW_semic 发表于 2021-12-16 13:21
频谱泄露了,加窗函数了么,按照你说的,394个点,bin为5,此时fin=(5/394)*fs根本就不等于203.125K,其他 ...


的确,算了一下,有误差,不是正好等于203.125K,我再学习学习
回复 支持 反对

使用道具 举报

发表于 2021-12-16 15:03:56 | 显示全部楼层
         这个应该和前后防差不多吧。当N取1024或者2048时,得到的FFT差异会很小。 而且FFT点数一般只选2^这样。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-12 05:20 , Processed in 0.018220 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表