TI论坛
直播中

刘丽菲

8年用户 986经验值
私信 关注
[问答]

AD2S1203在输出的18位中应该怎样选取其中的16位输出呢?


  • 各位大大,小弟有一个问题想请教一下:AD2S1203的输出(MDATA)经过SINC3滤波器后输出一个16位的结果,在滤波时有一个抽取比率M,M与输出位数N之间有N=3*log2M的关系,如果取M=64,则输出的数据N=18位,那么问题来了,在输出的18位中应该怎样选取其中的16位输出呢?如果M=128,则N=21位,那么在这21位中怎样选16位呢?

回帖(1)

凤求凰

2025-1-9 18:01:39
AD2S1203是一款高速模数转换器(ADC),其输出数据位数取决于输入信号的采样率和滤波器的抽取比率(M)。在您的问题中,您提到了两个不同的抽取比率(M=64和M=128),以及对应的输出位数(N=18和N=21)。为了从这些输出位数中选取16位数据,我们可以采用以下方法:

1. 对于M=64的情况(N=18位):

   由于18位数据中包含了16位有效数据和2位冗余数据,我们需要从18位数据中剔除这2位冗余数据。这可以通过右移操作来实现。具体来说,我们需要将18位数据右移2位,这样前16位就是我们需要的有效数据。在编程中,这可以通过位移操作实现,例如在C语言中,可以使用`data >> 2`来实现。

2. 对于M=128的情况(N=21位):

   在这种情况下,我们需要从21位数据中选取16位有效数据。由于21位数据中包含了16位有效数据和5位冗余数据,我们可以采用类似的方法来剔除冗余数据。具体来说,我们需要将21位数据右移5位,这样前16位就是我们需要的有效数据。在编程中,这可以通过位移操作实现,例如在C语言中,可以使用`data >> 5`来实现。

需要注意的是,这种选取方法假设冗余数据位于数据的最低位。如果实际情况并非如此,您可能需要根据实际的数据格式进行调整。此外,这种选取方法可能会导致有效数据的精度降低,因为您在剔除冗余数据的过程中可能会丢失一些信息。因此,在实际应用中,您需要权衡数据精度和处理速度的需求,以确定是否采用这种方法。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分