[心得经验] 打造基于FIR滤波器的数字分频器

  [复制链接] 查看: 195986|回复: 394

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 00:43 | 显示全部楼层
本帖最后由 dahe 于 2017-4-13 00:47 编辑

可能会弹出:”无法读取文件“的对话框,先不管它,把对话框关闭就行了。
到此,通道已经搭建完毕。接下来就是整个工作的关键和重点:设置分频器特性指标。

282

主题

1

好友

757

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
179324
帖子
2063
精华
0
经验
757 点
金钱
436 ¥
注册时间
2010-3-7
发表于 2017-4-13 00:52 | 显示全部楼层
学习了解一下:搭建一个;试试听听。

160

主题

7

好友

4283

积分
     

贵宾 当前离线

Rank: 3Rank: 3

UID
25358
帖子
4231
精华
5
经验
4283 点
金钱
3412 ¥
注册时间
2007-8-1

社区贡献 论坛贵宾 荣誉会员

发表于 2017-4-13 00:52 来自手机端 | 显示全部楼层
dahe 发表于 2017-4-13 00:22
打开VSTHost,即前面建议固定在启动栏的蓝色图标,如下图:



是否试过用fire6usb数字输出播放,硬接到自身的数字输入,从而避开ASIO4ALL与vb-audio HI-FI cable这两个的使用?以外录代替内录

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 01:00 | 显示全部楼层
本帖最后由 dahe 于 2017-4-13 01:02 编辑

对不起,关于通道建立,还遗漏了一点。
点击VSTHost工具栏devices,选Asio Control Panel,激活通道选择,我因为需要使用CD机同轴信号,所以还选择了声卡的数字输入通道。如下图:

convolver-6.png

点击devices,选 Asio Channel Selection,选择相关通道,如下图:

c-7.png

完毕。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 01:04 | 显示全部楼层
本帖最后由 dahe 于 2017-4-13 01:09 编辑
kingcole 发表于 2017-4-13 00:52
是否试过用fire6usb数字输出播放,硬接到自身的数字输入,从而避开ASIO4ALL与vb-audio HI-FI cable这两个 ...

这个还没有试过,找时间要试试。谢谢提醒。使用6fire的数字输入,外接CD机,是不是也类似?

c-8.png

37

主题

1

好友

2244

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
829612
帖子
2213
精华
0
经验
2244 点
金钱
2170 ¥
注册时间
2017-3-21
发表于 2017-4-13 01:58 | 显示全部楼层
dahe 发表于 2017-4-13 01:04
这个还没有试过,找时间要试试。谢谢提醒。使用6fire的数字输入,外接CD机,是不是也类似?

解释很清楚:分频器中的分频点呢、那里才是最复杂、最难、谢谢你

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 22:52 | 显示全部楼层
继续工作。
其实在前面安装convolver插件时,我们就可以不选用convolver而选用现成的分频器插件了,比如使用我在“试玩电脑数字分频”里面介绍的分频器插件,也可以选用多通道的EQ插件。但是这类现成的插件除了分频点和衰减率可调之外,相位情况是不清楚的(即不知道其数学计算模型)也不可调节;另外,这种分频器即使有的相位可调,却也无法包含系统(功放和音箱)的特性,更无法包含听音环境的特性,这不是我们这里所想要的。
在这里,我们使用 rePhase 来设定想要的分频器,它的强项在于可以把系统的实际测试曲线输入进去进行补偿后获得理想的分频器特性曲线,如果采用近场测试曲线来校准,则是不考虑房间影响,如果采用远场或听音位置的测试曲线来校准,则考虑了环境因素。这里所说的测试曲线都是指在业余条件的情况下,相信绝大多数人都不会有消声室。即便是真的在消声室里测试调配好的系统,放在实际的听音环境了,其表现特性也会不同。
当然,对于经过这样处理过后的声音,喜欢与否就因人而异了,只有自己喜欢的才是最好的。

