信号处理仿真题作业.docx

上传人:b****5 文档编号:11577083 上传时间:2023-03-19 格式:DOCX 页数:17 大小:117.41KB
下载 相关 举报
信号处理仿真题作业.docx_第1页
第1页 / 共17页
信号处理仿真题作业.docx_第2页
第2页 / 共17页
信号处理仿真题作业.docx_第3页
第3页 / 共17页
信号处理仿真题作业.docx_第4页
第4页 / 共17页
信号处理仿真题作业.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

信号处理仿真题作业.docx

《信号处理仿真题作业.docx》由会员分享,可在线阅读,更多相关《信号处理仿真题作业.docx(17页珍藏版)》请在冰豆网上搜索。

信号处理仿真题作业.docx

信号处理仿真题作业

 

 

仿

 

学号:

S1*******7

姓名:

贾雪婷

3.17在计算机上用如下方法产生随机信号

的观测样本:

首先产生一段零均值、方差为

的复高斯白噪声序列

;然后在

上叠加三个复正弦信号,它们的归一化频率分别是f1=0.15,f2=0.17和f3=0.26。

调整

和正弦信号的幅度,使在f1、f2和f3处得信噪比分别为30dB、30dB和27dB。

(1)令信号观测样本长度N=32,试用3.1.1节讨论的基于FFT的自相关函数快速计算方法估计出自相关函数

,并与教材式(3.1.2)估计出的自相关函数

做比较。

产生零均值、方差为1的复高斯白噪声序列y

>>y=randn(1,32);

>>y=y-mean(y);

>>y=y/std(y);

>>a=0;

>>b=sqrt

(2);

>>y=a+b*y

产生三个复正弦信号并产生观察样本:

>>N=32;

>>f1=0.15;

>>f2=0.17;

>>f3=0.26;

>>SNR1=30;

>>SNR2=30;

>>SNR3=27;

>>A1=10^(SNR1/20);

>>A2=10^(SNR2/20);

>>A3=10^(SNR3/20);

>>signal1=A1*exp(j*2*pi*f1*(0:

N-1));

>>signal2=A2*exp(j*2*pi*f2*(0:

N-1));

>>signal3=A3*exp(j*2*pi*f3*(0:

N-1));

>>un=signal1+signal2+signal3+y

基于FFT的自相关函数快速计算方法:

 N=32;

>>Uk=fft(un,2*N);

Sk=(1/N)*abs(Uk).^2;

r0=ifft(Sk);

r1=[r0(N+2:

2*N),r0(1:

N)];

>>figure

(1);

>>stem(real(r1));

>>figure

(2);

>>stem(imag(r1))

输出结果为:

图1基于FFT的自相关函数快速计算

实部:

虚部:

教材中式(3.1.2)估计自相关函数

>>r=xcorr(un,N-1,'biased');

>>figure

(1);

>>stem(real(r))

>>figure

(2);

>>stem(imag(r))

输出结果为:

图2教材式(3.1.2)估计的自相关函数

实部:

虚部:

(2)令信号观测样本长度N=256,试用BT法和周期图法估计

的功率谱,这里设BT法中所用自相关函数的单边长度M=64。

周期图法

N=256;

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

(2);

>>f1=0.15;

f2=0.17;

f3=0.26;

SNR1=30;

SNR2=30;

SNR3=27;

A1=10^(SNR1/20);

A2=10^(SNR2/20);

A3=10^(SNR3/20);

>>signal1=A1*exp(j*2*pi*f1*(0:

N-1));

signal2=A2*exp(j*2*pi*f2*(0:

N-1));

signal3=A3*exp(j*2*pi*f3*(0:

N-1));

>>xn=signal1+signal2+signal3+noise

NF=1024;

Spr=fftshift((1/NF)*abs(fft(xn,NF)).^2);

Spr=Spr/max(Spr);

t=[-0.5:

1/NF:

0.5-1/NF];

plot(t,10*log10(Spr));

图3周期图法所得功率谱

BT法

