[基础知识] 造一台软DAC

[复制链接] 查看: 188338|回复: 525

1

主题

1

好友

572

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
27691
帖子
437
精华
2
经验
572 点
金钱
483 ¥
注册时间
2007-9-25
发表于 2010-5-3 14:54 | 显示全部楼层
这个插个嘴,呵呵
HerculesVR 和Simmconn用过业余的FFT分析软件吗?
最近在用SpectraPLUS 5.0的30天试用版
发现这东东还是蛮好用的


1342948
bbp 发表于 2010-5-3 12:45


呵呵,bbp不要“以价论质”,看到SpectraPLUS给你免费试用,正式版也不贵,就给人家冠上“业余”的头衔。
应该去看看PHS是怎么介绍自己的,SpectraPLUS的前身是哪个软件,又是哪家公司还在出售那个软件。
如果你看到SpectraPLUS的出身和以前的价格,就不会说出“业余”二字了。

103

主题

5

好友

3009

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
4153
帖子
3096
精华
0
经验
3009 点
金钱
2527 ¥
注册时间
2005-5-8
发表于 2010-5-3 15:44 | 显示全部楼层
呵呵,bbp不要“以价论质”,看到SpectraPLUS给你免费试用,正式版也不贵,就给人家冠上“业余”的头衔。
应该去看看PHS是怎么介绍自己的,SpectraPLUS的前身是哪个软件,又是哪家公司还在出售那个软件。
如果 ...
simmconn 发表于 2010-5-3 14:54



用“业余”是迫不得已的,是怕有人说FFT软件又是玩具啥啥的>_<
SpectraPLUS比德国人的Audio Tester牛太多了^_^
这两天试用了,感觉除了加窗貌似有点不大完美之外,其他都是非常强大的


哦,还少一个THD+N VS AMPLITUDE的测试选项
可能是作者考虑到THD+N VS AMPLITUDE跟实际硬件的配置有点“不协调”吧,-80dBFS时,就算noise floor到-160dBFS,SNR也只有80dB以内了
可能加一个可控增益的放大级进去可以改善低电平测试的问题。 像AP内部,在做这个测试时内部继电器“巴巴”的跳,想必是有PGA单元电路在工作。 ADC的最佳输入电平是-10dBFS左右,看了不少ADC的DS,呵呵






前面L大侠问过SpectraPLUS的下载地址,我是在他的官网下载的
www.SpectraPLUS.com 没记错的话

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3315
精华
6
经验
3705 点
金钱
2485 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-5-4 10:22 | 显示全部楼层
在数字解码和数字哉数字处理时,对时钟的精度不是要求很高,对DAC转换(FPGA后段如果采用I2S格式话,BCLK,LRCLK,SDA相位上要精确的对位,及PCM1794的MCLK)要低JITTER的时钟, ...
zyj9490 发表于 2010-4-30 17:11

是的,D/A转换的时钟JITTER要保证更低才行。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3315
精华
6
经验
3705 点
金钱
2485 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-5-4 10:23 | 显示全部楼层
DDS好贵啊。
LZ,对比过FPGA的PLL和数字锁相环的时钟质量吗?
lter15 发表于 2010-4-30 20:25

没比较过,不过FPGA的PLL肯定是不行的,模拟PLL至少要AD9516这种级别

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3315
精华
6
经验
3705 点
金钱
2485 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-5-4 10:24 | 显示全部楼层
老大可能以为你连S/PDIF解码都是在FPGA里做的,所以才出此言。
其实用FPGA做S/PDIF解码没什么不可以,而且可以很简单。如果我没记错的话,OpenCore上面的S/PDIF解码IP才用了一个72 cell CPLD里面的40个cell,不 ...
simmconn 发表于 2010-5-1 14:35

sDAC的硬件完全支持,不过要考虑DIR对FPGA的资源占用换算成money是不是比9001更划算。
展示的一个FIR的幅度响应是不如一些DF的,不过这个不是问题。只要运算精度够,就是重新做一组系数而已。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3315
精华
6
经验
3705 点
金钱
2485 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-5-4 10:35 | 显示全部楼层
在这样的频率下好像还不需要以面积换速度吧。用两个18x18的乘法器并行做成36x36的乘法器是不得不做的(精度的需要),左右声道分别用乘法器并行运算也无可厚非,除此之外还需要再提高并行度吗?
simmconn 发表于 2010-5-1 02:52

