原创 [蛋疼帖]用Matlab生成HIFI煲机粉红噪声

2009-11-10 12:23 3805 4 4 分类: 工程师职场

之前已经利用MATLAB工具产生了白噪声和带限白噪声,但是褒机的时候,我们还采用了粉红噪声来褒机。所谓粉红噪声,即功率谱密度与频率成反比的频谱的信号,Npow?~1/f。在粉噪音中,每个倍频程带着一个相等的数额的噪声功率。

粉红噪声斜率为-3dB/oct,一般以一阶滤波器的斜率为-6dB/oct。因此可以由多个一阶滤波器组合得到,但是这里已经有Robert Bristow-Johnson大神给出了参数,所以这里直接设计:(悄悄地说,其实这个参数有点早了,导致曲线不是很精确。。。)

pole zero
---- ----
0.99572754 0.98443604
0.94790649 0.83392334
0.53567505 0.07568359

利用MATLAB里面的zpk函数:

Hz = zpk([0.98443604 0.83392334 0.07568359],[0.99572754 0.94790649 0.53567505],1,1/44100);

察看其频率响应:

点击看大图

然后再将零极点传递函数转为多项式形式:

Hz2 = get(tf(Hz));

num_temp = cell2mat(Hz2.num());

den_temp = cell2mat(Hz2.den(1));

wav2 = filter(num_temp,den_temp,wav);

最后可以看到频谱如图:

点击看大图







PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条