《数字信号处理》课程研究性学习报告
姓名 学号 同组成员
指导教师 时间
基本概念和技能学习报告
【目的】
(1) 掌握离散信号和系统时域、频域和z域分析中的基本方法和概念; (2) 学会用计算机进行离散信号和系统时域、频域和z域分析。
(3) 培养学生自主学习能力,以及发现问题、分析问题和解决问题的能力。
【研讨题目】 题目1 系统单位脉冲响应
利用MATLAB的filter函数,求出下列系统的单位脉冲响应,并判断系统是否稳定。讨论本题所获得的结果。
H1(z)?1
1?1.845z?1?0.850586z?21 H2(z)??1?21?1.85z?0.85z【题目目的】 1. 掌握LTI系统单位脉冲响应的基本概念、系统稳定性与单位脉冲响应的关系; 2. 学会filter函数的使用方法及用filter函数计算系统单位脉冲响应; 3. 体验有限字长对系统特性的影响。
【仿真结果】
【结果分析】
【问题探究】
已知LTI系统的系统函数H(z),有哪些计算系统单位脉冲响应方法,比较这些方法的优缺点。
【仿真程序】
【研讨题目】 题目2 离散信号频谱的计算及基本特性 (1)利用MATLAB语句
x=firls(511,[0 0.4 0.404 1],[1 1 0 0])
产生一个长度为512的序列x[k],用MATLAB函数freqz画出该序列的幅度频谱。
(2) 已知序列y[k]?x[k]cos(?0k),用freqz分别画出?0?0.4π,0.8π,0.9π,π时序列y[k]的幅度频谱。 (3) 利用
Y(ej?)?X(ej(???0))?X(ej(???0))/2
??画出?0?0.4π,0.8π,0.9π,π时序列y[k]的幅度频谱。与(2)中的实验结果比较,发表你的看法。
【题目目的】 1. 学会用MATLAB函数freqz计算序列频谱; 2. 掌握序列频谱的基本特性及分析方法。
【温磬提示】
只需知道MATLAB语句
x=firls(511,[0 0.4 0.404 1],[1 1 0 0])
产生一个长度为512的序列x[k],该序列满足
x[k]?x[511?k],k?0,1,?,255
不需知道其他细节。用函数freqz计算该序列的频谱,在画幅度频谱时,建议用归一化频率。
【仿真结果】
【结果分析】
【问题探究】 有部分的计算结果可能与理论分析的结果不一致,分析出现该现象的原因,给出解决问题方法并进行仿真实验。
【仿真程序】
【研讨题目】 题目3 最小相位系统Hmin(z)和最大相位系统Hmax(z) 已知一因果系统的H(z) 为
z2?2z?0.99H(z)?2
z?1.55z?0.6试求出和H(z)具有相同幅度响应的最小相位系统Hmin(z)和最大相位系统Hmax(z)。画出并比较H(z)、Hmin(z) 和Hmax(z)的相位响应。
【题目目的】 1. 掌握全通滤波器的基本特征和特性; 2. 学会计算具有相同幅度响应的最小相位系统Hmin(z)和最大相位系统Hmax(z)。
【温磬提示】 在画系统的相位响应时,要把三个系统的相位响应画在一张图上,比较其解卷绕(unwrap)后的相位响应。
【仿真结果】
【结果分析】
【问题探究】 手算时,如何找出最小相位系统Hmin(z)和最大相位系统Hmax(z)?用计算机自动求解时,如何找出最小相位系统Hmin(z)和最大相位系统Hmax(z)? 你所用的算法是一样的吗? 【仿真程序】
【研讨题目】 题目4 信号滤波
一个长度为5的FIR滤波器,其脉冲响应满足h[0]=h[4],h[1]=h[3],系统输入信号为三个角
频率分别为0.1??rad, 0.4?? rad, 0.7?? rad的余弦序列的和。若要求系统只能使频率为0.4?? rad的余弦序列通过,试求出系统的单位脉冲激响应h[k],画出该系统的幅度和相位响应,用MATLAB验证系统的滤波效果。
【题目目的】
1. 学会最简单的FIR滤波器设计;
2. 了解滤波器的特性对系统输出的影响。
【FIR滤波器的设计过程】
【仿真结果】 【结果分析】
系统的相位响应对输出有何影响?编程验证输出信号的延迟量。
【问题探究】
分析瞬态响应产生的原因, 探讨消除瞬态响应的方法,提出解决问题的方案,并进行仿真实验。
提示: 可对信号的边界进行延拓,如对称延拓、周期延拓等(对不同延拓方式所得结果进行讨论)。
卷积函数conv选项的定义与应用研究
在高版MATLAB中,卷积函数conv提供了选项conv(A, B,’valid’ ),研究conv(A, B,’valid’ )的定
义及应用。
(1) 读MATLAB提供的关于conv的Help,给出卷积函数conv(A, B,’valid’ )的定义。设计一些简单的实验,验证你给出的定义。你认为这样定义的卷积有何优缺点?
(2)能否用conv(A, B,’valid’ )完成conv(A, B )?请给出解释,编程验证你的观点。 (3) 探索用conv(A, B,’valid’ ) 探讨消除瞬态响应的方法。
【仿真程序】
研讨一
M1-2 b=[1];
a1=[1 -1.845 0.850586]; a2=[1 -1.85 0.85]; x=impulse(b,a1); subplot(2,2,1),plot(x); subplot(2,2,2),zplane(a1); x1=impulse(b,a2); subplot(2,2,3),plot(x1); subplot(2,2,4),zplane(a2);
3210x 1071Imaginary Part0.50-0.5-1-10Real Part120x 1062040601510501Imaginary Part0.50-0.5-1-10Real Part120204060
研讨二
x=firls(511,[0 0.4 0.404 1],[1 1 0 0]); stem(x); h=freqz(x); plot(h);
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库DSP研究性学习报告-基本概念和技能在线全文阅读。
相关推荐: