文本阅读:
8.5示例209
异,而对负频率则产生-t/2的相位差异。关于这一对滤波器的设计已经超出了本书的讨论范围(可以参阅【Reg93】等文献),但Pd提供了一个hilbert~抽象来完成这一任务。图8.31所示的示例H09.ssb.modulation.pd 演示了如何使用hilbert~抽象对信号进行单边带调制。
希尔伯特变换可以追溯到模拟时代【Str95,pp.129-132】。
用于测试信号的样本循环
Ipd be11-1oopl
|全通滤波器对,频移
|用来产生90°
Iphasor-l
|相移的版本
02月用来形成一个复正弦的实部
和虚部的余弦波和正弦波
|co8~||Co8~
|hilbert-
<--复乘法器
(计算实部)
(输出)
图8.3使用一个全通滤波器网络制作一个频移器把hilbert~的2个输出看成是一个复值信号的实部和虚部,对两者乘以一个复正弦(在图中的右侧),然后将实部作为输出。所得信号中的各分量就是输入中的那些分量被频移的结果,频移的量就是数字块中指定的那个(正的或负的)频率。
8.5.5直接使用基本滤波器:斜坡和尖峰预制滤波器的有限集合是无法满足每种可能的需求的,因此Pd提供了章节8.2.1~8.2.3所述基本滤波器的原始形式,用户则可以提供具体的滤波器参数。在本节中,我们将要描述的音色使用了基本滤波器来直接实现章节8.3.3和8.3.5中的斜坡和尖峰滤波器。首先引入6个实现基本滤波器的Pd对象
rzero~,rzero_rev~,rpole~:操作实值信号的实系数基本滤波器。这些对象分别实现了第1种形式的非循环滤波器、第2种形式的非循环滤波器和循环滤波器。它们在右侧都有一个输入口,用来提供设置零点或极点位置的参数。用于系数的输入口(以及用于被滤波信号的左输入口)接收的是音频信号。这里不进行稳定性检查。
czero~,czero_rev,cpole~:操作复值信号的复系数基本滤波器,对应于上面的实值对象。这些滤波器不是具有2个输入口和1个输出口,而是具有4个输入口(被滤波的信号的实部和虚部,系数的实部和虚部)和2个输出口用于复值输出。