有没有可能用2路12-bit DCA合并得到16-bit精度的输出信号

       是这样的,使用STM32的内部DAC输出做音频输出,现在有16-bit的原始信号,取其中的[15:4]位域输出到一路DAC通道中,另外的[3:0]位域先左移对齐到12位然后再输出到另一路DAC通道中。

       在外部用电阻分压网络对这两路信号做16:1的混合,一路串联1k电阻,另一路串联16k电阻,然后合并到一起,但是最后得到的音频信号有非常大的噪声。如果去掉低4位数据转换出来的信号通道,变成12位精度就完全正常,能听到干净的声音。

      是我的合并方式不对吗?

来自:电子信息 / 电子技术
2020-3-19 11:50:28
1楼

丢掉低位只是精度降低,低通后尚且还能听。丢高位的话。。。

折叠评论
加载评论中,请稍候...
折叠评论
2020-3-19 12:48:20
2楼

会不会是同步的问题

[修改于 4 个月前 - 2020-03-19 12:51:13]

折叠评论
加载评论中,请稍候...
折叠评论
0x00000000(作者)
3楼
引用radio发表于2楼的内容
会不会是同步的问题

一般的MCU倒有可能,但是STM32的DAC数据更新机制比较特别。写入DAC中的数据是被缓存的,不会直接输出,要再手动触发相关的控制位一次才会真正写到输出寄存器中完成输出。两路通道对应的两个控制位我是同时赋值的,不存在相位差,同时激活输出的。

折叠评论
加载评论中,请稍候...
折叠评论
4楼

电阻的精度可能也是个问题

折叠评论
加载评论中,请稍候...
折叠评论
5楼

pwm方法,添加高4bit


实现形式是插值,输出更新率16x

折叠评论
加载评论中,请稍候...
折叠评论
6楼

可能低位的不能左移只能前面补0。左移相当于扩大了256倍,后面电路没有补回来。比如要输出的数是Y=A*16+B,A是D[15..4],B是D[3..0]。左移后输出变成了A*16+B*256了。

折叠评论
加载评论中,请稍候...
折叠评论
0x00000000(作者)
7楼
引用fleefly发表于6楼的内容
可能低位的不能左移只能前面补0。左移相当于扩大了256倍,后面电路没有补回来。比如要输出的数是Y=A...

自信点,把“可能去掉”。

是的不应该移位,直接喂就行了。一个思维误区。

现在已经好了,可以正常发生了。

折叠评论
加载评论中,请稍候...
折叠评论
8楼
引用0x00000000发表于7楼的内容
自信点,把“可能去掉”。是的不应该移位,直接喂就行了。一个思维误区。现在已经好了,可以正常发生了。

哈哈。不是不相信自己,而是不确定你的描述理解得对不对。

+0.5  科创币    0x00000000   2020-03-19   Nice work.
折叠评论
加载评论中,请稍候...
折叠评论
0x00000000(作者)
9楼

好了,确实是我自己计算失误了,16位数据高12位直接写入,低四位同样如此,不应该左对齐处理,不然就放大了256倍,权电阻设置就有问题了。

现在就按照这样更正设置,声音听起来也没问题了,但是12bit和16bit似乎没有听起来区别,也许对于一般的场合加上没有复杂特征的声音8bit就够用了。各种简单的录音规范好像也只有8bit,听起来也没啥大事。

如图,0x7D7放到DOR1,截断的后四位0xC放到DOR2里,没问题了。

Annotation 2020-03-19 162629.jpg



折叠评论
加载评论中,请稍候...
折叠评论
2020-03-20 00:36:45
10楼

你要测量SNR、SFDR、INL、DNL这些指标,才能评价最终的效果。

建议输出正弦波到pc声卡看一看

折叠评论
加载评论中,请稍候...
折叠评论
11楼

估计sfdr只有劣化没有改善


建议用MATLAB写一个小程序对声卡采入信号做SINAD计算,然后DAC输出单音正弦看看。

折叠评论
加载评论中,请稍候...
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

0x00000000
进士 机友 笔友
文章
67
回复
663
学术分
0
2013/07/27注册,12 小时前活动
暂无简介
插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
插入表情
我的表情
共享表情
Emoji
上传
注意事项
最大尺寸100px,超过会被压缩。为保证效果,建议上传前自行处理。
建议上传自己DIY的表情,严禁上传侵权内容。
点击重试等待上传{{s.progress}}%处理中...已上传
空空如也~
草稿箱
加载中...
此处只插入正文,如果要使用草稿中的其余内容,请点击继续创作。
{{fromNow(d.toc)}}
{{getDraftInfo(d)}}
标题:{{d.t}}
内容:{{d.c}}
继续创作
删除插入插入
{{forum.displayName}}
{{forum.countThreads}}
篇文章,
{{forum.countPosts}}
条回复
{{forum.description || "暂无简介"}}
ID: {{user.uid}}
学术分隐藏
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png