还是需要更多的乘法器的,目前sDAC的滤波器用了这块FPGA几乎所有的硬件乘法器资源。否则怎么在fmax以内实现几百阶的滤波器?

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3315
精华
6
经验
3705 点
金钱
2485 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-5-4 10:39 | 显示全部楼层
首先请别叫老大,我是正宗小弟,不含糊。

“FIFO技术难点是kHz根本不能被FPGA的IO口接受”这个我没明白是什么意思?

simmconn 说的是··我想你直接把S/PDIF DIR用FPGA搞定的,因为FPGA无法直接接受这么低频率 ...
HerculesVR 发表于 2010-5-2 00:35

DIR用FPGA做考虑过,硬件也支持,不过现在还是最传统的方式。
32BIT精度显然不够,目前sDAC的一个FPGA版本的乘法运算精度是48bit。再高也可以支持,就看有没有必要了。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3315
精华
6
经验
3705 点
金钱
2485 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-5-4 10:41 | 显示全部楼层
我们在这里讨论的是FIR用作过取样DF的情况,做n倍的过取样就意味着每个有效的原始数据后面跟着n-1个零,是不需要计算的。
500阶的FIR有501个tap,如果做16x过取样的话,计算每个结果只需要501/16=31.3125次乘法 ...
simmconn 发表于 2010-5-2 02:50

simmconn说的应该就是这个意思,GD是什么缩写,现在对缩写比较晕。

4

主题

1

好友

695

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
172924
帖子
1055
精华
0
经验
695 点
金钱
683 ¥
注册时间
2010-2-10
发表于 2010-5-4 10:44 | 显示全部楼层
太高深的东东,软硬俱全,看得一头雾水啊!

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3315
精华
6
经验
3705 点
金钱
2485 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-5-4 10:45 | 显示全部楼层
我觉得不是核心算法的问题,而是具体实现的问题。有很多paper里面介绍的算法性能已经足够优秀了,关键是在产品化的过程中如何用有限的成本来实现这些高性能的算法。我相信你能做出高性能的东西,但你的实现成本可 ...
simmconn 发表于 2010-5-2 03:02

