[基础知识] 造一台软DAC

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

55

主题

0

好友

1380

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
14291
帖子
1537
精华
0
经验
1380 点
金钱
1059 ¥
注册时间
2006-11-6
发表于 2010-4-19 11:05 | 显示全部楼层
我现在在上海
laurel 发表于 2010-4-19 00:30



上海的烧友有蹭听的福了!!!

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-19 18:47 | 显示全部楼层
141# 万健
个人认为如果做CD机,方案比解码器要好的多的,因为CD机理省掉了SPDIF调制和解调的过程,时钟可以做的比DAC更好
USB声卡还没有研究过。不过个人能力和精力总是有限的。做这些投入精力会不小。

1

主题

1

好友

572

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
27691
帖子
437
精华
2
经验
572 点
金钱
483 ¥
注册时间
2007-9-25
发表于 2010-4-20 02:40 | 显示全部楼层
  我只关心FIR的算法.......其他不关心..............

当然还有ASRC,在我看来ASRC并不是坏东西..........
卡西利亚斯 发表于 2010-4-18 17:43

呵呵,你关心的是人家的系数表吧!
不过数字滤波器频响曲线的仿真图(带内波动和带外衰减特性),以及阶数、群时延等等,公布出来应该不会涉及具体实现的秘密。

最近时髦的是不用线性相位滤波器,而是用最小相位的'apodizing'(缺一只脚)的滤波器。这种滤波器牺牲一部分幅频性能,换取只有后振铃而没有前振铃的时域冲激响应,理由是前振铃也就是非因果的成分,是自然界不存在的声音,因此会使听感“不自然”。虽然听起来有点牵强,不过仔细想想也有一定道理。现在高端的(6000美元以上)使用FPGA做数字滤波器的CD机也好,DAC也好,纷纷在这上面做文章。LZ的系统实现这方面的功能是不难的。其实WM8741已经内置了这种特性的滤波器,即使没有LZ的系统,大家也可以玩玩这个所谓“缺一只脚”的滤波器。

1

主题

1

好友

572

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
27691
帖子
437
精华
2
经验
572 点
金钱
483 ¥
注册时间
2007-9-25
发表于 2010-4-20 03:41 | 显示全部楼层
昨天比较倒霉,直接导致没有更新,今天继续更新
看来对二级锁相环感兴趣的同学很多,现在上一个使用DDS后频谱仪的实测D/A输出频谱的对比,直接测D/A输出时最直观的能说明问题的方式。后来代码和器件优化过了,效果应 ...
laurel 发表于 2010-4-18 12:20


老大的频谱仪果然厉害。
老一代的(一般烧友买得起的)频谱仪,外差式的很少能达到RBW=1Hz,恐怕只能用基于FFT的了。
说到FFT,即使AP2最高也只能达到bin size=2Hz,而且要用Hann窗口才能达到如此的频域分辨率。
LZ用这种比较,证明了使用DDS时钟,DAC输出的单音频谱纯度得到了提高。只不过LZ的测试方法并不是音频领域常用的测试jitter的方法。
J-Test是更常用的方法,恐怕没有这么高的分辨率,不过涵盖更广的音频频带,而且输入信号是容易产生jitter的J-Test信号,勉强可以算是激励-响应测试。

21

主题

3

好友

2000

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
55547
帖子
8536
精华
0
经验
2000 点
金钱
2452 ¥
注册时间
2008-9-23
发表于 2010-4-20 07:54 | 显示全部楼层
支持固件更新吧。现在的已经不错了。

450

主题

19

好友

4562

积分
     

版主 当前离线

Rank: 7Rank: 7Rank: 7

UID
14800
帖子
8220
精华
2
经验
4562 点
金钱
3753 ¥
注册时间
2006-11-17

论坛版主

发表于 2010-4-20 09:10 | 显示全部楼层
不错.好技术.软硬专家啊.等待成品.试听报告.

29

主题

0

好友

803

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
45407
帖子
1342
精华
0
经验
803 点
金钱
725 ¥
注册时间
2008-6-14
发表于 2010-4-20 11:10 | 显示全部楼层
It's interesting.    厉害,且观下文!

56

主题

12

好友

6091

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7499
精华
0
经验
6091 点
金钱
5748 ¥
注册时间
2008-10-20
发表于 2010-4-20 12:09 | 显示全部楼层
呵呵,你关心的是人家的系数表吧!
不过数字滤波器频响曲线的仿真图(带内波动和带外衰减特性),以及阶数、群时延等等,公布出来应该不会涉及具体实现的秘密。

最近时髦的是不用线性相位滤波器,而是用最小 ...
simmconn 发表于 2010-4-20 02:40


每次都被你揭穿.............

16X上次议论的时候我就觉得好多DAC可以办到,回去用个5813+CPLD(插个0),9001@512FS/2,哈,没声音,不过在7220或者8740这种交互4X的片子上,插0并拆分成独立却没有问题。

后来发现都有这一项
1704的FBCY要求大于40ns,也就是25MHZ........
1955则是60ns,16.7MHZ...........
唯有德州179系的FBCY可以到20ns,50MHZ(工艺问题?)
PS:1793是179系中的太监大大.....功能少得可怜,基本可以叫无能了............

回头再算算,FBCK=50N*16 ,(N=16/18/20/24/32)={12.8~25.6}, (以下皆用50KHZ计算)
也就是说,FBCK可以到20MHZ基本就足够了......(19.2M=50*24*16)......

