|
发表于 2024-11-26 00:41:32
|
显示全部楼层
除非发生了谐振,一般不用过分考虑同相位叠加导致波形削顶的问题。
在正常情况下,大量的波在叠加后,其采样的最大值不会变大/小很多。
多个通道叠加以后,哪怕是最后只输出12Bit的数据,每个通道的精度也基本上依旧是12Bit
最多是为了避免饱和失真做一定程度的压缩
我前面说的1Msps是DAC的输出采样率,但你生成波形数据不用这么高的采样率
而是通过采样抖动把12Bit的DAC输出提升到16Bit的效果,如下:
你每生成一个采样数据,对应填充16个DAC采样点,16*4096=65536,刚好是16Bit
比如:
32768的采样值对应着 16x2048 的DAC采样
32767 则是 15x2048 ,1x2047
32766 则是 7x2048,1x2047,7x2048,1x2047
以此类推
假设你生成波形的采样率是32KHz 则对应的DAC采样率为 16x32Hz = 512KHz
剩下的过程和你使用DMA写TIMER是完全一样的
就是分别计算几个通道的采样数据,然后做叠加,压缩,给DMA准备缓冲,然后不断循环 |
|