随机信号处理实验.docx
《随机信号处理实验.docx》由会员分享,可在线阅读,更多相关《随机信号处理实验.docx(12页珍藏版)》请在冰豆网上搜索。
随机信号处理实验
随机序列的产生与统计分析
一、实验内容与目标:
利用计算机产生常见随机序列,并对不同分布的随机序列进行统计分析,目的是了解随机信号的产生与主要统计分析方法。
1)利用计算机产生常见随机序列;
2)随机序列的统计特性分析与特征估计;
3)数字图像直方图的均衡;
1、实验任务
1)利用计算机产生正态分布、均匀分布和指数分布的随机数,分别画出200点和2000点的波形,计算上面三种分布的均值与方差的理论值,并画出理论的概率密度(图),利用计算机分析画出这3种随机序列分别在100、5000和10000点的概率密度、均值与方差,比较分析不同长度下的统计结果;
模块一:
正态分布:
其概率密度为
图形一正态随机数产生:
x=normrnd(0,1,[1,200])
图形二正态随机数产生:
x=normrnd(0,1,[1,2000]);
图形三正态随机数产生:
x=normrnd(0,1,[1,2000]);x1=normrnd(4,5,[1,2000]);
图形一是均值为0,方差为1,200点的正态分布波形;
图形二是均值为0,方差为1,2000点的正态分布波形;
图形三红色波形是均值为0,方差为1,200点的正态分布波形;蓝色波形是均值为0,方差为1,200点的正态分布波形;
模块二:
Ⅰ正态分布
均值和方差计算公式:
分析画出这种随机序列分别在100、5000和10000点的概率密度,如下图:
表一:
不同长度下的正态分布统计结果
理论值
100点
5000点
10000点
均值
0
0.0138
0.0195
-0.0092
方差
1
0.7606
0.9898
0.9684
图一为100点正态概率密度函数图;图二为5000点正态概率密度函数图;
图三为10000点正态概率密度函数图;
结论:
100,5000,10000点的正态概率密度曲线的比较看出,取点越多,概率密度曲线与理论概率密度曲线越接近,其均值和方差也越接近理论计算均值和方差。
所取的随机变量越多,其统计特性越接近理论统计特性
模块三:
均匀分布的:
0-1分布,其概率密度为
图形一均匀随机数产生:
x=rand(200,1)
图形二均匀随机数产生:
x=rand(100,5);
图形三均匀随机数产生:
x=rand(200,1)黄色波形;x1=rand(200,5)蓝色波形;
图形四均匀随机数产生:
x=rand(200,1)黄色波形;x1=rand(200,5)蓝色波形;
模块四:
Ⅱ均匀分布的均值和方差:
均值和方差计算公式:
分析画出这种随机序列分别在100、5000和10000点的概率密度,如下图:
表二、不同长度下的均匀分布统计结果
理论值
100点
5000点
10000点
均值
0.5
0.5209
0.4970
0.5037
方差
0.83
0.0718
0.0846
0.0835
图一为100点均匀概率密度函数图;图二为5000点均匀概率密度函数图;
图三为10000点均匀概率密度函数图;
结论:
100,5000,10000点的均匀概率密度曲线的比较看出,取点越多,概率密度曲线与理论概率密度曲线越接近,其均值和方差也越接近理论计算均值和方差。
所取的随机变量越多,其统计特性越接近理论统计特性
模块五:
(1)指数分布:
图形一指数随机数产生:
x=exprnd(2,200,1);
图形二指数随机数产生:
x=exprnd(2,2000,1);
图形三指数随机数产生:
x=exprnd(2,200,1)为黄色波形;x1=exprnd(5,200,1)为蓝色波形;
模块六:
均值和方差计算公式:
分析画出这种随机序列分别在100、5000和10000点的概率密度,如下图:
表三、不同长度下的指数分布统计结果
理论值
100点
5000点
10000点
均值
2
2.0559
1.9993
2.0122
方差
4
5.7294
4.1452
4.0242
图一为100点指数概率密度函数图;图二为5000点指数概率密度函数图;
图三为10000点指数概率密度函数图;
结论:
100,5000,10000点的均匀概率密度曲线的比较看出,取点越多,概率密度曲线与理论概率密度曲线越接近,其均值和方差也越接近理论计算均值和方差。
所取的随机变量越多,其统计特性越接近理论统计特性
模块七:
2)实现一个信号处理的应用实例:
处理所给图片素材(Lena.jpeg),进行图像直方图的均衡,画出原始图像和经过均衡处理后的图像直方图,并做比较分析
从上述效果图可以看出,经过直方图均衡化处理后,图像变的清晰了,从直方图来看,处理后的图像直方图分布更均匀了,在每个灰度机上图像都有像素点。
但是直方图均化后存在着两个缺点:
(1)变化后的图像灰度级减少,某些细节消失;
(2)某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。
语音信号处理
模块八:
在MATLAB中,[y,fs,bits]=wavread('Blip',[N1N2]);用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。
[N1N2]表示读取从N1点到N2点的值。
X=wavrecord(t,fs,ch);用来采集声音;t表示录音时间,fs采样频率,ch声道。
读取语音信号:
yu=wavread('I:
\MATLAB\suiji\audio.wav',[12000]);
图一:
显示从1点到200点的波形;
图二:
显示从1点到2000点的波形。
模块九:
读取语音信号:
yu=wavread('I:
\MATLAB\suiji\audio.wav',[120000]);
自相关函数为:
C=xcorr(yu);
图一为取20点的自相关函数;
图二为取200点的自相关函数;
图三为取2000点的自相关函数;
图四为去20000点的自相关函数。
同一时间函数在瞬时t和t+a的两个值相乘积的平均值作为延迟时间t的函数,它是信号与延迟后信号之间相似性的度量。
延迟时间为零时,则成为信号的均方值,此时它的值最大。
模块十:
语音短时分析:
一定时宽的语音信号,其能量的大小随时间有明显的变化。
其中清音段(以清音为主要成份的语音段),其能量比浊音段小得多。
短时过零数也可用于语音信号分析中,发浊音时,其语音能量约集中于3kHz以下,而发清音时,多数能量出现在较高频率上,可认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数,因而,对一短时语音段计算其短时平均能量及短时平均过零数,就可以较好地区分其中的清音段和浊音段,从而可判别句中清、浊音转变时刻,声母韵母的分界以及无声与有声的分界
图一为整个语音波形
图二为求短时能量{h=linspace(1,1,N);En=conv(h,x.*x);}
用法:
linspace(x1,x2,N)
功能:
linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。
其中x1、x2、N分别为起始值、终止值、元素个数。
若缺省N,默认点数为100。
相关函数:
logspace
用法:
x=ligspace(a,b,n)
功能:
ligspace(a,b,n)生成一个(1xn)数组,数据的第一个元素值为10^a,最后一个元素为10^b,n是总采样点数。
需要注意的是,此时产生的数组元素在10^a到10^b上并不是均匀分布的,而形成一个对数曲线。
conv(St,Ht);(卷积函数)
Ht为信号St的匹配滤波器的时域脉冲/冲激响应,Ht=St*(t0-t),*表示取共轭,t0是使滤波器物理可实现所附加的时延。
理论分析时,可令t0=0,于是可重写为:
Ht=St*(-t)
模块十一:
对于卷积性信号,其频谱是相互叠加在一起的。
不能通过简单的滤波器将其分开,需要对信号进行同态处理。
比如语音信号可以视为声门激励信号与声道冲激响应的卷积。
同态语音信号分析的目的就是将激励源与声道冲激响应分开来分别进行研究,尽量获得准确的激励源与声道冲激响应的估计
图一为倒谱滤波器
图二为语音信号波形
图三为语音波形的fft变换取绝对值然后再取对数
模块十二:
LP分析:
实验要求:
写一个MATLAB程序转换一帧语音信号,从一组线性预测系数。
画出LPC分析谱叠加在相应的特性。
图一为原始波形;
图二红色线性预测数据,蓝色为LPC分析频谱;
图三单独画出LPC频谱。
模块十三:
基因估计:
实验要求:
编写一个程序,以利用LPC-based方法实现基因估计和语音/非语音处理。
模块十四:
实验要求:
Writeaprogramtoimplementthebasicspectralmagnitudesubtraction.
图一为原始波形;
图二为加噪信号;
图三为语音加强信号。
模块十五:
预加重:
即语音信号通过一个一阶高通滤波器
。
例如:
y=filter([1-0.9375],1,x)
利用subplot画出预加重前后的波形图。
图一为预加重前波形;
图二为预加重后波形
模块十六:
读取语音信号的原始波形,x为原始波形数据:
[x,fs,bits]=wavread('ding.wav’,[10245120]);
图一计算原始信号频谱,把值赋给X:
X=fft(x,4096);
计算原始信号幅值,把值赋给magX:
magX=abs(X);
计算原始信号的相位,把值赋给angX:
angX=angle(X);
程序运行过程中可以听到声音:
模块十七:
已知该语音信号,数据采样频率为100Hz,试分别绘制N=128点DFT的幅频图和N=1024点DFT幅频图。
绘出图形如下:
程序运行过程中有声音;
图一为128点的幅频图;
图二为在图一计算结果的点中取半,即为图一的前半波形;
图三为1024点的幅频图;
图四在图三计算结果的点中取半,即为图三的前半波形;
模块十八:
图一为滤波前波形,图二为滤波前滤波频谱,对用IIR滤波器5阶高通滤波器{N=5;wc=0.3;[b,a]=butter(N,wc,'high');},对语音信号进行滤波,得到滤波后图三为波形,图四为频谱:
放音语音信号:
sound(x);
滤波后波形矩阵:
y=filter(b,a,x);
滤波后频谱矩阵:
Y=fft(y);
模块十九:
图一为滤波前波形,图二为滤波前滤波频谱,对用IIR滤波器5阶低通滤波器{N=5;wc=0.3;[b,a]=butter(N,wc);},对语音信号进行滤波,得到滤波后图三为波形,图四为频谱:
放音语音信号:
sound(x);
滤波后波形矩阵:
y=filter(b,a,x);
滤波后频谱矩阵:
Y=fft(y);
模块二十:
图一为滤波前波形,图二为滤波前滤波频谱,对用IIR滤波器10阶带通滤波器{N=5;wc=[0.3,0.6];[b,a]=butter(N,wc);}对语音信号进行滤波,得到滤波后图三为波形,图四为频谱:
放音语音信号:
sound(x);
滤波后波形矩阵:
y=filter(b,a,x);
滤波后频谱矩阵:
Y=fft(y);
模块二十一:
图一为滤波前波形,图二为滤波前滤波频谱,对用IIR滤波器10阶带阻滤波器{N=5;wc=[0.2,0.7];[b,a]=butter(N,wc,'stop');},对语音信号进行滤波,得到滤波后图三为波形,图四为频谱:
[b,a]=butter(N,wc);
放音语音信号:
sound(x);
滤波后波形矩阵:
y=filter(b,a,x);
滤波后频谱矩阵:
Y=fft(y);
模块二十二:
图一为滤波前波形,图二为滤波前滤波频谱,对用FIR滤波器10阶带阻滤波器{N=5;wc=[0.2,0.7];[b,a]=butter(N,wc,'stop');},对语音信号进行滤波,得到滤波后图三为波形,图四为频谱:
放音语音信号:
sound(x);
滤波后波形矩阵:
z=fftfilt(b,x);
滤波后频谱矩阵:
Z=fft(z);