数字信号处理实验Word文件下载.docx
- 文档编号:989565
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:10
- 大小:147.81KB
数字信号处理实验Word文件下载.docx
《数字信号处理实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验Word文件下载.docx(10页珍藏版)》请在冰点文库上搜索。
四、实验程序与实验结果
(1)用周期图法进行谱估计
A、实验程序:
%用周期法进行谱估计
clearall;
N1=128;
%数据长度
N2=256;
N3=512;
N4=1024;
f=2;
%正弦波频率,单位为kHZ
fs=100;
%抽样频率,单位为kHZ
n1=0:
N1-1;
n2=0:
N2-1;
n3=0:
N3-1;
n4=0:
N4-1;
a=sqrt(20);
%由信噪比为10dB计算正弦信号的幅度
wn1=randn(1,N1);
xn1=a*sin(2*pi*f*n1./fs)+wn1;
Pxx1=10*log10(abs(fft(xn1).^2)/N1);
%周期法求功率谱
f1=((0:
length(Pxx1)-1))/length(Pxx1);
wn2=randn(1,N2);
xn2=a*sin(2*pi*f*n2./fs)+wn2;
Pxx2=10*log10(abs(fft(xn2).^2)/N2);
f2=((0:
length(Pxx2)-1))/length(Pxx2);
wn3=randn(1,N3);
xn3=a*sin(2*pi*f*n3./fs)+wn3;
Pxx3=10*log10(abs(fft(xn3).^2)/N3);
f3=((0:
length(Pxx3)-1))/length(Pxx3);
wn4=randn(1,N4);
xn4=a*sin(2*pi*f*n4./fs)+wn4;
Pxx4=10*log10(abs(fft(xn4).^2)/N4);
f4=((0:
length(Pxx4)-1))/length(Pxx4);
subplot(2,2,1);
plot(f1,Pxx1);
xlabel('
频率'
);
ylabel('
功率(dB)'
title('
功率谱Pxx,N=128'
subplot(2,2,2);
plot(f2,Pxx2);
功率谱Pxx,N=256'
subplot(2,2,3);
plot(f3,Pxx3);
功率谱Pxx,N=512'
subplot(2,2,4);
plot(f4,Pxx4);
功率谱Pxx,N=1024'
B、实验仿真结果:
(2)采用汉明窗,分段长度L=32,用修正的周期图求平均法进行谱估计
A:
实验程序:
N=512;
Ns=32;
%分段长度
f1=2;
n=0:
N-1;
wn=randn(1,N);
xn=a*sin(2*pi*f1*n./fs)+wn;
w=hamming(32)'
;
%汉明窗
Pxx1=abs(fft(w.*xn(1:
32),Ns).^2)/norm(w)^2;
Pxx2=abs(fft(w.*xn(33:
64),Ns).^2)/norm(w)^2;
Pxx3=abs(fft(w.*xn(65:
96),Ns).^2)/norm(w)^2;
Pxx4=abs(fft(w.*xn(97:
128),Ns).^2)/norm(w)^2;
Pxx5=abs(fft(w.*xn(129:
160),Ns).^2)/norm(w)^2;
Pxx6=abs(fft(w.*xn(161:
192),Ns).^2)/norm(w)^2;
Pxx7=abs(fft(w.*xn(193:
224),Ns).^2)/norm(w)^2;
Pxx8=abs(fft(w.*xn(225:
256),Ns).^2)/norm(w)^2;
Pxx9=abs(fft(w.*xn(257:
288),Ns).^2)/norm(w)^2;
Pxx10=abs(fft(w.*xn(289:
320),Ns).^2)/norm(w)^2;
Pxx11=abs(fft(w.*xn(321:
352),Ns).^2)/norm(w)^2;
Pxx12=abs(fft(w.*xn(353:
384),Ns).^2)/norm(w)^2;
Pxx13=abs(fft(w.*xn(385:
416),Ns).^2)/norm(w)^2;
Pxx14=abs(fft(w.*xn(417:
448),Ns).^2)/norm(w)^2;
Pxx15=abs(fft(w.*xn(449:
480),Ns).^2)/norm(w)^2;
Pxx16=abs(fft(w.*xn(481:
512),Ns).^2)/norm(w)^2;
Pxx=10*log10((Pxx1+Pxx2+Pxx3+Pxx4+Pxx5+Pxx6+Pxx7+Pxx8+Pxx9+Pxx10+Pxx11+Pxx12+Pxx13+Pxx14+Pxx15+Pxx16)/16);
f=((0:
length(Pxx)-1))/length(Pxx);
plot(f,Pxx);
加窗平均周期图法功率谱Pxx,N=512'
gridon;
B:
实验仿真结果:
五.参考文献:
[1]丁玉美,阔永红,高新波.数字信号处理-时域离散随机信号处理[M].西安:
西安电子科技大学出版社,2002.
[2]万建伟,王玲.信号处理仿真技术[M].长沙:
国防科技大学出版社,2008.
Matlab仿真程序如下:
%编卡尔曼滤波递推程序,估计信号x(t)的波形
clc;
Ak=exp(-0.02);
%各系数由前面确定;
Ck=1;
Rk=0.1;
p
(1)=20;
%各初值;
Qk=1-exp(-0.04);
p1
(1)=Ak*p
(1)*Ak'
+Qk;
%由p1代表p'
;
x
(1)=0;
%设信号初值为0;
H
(1)=p1
(1)*Ck'
*inv(Ck*p1
(1)*Ck'
+Rk);
zk=[-3.2,-0.8,-14,-16,-17,-18,-3.3,-2.4,-18,-0.3,-0.4,-0.8,-19,-2.0,-1.2,-11,-14,-0.9,0.8,10,0.2,0.5,-0.5,2.4,-0.5,0.5,-13,0.5,10,-12,0.5,-0.6,-15,-0.7,15,0.5,-0.7,-2.0,-19,-17,-11,-14]%zk为测量出来的离散值;
N=length(zk);
%要测量的点数;
fork=2:
N
p1(k)=Ak*p(k-1)*Ak'
%未考虑噪声时的均方误差阵;
H(k)=p1(k)*Ck'
*inv(Ck*p1(k)*Ck'
%增益方程;
I=eye(size(H(k)));
%产生和H(k)维数相同的单位矩阵;
p(k)=(I-H(k)*Ck)*p1(k);
%滤波的均方误差阵;
x(k)=Ak*x(k-1)+H(k)*(zk(k)-Ck*Ak*x(k-1));
%递推公式;
end,
x%显示信号x(k)的数据;
m=1:
N;
n=m*0.02;
plot(n,zk,'
-r*'
n,x,'
-bo'
%便于比较zk和x(k)在同一窗口输出;
t/s'
'
Fontsize'
16);
z(t),x(t)'
fontsize'
卡尔曼滤波递推——x(t)的估计波形与z(t)波形'
16)
legend('
观测数据z(t)'
信号估计值x(t)'
2);
grid;
四.实验结果
五.实验小结
通过卡尔曼滤波估计信号与观测信号比较知,卡尔曼滤波输出的估计信号
与实际观测到的离散值
还是存在一定的误差,卡尔曼滤波是从初始状态就采用递推方法进行滤波,那么在初值迭代后的一段时间内可能会出现较大的误差,随着迭代进行,各参数逐渐趋于稳定,后面的估计值与观察值的误差就减少了。
六.参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验