ADSP仿真作业.docx

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

ADSP仿真作业.docx

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

ADSP仿真作业.docx

ADSP仿真作业

西安电子科技大学

高级数字信号处理

仿真实验

 

学院:

通信工程学院

专业:

通信与信息系统

学号:

1501120069

姓名:

张威

任课老师:

阔永红

 

一仿真题目

GenerateastationaryprocessAR

(2)denotedby

.Supposethat

Here,theparametersof

aredeterminedbyyourselves.Thengenerateawhitenoisewiththevariance

.Thereceivedsignalis

withavariableSNR.PutthereceivedthesignaltoaWiener-filter,thelengthofthefilterisN.Andtheoutputisdenotedby

.

StudyontherelationshipbetweenthecostfunctionandSNRofthesignal,providedthelengthoftheWiener-filterisgiven.

Studyontherelationshipbetweenthecostfunctionandlengthofthefilter,providedtheSNRisgiven.

3.Whenone-steppredictionisdone,howaboutthecostfunctionvarieswiththeSNRandlengthoftheWiener-filter.

二实验原理和方法

本仿真实验主要运用维纳-霍夫方程:

矩阵形式:

滤波器参数:

代价函数

其中:

为输入滤波器的序列x(n)的自相关矩阵,

是s(n)与x(n)的互相关函数。

为s(n)的期望响应功率。

为滤波器的代价函数

本仿真实验通过选取

,利用迭代产生序列s(n)(1

M阶),并随机产生噪声v(n)(1

M阶),可以计算得到x(n)=s(n)+v(n)。

然后计算信噪比SNR,采用如下公式:

其中

通过输入序列x(n)通过

计算自相关函数进而生成自相关矩阵R。

接着构造长度为N的Wiener滤波器,求得x(n)与s(n)的互相关函数

,然后再利用维纳-霍夫方程

求出

,由Wiener滤波器对x(n)进行滤波处理,得到相应的s(n),计算代价函数

三实验结果

1当N=8,Var_W=1.0时,通过改变Var_V的值得到下表:

Var_V

SNR

P

0.1

20.7786

0.0097

0.2

14.7580

0.0381

0.3

11.2362

0.1358

0.4

8.7374

0.2674

0.5

6.7992

0.4151

0.6

5.2156

0.5703

0.7

3.8767

0.7293

0.8

2.7168

0.8906

0.9

1.6938

1.0540

通过输入以下程序段:

SNR=[20.778614.758011.23628.73746.79925.21563.87672.71681.6938];

P=[0.00970.03810.13580.26740.41510.57030.72930.89061.0540];

plot(SNR,P);title('N=8,Var_W=1.0的情况下信噪比SNR和代价函数P的关系');

xlabel('SNR(dB)');ylabel('P');

可以得到如下图形:

由上面的曲线可以看出:

随着输入信噪比

的增大,代价函数P逐渐变小。

与代价函数的计算式相符合。

2Var_V=0.5,Var_W=1.0,SNR=6.7992dB,通过改变N的值得到下表:

N

P

1

0.1946

2

0.2062

3

0.1977

4

0.1967

5

0.1961

6

0.1981

7

0.1980

8

0.2017

9

0.1980

通过输入以下程序段:

N=[123456789];

P=[0.19460.20620.19770.19670.19410.19810.19800.20170.1980];

stem(N,P);;

title('Var_W=1.0,SNR=6.7992dB的情况下滤波器长度N和代价函数P的关系)');

xlabel('N');ylabel('P');

可以得到如下图形

:

由上面的曲线可以看出:

随着Wiener滤波器的长度

的增加,代价函数P趋于平稳,基本不变。

这说明单靠增加Wiener滤波器的长度

来提高滤波器性能的方法是行不通的。

3

(1)N=8,Var_W=1.0,通过改变Var_V的值得到下表:

Var_V

SNR

0.1

20.7786

0.8439

0.2

14.7580

0.87077

0.3

11.2362

0.9069

0.4

8.7374

0.9489

0.5

6.7992

0.9940

0.6

5.2156

1.0400

0.7

3.8767

1.0857

0.8

2.7168

1.1305

0.9

1.6938

1.1739

通过输入以下程序段:

SNR=[20.778614.758011.23628.73746.79925.21563.87672.71681.6938];

