数字信号处理(MATLAB)上机实验操作
实验一 离散时间信号与系统
一、实验目的:
1、熟悉常见离散时间信号的产生方法;
2、熟悉离散时间系统的单位脉冲响应和单位阶跃响应的求解方法;
3、熟悉离散时间信号经过离散时间系统的响应的求解方法。
二、实验内容:
已知离散时间系统差分方程为y(n)-0.5y(n-1)+0.06y(n-2)=x(n)+x(n-1),求
1、该系统的单位脉冲响应并绘图;
2、该系统的单位阶跃响应并绘图;
3、已知x(n)=可自己指定 用filter函数经过系统的响应并绘图;
4、用conv_m函数求系统响应并绘图。
三、实验平台: MATLAB集成系统
四、设计流程:
此处写个人自己的设计流程
五、程序清单:
此处写程序内容
六、调试和测试结果:
此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法
七、教师评语与成绩评定
此处由老师填写
上机操作:实验一 离散时间信号与系统
实验内容:
1.脉冲响应
>> b =[1,1]; a = [1,-0.5,0.06];n = [-10:25];
>> impz(b,a,n);
>> title('Impulse Response'); xlabel('n'); ylabel('h(n)')
2.单位阶跃响应
>> x = stepseq(0,-10,25); s = filter(b,a,x);
Warning: Function call stepseq invokes inexact match d:\MATLAB7\work\STEPSEQ.M.
>> stem(n,s)
>> title('Step Response'); xlabel('n');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);
>> stem(n,s1);;xlabel('n');ylabel('s1(n)');
4. >> a=[1,-0.5,0.06];b=[1,1];
>> n=-20:120;
>> h=impz(b,a,n);
>> x1=exp(-0.05*n).*sin(0.1*pi*n+pi/3);
>> [y,m]=conv_m(x1,n,h,n);
Warning: Function call conv_m invokes inexact match d:\MATLAB7\work\CONV_M.M.
>> stem(m,y);title('系统响应');xlabel('m');ylabel('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函数求频率响应。
三、实验平台: MATLAB集成系统
四、设计流程:
此处写个人自己的设计流程
五、程序清单:
此处写程序内容
六、调试和测试结果:
此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法
七、教师评语与成绩评定
此处由老师填写
上机操作
1
>> n=0:7;
>> x=(0.9*exp(j*pi/3)).^n;
>> w=-pi:pi/200:pi;
>> X=dtft(x,n,w);
>> magX=abs(X);angX=angle(X);
>> subplot(2,1,1);plot(w/pi,magX);xlabel('w/pi');ylabel('幅度|X|');
>> subplot(2,1,2);plot(w/pi,angX);xlabel('w/pi');ylabel('相位(rad/π)');
2
>> a=[1,-0.5,0.06];b=[1,1,0];
>> m=0:length(b)-1;l=0:length(a)-1;
>> w=0:pi/500:pi;
>> num=b*exp(-j*m'*w);
>> den=a*exp(-j*l'*w);