>>M=64;

>>r=xcorr(xn,M,'biased');

>>NF=1024;

>>BT=fftshift(fft(r,NF));

BT=BT/max(BT);

>>plot((-511:

512)/1024,10*log10(BT))图4BT法所得功率谱

(3)令信号观测样本长度N=256,试用Levinson-Durbin迭代算法求解AR模型的系数并估计

的功率谱,模型的阶数取为p=16。

p=16;

r0=xcorr(xn,p,'biased');

r=r0(p+1:

2*p+1);

a(1,1)=-r

(2)/r

(1);

sigma

(1)=r

(1)-(abs(r

(2))^2)/r

(1);

form=2:

p

k(m)=-(r(m+1)+sum(a(m-1,1:

m-1).*r(m:

-1:

2)))/sigma(m-1);

a(m,m)=k(m);

fori=1:

m-1

a(m,i)=a(m-1,i)+k(m)*conj(a(m-1,m-i));

end

sigma(m)=sigma(m-1)*(1-abs(k(m))^2);

end

NF=1024;

Par=sigma(p)./fftshift(abs(fft([1,a(p,:

)],NF)).^2);

Par=Par/max(Par);

plot((-511:

512)/1024,10*log10(Par))

图516阶AR模型的功率谱估计

3.18设随机过程

其中,

是零均值、方差为1的白噪声,

是相互独立并在

上服从均匀分布的随机相位。

使用MVDR方法进行信号频率估计的方针实验,画出频率估计谱线,并给出正弦信号频率的估计值。

(要求:

信号样本数取1000,估计的自相关矩阵为8阶)

解:

clearall;

%产生0均值,方差为1的复高斯白噪声序列v(n)

N=1000;

FS=1;

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

(2);

%产生带噪声的信号样本u(n)

signal1=exp(j*0.5*pi*(0:

N-1)/FS+j*2*pi*rand);

signal2=exp(-j*0.3*pi*(0:

N-1)/FS+j*2*pi*rand);

un=signal1+signal2+noise;

%利用un来估计自相关函数

r=zeros(1,N);

form=1:

N

forn=m:

N

r(m)=r(m)+un(n)*(un(n-(m-1)))';

end

r(m)=r(m)/N;

end

M=8;%设定横向滤波器的阶数

%利用自相关矩阵和自相关函数的关系,构建自相关矩阵

R=zeros(M,M);

fori=1:

M

forj=1:

M

ifi<=j

R(i,j)=r(1+j-i);%得到了M阶的矩阵R

else

R(i,j)=(r(1+i-j))';

end

end

end

N3=2048;%设定画图时描点的数目。

d=1/(N3-1);%求画图用的横坐标的间隔。

h=zeros(1,N3);

fori=1:

N3

h(i)=-0.5+(i-1)*d;

end

y=zeros(1,N3);

forj=1:

N3

w=h(j)*2*pi;

y(j)=10*log10(abs(getPMVDR(w,M,R)));

end

plot(h,y);

title('MVDR谱估计');

xlabel('\omega/2\pi');ylabel('归一化功率谱/dB');

axis([-0.50.5-161]);

图6MVDR谱估计

3.19复正弦加白噪声随机过程

同题3.18中所给。

试用MUSIC方法进行信号频率估计的仿真实验。

要求:

信号样本数取1000,估计的自相关矩阵为8阶)

(1)采用AIC和MDL准则估计信号源个数;

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;

fork=1:

N-M

xs(:

k)=un(k+M-1:

-1:

k).';

end

R=xs*xs'/(N-M);%自相关矩阵的特征值分解

[U,E]=svd(R);%U是特征矢量组成的矩阵,E是对角阵,对角元素是由大到小排列的特征值

ev=diag(E);%提取对角元素上的特征值;%根据AIC准则进行信号源个数的估计

fork=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);%计算AIC准则

end

[Amin,K]=min(AIC);

N1=K-1;%信号源个数估计

%根据MDL准则进行信号源个数的估计

fork=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);%计算DML准则

end

[Amin,K]=min(MDL);%寻找使DML准则最小的索引

N2=K-1;%信号源个数的估计

(2)根据

(1)中信源个数画出相应的MUSIC频率估计谱线。

%计算MUSIC谱

En=U(:

N1+1:

M);%噪声子空间的向量组成的矩阵

NF=2048;

forn=1:

NF

Aq=exp(-j*2*pi*(n-1)/NF*(0:

M-1)');

Pmusic(n)=1/(Aq'*En*En'*Aq);%music谱

Pmusic(n)=10*log10(Pmusic(n));

end

f=-0.5:

1/NF:

0.5-1/NF;

plot(f,Pmusic);

图7MUSIC谱估计

3.20复正弦加白噪声随机过程

同题3.18中所给。

试使用Root-MUSIC方法进行信号频率估计的仿真实验。

(要求:

信号样本数取1000,估计的自相关矩阵为8阶。

(1)计算正弦信号的频率估计值。

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;

fork=1:

N-M

xs(:

k)=un(k+M-1:

-1:

k).';

end

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

[U,E]=svd(R);

ev=diag(E);

G=U(:

3:

M);

Gr=G*G';

co=zeros(2*M-1,1);

form=1:

M

co(m:

m+M-1)=co(m:

m+M-1)+Gr(M:

-1:

1,m);

end

z=roots(co);

ph=angle(z)/(2*pi);

err=abs(abs(z)-1);

输出结果为:

最接近单位圆的两个根是:

-0.000102126882707680+1.00226420141169i

-0.000101665975924671+0.997740903255518i

上述根的归一化频率为:

0.250016217278963

0.250016217278959

(2)与MUSIC算法的估计结果比较。

En=G;

NF=2048;

forn=1:

NF

Aq=exp(-j*2*pi*(n-1)/NF*(0:

M-1)');

Pmusic(n)=1/(Aq'*En*En'*Aq);

Pmusic(n)=10*log10(Pmusic(n));

end

f=-0.5:

1/NF:

0.5-1/NF;

plot(f,Pmusic);

图8MUSIC谱估计

3.21复正弦加白噪声随机过程

同题3.18中所给。

试使用ESPRIT算法进行信号频率估计的仿真实验,给出正弦信号频率的估计值(要求:

信号样本数取1000,估计的自相关矩阵为8阶。

解:

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;

fork=1:

N-M

xs(:

k)=un(k+M-1:

-1:

k).';

end

Rxx=xs(:

1:

end-1)*xs(:

1:

end-1)'/(N-M-1);%计算自相关矩阵Rxx

Rxy=xs(:

1:

end-1)*xs(:

2:

end)'/(N-M-1);%计算互相关矩阵Rxy

%—————相关矩阵的特征值分解,寻找最小特征值————————%

[U,E]=svd(Rxx);%矩阵U是特征矢量组成的矩阵,E是对角阵,对角元素是由大到小排列的特征值

ev=diag(E);%提取对角元素上的特征值;

emin=ev(end);%获取最小特征值;

%——————构造矩阵对{Cxx,Cxy}————————%

Z=[zeros(M-1,1),eye(M-1);0,zeros(1,M-1)];%构造矩阵Z;

Cxx=Rxx-emin*eye(M);%计算Cxx;

Cxy=Rxy-emin*Z;%计算Cxy;

%——————矩阵对{Cxx,Cxy}的广义特征值分解————————%

[U,E]=eig(Cxx,Cxy);%广义特征值分解

z=diag(E);%提取对角矩阵中的特征值

ph=angle(z)/(2*pi);%求所有特征值的相位对应的归一化频率

err=abs(abs(z)-1);%与单位元的距离

输出结果为:

单次ESPRIT算法中最接近单位圆的两个特征值为:

0.588516696017445-0.809433346373638i

-0.00139435925779186+0.999262092748743i

上述特征值的相位对应的归一化频率为:

-0.149944811600338

0.250222082900873

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1