所以我一开始的错误就是,当9001输出512FS时候,实际上已经大大超过了DAC的实际能力,假如降低到384的话,
则,dfBCKO=50*24*8=9.6MHZ, dirMCK=19.2MHZ,则恰好供给CPLD和DAC做CK......

有打算再尝试一下PCM1702的16X(1704太贵)......但是这种纯粹的插0而没有滤波效果的玩意,不知道性能上有提高么?

56

主题

12

好友

6091

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7499
精华
0
经验
6091 点
金钱
5748 ¥
注册时间
2008-10-20
发表于 2010-4-20 13:41 | 显示全部楼层
上个图玩玩,这个是不是专利啊?专利不敢碰~~~~~
找找资料再看看~~~~~~


A.jpg

173

主题

0

好友

1954

积分
     

无为 TEAM 当前离线

UID
14250
帖子
2986
精华
4
经验
1954 点
金钱
1299 ¥
注册时间
2006-11-5

社区贡献 论坛版主 乐于助人

发表于 2010-4-20 16:48 | 显示全部楼层
难得看到感兴趣的东西!期待早点出现成品

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-20 19:35 | 显示全部楼层
呵呵,你关心的是人家的系数表吧!
不过数字滤波器频响曲线的仿真图(带内波动和带外衰减特性),以及阶数、群时延等等,公布出来应该不会涉及具体实现的秘密。

最近时髦的是不用线性相位滤波器,而是用最小 ...
simmconn 发表于 2010-4-20 02:40

系数表没什么,一直都在变,阶数从100-500阶左右都试过,不同窗函数也都试过,一种系数一种口味。爽啊,这么变来变去不用花一分钱。。。
这个所谓最小相位滤波器其实也是个传统FIR的变种,靠去掉一半的系数实现,FPGA实现和一般FIR一样的。这种滤波器不知道有没有听过的朋友给个评价。
不过我在想既然这么搞失掉了FIR线性相位的优点为什么不直接用IIR呢,IIR没有吉博斯波动,而且原理和模拟滤波器一样,应该更自然一点。
IIR我已经写好了,不过还没用到sDAC的信号处理部分。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-20 19:39 | 显示全部楼层
每次都被你揭穿.............

16X上次议论的时候我就觉得好多DAC可以办到,回去用个5813+CPLD(插个0),9001@512FS/2,哈,没声音,不过在7220或者8740这种交互4X的片子上,插0并拆分成独立却没有问题。

...
卡西利亚斯 发表于 2010-4-20 12:09

单纯插0不仅效果不会提高,带外抑制性能还会下降,原因很简单,插0后镜像频率具有和带内具有同样的功率,而一般D/A在工作时是采样保持的,所以带外能量按照sa函数规律衰减,实际镜频能量远远小于补0.

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-20 19:40 | 显示全部楼层
支持固件更新吧。现在的已经不错了。
zclmxx 发表于 2010-4-20 07:54

要支持更新,就要一个像样的CPU,FLASH,网口,还要做FPGA在线重配置,为了这么个功能增加如此多的成本太不划算了

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-20 19:45 | 显示全部楼层
上个图玩玩,这个是不是专利啊?专利不敢碰~~~~~
找找资料再看看~~~~~~


1320843
卡西利亚斯 发表于 2010-4-20 13:41

直接打印出来,拿把直尺把这个冲激响应等间距描点,然后拿把尺子把系数量出来。。。

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-20 19:51 | 显示全部楼层
老大的频谱仪果然厉害。
老一代的(一般烧友买得起的)频谱仪,外差式的很少能达到RBW=1Hz,恐怕只能用基于FFT的了。
说到FFT,即使AP2最高也只能达到bin size=2Hz,而且要用Hann窗口才能达到如此的频域分辨率 ...
simmconn 发表于 2010-4-20 03:41

单位的装备,我自己哪里买的起。。。
那个J-test有没有资料,能否在业余条件下可靠的测试?

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-20 20:08 | 显示全部楼层
继续上回,关于PCM1794的NOS和16X。
sDAC的1794可以工作在NOS,2X,4X,8X,16X的超采样率下(32X功能被屏蔽掉了),通过一个按钮来选择超采样率,所以可以现场对比这几种不同超采样的表现。
总的感受是NOS和经过超采样的声音差别比较大,但是不同超采样率下声音差别相对要小一些。16X声音更顺滑,NOS则高频粗放一些,人声有自己的味道和能量感,各有千秋,另外一个不同是,由于吉博斯波动的原因,sDAC要给振铃留不小的动态余量,而NOS数据是原汁原味没有经过处理的,出来电平要比16X下的声音响一点,由于留下一部分动态余量,可以想象出NOS下信噪比也会稍高一点。
不过总的来讲,我更容易接受16X或者8X的声音,表现更全面。NOS是听人声的利器,但并不适用于所有场合。
(待续)

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-20 20:14 | 显示全部楼层
不错.好技术.软硬专家啊.等待成品.试听报告.
scooby 发表于 2010-4-20 09:10

scooby版,成品已经做好了,试听要之后再送上了。

56

主题

12

好友

6091

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7499
精华
0
经验
6091 点
金钱
5748 ¥
注册时间
2008-10-20
发表于 2010-4-20 20:32 | 显示全部楼层


试试IIR和FIR的区别看看...........

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-20 21:07 | 显示全部楼层


试试IIR和FIR的区别看看...........
卡西利亚斯 发表于 2010-4-20 20:32

这个可以有......

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

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

社区贡献

 楼主| 发表于 2010-4-20 21:12 | 显示全部楼层
再上张调试时候的照片,这时候主电路板已经装箱了
200352ss.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部