搜索
bottom↓
回复: 16

实验性的PCM转DSD代码

[复制链接]

出0入0汤圆

发表于 2015-12-13 01:35:07 | 显示全部楼层 |阅读模式
本帖最后由 xwkm 于 2015-12-13 01:36 编辑

使用Delta-Sigma调制可以将MCU的数字IO口低成本地变为模拟IO,你只需要空闲的处理机时间和一个外置的模拟滤波器。可用带宽可以按照传递和整形函数推算出,精度/动态范围随频率而变化。
普通的八位机就基本不需要考虑了,这设计到超采样,插值以及累加的问题。我的实现实现了一阶和二阶Delta-Sigma调制器。三阶/五阶还在调试中,理论上做高阶数可以把量化噪声推到更高,增加更多可用、高分辨率的带宽。

效果在二楼,不知道为什么一楼插不了图片

代码地址:
https://github.com/rgwan/DSD-Tools

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

 楼主| 发表于 2015-12-13 01:36:01 | 显示全部楼层

一阶DSD编码正弦波。

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2015-12-13 01:40:41 | 显示全部楼层
我个人觉得用DSD-DAC可能可以直接驱动逆变器的全桥,输出低噪声的50Hz正弦波,同时保持较高的效率,可以用来替代PWM。

出0入0汤圆

 楼主| 发表于 2015-12-13 01:47:12 | 显示全部楼层
再来几张转换音频信号的图片。目前效果不HiFi(才16x,2阶DSD调制)。但是起码是可以接受的水平了。如果降低带宽,可以获得更高的分辨率。

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2015-12-13 08:48:48 | 显示全部楼层
github 上的好像不全把,有些函数实现没有啊

出0入0汤圆

发表于 2015-12-13 09:17:47 | 显示全部楼层
没有那个定制的sine.wav的波形文件

出0入0汤圆

 楼主| 发表于 2015-12-13 11:03:41 来自手机 | 显示全部楼层
RAMILE 发表于 2015-12-13 09:17
没有那个定制的sine.wav的波形文件

看main()就可以了。sine.wav就是扒掉文件头的wav文件

出0入0汤圆

 楼主| 发表于 2015-12-13 11:05:51 来自手机 | 显示全部楼层
Vmao 发表于 2015-12-13 08:48
github 上的好像不全把,有些函数实现没有啊

核心函数已经都有了,就差抖动和重采样。我现在还在调试5阶的调制器,稳定环路。你觉得还有什么没实现

出0入0汤圆

发表于 2015-12-13 14:59:20 来自手机 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2015-12-18 12:24:44 | 显示全部楼层
xwkm 发表于 2015-12-13 11:05
核心函数已经都有了,就差抖动和重采样。我现在还在调试5阶的调制器,稳定环路。你觉得还有什么没实现 ...

楼主,5阶的调试得如何了。
我觉得这个应该不能代替PWM,PWM的频率是固定的,DSD是脉冲密度变化来调节输出信号,好像不太一样。DSD也许需要更高的工作频率,更大的开光损耗。

出0入0汤圆

 楼主| 发表于 2015-12-18 21:43:20 | 显示全部楼层
deadline2012 发表于 2015-12-18 12:24
楼主,5阶的调试得如何了。
我觉得这个应该不能代替PWM,PWM的频率是固定的,DSD是脉冲密度变化来调节输 ...

五阶有点不太稳定……快速变化的信号引起了振荡,现在还在看怎么调参。
不,PWM分辨率是有限的,但是DSD分辨率随选取的采样率变化,理论上在调制频率不变,采样率变低的情况下能获得更好的信噪比。PWM这个就是定死的。不过目前没什么MCU带硬DSD,基本只能靠CPU算,这是个头疼问题。

出0入0汤圆

 楼主| 发表于 2015-12-18 21:45:54 | 显示全部楼层
本帖最后由 xwkm 于 2015-12-18 21:47 编辑
deadline2012 发表于 2015-12-18 12:24
楼主,5阶的调试得如何了。
我觉得这个应该不能代替PWM,PWM的频率是固定的,DSD是脉冲密度变化来调节输 ...


在同样的信噪比下为了规避PWM的载波泄露问题,PWM频率经常是二倍于采样频率。加上要达到较高的精度,PWM通常需要fo*2^B的计数频率。比如96K PWM,16bit(采样率48K),需要6.2GHz计数频率,达到同样的信噪比,DSD只要768KHz.
简单计算一下就可以得出的结论~要不然现在带I2S数字功放为啥还是用PDM(DSD)调制呢,哈哈。

出0入0汤圆

发表于 2015-12-18 22:26:05 来自手机 | 显示全部楼层
xwkm 发表于 2015-12-18 21:45
在同样的信噪比下为了规避PWM的载波泄露问题,PWM频率经常是二倍于采样频率。加上要达到较高的精度,PWM ...

有道理,可以参考dsd数字功放的原理

出0入4汤圆

发表于 2015-12-18 22:26:44 | 显示全部楼层
楼主大一啊,牛逼,

出0入0汤圆

发表于 2015-12-19 10:26:28 | 显示全部楼层
权御天下...
LZ用的那个版本?
墨教主的?

出0入0汤圆

 楼主| 发表于 2015-12-19 12:49:24 | 显示全部楼层
error_dan 发表于 2015-12-19 10:26
权御天下...
LZ用的那个版本?
墨教主的?

我自己重编的

出0入0汤圆

 楼主| 发表于 2016-3-7 16:51:35 来自手机 | 显示全部楼层
更新了4阶调制器。环路参数有待重算,目前不适合定点化
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-28 15:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表