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

  [复制链接] 查看: 197522|回复: 396

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
发表于 2017-4-12 01:13 | 显示全部楼层
首先声明,我不是数字信号处理或软件专业人士,只是一个业余搬运工,把别人的东西搬运到这里,因此不承担任何由此产生的一切责任。
下面的文字来自wiki:
数字滤波器是对数字信号进行滤波处理以得到期望的响应特性的离散时间系统。作为一种电子滤波器,数字滤波器与完全工作在模拟信号域的模拟滤波器不同。数字滤波器工作在数字信号域,它处理的对象是经由采样器件将模拟信号转换而得到的數位信号。
数字滤波器的工作方式与模拟滤波器也完全不同:后者完全依靠电阻器电容器晶体管等电子元件组成的物理网络实现滤波功能;而前者是通过数字运算器件对输入的数字信号进行运算和处理,从而实现设计要求的特性。
数字滤波器理论上可以实现任何可以用数学算法表示的滤波效果。数字滤波器的两个主要限制条件是它们的速度和成本。数字滤波器不可能比滤波器内部的数字电路的运算速度更快。但是随着集成电路成本的不断降低,数字滤波器变得越来越常见并且已经成为了如收音机蜂窝电话立体声接收机这样的日常用品的重要组成部分。
数字滤波器一般由寄存器延时器加法器和乘法器等基本数字电路实现。随着集成电路技术的发展,其性能不断提高而成本却不断降低,数字滤波器的应用领域也因此越来越广。按照数字滤波器的特性,它可以被分为线性与非线性、因果与非因果、无限脉冲响应(IIR)与有限脉冲响应(FIR)等等。其中,线性时不变的数字滤波器是最基本的类型;而由于数字系统可以对延时器加以利用,因此可以引入一定程度的非因果性,获得比传统的因果滤波器更灵活强大的特性;相对于IIR滤波器,FIR滤波器有着易于实现和系统绝对稳定的优势,因此得到广泛的应用;对于时变系统滤波器的研究则导致了以卡尔曼滤波为代表的自适应滤波理论
数字滤波器具有比模拟滤波器更高的精度,甚至能够实现后者在理论上也无法达到的性能。例如,对于数字滤波器来说很容易就能够做到一个1000Hz的低通滤波器允许999Hz信号通过并且完全阻止1001Hz的信号,模拟滤波器无法区分如此接近的信号。
数字滤波器相比模拟滤波器有更高的信噪比。这主要是因为数字滤波器是以数字器件执行运算,从而避免了模拟电路中噪声(如电阻热噪声)的影响。数字滤波器中主要的噪声源是在数字系统之前的模拟电路引入的电路噪声以及在数字系统输入端的模数转换过程中产生的量化噪声。这些噪声在数字系统的运算中可能会被放大,因此在设计数字滤波器时需要采用合适的结构,以降低输入噪声对系统性能的影响。
数字滤波器还具有模拟滤波器不能比拟的可靠性。组成模拟滤波器的电子元件的电路特性会随着时间、温度、电压的变化而漂移,而数字电路就没有这种问题。只要在数字电路的工作环境下,数字滤波器就能够稳定可靠的工作。
由于奈奎斯特采样定理(Nyquist sampling theorem),数字滤波器的处理能力受到系统采样频率的限制。如果输入信号的频率分量包含超过滤波器1/2采样频率的分量时,数字滤波器因为数字系统的“混叠”而不能正常工作。如果超出1/2采样频率的频率分量不占主要地位,通常的解决办法是在模数转换电路之前放置一个低通滤波器(即抗混叠滤波器)将超过的高频成分滤除。否则就必须用模拟滤波器实现要求的功能。

评分

参与人数 5经验 +17 魅力 +19 收起 理由
+ 2 + 2 很给力!
lbx + 3 + 3 很给力!
wulishi + 2 赞一个!
Haoxun + 2 + 2 赞一个!
kingcole + 10 赞一个!

