用matlab做系统级adc仿真.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用matlab做系统级adc仿真

用matlab 做系统级的adc 的仿真。 整理人:袁小星 2006-1-8 目标:仿真10 位,每级1.5 位pipeline-adc 的各项指标与最后性能的关系。 步骤1.搭建简单的系统。 作用工具:matlab-simulink. 所用到的模块: 1.ramp: 用于产生从-1v 到1v 的线性输出。输入到adc 系统中。 2.zero-order hold: 用于进行对输入的采样保持,采样时间由adc 所要工作的频 率决定。 3.lookup-1d: 一维的查找表,设定不同的输入输出,可以做成adc 和dac 模块。 4.sum: 把两个数相加,实现实际中的信号相加减。或者用于数字补偿。 5.gain: 模拟余数的放大功能,或者用于数字量移位。 6.xy-graph: 用于查看adc 的传输函数。 整个系统的结构: 1.9 级相同的处理模块 2.最后一级的比较(2 位) 3.数字矫正 每一级处理模块的构成: 1.包括模块:zero-order hold, subadc(look-up),dac(lookup),sum,gain. 2.两个查找表都需要进行对输入输出进行处理:解释如下 最后的每一级电路都是要做出mask 的,对外的接口有比较器的阈值,dac 的输 出,以及采样时间,每一级的增益。比如如果要求输入阈值为[-0.25 0.25](以矩 阵的形式输入)。但是为了使查找表工作的更合理。subadc 查找表对应的。输入 输出为:输入[-realmax -0.25 -0.25 0.25 0.25 realmax] 输出[0 0 1 1 2 2].同样 如果要求dac 的输出为[-0.5 0 0.5], dac 查找表对应的输入输出为 输入[0 0 1 1 2 2],输出[-0.5 -0.5 0 0 0.5 0.5].这就需要两个函数 来做成接口,实现这种矩阵的 扩展。参见(adc_glue,dac_glue).如图: 3.然后把信号相加。 最后一级的比较: 也是用查找表来实现: 输入[-realmax -0.5 -0.5 0 0 0.5 0.5 realmax] 输出[0 0 1 1 2 2 3 3] 数字矫正: 把每一级数字输出乘以一个特定常数后(比如最后一级处理模块数字输出乘2 ), 后相加,就可以看输出波形了。 最后的总体结构: 步骤2 :计算inl_dnl 用到了提供的函数 inl_dnl,但是得保证输入是正弦信号。然后试图改变各参数的 值看最后inl_dnl 的变化。 测量dnl_inl,有两种方法, 1 种是固定采样的时间,但是输入波形的频率不断变化,如果要保持采样完整的 周期,那么显然采的点就会增加也就是说对一个周期正玹信号,采样的点是变化 的。这种情况下,对同一个adc 来说,最后计算的inl_dnl 会随着采样点的增多 越来越小。从这种方法得出得结论是,当输入频率越小时,dnl_inl.表现的越好。 2 种是固定采样的时间,而且固定输入波形的频率,但是可以通过增加周期来增 加点的数量(最好是奇数个周期,这样对以后做 snr 分析有用),这种情况下, 在满足一定数量的点以后,inl_dnl,就不怎么发生变化了。也就是说,对同一个 输入频率,采样足够多的点(满足概率分布的要求?)后,dnl_inl,就不怎么发 生变化了。 实际情况下,应该是第二种方法更具有参考价值,也就是说固定输入频率下,计 算 dnl_inl,但是这个固定频率应该取多少是个问题。还有就是应该取多少个点。 一般来说,为了保持取得代码得完整性,这样的话做 dnl_inl 才有意义,这就要 求采样频率不能是输入频率的周期倍,一般来说,要取一个比较合适的值,使能 够在一定码数内,覆盖所有的1024 个点(10bit)。对于本设计,采样周期为 0.001s.相对的输入频率为12.505hz. (应该由数学上解释,从而算出比较理想的 值),运行时间16.383s, 保证采样的点数为16*1024.这样的值比较理想。 计算snr 时,如果不加窗函数,为了防止频谱泄漏,就需要计算得点数是2 得整 数倍,而且一般取得点数越多,越能反映实际情况,而且输入波形得频率相对于 采样

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档