[基础知识] 造一台软DAC

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

56

主题

12

好友

6091

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7499
精华
0
经验
6091 点
金钱
5748 ¥
注册时间
2008-10-20
发表于 2010-4-20 23:01 | 显示全部楼层
我翻了下DF的资料,音频区域都是FIR做处理,而IIR只用于去加重部分,应该是因为IIR的非线性相位的缘故。

今天才见AD的DSP开发板只卖250,心动动,想买回来专门玩过采样滤波......

1

主题

1

好友

572

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
27691
帖子
437
精华
2
经验
572 点
金钱
483 ¥
注册时间
2007-9-25
发表于 2010-4-21 06:15 | 显示全部楼层
要支持更新,就要一个像样的CPU,FLASH,网口,还要做FPGA在线重配置,为了这么个功能增加如此多的成本太不划算了
laurel 发表于 2010-4-20 19:40

其实为了支持更新,并不需要额外的硬件成本,更新逻辑可以做在FPGA里面,然后固件通过PCM码流送进去,就像MSB的高端DAC,放一首叽哩哇啦的曲子就更新完毕了。如果想做的智能一点,也可以利用现有的8051。不过这功能做产品的时候才需要,如果自己玩的话就没必要了。USB Blaster 足够方便。

我认为老大应该与有志于高端音响的厂家合作(相信有不少在此围观的),把发明创造转化为产品。相信LZ做这个东西的目的也不仅仅是为了自娱自乐,否则我们就不会在许多论坛都能看到它的影子了 。当然现在这套系统成本还太高,转化为产品还需要下不少功夫。

另外关于J-Test,LZ可以去MSB的网站找找他们的White paper看看,说得比较浅显易懂,而且还给出了测试信号的实例。业余条件下做J-Test,除了测试信号之外,个人认为有一个不错的24-bit ADC(1212M)再加上一个能做32k点FFT的软件就够了。

5

主题

2

好友

946

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
156799
帖子
945
精华
0
经验
946 点
金钱
935 ¥
注册时间
2009-12-19

社区贡献 乐于助人

发表于 2010-4-21 13:14 | 显示全部楼层
主要是开发成本很高啊
器件的话,FPGA,DDS还有1794都差不多要上百一颗。
头像被屏蔽

0

主题

0

好友

-31

积分

禁止发言 当前离线

UID
192545
帖子
58
精华
0
经验
-31 点
金钱
49 ¥
注册时间
2010-4-17
发表于 2010-4-21 13:50 | 显示全部楼层
俺也来捧场路过学习

56

主题

12

好友

6091

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7499
精华
0
经验
6091 点
金钱
5748 ¥
注册时间
2008-10-20
发表于 2010-4-21 20:06 | 显示全部楼层
主要是开发成本很高啊
器件的话,FPGA,DDS还有1794都差不多要上百一颗。
lter15 发表于 2010-4-21 13:14


自己玩又不是量产,花不了几个钱~~~~~

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-21 21:26 | 显示全部楼层
我翻了下DF的资料,音频区域都是FIR做处理,而IIR只用于去加重部分,应该是因为IIR的非线性相位的缘故。

今天才见AD的DSP开发板只卖250,心动动,想买回来专门玩过采样滤波......
卡西利亚斯 发表于 2010-4-20 23:01

是的,我也不清楚是什么原因。
ADI的BLACKFIN是不贵,不过ADI的仿真机好像不便宜。。。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-21 21:34 | 显示全部楼层
其实为了支持更新,并不需要额外的硬件成本,更新逻辑可以做在FPGA里面,然后固件通过PCM码流送进去,就像MSB的高端DAC,放一首叽哩哇啦的曲子就更新完毕了。如果想做的智能一点,也可以利用现有的8051。不过这功能 ...
simmconn 发表于 2010-4-21 06:15

simmconn老大说的这个升级方式很新潮,我估计挖破脑袋也想不出。。。不过怎么把这个东西做成一张CD。。。
sDAC的些许照片最早发表在hifimm.com,芦苇老大的论坛上,然后在色影无忌上也发表过,simmconn老大也经常逛这两个论坛?哈哈。能商品化当然是最好的结果,不过可能性价比高的东西比技术含量高的东西更受普遍欢迎,因为估计90%以上的客户不知道PLL,FIFO,DDS之类的东西为何物。现在成本和一般DAC比起来还是要高的多啊。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-21 21:36 | 显示全部楼层
主要是开发成本很高啊
器件的话,FPGA,DDS还有1794都差不多要上百一颗。
lter15 发表于 2010-4-21 13:14