16

主题

3

好友

822

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
55715
帖子
904
精华
0
经验
822 点
金钱
797 ¥
注册时间
2008-9-24
发表于 2017-4-13 23:11 | 显示全部楼层
玩分频的都是要实测结合听感才有效, 不同单元不同灵敏度, 滤波器造成的延时, 相位变化, 高低单元的干涉等等数不尽的因素. 这些都不是看看曲线就能得到的

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 23:18 | 显示全部楼层
daviscai 发表于 2017-4-13 23:11
玩分频的都是要实测结合听感才有效, 不同单元不同灵敏度, 滤波器造成的延时, 相位变化, 高低单元的干涉等等 ...


的确,耳朵听到的和测试mic”听“到的是不同,参考而已。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 23:28 | 显示全部楼层
本帖最后由 dahe 于 2017-4-13 23:30 编辑

言归正传。进入到已经建立的目录data,应该可以看到已经解压到这里的rePhase,以管理员身份运行rePhase,得到下面的界面:

re-1.png

先简单来认识一下这个软件中我们要用到的部分。点击Minimum-phase Filters,看到下面的界面:

re-2.png

上面框中蓝色的实线代表幅度,虚线表示相位。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 23:42 | 显示全部楼层
先分别简单设置一个标准的低通、带通和高通滤波器曲线,如下图:

re-3.png

re-4.png re-5.png

这是一个典型的24dB linkwitz-riley 滤波器,相位和用模拟电路设计的一模一样。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-14 00:05 | 显示全部楼层
但这不是我想要是分频器。我需要的是线性相位的滤波器,点击Linear-Phase Filters,设置如下图的低通、带通和高通滤波器:

re-6.png re-7.png re-8.png

从图中可以看出相位曲线没有位移。我比较喜欢Linkwitz-Riley 类型的滤波器,至于衰减率,可以选1000dB,但实际超过48dB就已经听不出来区别了,在实际应用中,我选96dB。上述图示的频率只是示意,需要根据喇叭频率特性选取。我实际选用的低频分频点是180Hz,高频分频点是3200Hz。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-14 00:12 | 显示全部楼层
本帖最后由 dahe 于 2017-4-14 00:18 编辑

为了使问题简单化,我的思路是这样的:把分频器的相位做成线性的,把功放的相位也做成线性的(我自己安装的功放实际上已经做到了),最后剩下的就只有音箱喇叭的组合相位需要矫正,事情就容易很多了。
我是一边思考回忆一边写帖子,也许就显得零散,希望看的人不要太介意。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-14 01:03 | 显示全部楼层
现在来逐个设置各个频段分频器脉冲文件,文件格式为 .wav 音频格式,考虑到一般情况下左右通道都一致,所以左通道和右通道使用同一文件,故设置为单声道文件,必须注意,采样频率需要和虚拟电缆的频率一致:96000Hz,否则不能工作。文件名与相应的频段对应,如lowpass,也可以是你喜欢的任意名字。检查所有相关参数正确后,点击右下角的 generate ,程序就会在目录data下面生成一个与设置的文件名相同名字的音频格式文件,如 lowpass.wav ,这个就是我们需要的低通滤波器参数文件。参考下图右侧的设置:

re-9.png

同样类似的方法生成另外两个文件,比如 bandpass 和 highpass。
文件的个数和分频器通道数相适应。


6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-14 02:09 | 显示全部楼层
三个文件创建完毕后,需要编写 convolverVST 的设置文件,这是一个TXT格式文件,关于convolverVST config file 文件的语句规则,请参考这里:http://convolver.sourceforge.net/config.html ,这个文件的编写说难也难,说简单也简单
我把我自己使用的 .txt 文件帖出来提供参考,依样画葫芦往里套就行了,如果英语好直接读原文就更不是问题了。
文件编写好后,以 .txt 格式存放在目录data下面,文件名任取,比如crossover-1

