现代信号处理大型作业汇总

发布 2022-07-17 06:09:28 阅读 9863

2023年现代信号处理大型作业。

选择1,2,3三道题)

一、请用多层感知器(mlp)神经网络误差反向传播(bp)算法实现异或问题(输入为,要求可以判别输出为0或1),并画出学习曲线。其中,非线性函数采用s型logistic函数。

1、原理:反向传播(bp)算法:

1)、多层感知器的中间隐层不直接与外界连接,其误差无法估计。

2)、反向传播算法:从后向前(反向)逐层“传播”输出层的误差,以间接算出隐层误差。分两个阶段:

正向过程:从输入层经隐层逐层正向计算各单元的输出。

反向过程:由输出层误差逐层反向计算隐层各单元的误差,并用此误差修正前层的权值。

2、流程图:

3、程序:使用了3层结构,第二层隐藏层4个单元。2,3层都使用logisitic函数。

训练xor数据。

function mlp()

f= fopen(''

a = fscanf(f, 'g',[3 inf]);

a = a;

p = a(1:2, :训练输入数据。

t = a(3, :desire out

[train_num , input_scale]= size(p) ;规模。

fclose(f);

accumulate_error=zeros(1,3001);

alpha = 0.5;%学习率。

threshold = 0.005;% 收敛条件 ∑e^2 < threshold

wd1=0; wd2=0;

bd1=0; bd2=0;

circle_time =0;

hidden_unitnum = 4; %隐藏层的单元数。

w1 = rand(hidden_unitnum,2);%4个神经元,每个神经元接受2个输入。

w2 = rand(1,hidden_unitnum);%一个神经元,每个神经元接受4个输入。

b1 = rand(hidden_unitnum,1);

b2 = rand(1,1);

while 1

temp=0;

circle_time = circle_time +1;

for i=1:train_num

%前向传播。

a0 = double ( p(i,:)第i行数据。

n1 = w1*a0+b1;

a1 = logistic(n1);%第一个的输出。

n2 = w2*a1+b2;

a2 = logistic(n2);%第二个的输出。

a = a2;

%后向传播敏感性。

e = t(i,:)a;

accumulate_error(circle_time) =temp + abs(e)^2;

temp=accumulate_error(circle_time

s2 = f(a2)*e; %输出层delta值

s1 = f(a1)*w2'*s2;%隐层delta值。

%修改权值。

wd1 = alpha .*s1*a0';

wd2 = alpha .*s2*a1';

w1 = w1 + wd1;

w2 = w2 + wd2;

bd1 = alpha .*s1;

bd2 = alpha .*s2;

b1 = b1 + bd1;

b2 = b2 + bd2;

end;%end of for

if accumulate_error(circle_time) 3001 %then break;

end;%end of if

end;%end of while

plot(accumulate_error,'m');

grid;xlabel('学习次数')

ylabel('误差')

disp(['计算误差 = num2str(accumulate_error(circle_time

disp(['迭代次数 = num2str(circle_time)])

测试。a0 = double ([0 0]')

n1 = w1*a0+b1;

a1 = logistic(n1);

n2 = w2*a1+b2;

a2 = logistic(n2);

a = a2;

disp(['0 0 = num2str(a)])

a0 = double ([0 1]')

n1 = w1*a0+b1;

a1 = logistic(n1);

n2 = w2*a1+b2;

a2 = logistic(n2);

a = a2;

disp(['0 1 = num2str(a)])

a0 = double ([1 0]')

n1 = w1*a0+b1;

a1 = logistic(n1);

n2 = w2*a1+b2;

a2 = logistic(n2);

a = a2;

disp(['1 0 = num2str(a)])

a0 = double ([1 1]')

n1 = w1*a0+b1;

a1 = logistic(n1);

n2 = w2*a1+b2;

a2 = logistic(n2);

a = a2;

disp(['1 1 = num2str(a)])

m=0;function [a]= logistic(n)

a = 1./(1+exp(-n));

function [result]= f(a)

r,c] =size(a);

result = zeros(r,r);

for i =1:r

result(i,i) =1-a(i))*a(i);

end;4、实验结果:

计算误差 = 0.0049993

迭代次数 = 2706

5、学习曲线图:

图1 mlp

二、试用用奇阶互补法设计两带滤波器组(高、低通互补),进而实现四带滤波器组;并画出其频响。滤波器设计参数为:fp=1.

7khz, fr=2.3khz, fs=8khz, armin≥70db。

1、设计步骤:

1)对fp、fr进行预畸。

2)计算,判断是否等于1,即该互补滤波器是否为互补镜像滤波器。

3)计算相关系数。

4)互补镜像滤波器的数字实现。

2、程序:function filter2()

fp=1700;fr=2300;fs=8000;

wp=tan(pi*fp/fs);

wr=tan(pi*fr/fs);

wc=sqrt(wp*wr);

k=wp/wr;

k1=sqrt(sqrt(1-k^2));

q0=0.5*(1-k1)/(1+k1);

q=q0+2*q0^5+15*q0^9+150*q0^13;

n=11;n2=fix(n/4);

m=fix(n/2);

n1=m-n2;

for jj=1:m

a=0;for m=0:5

a=a+(-1)^m*q^(m*(m+1))*sin((2*m+1)*pi*jj/n);%n is odd, u=jenda

b=0;for m=1:5

b=b+(-1)^m*q^(m^2)*cos(2*m*pi*jj/n);endb

w(jj)=2*q^0.25*a/(1+2*b);

v(jj)=sqrt((1-k*w(jj)^2)*(1-w(jj)^2/k));

endfor i=1:n1

alpha(i)=2*v(2*i-1)/(1+w(2*i-1)^2);

endfor i=1:n2

beta(i)=2*v(2*i)/(1+w(2*i)^2);

endfor i=1:n1

a(i)=(1-alpha(i)*wc+wc^2)/(1+alpha(i)*wc+wc^2);

endfor i=1:n2

b(i)=(1-beta(i)*wc+wc^2)/(1+beta(i)*wc+wc^2);

endw=0:0.0001:0.5;

lp=zeros(size(w));hp=zeros(size(w));

for n=1:length(w)

z=exp(j*w(n)*2*pi);

h1=1;for i=1:n1

h1=h1*(a(i)+z^(-2))/1+a(i)*z^(-2))

endh2=1/z;

for i=1:n2

h2=h2*(b(i)+z^(-2))/1+b(i)*z^(-2));

endlp(n)=abs((h1+h2)/2);

hp(n)=abs((h1-h2)/2);

end plot(w,lp,'k',w,hp,'m');

hold on;

xlabel('数字频率');

ylabel('幅度');

3、实验结果:

图2 两带滤波器。

4、四带滤波器组程序:

function filterfour

fp=1700;fr=2300;fs=8000;

wp=tan(pi*fp/fs);

wr=tan(pi*fr/fs);

wc=sqrt(wp*wr);

k=wp/wr;

k1=sqrt(sqrt(1-k^2));

q0=0.5*(1-k1)/(1+k1);

现代信号处理作业

中国矿业大学。20 级硕士研究生课程考试试卷。考试科目现代信号处理基础 考试时间。学生姓名。学生学号。所在院系信电学院 任课教师。中国矿业大学研究生院培养管理处印制。一 自适应滤波。1 自适应df的工作原理 自适应滤波器是以最小均方误差为准则的最佳滤波器,它能自动调节其本身的单位脉冲响应h n 特性...

现代信号处理作业

中北大学。研究生 现代信号处理 作业。所在院 系 信息与通信工程学院 专业 测试计量技术及仪器 姓名王栋。学号 s20100329 班级 y100503 156 小波变换与matlab相关程序的学习 小波变换是在傅里叶变换的基础上发展起来的,它优于傅里叶分析的地方是它在时域与空域都是局部化的,其局部...

现代信号处理作业

1.总结学过的滤波器设计方法,用matlab 例子分析不同设计方法的滤波器的性能及适应场合。答 1.1模拟低通滤波器的设计方法。1.1.1 butterworth滤波器设计步骤 确定阶次n 1 已知 c s和as求butterworth df阶数n 由 求出n 2 已知 c s和 p 的衰减ap 求...