是这样的,一段时间只有天天泡方便面了。。。相当的清苦啊

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-21 21:39 | 显示全部楼层
俺也来捧场路过学习
万年牢 发表于 2010-4-21 13:50

谢谢捧场!欢迎经常来,随时更新哦!

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-21 22:13 | 显示全部楼层
继续更新... ...
今天是全国玉树地震哀悼日,希望灾区人民能平安度过。在准备写这个帖子的时候,我想起了2年前汶川地震的情形。。。
我当时正在西安,离四川不远,受到地震波及。汶川512地震的时候我正在午休,突然整个床剧烈晃起来,我还没反应过来呢,突然就听有人大喊地震了,赶紧跳起来下楼逃命,等到了楼下,下面早已挤满了人,场面那个混乱啊。地震以后没人敢在15楼高的实验室待了,我心想哈哈这正好是个干私活的好机会,于是把板子拿到实验室去焊,正在焊着DIR9001,突然看到房子又像荡秋千一样晃起来,我反应过来这是余震,心理暗暗叫苦,不得不赶紧扔掉手里的板子,一口气从15楼跑到了1楼。这一跑创造了我下楼梯速度最快的记录。
在余震的提心吊胆中,sDAC第一次开声。。。虽然第一次开声的sDAC没有DDS,FIFO,滤波器这些功能,但是因为有了那段特殊的日子,sDAC的第一次出声我是非常难忘的。
(待续)

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-21 23:17 | 显示全部楼层
继续,上sDAC的一种滤波器的冲激响应和频率响应,sDAC实验过很多不同配置的FIR滤波器,现在这个图示500阶的一种。
冲激响应
500tap.jpg
频率响应
500tapfreq.jpg

(待续)

0

主题

0

好友

40

积分

注册会员 当前离线

Rank: 2

UID
130385
帖子
42
精华
0
经验
40 点
金钱
40 ¥
注册时间
2009-9-8
发表于 2010-4-21 23:56 | 显示全部楼层
我翻了下DF的资料,音频区域都是FIR做处理,而IIR只用于去加重部分,应该是因为IIR的非线性相位的缘故。

今天才见AD的DSP开发板只卖250,心动动,想买回来专门玩过采样滤波......
卡西利亚斯 发表于 2010-4-20 23:01


其实IIR也是有不少厂家在用了,毕竟耗费的硬件资源会少很多,相位倒是比较难做好,一般也只是近似的线性而已,
群延时会小很多也是优点,特别是FIR做到这么高阶后完全受不了,楼主贴的500阶(果然外面FPGA自己搞可以很奢侈,以前看过的wadia的也是),哇哈哈,好长啊

40

主题

0

好友

2087

积分
     

罗宾汉 当前离线

专家

Rank: 7Rank: 7Rank: 7

UID
52554
帖子
5810
精华
2
经验
2087 点
金钱
2014 ¥
注册时间
2008-8-30

新人进步

发表于 2010-4-22 04:01 | 显示全部楼层
技术含量好高啊..软硬一起上..精神上支持LZ

132

主题

2

好友

4845

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
2544
帖子
5150
精华
0
经验
4845 点
金钱
4374 ¥
注册时间
2004-12-29
发表于 2010-4-22 08:55 | 显示全部楼层
LZ还真是厉害,俺云里雾里地看了半天看不懂啊。不过也明白点为什么欧洲那个用光驱地机器卖那么贵了。

