信号处理基础 何子述版 第三章仿真题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

-0.5

-0.4-0.3-0.2-0.1

00.10.20.30.40.5

-45-40-35-30-25-20-15-10-5

016阶AR 模型的功率谱估计

w/2π

归一化功率谱/d B

图4 16阶AR 模型的功率谱估计

16阶AR 模型的系数如下:

a

)

16(1

,

a

)16(2

,...,

a

)

16(16

为:

-0.4113 - 0.9298i -0.0425 + 0.0537i -0.0282 - 0.0590i 0.0507 - 0.0576i 0.0429 + 0.0284i -0.0303 + 0.0354i -0.0636 - 0.0168i 0.0349 - 0.0179i 0.0226 - 0.0052i 0.0026 + 0.0597i -0.0223 + 0.0002i 0.0071 - 0.0387i 0.0185 - 0.0062i

0.0055 + 0.0212i

-0.0146 + 0.0256i

-0.0506 - 0.0719i

216

=60.1647

3.18 clear N=1000;

noise=(randn(1,N)+j*randn(1,N))/sqrt(2); signal1=exp(j*0.5*pi*(0:N-1)+j*2*pi*rand); signal2=exp(-j*0.3*pi*(0:N-1)+j*2*pi*rand); un=signal1+signal2+noise; M=8;

for k=1:N-M

xs(:,k)=un(k+M-1:-1:k).'; end

R=xs*xs'/(N-M);

NF=2048; for n=1:NF

Aq=exp(-j*2*pi*(n-1)/NF*(0:M-1)'); Pmvdr(n)=1/(Aq'*inv(R)*Aq); end

Pmvdr=10*log10(Pmvdr /max(Pmvdr)); dw=2*pi/length(Pmvdr); df=dw/(2*pi); figure;

plot(-pi/(2*pi):df:pi/(2*pi)-df,Pmvdr); title('MVDR 谱估计'); xlabel('w/2π');

ylabel('归一化功率谱/dB');

-0.5

-0.4-0.3-0.2-0.1

00.10.20.30.40.5

-12-10

-8

-6

-4

-2

MVDR 谱估计

w/2π

归一化功率谱/d B

3.19 clear N=1000;

noise=(randn(1,N)+j*randn(1,N))/sqrt(2); signal1=exp(j*0.5*pi*(0:N-1)+j*2*pi*rand); signal2=exp(-j*0.3*pi*(0:N-1)+j*2*pi*rand); un=signal1+signal2+noise; M=8;

for k=1:N-M

xs(:,k)=un(k+M-1:-1:k).';

R=xs*xs'/(N-M);

[U,E]=svd(R);

ev=diag(E);

>> for k=1:M

dec=prod(ev(k:M).^(1/(M-k+1)));

nec=mean(ev(k:M));

lnv=(dec/nec)^((M-k+1)*N);

AIC(k)=-2*log(lnv)+2*(k-1)*(2*M-k+1);

end

>> [Amin,K]=min(AIC);

>> N1=K-1;

根据AIC准则进行单次信号源估计,程序运行结果N1=2。

clear

N=1000;

noise=(randn(1,N)+j*randn(1,N))/sqrt(2);

signal1=exp(j*0.5*pi*(0:N-1)+j*2*pi*rand);

signal2=exp(-j*0.3*pi*(0:N-1)+j*2*pi*rand);

un=signal1+signal2+noise;

M=8;

for k=1:N-M

xs(:,k)=un(k+M-1:-1:k).';

end

R=xs*xs'/(N-M);

[U,E]=svd(R);

ev=diag(E);

for k=1:M

dec=prod(ev(k:M).^(1/(M-k+1)));

nec=mean(ev(k:M));

lnv=(dec/nec)^((M-k+1)*N);

MDL(k)=-log(lnv)+(k-1)/2*(2*M-k+1)*log(N);

end

[Amin,K]=min(MDL);

N2=K-1

根据MDL准则进行单次信号源估计,程序运行结果N2=2。

clear

N=1000;

noise=(randn(1,N)+j*randn(1,N))/sqrt(2);

signal1=exp(j*0.5*pi*(0:N-1)+j*2*pi*rand);

signal2=exp(-j*0.3*pi*(0:N-1)+j*2*pi*rand);

un=signal1+signal2+noise;

相关文档
最新文档