查看全部评分

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-12 01:17 | 显示全部楼层
下面的文字还是来自wiki:
IIR滤波器与FIR滤波器
线性移不变的数字滤波器包括无限长脉冲响应滤波器(IIR滤波器)和有限长脉冲响应滤波器(FIR滤波器)两种。
IIR滤波器的优点在于,其设计可以直接利用模拟滤波器设计的成果,因为模拟滤波器本身就是无限长冲激响应的。通常IIR滤波器设计的过程如下:首先根据滤波器参数要求设计对应的模拟滤波器(如巴特沃斯滤波器、切比雪夫滤波器等等),然后通过映射(如脉冲响应不变法、双线性映射等等)将模拟滤波器变换为数字滤波器,从而决定IIR滤波器的参数。IIR滤波器的重大缺点在于,由于存在反馈其稳定性不能得到保证。另外,反馈还使IIR滤波器的数字运算可能溢出。

FIR滤波器最重要的优点就是由于不存在系统极点,FIR滤波器是绝对稳定的系统。FIR滤波器还确保了线性相位,这在信号处理中也非常重要。此外,由于不需要反馈,FIR滤波器的实现也比IIR滤波器简单。FIR滤波器的缺点在于它的性能不如同样阶数的IIR滤波器,不过由于数字计算硬件的飞速发展,这一点已经不成为问题。再加上引入计算机辅助设计,FIR滤波器的设计也得到极大的简化。基于上述原因,FIR滤波器比IIR滤波器的应用更广。

37

主题

1

好友

