失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 白化滤波器 matlab 白化滤波器-matlab-程序.doc

白化滤波器 matlab 白化滤波器-matlab-程序.doc

时间:2021-05-18 05:57:01

相关推荐

白化滤波器 matlab 白化滤波器-matlab-程序.doc

随机信号分析实验

PAGE

3 -

白化滤波器

原理

在统计信号处理中,往往会遇到等待处理的随机信号是非白色的,例如云雨、海浪、地物反射的杂乱回波等,它们的功率谱即使在信号通带内也非均匀分布。这样会给问题的解决带来困难。克服这一困难的措施之一是对色噪声进行白化处理。主要内容是设计一个稳定的线性滤波器,将输入的有色噪声变成输出的白噪声。

在这里,我们就对一般的具有功率谱的平稳随机过程X(t)白化处理问题进行讨论。为了具体的进行分析和计算,假设可以表达成有理数的形式,即

其中分子、分母为多项式。这个假设对于通常见到的功率谱是很近似的,而且有可行的方法用有理数去逼近任意的功率谱密度。

由于是功率谱,它的平稳随机过程相关函数的傅里叶变换具有非负的实函数和偶函数的性质。这些性质必然在其有理函数的表示式中体现出来,特别是,的零、极点的分布和数量会具有若干个特点。

由于是实函数,因此有:,是实数,的零、极点是共轭成对的。从而也可以把的表示式写成如下形式:

把开拓到复平面s中去,另。用s代替就可以把函数扩大到整个复平面。的零、极点必将对称于轴,如图13所示:

图13

由于是偶函数,因此不难判断,的零、极点是象限对称的,从而对于轴也是对称的。

由于,因此分子的虚根必然是偶数,否则会出现负值。这就是说轴上的零、极点必将成对的出现。

由于是可积的,因此分子的阶数不能大于分母的阶数,这就是说零点总数不会大于极点总数,而且分母不可能有虚根,这意味着轴上没有极点。

综合上述情况,在s平面的零、极点的可能位置如上图所示:

令:

则有

其中代表零、极点均在s左平面的部分,代表零、极点均在s右平面的部分。若在轴上有零点的话,必是成对的。则将一个放在内,将另一个放在内。实质上,对应的时域函数在负时间域为零,而对应的时域函数在正时间域为零。

根据上述的讨论,可以求得白化滤波器的解析式为:

由于

故得:

若运用傅里叶变换进行分析计算,以s代替,可得白化滤波器公式:

其中

我们知道,的傅里叶反变换是白化滤波器在时域的单位冲击响应,零、极点在s左半平面,因此的零、极点也是在s左半平面。故它对应的时域函数在负时域时为零,也就是说,上述白化滤波器是物理可实现的。

白化滤波器的设计方法是:

首先计算色噪声自相关函数,根据色噪声的自相关函数,计算出色噪声的功率谱(色噪声的自相关函数和功率谱构成一对傅里叶变换对),然后根据公式

程序

%*******色噪声的产生*******************%

Fs=44100;[x1,Fs]=wavread('E:\matlab\work\混合信号\色噪声.wav');

L1=length(x1)/10;

x=x1(1:44100);

l1=0:L1-1;

t=l1/Fs;

figure(1);

plot(t,x,'-r');

title('色噪声');

%******统计色噪声*******************

E=mean(x); %色噪声的均值E = -0.0054

S=var(x); %色噪声的方差S = 0.0324

%**************求色噪声概率密度函数*****************%

eachi=linspace(min(x),max(x),42);

yyi=hist(x,eachi); %计算各个区间的个数

yyi=yyi/length(x); %对各个区间的个数归一化处理

figure(8); %绘制色噪声的概率密度函数

plot(eachi,yyi,'-k')

title('色噪声的概率密度函数')

%***************色噪声自相关函数 *****%

Rx=xcorr(x,x); %色噪声的自相关函数Rx

tau=(-L1+1:L1-1)/Fs;

figure(2);

plot(tau,Rx,'-r')

title('色噪声的自相关函数'); %色噪声的自相关函数波形

xlabel('\tau'),ylabel('R_x(\tau)');

grid on;

hold on;

%*************** 色噪声功率谱密度 *****%

R=fft(Rx); %自相关函数的傅里叶变换即是功率谱密度

cm=abs(R);

fl=(0:length(R)-1)*44100/length(R);

figure(3)

plot(fl(1:length(fl)/2),cm(1:length(fl)/2),'-b')

title('色噪声的功率谱')

如果觉得《白化滤波器 matlab 白化滤波器-matlab-程序.doc》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。