ADSP仿真报告Word格式.docx

上传人:b****6 文档编号:8647287 上传时间:2023-05-12 格式:DOCX 页数:12 大小:229.34KB
下载 相关 举报
ADSP仿真报告Word格式.docx_第1页
第1页 / 共12页
ADSP仿真报告Word格式.docx_第2页
第2页 / 共12页
ADSP仿真报告Word格式.docx_第3页
第3页 / 共12页
ADSP仿真报告Word格式.docx_第4页
第4页 / 共12页
ADSP仿真报告Word格式.docx_第5页
第5页 / 共12页
ADSP仿真报告Word格式.docx_第6页
第6页 / 共12页
ADSP仿真报告Word格式.docx_第7页
第7页 / 共12页
ADSP仿真报告Word格式.docx_第8页
第8页 / 共12页
ADSP仿真报告Word格式.docx_第9页
第9页 / 共12页
ADSP仿真报告Word格式.docx_第10页
第10页 / 共12页
ADSP仿真报告Word格式.docx_第11页
第11页 / 共12页
ADSP仿真报告Word格式.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

ADSP仿真报告Word格式.docx

《ADSP仿真报告Word格式.docx》由会员分享,可在线阅读,更多相关《ADSP仿真报告Word格式.docx(12页珍藏版)》请在冰点文库上搜索。

ADSP仿真报告Word格式.docx

x1(n)=sin(n*0.05*pi+rand(1,1)*2*pi);

end;

noise=randn(1,Num);

noise=(noise-mean(noise))/std(noise);

x2=filter([1,2,1],1,noise);

 

2、自相关函数

%%自相关函数

clc;

clearall;

Num=200;

[x1,x2]=GenerateSignal(Num);

C_x1=xcorr(x1);

C_x2=xcorr(x2);

Length=length(C_x1);

x_lb=1-Num;

x_ub=Length-Num;

%%画出自相关函数图形

figure

(1)

plot(x_lb:

x_ub,C_x1,'

-r'

);

%%axis([-55-5050]);

holdon;

x_ub,C_x2,'

-b'

legend('

输入信号x1(n)的自相关函数'

'

输入信号x2(n)的自相关函数'

2);

gridon;

3、LMS算法程序

%%LMS自适应算法

%%信号点数

x=x1+x2;

%%待处理信号x(n)

D=1;

%%D为选取的延时

r=[zeros(1,D),x];

%%序列x前加D个零,即延时D

x=[xzeros(1,D)];

%%序列x后加D个零

N=16;

%%滤波器的阶数

u=0.0003;

%%收敛参数

Length=length(r);

%%延时后向量的长度

y=zeros(1,Length);

%%初始化数据信号y(n)

w=zeros(1,N);

%%初始化权系数矩阵

e=zeros(1,Length);

%%初始化输出信号e(n)

%%LMS自适应

forn=N:

Length;

temp1=r(n:

-1:

n-N+1);

y(n)=w*temp1'

;

e(n)=x(n)-y(n);

w=w+2*u.*e(n).*temp1;

end

%%输入信号x1(n)与输出信号y(n)的比较图

t=1:

%%横坐标

plot(t,x1(1:

Num),'

%%axis([150200-33]);

plot(t,y(1:

输入信号x1(n)'

输出信号y(n)'

%%输入信号x2(n)与输出信号e(n)的比较图

figure

(2)

plot(t,x2(1:

%%axis([49005000-33]);

plot(t,e(1:

输入信号x2(n)'

输出信号e(n)'

四、程序输出图形

图2自相关函数

图3输入信号x1(n)与输出信号y(n)

图4输入信号x2(n)与输出信号e(n)

五、分析

由图2可以得到,当n=1的时候,对于窄带信号来说,可以认为仍然是相关的,而对于宽带噪声信号来说,可以认为不相关,所以时间间隔我们取1,然后滤波器阶数选为16以及收敛参数选为0.0003时LMS自适应可以得到还不错的结果。

由图3和图4我们能够看到,自适应滤波器有效地分离了有用信号与噪声信号,也就是有用信号得到了谱线增强。

4.25题

一、信号模型

,n=0,1,2,…,24;

是方差为1的复白噪声。

二、算法模型

1、PHD算法

a.根据取样自相关函数

求自相关矩阵R(x)。

b.根据特征方程求R(x)的特征值及特征向量,得到最小特征值的特征矢量。

c.根据公式

,得到正弦波的估计频率

2、MUSIC算法

a.先求自相关矩阵及其特征值和特征向量。

b.根据公式

,得到估计频率。

三、算法实现程序

1、PHD算法程序

a、信号产生函数

functionSignal=GenerateSignal(Var)

%%Var为方差

m=sqrt(-1);

%%复数j

sd=sqrt(Var);

%%标准差

n=0:

24;

x1=exp(m*2*pi*0.5*n)+exp(m*(2*pi*0.52*n+(pi/4)));

%%方差为Var的白噪声

v=randn(1,25);

v=(v-mean(v))/std(v);

v=sd*v;

%%产生信号

Signal=x1+v;

b、自相关函数

functionRx=Autocorrelation(xn,N)

%%求自相关矩阵

fork=0:

N-1

s=0;

forn=1:

N-k,

s=s+conj(xn(n))*xn(n+k);

end

rxx(1,k+1)=(1/N)*s;

Rx=toeplitz(rxx(1,1:

N));

c、PHD算法

N=3;

%%样本阶数

fstep=0.01;

fstart=0;

fend=1;

f=fstart:

fstep:

fend;

Var=1;

xn=GenerateSignal(Var);

%%产生x(n)

Rx=Autocorrelation(xn,N);

%%求自相关矩阵

[VD]=eig(Rx);

%%得到特征矢量与特征值

%%降序排列特征值特征矢量

diag(D);

[AI]=sort(diag(D),'

descend'

fori=1:

N;

V1(:

i)=V(:

I(i));

%%PHD算法的功率谱估计

Pphdf=zeros(1,1/fstep+1);

ei=zeros(1,N);

length(f)

forj=1:

N

ei(j)=exp(-2*pi*(j-1)*f(i)*m);

end;

sum=abs(ei*V1(:

N))^2;

Pphdf(1,i)=10*log10(1/sum);

%%功率谱的估计图

plot(f.*2*pi,Pphdf);

title('

基于PHD算法的功率谱估计'

ylabel('

功率谱幅度(dB)'

xlabel('

频率(w)'

2、MUSIC算法程序

c、MUSIC算法

N=12;

M=2;

fstep=0.001;

%%MUSIC算法的功率谱估计

Pmusicf=zeros(1,1/fstep+1);

sum=0;

fork=1:

N-M

sum=sum+abs(ei*V1(:

k+M))^2;

Pmusicf(1,i)=10*log10(1/sum);

plot(f.*2*pi,Pmusicf);

基于MUSIC算法的功率谱估计'

四、程序输出图形

图5基于PHD算法的功率谱估计

图6基于MUSIC算法的功率谱估计

从图形上看,MUSIC算法的估计更准确,PHD算法的估计偏差较大,这是与他们的估计特性有关。

PHD算法和MUSIC算法都是特征分解频率估计。

但是,自相关矩阵的阶数不同,PHD算法需要的阶数是M+1,也就是说PHD的估计总是使用特征值最小的对应的特征向量进行估计,而MUSIC算法需要的阶数越大越精确,而且在实际估计过程中需要选择比PHD算法更加高的分辨率,比如有几次仿真结果的出来的两个峰重合在了一起,两种算法的谱估计方法不同,各有优缺点。

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2