re-10.png

为了方便说明,我把文件内的内容分组用空行分开,增加空行不影响文件使用:

第一组:
第一行表示:采样频率96000Hz,输入通道数为2通道,输出通道数为6通道,最后一个0表示其它意义这里不用考虑就用0行了;
第二行:输入通道数定义,无延时;
第三行:输出通道数定义,无延时。

第二组:
第一行:低频滤波器名称及路径;
第二行:低频滤波器通道;
第三行:低频滤波器输入左通道,无衰减(第二个0 表示0/100);
第四行:低频滤波器输出左通道,无衰减。

第三组:
第一行:低频滤波器名称及路径;
第二行:低频滤波器通道;
第三行:低频滤波器输入右通道,无衰减;
第四行:低频滤波器输出右通道,无衰减。

第四组:
第一行:带通滤波器名称及路径;
第二行:带通滤波器通道;
第三行:带通滤波器输入左通道,无衰减;
第四行:带通滤波器输出左通道,无衰减。

第五组:
第一行:带通滤波器名称及路径;
第二行:带通滤波器通道;
第三行:带通滤波器输入右通道,无衰减;
第四行:带通滤波器输出右通道,无衰减。
  
第六组:
第一行:高通滤波器名称及路径;
第二行:高通滤波器通道;
第三行:高通滤波器输入左通道,无衰减;
第四行:高通滤波器输出左通道,无衰减。

第七组:
第一行:高通滤波器名称及路径;
第二行:高通滤波器通道;
第三行:高通滤波器输入右通道,无衰减;
第四行:高通滤波器输出右通道,无衰减。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-14 02:34 | 显示全部楼层
最后一步,导入分频器数据:
打开VSTHost,点击箭头所指图标,如下图:

convolver-7.png

再点击下图箭头所指图标:

c-9.png

根据提示,在data目录选取 .txt文件,比如 crossover-1.txt 。文件数据将会导入VSTHost;如果没有意外,FIR数字分频器已经建立完成,可以试用了,千万注意声卡音量控制位置,以防意外。
打开foobar2000,设置输出为虚拟电缆就可以正常播放音乐了,或者打开视频播放器,就可以观看高清电影了,音响效果应该不会错的。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-14 02:37 | 显示全部楼层
为了检验分频器是否如设计的那样,接下来需要对此进行测试,看看测试结果和设计是否一致或者接近。

1

主题

0

好友

600

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
827457
帖子
604
精华
0
经验
600 点
金钱
598 ¥
注册时间
2017-2-12
发表于 2017-4-14 17:39 | 显示全部楼层
好帖慢慢学习。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-15 06:27 | 显示全部楼层
今天另外用一个笔记本电脑单就分频器做了一下测试,第一张图是把本本输入端和输出端直接短路测得的结果:

pcsound.png

高频部分的相位有点偏移,还不知道是什么原因,因为使用的导线短路,就看作是相位不变的样子吧。下面这张图是分次分别测得低、中、高三段后,用同一软件合成的结果:

FIR-cross.png

和短路导线的相位很接近,低频部分的两端有大约十几度的偏离。
关于FIR分频器介绍完成了,有兴趣的人可以试试。另外,软件 rePhase 内容相当丰富,可以做不少事情,有兴趣的也可以自己玩玩。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-25 21:24 | 显示全部楼层
本帖最后由 dahe 于 2017-4-25 21:29 编辑

补充:前面测试相位曲线偏离是原于校正问题,更新校准就可以了。下图是没有校正时笔记本声卡的测试结果(输入输出短路线连接):

2017-04-25 09:06:29的屏幕截图.png

下图是以上面的测试结果为校准基准后的同一声卡测试结果:

2017-04-25 09:06:39的屏幕截图.png

这样相位偏离就消除了。
最后对FIR分频器测试的结果如下:

2017-04-25 09:27:46的屏幕截图.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部