T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx

上传人:聆听****声音 文档编号:982524 上传时间:2023-04-29 格式:DOCX 页数:22 大小:1.18MB
下载 相关 举报
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第1页
第1页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第2页
第2页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第3页
第3页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第4页
第4页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第5页
第5页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第6页
第6页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第7页
第7页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第8页
第8页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第9页
第9页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第10页
第10页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第11页
第11页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第12页
第12页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第13页
第13页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第14页
第14页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第15页
第15页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第16页
第16页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第17页
第17页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第18页
第18页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第19页
第19页 / 共22页
T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx

《T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx》由会员分享,可在线阅读,更多相关《T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx(22页珍藏版)》请在冰点文库上搜索。

T数字信号处理(MATLAB版)上机实验操作【DOC精选】Word文档格式.docx

25;

x=(t>

=0);

s=filter(b,a,x);

stem(n,s)

StepResponse'

ylabel('

s(n)'

3.>

a=[1,-0.5,0.06];

b=[1,1];

n=-20:

120;

x1=exp(-0.05*n).*sin(0.1*pi*n+pi/3);

s1=filter(b,a,x1);

%分子分母系数ba构成的滤波器对矢量x1滤波

stem(n,s1);

;

xlabel('

s1(n)'

4.>

h=impz(b,a,n);

y=conv(x1,h);

m=-50:

length(y)-51;

stem(m,y);

title('

系统响应'

m'

y(m)'

实验二离散信号与系统的连续频域分析

1、掌握离散时间信号的DTFT的MATLAB实现;

2、掌握离散时间系统的DTFT分析;

3、掌握系统函数和频率相应之间的关系。

1、自定义一个长度为8点的信号,信号幅度值也由自己任意指定,对该信

号作DTFT,分别画出幅度谱和相位谱

2、已知离散时间系统差分方程为y(n)-0.5y(n-1)+0.06y(n-2)=x(n)+x(n-1),求出并画出其频率响应

3、求该系统系统函数,并画极零点图,并通过freqz函数求频率响应。

上机操作

1

n=0:

7;

x=(0.9*exp(j*pi/3)).^n;

w=-pi:

pi/200:

pi;

X=x*exp(-j).^(n'

*w);

magX=abs(X);

angX=angle(X);

subplot(2,1,1);

plot(w/pi,magX);

w/pi'

幅度|X|'

subplot(2,1,2);

plot(w/pi,angX);

相位(rad/π)'

2

b=[1,1,0];

m=0:

length(b)-1;

l=0:

length(a)-1;

w=0:

pi/500:

num=b*exp(-j*m'

den=a*exp(-j*l'

H=num./den;

magH=abs(H);

angH=angle(H);

H1=freqz(b,a,w);

magH1=abs(H1);

angH1=angle(H1);

subplot(2,2,2);

plot(w/pi,angH/pi);

grid;

w(frequencyinpiunits)'

subplot(2,2,1);

plot(w/pi,magH);

幅度|H|'

subplot(2,2,3);

plot(w/pi,magH1);

幅度|H1|'

subplot(2,2,4);

plot(w/pi,angH1/pi);

相位(rad/π)'

axis([0,1,-0.8,0]);

figure

(2);

zplane(b,a);

实验3 离散信号与系统的离散频域分析(DFT)

1、掌握离散时间系统的DFT的MATLAB实现;

2、熟悉DTFT和DFT之间的关系。

3、了解信号不同变形的DFT与原信号DFT之间的关系

自定义一个长为8点的信号;

1、对信号分别做8点、16点、32点DFT,分别与DTFT合并作图并比较

DFT与DTFT之间的关系。

2、在信号后加零扩展至八点,每两个相邻样本之间插入一个零值,扩充为

16点序列,作DFT,画出幅度谱和相位谱,并与原序列的DFT进行比较。

3、将信号以8为周期扩展,得到长为16的两个周期,作DFT,画出幅度谱和相位谱,并与原序列的DFT进行比较。

1.

x1=[xzeros(1,8)];

x2=[x1zeros(1,16)];

Xk=dft(x,8);

Xk1=dft(x1,16);

Xk2=dft(x2,32);

2*pi;

magXk=abs(Xk);

angXk=angle(Xk);

magXk1=abs(Xk1);

angXk1=angle(Xk1);

magXk2=abs(Xk2);

angXk2=angle(Xk2);

subplot(4,2,1);

gridon;

subplot(4,2,2);

subplot(4,2,3);

stem(0:

7,magXk);

k'

幅度|X(k)|'

axis([0,8,0,6]);

subplot(4,2,4);

7,angXk);

axis([0,8,-2,2]);

subplot(4,2,5);

15,magXk1);

幅度|X1(k)|'

axis([0,16,0,6]);

subplot(4,2,6);

15,angXk1);

axis([0,16,-2,2]);

subplot(4,2,7);

31,magXk2);

幅度|X2(k)|'

axis([0,32,0,6]);

subplot(4,2,8);

31,angXk2);

