实验二 随机信号处理的工程编程实现
一、实验目的
1,熟悉各种随机信号分析及处理方法。
2,掌握运用MATLAB中的统计工具包和信号处理工具对信号进行相关函数的处理 3,学会如何对用函数处理后的信号进行分析 二、实验原理 1,声称白噪声
白噪声是指功率谱密度在整个频域内均匀分布的噪声。 所有频率具有相同能量的随机噪声称为白噪声。白噪声或白杂讯,是一种功率频谱密度为常数的随机信号或随机过程。换句话说,此信号在各个频段上的功率是一样的,由于白光是由各种频率(颜色)的单色光混合而成,因而此信号的这种具有平坦功率谱的性质被称作是“白色的”,此信号也因此被称作白噪声。 2,白噪声的检测与分析
白噪声信号是的功率谱密度在整个频域内时间均匀分布的,所有的频率具有相同的能量。它是一个均值为零的随机过程,任一时刻是均值为零的随机变量。而服从高斯分布的白噪声即称为高斯白噪声。 3,声音信号
声音信号是指人能够听得到的声音,在实验中我们可以用MATLAB中的wavrecord()函数来录取一段音频信号或者将其他的音频信号导入到MATLAB工程中进行分析。注意,音频文件要转换为*.wav格式,因为其他的格式MATLAB软件不识别。声音信号如图1
y = wavread('filename') [y,Fs,bits] = wavread('filename') [...] = wavread('filename',N) [...] = wavread('filename',[N1 N2]) [...]
=
wavread('filename','size'
图1 原声音信号 4,声音信号的分析与处理
我们在实际生产生活中接触到的各种信号,如耳朵听到的声音信号、电话机送出的语音电流信号、摄像机输出的图像信号、车间控制室记录下的压力、流量、转速、温度、湿度等等信号都是模拟信号。由于它在时间或取值上往往是连续的,即在一定的时间间隔或取值幅度内有无限多个值,或者说它们的取值是连续的时间函数,因此,模拟信号通常又称为连续信号。 5,对声音信号加入白噪声后进行分析与处理
在声音信号中加噪声后对声音信号进行频域变换,然后对其进行滤波还原,将还原的信号和和原信号对比,看处理效果和理论值的差别。加躁之后的图形如图2 = rand(n) Y = rand(m,n) Y = rand([m n]) Y = rand(m,n,p,...) Y = rand([m n p...]) Y = rand(size(A)) rand
s = rand('state')
图2加躁后的声音信号 6,IIR滤波器的原理与设计
利用双线性变换设计IIR滤波器(只介绍巴椭圆字滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。 7、 概率密度估计
概率密度估计有两个函数,一个是 ksdensity(),另一个是 hist()。ksdensity()函数直接估计随机序列概率密度,它的用法是:
[f,xi] = ksdensity(x)
它的功能是估计用矢量 x 表示的随机序列在 xi 处的概率密度 f。也可以指定 xi,估计对应点的概率密度值,用法为:
f = ksdensity(x,xi)
8,最大似然函数估计
当被估计量为未知常量时,不能采用贝叶斯方法,这时可以采用比较简单的最大似然估计。最大似然估计可以简便地实现复杂估计问题的求解,而且,当观测数据足够多时,其性能也是非常好的。因此,最大似然估计在实际中得到了广泛采用。 设观测矢量的参数θ
作为对θ
,把
称为似然函数,使似然函数最大所对应
,即
的估计,称为最大似然估计,记为
9,信号的互相关
互相关函数是两个随机过程联合统计特性中重要的数字特征,它的定义为
三,实验内容 1,声称白噪声
在这里,我们用MATLAB仿真软件中的rand(m,n)函数来产生白噪声,将产生的白噪声的图形进行分析图形结果如图3
图3
在MATLAB中的仿真结果如上图1,上图中我们用函数rand(1,200)来产生200个随机点,然后将产生的点在图像中反映出来,从图中我们看到,虽然用生成的是同一个点,但是画出的三个图形走向完全独立,相互之间没有联系。说明,生成的白噪声是一个随机信号,其产生的过程是一个随即过程。 2,白噪声的检测与分析
可以根据随机信号的功率谱、均值、和随机信号的分布来判断白噪声。如图2
图4
图2中,我们用生成了一个1000点的高斯白噪声,要确认所产生的随机信号是不是高斯白噪声,我们对产生的信号进行概率密度、功率谱密度、均值分析,从分析得到结果图我们可以看出,高斯白噪声的概率密
度服从正态分布,功率谱密度在所有频域内是常数,能量相等,而均值在整个区间内为零。与理论分析的结果一致。
3,对声音信号的处理与分析 ⑴,FFT变换 原声音信号如图5
图5
图6
图7
Y = fft(X) Y = fft(X,n) Y = fft(X,[],dim) Y = fft(X,n,dim)
上图中,图6和图7是对元音频信号图5进行的FFT变换观察信号在频域中的特性,图6取的100个点进行分析,图7取的1000个点进行分析。从上面的分析结果可以看出,取100个点时,图形稀疏,但是能够完全显示出时域到频域的所有信息,但是此时的幅值只有2左右。但是取1000个点的时候,频域图形很密集,而幅值达到了200,可以看出虽然取的点数的多少不影响频域中的信息,但是影响频域中的幅值。
⑵功率谱分析
对信号的功率谱的分析有很多中方法,下面为其中的3种常见的方法。如下图8,9
图8 图9
在图8和图9中我们分别用,哈明窗周期谱、汉宁窗周期谱和韦尔奇功率谱分别对音频信号的功率谱在频域中的分布进行分析。图8中,在频域中取的100个点进行分析,在图9中我们取的1000个点对功率谱进行分析,从图像中我们看到,点数越多他的幅值就越大,点数少其幅值就比较小。因此,功率谱的幅值也与取样的点数有关。同时,对功率谱的分析发现,幅值较大的信号放大得厉害,幅值小的信号反而更加小。因此功率谱对随机信号有欺负小信号的特性。
⑶概率密度估计
随机数据的概率密度函数:表示瞬时幅值落在某指定范围内的概率,因此是幅值的函数。它随所取范围的幅值而变化。而概率密度估计是对随机信号的概率密度进行估计来描绘出估计的图形,描绘的结果如图10。
[f,xi] = ksdensity(x) f = ksdensity(x,xi) [f,xi,u] = ksdensity(...) [...] = ksdensity(...,'param
图10
上面的图形是调用MATLAB中的ksdensity()函数来仿真出来的。在软件中,我们将音频信号录入到函数中,