白化滤波器.docx
《白化滤波器.docx》由会员分享,可在线阅读,更多相关《白化滤波器.docx(10页珍藏版)》请在冰豆网上搜索。
白化滤波器
白化滤波器-matlab-程序
Gx()的零、极点的分布和数量会具有若干个特点。
Gx()可以表达成有理数的形式,
Gx()的平稳
白化滤波器
原理
在统计信号处理中,往往会遇到等待处理的随机信号是非白色的,例如云雨、海浪、地物反射的杂乱回波等,它们的功率谱即使在信号通带内也非均匀分布。
这样会给问题的解决带来困难。
克服这一困难的措施之一是对色噪声进行白化处理。
主要内容是设计一个稳定的线性滤波器,将输入的有色噪声变成输出的白噪声。
在这里,我们就对一般的具有功率谱
随机过程X(t)白化处理问题进行讨论。
为了具体的进
行分析和计算,假设
即
Gx()a2(
Z1)
......(
Zn)
Zn
m
(
1)......
(
m)
其中分子、分母为多项式。
这个假设对于通常见到的功率谱是很近似的,而且有可行的方法用有理数去逼近任意的功率谱密度。
由于Gx()是功率谱,它的平稳随机过程相关函数的傅里叶变换具有非负的实函数和偶函数的性质。
这些性质必然在其有理函数的表示式中体现出来,特别
是,
随机信号分析实验
由于Gx()是实函数,因此有:
Gx()G*x(),a2是实数,Gx()的零、极点是共轭成对的。
从而也可以把Gx()的表示式写成如下形式:
(j
1)......(j
k)
(j
1)......(j
k)
Gx()a
1)......(j
l)
a
1)......(j
l)
(j
(j
把开拓到复平面s中去,另s
j。
用s代替j就
可以把函数Gx()扩大到整个复平面。
Gx()的零、极点必将对称于轴,如图13所示:
图13
由于Gx()是偶函数,因此不难判断,Gx()的零、极点是象限对称的,从而对于j轴也是对称的。
由于Gx()0,因此分子的虚根必然是偶数,否则Gx()会出现负值。
这就是说j轴上的零、极点必将成对的出现。
由于Gx()是可积的,因此分子的阶数不能大于分母的阶数,这就是说零点总数不会大于极点总数,而且分母不可能有虚根,这意味着j轴上没有极点。
综合上述情况,在s平面的零、极点的可能位置如
-3-
随机信号分析实验
上图所示:
令:
Gx
(
)
(j
1)......(j
k)
a
1)......(j
l)
(j
Gx
(
)
(
j
1)......(
j
k)
a
j
1)......(
j
l)
(
则有
*
Gx()Gx()Gx()Gx()Gx()
其中Gx()代表零、极点均在s左平面的部分,Gx()代表零、极点均在s右平面的部分。
若在j轴上有零点
的话,必是成对的。
则将一个放在Gx()内,将另一个放在Gx()内。
实质上,Gx()对应的时域函数在负时间域为零,而Gx()对应的时域函数在正时间域为零。
根据上述的讨论,可以求得白化滤波器H1()的解析式为:
|H1()|2
1
Gx()
由于
|H1()|2
H1()H
Gx()Gx()Gx(
*
1
()
H1()H1(
)
)
Gx()Gx(
)
故得:
1
H1()
Gx()
若运用傅里叶变换进行分析计算,以s代替j,可得白化滤波器公式:
-4-
随机信号分析实验
H1(s)
1
其中sj
Gx(s)
我们知道,H1()的傅里叶反变换是白化滤波器在
时域的单位冲击响应h1(t),Gx()零、极点在s左半平面,
因此1的零、极点也是在s左半平面。
故它对应的时
Gx()
域函数h1(t)在负时域时为零,也就是说,上述白化滤波器是物理可实现的。
白化滤波器的设计方法是:
首先计算色噪声自相关函数,根据色噪声的自相关函数,计算出色噪声的功率谱(色噪声的自相关函数和功率谱构成一对傅里叶变换对),然后根据公式
|H1()|2
1
Gx()
程序
%*******色噪声的产生*******************%
混合信
号色噪声.wav');
L1=length(x1)/10;
x=x1(1:
44100);
l1=0:
L1-1;
t=l1/Fs;
-5-
随机信号分析实验
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
-6-
随机信号分析实验
tau=(-L1+1:
L1-1)/Fs;
figure
(2);
plot(tau,Rx,'-r')
title('色噪声的自相关函数');%色噪声的自
相关函数波形
xlabel('\tau'),ylabel('R_x(\tau)');
gridon;
holdon;
%***************色噪声功率谱密度*****%
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('色噪声的功率谱')
holdon;
gridon;
Yz=length(z);
-7-
随机信号分析实验
Lz=0:
Yz-1;
Tz=Lz/Fs;
figure(9)
plot(Tz,z,-r’);
title(白噪‘声’)
%******白化滤波器的产生****************%
k=sqrt(cm);
c=1./k;
figure(4);
plot(fl(1:
length(fl)/2),c(1:
length(fl)/2),'-b')
title('白化滤波器滤波特性')
%****************统计白噪声**************%
ci=ifft(c);%白化滤波器在时域特性
h(t)
z=conv(x,ci);%(色噪声与h(t)的
卷积,输出白噪声)
Eo=mean(z);%白噪声的均值Eo
=-7.5587e-006
-8-
随机信号分析实验
So=var(z);%白噪声的方差So
=6.2662e-005
%**************求白噪声概率密度函数
*****************%
eacho=linspace(min(z),max(z),42);
yyo=hist(z,eacho);%计算各个区间的个数
yyo=yyo/length(z);%对各个区间的个数归一化处理
figure(7);%绘制白噪声的概率密度函数
plot(eacho,yyo,'-k')
title('白噪声的概率密度函数')
%***************输出信号自相关函数*****%
Rz=xcorr(z,z);%输出白化噪声的自相
关函数Rz
tau2=(-length(z)+1:
length(z)-1)/Fs;
figure(5);
plot(tau2,Rz,'-r')
title('输出白化噪声的自相关函数');%输出
白化信号的自相关函数波形xlabel('\tau2'),ylabel('R_z(\tau2)');gridon;
-9-
随机信号分析实验
holdon;
%***************输出信号功率谱密度*****%
Ro=fft(Rz);%自相关函数的傅里叶变换即是功
率谱密度
cmo=abs(Ro);
f2=(0:
length(Ro)-1)*44100/length(Ro);
figure(6);
plot(f2(1:
length(f2)/2),cmo(1:
length(f2)/2),'-b');
title('输出信号的功率谱');
holdon;
gridon;
-10-