📄 dsp3.m
字号:
%DSP3.m
N=1024;
%w=normrnd(0,1,1,N);%产生干扰为均值为0,方差为1的高斯噪声;
FLAG=0;%利用FLAG做标记,若FLAG=0,则绘制BODE图,否则,直接绘制频谱图;
NE=1024;
L=1;
t=0:NE-1;
a=[1,-0.8];
b=1;
x=filter(b,a,w);
Omiga=-pi:0.1:pi;
Fw=1./(1-0.8.*exp(-i.*Omiga));
PS=abs(Fw).^2;
figure(1);
[Pxx,Ew]=MyPSD(x,NE,1);
[Pxx2,Ew2]=MyPSD(x,NE,2);
[Pxx8,Ew8]=MyPSD(x,NE,8);
figure(2);
%绘制噪声信号w(n);
subplot(1,2,1);
plot(t,w(1:NE),'r:');
title('White Noise in Time Domain');
xlabel('n');
ylabel('\omega(n)');
axis square
grid on;
%绘制平稳随机信号x(n);
subplot(1,2,2);
plot(t,x(1:NE),'b');
title('信号时域波形');
xlabel('n');
ylabel('x(n)');
axis square
grid on;
%绘制平稳随机信号x(n)的理想功率谱密度;
clf
figure(3);
subplot(2,2,1);
if FLAG==0
plot(Omiga,10*log10(PS),'b');
ylabel('P_{xx}(\varpi)/dB');
else
plot(Omiga,PS,'b');
ylabel('P_{xx}(\varpi)');
end
title('信号理想功率谱');
xlabel('\varpi');
%axis square
grid on;
%绘制平稳随机信号x(n)的估计功率谱密度;
%clf
%figure(4);
subplot(2,2,2);
if FLAG==0
plot(Omiga,10*log10(PS),'b',Ew,10*log10(Pxx),'r:');
ylabel('P_{xx}(\varpi)/dB');
else
plot(Omiga,PS,'b',Ew,Pxx,'r:');
ylabel('P_{xx}(\varpi)');
end
title(['信号估计功率谱(L=',num2str(L),'),(N=',num2str(NE),')']);
xlabel('\varpi');
%axis square;
grid on;
subplot(2,2,3);
if FLAG==0
plot(Omiga,10*log10(PS),'b',Ew2,10*log10(Pxx2),'r:');
ylabel('P_{xx}(\varpi)/dB');
else
plot(Omiga,PS,'b',Ew2,Pxx2,'r:');
ylabel('P_{xx}(\varpi)');
end
title(['信号估计功率谱(L=',num2str(2),'),(N=',num2str(NE),')']);
xlabel('\varpi');
%axis square;
grid on;
subplot(2,2,4);
if FLAG==0
plot(Omiga,10*log10(PS),'b',Ew8,10*log10(Pxx8),'r:');
ylabel('P_{xx}(\varpi)/dB');
else
plot(Omiga,PS,'b',Ew8,Pxx8,'r:');
ylabel('P_{xx}(\varpi)');
end
title(['信号估计功率谱(L=',num2str(8),'),(N=',num2str(NE),')']);
xlabel('\varpi');
%axis square;
grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -