统计与自适应信号处理作业Word格式.docx
《统计与自适应信号处理作业Word格式.docx》由会员分享,可在线阅读,更多相关《统计与自适应信号处理作业Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
ft=y(:
1);
sigLength=length(ft)%获取声音长度
sound(y,Fs,bits);
%%播放声音
%绘制波形图
t=(0:
sigLength-1)/Fs;
figure
(1);
plot(t,ft),title('
theentirespeechwaveform'
),grid;
xlabel('
Time(s)'
%横轴是时间,不是采样数
ylabel('
Amplitude'
%求每帧信号的绝对值
%enframe分帧求出的各个帧放于矩阵的一行
f1=enframe(ft,hamming(160),80)%对信号进行分帧加汉明窗,窗长度为160,重叠为80
E=abs(mean(f1'
));
%求均值的绝对值,mean函数对矩阵的列求均值,所以求转置
figure
(2)
plot(E)
title('
每帧信号的绝对值'
)
帧数'
%绘制信号的方差
VAR=var(f1'
%求方差的绝对值
figure(3)
plot(VAR)
方差'
%绘制某一帧的波形图
figure(4)
f2=f1(55,:
%提取第28帧
plot(f2)
第55帧信号波形'
采样点数'
)%并不是真正的时间
%绘制一帧信号的自相关
figure(5)
Acorr=xcorr(f2);
%求这一帧信号的自相关
plot(Acorr);
这一帧图像的自相关'
%绘制一帧信号的功率谱
figure(6)
spec=spectrum(f2)%求这一帧信号的功率谱
plot(spec);
这一帧图像的功率谱'
三.实验结果与分析
运行上述程序后,结果如下图所示:
上图是语音信号的波形图,有wavread可知
信号的采样频率为8000Hz,信号采样点数为30001,图中横坐标是时间,单位秒(s)。
上图是每帧信号的绝对值,很明显,“山东大学”四个字对应的帧的绝对值较大。
上图是每帧信号的方差,很明显,“山东大学”四字对应的帧的方差较大。
上图是取自第55帧处的波形信号,横轴代表采样点。
上图是第55帧的自相关
上图是第55帧的功率谱。
CHAPTER5
二.实验步骤和程序
clc,clear,closeall
sigmaW=0.19;
sigmaV=1.4;
%w和v的方差
w=sqrt(sigmaW)*randn(100,1);
v=sqrt(sigmaV)*randn(100,1);
%假设对输入输出进行100次采样
s=filter([1],[10.8],w);
%s的表达式
x=filter([1],[1],s)+v;
%x的表达式
%期望输出与实际输入的互相关
rs0=1;
rs1=0.8;
rs2=0.8*0.8;
%自相关
rx0=2.5;
rx1=0.8;
rx2=0.8*0.8;
rxd=[rs0,rs1]'
;
%互相关
Rx=[rx0,rx1;
rx1,rx0];
%自相关矩阵
%由正则方程Rc=d求解预测系数c=R\d
c=Rx\rxd
y=filter(c,[1],x);
%绘制s和x的波形图
figure,subplot(211),
plot(s),
holdon,
plot(x,'
--r'
axis([0100-33])
legend('
s'
'
x'
s和x的波形图'
subplot(212)
plot(s),holdon
plot(y,'
.-r'
y'
s和y的波形图'
三.实验结果与分析
上面的一幅图中的蓝色实线是我们感兴趣的信号s(n)(取100个点),红色的点划线是被噪声干扰的信号x(n);
为了从x(n)中恢复s(n),设计一个二阶滤波器,得到y(n)就是对s(n)的估计,下面的一幅图中蓝色实线是我们感兴趣的信号s(n),红色的点划线是估计信号y(n),由图可以看出,y(n)能够估计s(n)的趋势,适当增大滤波器的阶数,可是提高预测的准确度。
CHAPTER7
本实验中,不妨采用前加窗的FIRLSE滤波器,程序如下
sigmaW=0.36;
sigmaV=1.5;
s=filter([1],[1-0.8],w);
%用前加窗的LS准则估计系统
[R_hat_prew,d_hat_prew]=lsmatvec('
prew'
x,80,s)
cls_prew=inv(R_hat_prew)*d_hat_prew
Ex_prew=x'
*x;
Els_prew=Ex_prew-d_hat_prew'
*cls_prew;
N=100;
M=2;
sigmaE_prew=Els_prew/(N-M)
cov_prew=sigmaE_prew*inv(R_hat_prew)
y=filter(cls_prew,[1],x);
%绘制s,x,s1的波形图
figure,
g'
holdon
r'
axis([0100-55])
前加窗(80阶)'
运行上述代码后结果如下图所示:
为了从x(n)中恢复s(n),设计一个五阶滤波器,得到y(n)就是对s(n)的估计,下面的一幅图中蓝色实线是我们感兴趣的信号s(n),红色的点划线是估计信号y(n),由图可以看出,y(n)能够估计s(n)的趋势,适当增大滤波器的阶数,可是提高预测的准确度。
改变滤波器的阶数,相应的预测误差也会改变,如下图所示,显然阶数越高,预测越准确。
10阶时:
50阶时:
80阶时:
100阶时:
CHAPTER8
二.实验步骤和程序
clc,clearall;
%%读取语音信号
[xfs]=wavread('
x1=enframe(x,160);
x2=x1(:
24);
window=boxcar(length(x2));
[Pxx,f]=periodogram(x2,window,1024,fs);
[ae]=aryule(x2,40)
%x3=randn(1,256);
y=filter(1,a,x2);
[px,w]=pyulear(y,40,1024,fs);
plot(f,10*log10(Pxx));
plot(w,10*log10(px),'
周期图法'
AR模型'
一帧信号的功率谱'
运行上述程序,结果如下图所示:
上面的一幅图中由AR模型得到的功率谱,下面的一幅图是由周期图法得到的功率谱。
由图可以看出,两种方法得到的功率谱,由图可以看出,由周期图法或AR模型得到的功率谱是一个有偏估计,功率谱波动的没有规律,甚至很难从观测中断定该信号有一个平坦的谱。
波动的大小不N的增加而减少,其平均值趋向于真实谱。