axis([0,32,-2,2]);

function[Xk]=dft(xn,N)

n=0:

N-1;

k=0:

Wn=exp(-j*2*pi/N);

nk=n'

*k;

Xk=xn*(Wn.^nk);

2.

fori=1:

8 %将原序列每两个相邻样本之间插入一个零值,扩展为长为16的序列y1(2*i-1:

2*i)=[x(i)0];

end

Yk1=dft(y1,16);

Warning:

FunctioncalldftinvokesinexactmatchD:

\MATLAB7\work\DFT.M.

magYk1=abs(Yk1);

angYk1=angle(Yk1);

y2=[xx];

%将信号以8为周期扩展,得到长为16的两个周期

Yk2=dft(y2,16);

magYk2=abs(Yk2);

angYk2=angle(Yk2);

subplot(3,2,1);

subplot(3,2,2);

subplot(3,2,3);

15,magYk1);

幅度|Y1(k)|'

subplot(3,2,4);

15,angYk1);

subplot(3,2,5);

15,magYk2);

幅度|Y2(k)|'

subplot(3,2,6);

15,angYk2);

对照:

63;

x=(0.9*exp(j*pi/3)).^n;

fori=1:

64 %将原序列每两个相邻样本之间插入一个零值,扩展为长为128的序列y1(2*i-1:

Yk1=dft(y1,128);

n2=0:

127;

y2=(0.9*exp(j*pi/3)).^n2;

%信号长为128

Yk2=dft(y2,128);

Xk=dft(x,64);

subplot(3,2,1);

63,magXk);

subplot(3,2,2);

63,angXk);

subplot(3,2,3);

127,magYk1);

subplot(3,2,4);

127,angYk1);

subplot(3,2,5);

127,magYk2);

subplot(3,2,6);

127,angYk2);

实验四 IIR滤波器设计

1、掌握各种模拟原型滤波器的滤波特性;

2、掌握模数滤波器变换时的脉冲响应不变法和双线性变换法;

3、掌握低通滤波器变换成其他类型滤波器的方法;

4、能够根据指标选择合适的原型滤波器和合适的方法设计IIR滤波器。

1、自定设计指标(通带截止频率、通带波纹、阻带截止频率、阻带衰减),选择合适的模拟原型低通滤波器和合适的设计方法(脉冲响应不变法或双线性变换法),设计符合要求的

IIR滤波器;

并验证设计好的滤波器是否满足要求。

2、将此低通滤波器映射为高通、带通或带阻滤波器,并验证变换后的滤波器是否满足指标。

3、求输入x(n)=[cos(w1n)+cos(w2n)]u(n)经过系统后的输出y(n)。

其中w1位于通带内,w2位于阻带内,要求做一个两行两列的子图,第一个做x的时域波形,第二个做x的幅度谱,第三个做y的时域波形,第四个做y的幅度谱。

MATLAB集成系统四、设计流程:

此处写个人自己的设计流程

五、程序清单:

此处写程序内容

此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法七、教师评语与成绩评定

此处由老师填写

模拟原型Butterworth滤波器:

wp=0.4*pi;

ws=0.6*pi;

Rp=0.5;

As=50;

[b,a]=afd_butt(wp,ws,Rp,As);

***ButterworthFilterOrder=17

[db,mag,pha,w]=freqs_m(b,a,pi);

[ha,x,t]=impulse(b,a,100);

plot(w/pi,mag);