2244

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
829612
帖子
2213
精华
0
经验
2244 点
金钱
2170 ¥
注册时间
2017-3-21
发表于 2017-4-12 01:23 | 显示全部楼层
dahe 发表于 2017-4-12 01:17
下面的文字还是来自wiki:
IIR滤波器与FIR滤波器
线性移不变的数字滤波器包括无限长脉冲响应滤波器(IIR ...

你好利害呀:感动

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

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

软件安装:
首先安装ASIO4ALL,下载地址:http://www.asio4all.com/这个有正文版,下载后,双击.exe文件安装。
接下来安装vb-audio HI-FI cable,下载地址:http://vb-audio.pagesperso-orange.fr/Cable/ 下载这个文件HiFiCableAsioBridgeSetup_v1007.zip。解压后安装。安装完毕后,打开可以看到这个界面:
VBAudio ASIO Bridge.PNG
然后按照如下图示设置:
VBAudio ASIO Bridge-2.PNG VBAudio ASIO Bridge-3.PNG VBAudio ASIO Bridge-4.PNG VBAudio ASIO Bridge-5.PNG

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-12 01:56 | 显示全部楼层
vb-audio HI-FI cable 程序打开后,经常会弹出希望你捐款的窗口,如果你愿意可以捐点,支持一下软件的开发者。上述设置完毕后,关闭程序并不影响使用,也不会再弹出捐款框。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-12 04:48 | 显示全部楼层
接下来安装convolver,下载地址:https://sourceforge.net/projects/convolver/files/convolver/这个实际上是一个VST插件,数学意义是对数字信号进行卷积运算。下载最新版本:convolver4-4vc++.zip文件。解压后安装,需要记得安装路径,比如:c:\Program Files(x86)\convolver 然后,进入这个目录位置,再创建一个目录data,即c:\Program Files(x86)\convolver\data 这个位置准备存放分频器数据用。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-12 05:27 | 显示全部楼层
现在下载VSTHost,下载地址:http://hermannseib.com/english/vsthost.htm注意下载这个文件:vsthostx64.zip 这个软件不用安装,下载后解压放在任何你觉得方便的目录,进入解压目录,双击vsthost,运行后会在快速启动栏有个蓝色菱形图标,把这个图标固定在启动栏上,以后运行时就方便了。最后下载rePhase, 地址:https://sourceforge.net/projects/rephase/ 下载后解压到前面建立的目录data下面。到此,所需要的软件都已安装准备完毕。

37

主题

1

好友

2244

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
829612
帖子
2213
精华
0
经验
2244 点
金钱
2170 ¥
注册时间
2017-3-21
发表于 2017-4-12 11:35 | 显示全部楼层
dahe 发表于 2017-4-12 05:27
现在下载VSTHost,下载地址:http://hermannseib.com/english/vsthost.htm注意下载这个文件:vsthostx64.zi ...

vsthostx64.zip:这个下载连接不倒、很复杂的程序

37

主题

1

好友

2244

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
829612
帖子
2213
精华
0
经验
2244 点
金钱
2170 ¥
注册时间
2017-3-21
发表于 2017-4-12 11:44 | 显示全部楼层
玩著名的Linkwitz-Riley滤波器、我是把所有高通、低通的分频点分10级可调的、这样好处是重叠方面更加多选择

160

主题

7

好友

4283

积分
     

贵宾 当前离线

Rank: 3Rank: 3

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

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

发表于 2017-4-12 15:10 | 显示全部楼层
来认真听课!

29

主题

12

好友

3925

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
38523
帖子
4120
精华
0
经验
3925 点
金钱
3772 ¥
注册时间
2008-3-26
发表于 2017-4-12 16:24 来自手机端 | 显示全部楼层
非常有兴趣

1

主题

0

好友

600

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
827457
帖子
604
精华
0
经验
600 点
金钱
598 ¥
注册时间
2017-2-12
发表于 2017-4-12 22:37 | 显示全部楼层
数字音频也发烧,顶。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-12 23:52 | 显示全部楼层
来来又去去 发表于 2017-4-12 11:35
vsthostx64.zip:这个下载连接不倒、很复杂的程序

现在可以链接下载了。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 00:03 | 显示全部楼层
现在继续工作。首先选择声卡通道,我用的是德国坦克声卡6fire,可以用作三分频,下图的设置仅供参考,其它声卡应该类似:

6fie.png

分别选择1,2、3,4、5,6三组。采样频率选96KHz以及多通道。如下图:

6fie-2.png

37

主题

1

好友

2244

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
829612
帖子
2213
精华
0
经验
2244 点
金钱
2170 ¥
注册时间
2017-3-21
发表于 2017-4-13 00:05 | 显示全部楼层
dahe 发表于 2017-4-12 23:52
现在可以链接下载了。

下载了:谢谢

37

主题

1

好友

2244

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
829612
帖子
2213
精华
0
经验
2244 点
金钱
2170 ¥
注册时间
2017-3-21
发表于 2017-4-13 00:14 | 显示全部楼层
dahe 发表于 2017-4-12 05:27
现在下载VSTHost,下载地址:http://hermannseib.com/english/vsthost.htm注意下载这个文件:vsthostx64.zi ...

dahe你好:能否上你软件的设置图参考吗?并解释一下作用、非常感谢

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 00:22 | 显示全部楼层
打开VSTHost,即前面建议固定在启动栏的蓝色图标,如下图:

convolver.png

在工具栏点击devices,再选wave, 选择输入通道和输出通道,选择采样频率96KHz和缓冲。如下图:

convolver-1.png

在工具栏点击engine,选configure,检查一下输出和输入通道是否正确,如下图:
convolver-2.png convolver-3.png

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 00:25 | 显示全部楼层
本帖最后由 dahe 于 2017-4-13 00:30 编辑
来来又去去 发表于 2017-4-13 00:14
dahe你好:能否上你软件的设置图参考吗?并解释一下作用、非常感谢


我尽可能详细地按照我自己的设置步骤提供给大家参考。

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 00:28 | 显示全部楼层
如果没有显示正确的通道,请检查是否已经启动了HI-FI cable.

6

主题

1

好友

261

积分

业余侠客 当前离线

Rank: 4

UID
254029
帖子
204
精华
0
经验
261 点
金钱
198 ¥
注册时间
2010-10-25
 楼主| 发表于 2017-4-13 00:40 | 显示全部楼层
继续设置VSTHost,现在点击工具栏File,选new plugin,根据提示,到安装convolver的目录下,选择convolverVST.dll 参考下图:

convolver-4.png

点击打开,插件会自动连接,如下图:

convolver-5.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部