在国内高端的设计和音响产品市场应该是极小的,不过也难说,国内在卖的还没见过高端的。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3315
精华
6
经验
3705 点
金钱
2485 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-5-4 10:46 | 显示全部楼层
低bit变成高bit[比如16bit -> 24bit ] Noise Shaping

  • 高bit变成低bit[比如24bit -> 16bit ] Dithering

    其实两者都属于噪音整形。一个重要问题是 16bit就算变成24bit 也达不到24bit的性能了,有兴趣你可以 ...
    HerculesVR 发表于 2010-5-2 00:48

  • -141.6dB是prim sound的什么设备啊?强悍!
    HerculesVR兄是专门从事音频相关的这一行的?

    96

    主题

    12

    好友

    3705

    积分
         

    罗宾汉 当前离线

    Rank: 7Rank: 7Rank: 7

    UID
    1077
    帖子
    3315
    精华
    6
    经验
    3705 点
    金钱
    2485 ¥
    注册时间
    2004-7-24

    社区贡献

     楼主| 发表于 2010-5-4 10:51 | 显示全部楼层
    218# simmconn


    如果在二个取样内,进行线性插值呢,要进行MAC吧,最简的方法把前一个取样作为内插的值构建出来,如16*,就按前取样构建15个前取值,频谱搬移的过程,如线性插值会改变原来的频谱。还有好多插 ...
    zyj9490 发表于 2010-5-3 09:10

    线性插值好像是对非线性的转移特性曲线做分度表算法用的。比如热电偶的分度表。信号处理里的插值是用滤波器滤掉镜频分量取得。

    1

    主题

    1

    好友

    572

    积分

    职业侠客 当前离线

    Rank: 5Rank: 5

    UID
    27691
    帖子
    437
    精华
    2
    经验
    572 点
    金钱
    483 ¥
    注册时间
    2007-9-25
    发表于 2010-5-4 11:44 | 显示全部楼层
    DIR用FPGA做考虑过,硬件也支持,不过现在还是最传统的方式。
    32BIT精度显然不够,目前sDAC的一个FPGA版本的乘法运算精度是48bit。再高也可以支持,就看有没有必要了。
    laurel 发表于 2010-5-4 10:39


    48bit是乘法器乘数和被乘数(系数)的字长,还是累加器的字长啊?
    如果是前者,牛得不行;
    如果是后者,一般般啦。
    最后输出还是要dither到24bit,弄得太长也没用吧?

    1

    主题

    1

    好友

    572

    积分

    职业侠客 当前离线

    Rank: 5Rank: 5

    UID
    27691
    帖子
    437
    精华
    2
    经验
    572 点
    金钱
    483 ¥
    注册时间
    2007-9-25
    发表于 2010-5-4 11:53 | 显示全部楼层
    simmconn说的应该就是这个意思,GD是什么缩写,现在对缩写比较晕。
    laurel 发表于 2010-5-4 10:41

    Group Delay吧,不是我发明的缩写。

    96

    主题

    12

    好友

    3705

    积分
         

    罗宾汉 当前离线

    Rank: 7Rank: 7Rank: 7

    UID
    1077
    帖子
    3315
    精华
    6
    经验
    3705 点
    金钱
    2485 ¥
    注册时间
    2004-7-24

    社区贡献

     楼主| 发表于 2010-5-4 12:25 | 显示全部楼层
    48bit是乘法器乘数和被乘数(系数)的字长,还是累加器的字长啊?
    如果是前者,牛得不行;
    如果是后者,一般般啦。
    最后输出还是要dither到24bit,弄得太长也没用吧?
    simmconn 发表于 2010-5-4 11:44

    硬件乘法器输出位宽,累加后宽度会更宽
    最后输出24bit,但是处理精度就必须高一点,否则一个500阶的FIR搞的效果和100多阶的一样。
    再宽也没问题,只是支持的阶数会少一点,FPGA的资源就那些。

    96

    主题

    12

    好友

    3705

    积分
         

    罗宾汉 当前离线

    Rank: 7Rank: 7Rank: 7

    UID
    1077
    帖子
    3315
    精华
    6
    经验
    3705 点
    金钱
    2485 ¥
    注册时间
    2004-7-24

    社区贡献

     楼主| 发表于 2010-5-4 23:42 | 显示全部楼层
    新做了一块电源板回来,原来的电源板不包括板上的变压器,这次试试这种焊板的环牛的效果
    0405173s.jpg

    20

    主题

    0

    好友

    1282

    积分
         

    侠之大者 当前离线

    Rank: 6Rank: 6

    UID
    116302
    帖子
    1308
    精华
    0
    经验
    1282 点
    金钱
    1250 ¥
    注册时间
    2009-7-6
    发表于 2010-5-5 00:25 | 显示全部楼层
    进来学习一下,实在复杂

    103

    主题

    5

    好友

    3009

    积分
         

    罗宾汉 当前离线

    Rank: 7Rank: 7Rank: 7

    UID
    4153
    帖子
    3096
    精华
    0
    经验
    3009 点
    金钱
    2527 ¥
    注册时间
    2005-5-8
    发表于 2010-5-5 09:23 | 显示全部楼层
    新做了一块电源板回来,原来的电源板不包括板上的变压器,这次试试这种焊板的环牛的效果
    1345700
    laurel 发表于 2010-5-4 23:42


    快上牛牛图,呵呵
    国产耀华有PTC系列,仿制国外同类型产品,价格不错

    0

    主题

    0

    好友

    299

    积分

    业余侠客 当前离线

    Rank: 4

    UID
    51213
    帖子
    290
    精华
    0
    经验
    299 点
    金钱
    299 ¥
    注册时间
    2008-8-18
    发表于 2010-5-5 11:20 | 显示全部楼层
    234# laurel

    信号能量被衰JIAN,也就是能量QIANLIU,是不是?

    14

    主题

    0

    好友

    559

    积分

    职业侠客 当前离线

    Rank: 5Rank: 5

    UID
    36640
    帖子
    740
    精华
    0
    经验
    559 点
    金钱
    548 ¥
    注册时间
    2008-3-4
    发表于 2010-5-5 14:41 | 显示全部楼层
    是ES9008,9018吧,这片子把音频D/A提高到了一个新高度,不过集成度太高了不好玩。
    我倒是对那个32bit,-120dB THD的A/D感兴趣,可惜没有详细的指标和资料
    laurel 发表于 2010-4-25 10:35



    好贴!软硬兼施,哈哈。。。先挖好坑再慢慢看。

    如果Laurel 对ADC感兴趣的话,可以看看AT1201,还有AT1401....个人推荐。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    Powered by Discuz! X3.4

    © 2001-2012 Comsenz Inc.

    返回顶部