支持LZ下。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-22 18:41 | 显示全部楼层
其实IIR也是有不少厂家在用了,毕竟耗费的硬件资源会少很多,相位倒是比较难做好,一般也只是近似的线性而已,
群延时会小很多也是优点,特别是FIR做到这么高阶后完全受不了,楼主贴的500阶(果然外面FPGA自己搞 ...
arc.j 发表于 2010-4-21 23:56

arc.j兄对此很了解啊,IIR用在音响上有没有什么特别的说法?我个人觉得前面数字信号处理相位再线性,到后面的模拟低通滤波器那相位也不可能线性了。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-22 21:44 | 显示全部楼层
继续贴图
上一个08年测的sDAC的频谱图,测的时候软件锁相环的代码还没做,FIFO在听大约几分钟以内就会因为破掉出现杂音。1HZ的VBW扫描速度实在太慢,因此用的10HZ的来做测,大致看下效果。
测试信号电平为-1dBFS,1KHZ。第一次测试比较意外,有明显可见的二次及三次谐波,幅度约-80dBFS。后来查到是因为频谱仪输入阻抗都是50ohm,运放带不动50ohm负载,造成严重失真,在输出端串一个1K电阻,相当于和50ohm输入阻抗做分压,再测已经看不到谐波了。
1KHZ_-1dB测试.jpg
(待续)

0

主题

0

好友

40

积分

注册会员 当前离线

Rank: 2

UID
130385
帖子
42
精华
0
经验
40 点
金钱
40 ¥
注册时间
2009-9-8
发表于 2010-4-22 21:51 | 显示全部楼层
176# laurel

略懂略懂,纯粹是吹水罢了

特别是低采样率的时候,要将过渡带做的窄,阻带又要衰减大,比较麻烦,FIR可能动辄上好几百阶去了,一些场合实在不合用啊,delay个几百ms的受不了

可以看看创新audigy2,ADC/DAC好像已经是IIR的了,ASIO才能在保证指标的同时可以做的延时很小啊

不过主要是IIR比较不如FIR好设计

可以拿PCM1704之类的DAC实验啊,把内部的filter禁掉,外部加filter,自己爱咋整咋整,不过不了解模拟部分的特性的话估计就只能一个个尝试了

哦忘了,你现在就是这么搞的。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-22 22:04 | 显示全部楼层
176# laurel

略懂略懂,纯粹是吹水罢了

特别是低采样率的时候,要将过渡带做的窄,阻带又要衰减大,比较麻烦,FIR可能动辄上好几百阶去了,一些场合实在不合用啊,delay个几百ms的受不了

可以看看创新aud ...
arc.j 发表于 2010-4-22 21:51

谦虚谦虚,一阶二阶IIR以前好像在单片机做传感器数据滤波中用的比较多,因为单片机资源有限。DAC里倒不用关心ASIO了,因为里面有个FIFO,延时要小也不可能了。
IIR我觉得有个额外的好处是不存在FIR有个有限长度引起的吉博斯波动,这个东西我主管感觉就不是很爽,至少消耗了一部分D/A的动态范围。
IIR不好设计倒是个问题,因为有反馈部分引起的极点问题和FPGA定点运算的动态范围的问题,有时候显得比较麻烦。不似FIR怎么弄都能出声。
欢迎探讨~

43

主题

2

好友

1485

积分

侠之大者 当前离线

海马

Rank: 6Rank: 6

UID
35456
帖子
3810
精华
0
经验
1485 点
金钱
1453 ¥
注册时间
2008-2-12
发表于 2010-4-22 22:09 | 显示全部楼层
就算是团队做,也是一个较大的工程,个人做真是不可思议,各种资源还要相当齐备.真是佩服得五体投地!

1

主题

1

好友

572

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
27691
帖子
437
精华
2
经验
572 点
金钱
483 ¥
注册时间
2007-9-25
发表于 2010-4-23 07:46 | 显示全部楼层
继续贴图
上一个08年测的sDAC的频谱图,测的时候软件锁相环的代码还没做,FIFO在听大约几分钟以内就会因为破掉出现杂音。1HZ的VBW扫描速度实在太慢,因此用的10HZ的来做测,大致看下效果。
测试信号电平为-1dBFS, ...
laurel 发表于 2010-4-22 21:44

很遗憾,这张图没什么大用。因为LZ在用频谱仪的短处,就是动态范围不够,还不如像样点声卡上的ADC。如果测量设备的某方面性能还不如被测设备正常工作时应有的表现,恐怕只能用来除错,难以反映被测设备的指标。
另外,LZ确实很实在!如果我犯过用50欧的频谱仪输入端测试音频设备输出这类的错误,我是不好意思说出来的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部