w'

|H|'

gridon

plot(w/pi,pha);

相位'

gridon

plot(w/pi,db);

db'

plot(t,ha);

t'

ha(t)'

axis([0,100,-0.2,0.4]);

双线性变换法求得的数字Butterworth低通滤波器:

T=2;

OmegaP=(2/T)*tan(wp/2);

OmegaS=(2/T)*tan(ws/2);

N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS)));

OmegaC=OmegaP/((10^(Rp/10)-1)^(1/(2*N)));

wn=2/pi*atan(OmegaC*T/2);

[b,a]=butter(N,wn);

[db,mag,pha,grd,w]=freqz_m(b,a);

100;

axis([0,1,0,1.15]);

axis([0,1,-4,4]);

axis([0,1,-140,20]);

stem(n,h);

由前面的数字Butterworth低通滤波器映射得到的高通滤波器:

接上面的程序

wp1=ws;

ws1=wp;

[N1,wn1]=buttord(wp1/pi,ws1/pi,Rp,As);

[b1,a1]=butter(N1,wn1,'

high'

[db1,mag1,pha1,grd1,w1]=freqz_m(b1,a1);

h1=impz(b1,a1,n);

plot(w1/pi,mag1);

w1'

|H1|'

axis([0,1,0,1.15]);

plot(w1/pi,pha1);

plot(w1/pi,db1);

db1'

stem(n,h1);

h1(n)'

信号x(n)通过数字Butterworth低通滤波器:

接上面程序

w1=0.3*pi;

w2=0.7*pi;

x=cos(w1*n)+cos(w2*n);

[y,ny]=conv_m(x,n,h'

n);

X=dtft(x,n,w);

Y=dtft(y,ny,w);

magY=abs(Y);

figure

(2);

stem(n,x);

x(n)'

stem(ny,y);

y(n)'

plot(w/pi,magY);

幅度|Y|'

实验五FIR滤波器设计方法

1、掌握不同窗函数的性能指标;

2、根据指标选择窗函数设计FIR滤波器。

3、掌握频率采样法设计FIR滤波器

自定滤波器的类型(低通,高通或带通)、设计指标(通带截止频率、通带

波纹、阻带截止频率、阻带衰减)

1、根据指标选择合适的窗函数,用窗口设计法设计符合指标的FIR滤波器;

并验证其性能是否满足预定指标。

参考书上例题

2、根据指标选择合适的采样点数,用频率采样法设计符合指标的FIR滤波器;

并验证其性能是否满足预定指标。

求出通带内的Rp和阻带内的As,或者用两行两列的子图分别将结果列出

来。

其中w1位于通带内,w2位于阻带内,要求做一个两行两列的子图,第一个做x的时域波形,第二个做x的幅度谱,第三个做y的时域波形,第四个做y的幅度谱。

参考结果

设计指标:

wp=0.3*pi;

ws=0.4*pi;

Rp=1;

As=40;

要点:

设计指标要与结果图一致七、教师评语与成绩评定

窗口设计法:

上机操作

ws1=0.2*pi;

wp1=0.35*pi;

wp2=0.65*pi;

ws2=0.8*pi;

As=60;

tr_width=min((wp1-ws1),(ws2-wp2));

M=ceil(11*pi/tr_width)+1M=

75

n=[0:

1:

M-1];

wc1=(ws1+wp1)/2;

wc2=(ws2+wp2)/2;

hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);

Functioncallideal_lpinvokesinexactmatchD:

\MATLAB7\work\IDEAL_LP.M.

w_bla=(blackman(M))'

h=hd.*w_bla;

[db,mag,pha,grd,w]=freqz_m(h,[1]);

delta_w=2*pi/1000;

Rp=-min(db(wp1/delta_w+1:

wp2/delta_w))Rp=

0.0030

As=-round(max(db(ws2/delta_w+1:

501)))As=

stem(n,hd);

hd(n)'

axis([0,M-1,-0.4,0.5]);

stem(n,w_bla);

w(n)'

axis([0,M-1,0,1.1]);

axis([0,M-1,-0.4,0.5);

axis([0,1,-139,10);

接上面的程序:

w1=0.5*pi;

w2=0.1*pi;

x=c

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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