P_f=[0.84390.87070.90690.94890.99401.04001.08571.13051.1739];

plot(SNR,P_f);title('N=8,Var_W=1.0的情况下信噪比SNR和代价函数P的关系');

xlabel('SNR(dB)');ylabel('P_f');

可以得到如下图形:

由上面的曲线可以看出:

随着加性噪声V的标准差Var_V的增大,输入信噪比

减小,代价函数

随之增大。

结果与代价函数的计算式相符合。

(2)Var_V=0.5,Var_W=1.0,SNR=6.7992dB,通过改变N的值得到下表:

N

J

1

0.9251

2

0.9489

3

0.9200

4

0.9028

5

0.9575

6

0.9733

7

0.9736

8

0.9940

9

0.9954

通过输入以下程序段:

N=[123456789];

P_f=[0.92510.94890.92000.90280.95750.97330.97360.99400.9954];

stem(N,P_f);axis([190.81.0]);

title('Var_W=1.0,SNR=6.7992dB的情况下滤波器长度N和代价函数P的关系');

xlabel('N');ylabel('P_f');

可以得到如下图形:

由上面的曲线可以看出:

代价函数

在滤波器长度N=4的时候达到最小值0.9028。

附录

源代码

%--------------------------------------------------

clc;

clear;

%Givenparameters

Var_V=0.1;%Var_V->加性噪声V的标准差

M=100;%M->产生的信号的长度

N=8;%N->Wiener滤波器的长度

Var_W=1.0;

%产生发射信号S(n),取a1=0.5,a2=0.25

randn('state',0);

W=sqrt(Var_W)*randn(1,M);%W->用于在AR模型中产生信号S(n)的白噪声

a1=0.5;

a2=0.25;

S=zeros(1,M);%S->信号的时间序列模型

S

(1)=W

(1);

S

(2)=W

(2);

forn=3:

M;

S(n)=a1*S(n-1)+a2*S(n-2)+W(n);

end;

%产生X(n)

randn('state',1);

V=Var_V*randn(1,M);%V->S(n)经传输后加入的噪声

X(n)=S(n)+V(n);%X(n)->发射信号加入噪声后的接收到的信号,即输入Wiener滤波器的信号

%计算信噪比SNR

S_Power=mean(S.^2);

N_Power=mean(V.^2);

SNR=10*log10(abs(S_Power/N_Power));%SNR->信噪比

%构造长度为N的Wiener滤波器

r=zeros(1,N+1);

forn=0:

N;

temp=0;

forc=(n+1):

M;

temp=temp+X(c)*X(c-n);

end;

r(n+1)=(1/M)*temp;

temp=0;

end;

R=zeros(N,N);%R->信号X(n)的自相关矩阵,维数为(N-1)*(N-1)

R(1,:

)=r(1:

N);

forrow=2:

N;

R(row,1)=r(row);

R(row,2:

N)=R(row-1,1:

N-1);

end;

P=zeros(1,N);%P->X(n)与S(n)的互相关

X_temp=X;

fork=0:

N-1;

X_temp(1:

M-k)=X(1+k:

M);

X_temp(M-k+1:

M)=0;

P(k+1)=1/M*X_temp*S';

end;

Wo=zeros(1,N);

Wo=inv(R)*P';

Wo=Wo';

%由Wiener滤波器进行滤波处理,得到Y(n)

Y_temp=conv(Wo,X);

Y=Y_temp(1:

M);

%计算代价函数J

E=zeros(1,M);

E=S-Y;

P=mean(E.^2);%P->代价函数;

disp('P=');

disp(P)

disp('SNR=');

disp(SNR);

%一步线性预测

N_P=N;

A_P=zeros(N_P);

r_p=zeros(1,N_P);

r_p=r(2:

N+1);

A_P=A_P';

A_P=inv(R)*(r_p')

Y_P_temp=conv(A_P,X);

Y_P=zeros(1,M);

Y_P(3:

M)=Y_P_temp(1:

M-2);

%计算J_P

E_P=zeros(1,M);

E_P=S-Y_P;

J_P=mean(E_P.^2);

disp('J_P=');

disp(J_P);

%figure

(2)

%stem(Y_P);

%--------------------------------------------------

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

当前位置:首页 > 求职职场 > 简历

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

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