徐少鹏数字信号处理课程方案报告.docx
《徐少鹏数字信号处理课程方案报告.docx》由会员分享,可在线阅读,更多相关《徐少鹏数字信号处理课程方案报告.docx(21页珍藏版)》请在冰豆网上搜索。
![徐少鹏数字信号处理课程方案报告.docx](https://file1.bdocx.com/fileroot1/2022-10/12/380e12cf-7738-4995-adc7-8cce023b820b/380e12cf-7738-4995-adc7-8cce023b820b1.gif)
徐少鹏数字信号处理课程方案报告
中南大学
课程设计报告
题目《数字信号处理》课程设计
学院信息科学与工程学院
专业电子信息工程
班级1004班
姓名徐少鹏
学号**********
指导老师张昊 张金焕
一、课程设计内容要求…………………………………………………………3
二、课程设计目的………………………………………………………………3
三、课程设计题目………………………………………………………………4
四、设计思想和系统功能结构及功能说明
1.设计实验对采样定理验证………………………………………………4
2.设计实验对序列傅里叶变换变换的频移特性验证……………………6
3.比较DFT和FFT计算结果和速度………………………………………7
4.滤波器设计………………………………………………………………9
五、遇到的问题及解决方法……………………………………………………14
六、课程设计总结………………………………………………………………14
七、参考文献……………………………………………………………………15
八、源代码清单…………………………………………………………………15
一、课程设计内容要求
1、使用MATLAB<或其它开发工具)编程实现上述内容,写出课程设计报告。
2、课程设计报告的内容包括:
⑴课程设计题目和题目设计要求;
⑵设计思想和系统功能结构及功能说明;
⑶设计中关键部分的详细描述和介绍,采用流程图描述关键模块的设计思路;
⑷总结,包括设计过程中遇到的问题和解决方法,心得体会等;
⑸参考文献;
⑹程序源代码清单。
二、实验目的
<1)熟悉傅里叶算法原理和FFT子程序的应用。
<2)了解学习采样定理,对采样定理的理解应用验证,以及学习采用不同的内插法对采样信号的恢复
<3)设计实验对序列傅里叶变换的的频移特性进行验证
<4)熟悉使用DFT和FFT对信号的处理方法,设计实验比较他们的计算结果和计算速度。
<5)掌握IIR数字滤波器的设计方法和原理,设计出给定参数选择不同滤波器的设计方案<巴特沃斯或切比雪夫型)。
<6)掌握用窗函数法设计FIR数字滤波器的原理和方法。
<7)熟悉线性相位FIR数字滤波器特性。
<8)了解各种窗函数对滤波特性的影响。
<9)熟悉掌握用matlab对一些基本的数字信号进行处理
使用MATLAB<或其它开发工具)编程实现上述内容,
三、课程设计题目
⑴请设计实验对采样定理进行验证。
1请画出其傅立叶变换图;
2请画出信号重建图<可以采用不同的内插方法)
⑵请设计实验对序列傅立叶变换的频移特性进行验证。
⑶请设计实验比较DFT和FFT,比较它们的计算结果和计算速度。
(4>滤波器设计—根据输入的数字滤波器的技术指标,包括通带截止频率,通带最大衰减,阻带截止频率,阻带最小衰减,设计滤波器,生成相应的滤波器系数,并画出对应的滤波器幅频、相频特性。
①IIRDF设计:
可选择滤波器基型<巴特沃斯或切比雪夫型);
②FIRDF设计:
使用窗口法,可选择窗口类型,并对多种窗口、不同阶数设计的滤波器进行比较分析。
(5>对于给出的任意一段语音信号,进行分析处理(选做>。
①读出语音信号,并显示语音信号的时域波形,然后对读出的信号进行FFT变换,得到信号的频谱特性。
②分析其频谱特性,应用设计的低通、带通或高通滤波器进行滤波将主要的频率分量分离出来。
③回放此语音信号,感觉滤波前后的声音有什么变化。
四、设计思想和系统功能结构及功能说明
1.采样定理验证
①对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率为周期进行周期性的拓延形成的。
②设连续信号X(t>a属带限信号,最高截止频率为Ωc如果采样角频率Ωs≥2Ωc那么让采样信号X(t>a通过一个增益为T,截止频率为Ωs/2的理想低通滤波器,可以唯一地恢复出院连续信号X(t>a。
否则Ωs≥2Ωc会造成采样信号中频谱混叠现象,不可能无失真地恢复原连续信号。
③从采样定理可知,如果对有限带宽信号X(t>a以高于奈奎斯特频率进行采样,就能从其采样序列x(n>重构原模拟信号。
重构可以分为两步:
1.先把样本集转换成为一个加权脉冲串列;2.然后再将此脉冲串列通过一个带宽为[-Fs/2,Fs/2]的低通滤波器进行滤波。
本题采用零阶保持器运行结果如下:
2.序列傅里叶变换变换的频移特性验证
若
,则
结论:
将信号
乘以因子
,对应于将频谱函数沿轴
右移
;将信号
乘以因子
,对应于将频谱函数沿轴
右移
。
运行结果如下:
3.比较DFT和FFT
第三题:
比较DFT和FFT
在DFS正变换中,只要把一个周期内的
乘以对应的
,即可得任意k下的
;同理,在DFS反变换中,仅用
的一个周期的值
,即可得到任意n下的
。
如果同时限制(1.1.1>式中的n和(1.1.4>式中的k,使其都只在
区间内取值,就得到了一个周期的
和一个周期的
间的对应关系
式中,
,N为DFT变换区间的长度,上两式即称为有限长序列的离散傅里叶变换对。
上式称为离散傅里叶变换,简称DFT;上式称为离散傅里叶逆变换(InverseDiscreteFourierTransform>,简称IDFT。
基2FFT算法
设
是列长为
的输入序列,且
,其中
为整数。
如果不满足这个条件,可以人为地加入若干零点来达到。
将
按n的奇偶分成两个子序列
式可化为
由于
,故上式又可表示为
其中
和
分别是
及
的
点的DFT
表明了—个N点的DFT被分解为两个
点的DFT。
但是这里有一个问题,即
,
的列长为
,它们的DFT
,
的点数也是
,即
,而
却有N个点,所以按上式计算得到的只是
(
>的前一半项数的结果,要用
来表达全部的
值还必须应用W系数的周期性,即
这样可得
同理可得
另外又考虑到
的对称性
因此,将上述公式代入中,
又可表达
由上分析可见,只要求出
区间内各个整数k值所对应的
和
值,即可求出
区间内的全部
值,这一点恰恰是FFT能大量节省计算的关键所在。
上式的运算可用图2.1.1的信号流图符号表示,根据其形状称之为蝶形运算符号。
4.滤波器设计
<1)模拟滤波器按幅度特性可分为低通,高通,带通和带阻滤波器,但我们设计滤波器时,总是先设计低通滤波器,再通过频率变换将低通滤波器转换成希望的滤波器。
<2)模拟滤波器的理论和设计方法已发展的相当成熟。
且有若干典型的模拟滤波器供我们选择,如巴特沃斯(Butterworth>滤波器,切比雪夫(Chebyshev>滤波器,椭圆(Ellipse>滤波器,贝塞尔(Bessel>滤波器等,这几种滤波器各有特点,巴特沃斯滤波器具有单调下降的幅频特性;切比雪夫滤波器的幅频特性在通带或阻带有波动,可以提高选择性;贝塞尔滤波器通带内有较好的线性相位特性;椭圆滤波器的选择性相对前三种是最好的。
<3)切比雪夫模拟滤波器的特性
切比雪夫滤波器的振幅特性具有等波纹特性,这个特性可以弥补巴特沃斯滤波器的通带内会有余量的缺陷,它将精确度均匀地分布在整个通带内,或者均匀地分布在整个阻带内,或者同时分布在两者之间。
切比雪夫滤波器有两种型式:
振幅特性在通带内具有等波纹特性的,在阻带内是单调的切比雪夫I型滤波器,在阻带内具有等波纹特性的,在通带内是单调的切比雪夫Ⅱ型滤波器。
<4)FIR滤波器的窗函数设计法
FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。
窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:
①通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n>。
②由性能指标确定窗函数W(n>和窗口长度N。
③求得实际滤波器的单位脉冲响应h(n>,h(n>即为所设计FIR滤波器系数向量b(n>。
<5)滤波器设计流程图:
运行结果如下:
①IIRDF设计
②FIRDF设计
五、遇到的问题及解决方法
对于题目解答的过程,刚开始没有头绪,在结合上学期所学的信号处理系统知识以及查阅的网上资料,然后就着手开始设计解题思路;
设计和调试中常常遇到一些问题,比如对于matlab这个工具的不熟悉,导致很多编写错误,在查阅资料和询问同学后,都可以得到妥善解决。
六、课程设计总结
本次matlab课程设计让我熟悉了该软件的一些功能,但是对于灵活应用matlab,以及掌握各方面的设计思维以及技巧,还需要投入更多的时间。
在熟悉matlab程序和操作的同时培养了我的独立思考能力,专研精神,解决问题能力和动手能力。
在此之前了解到matlab是一个很重要很有用的工具,但我并没有完全理解,本课程设计中,通过查阅资料,阅读网上程序并读写程序,对于matlab的应用有了更深的了解,同时也认识到matlab功能非常的强大,有着很多方面的应用,如绘制函数,处理音频,图像数据,创建用户界面等功能,实为一个功能强大的软件。
本次课程设计我完成了四道信号处理以及滤波器设计的题目,通过实际操作回顾所学的内容,强化基础,实践理论知识。
相信在以后的学习中,还会更加深入的了解matlab,应用它。
七、参考文献
<1)《数字信号处理<第二版)》,丁玉美等,西安电子科技大学出版社;
<2)《数字信号处理及其MATLAB实现》,陈怀琛等译,电子工业出版社;
<3)《MATLAB及在电子信息课程中的应用》,陈怀琛等,电子工业出版社。
<4)网上资料。
八、源代码清单
第一题:
%模拟信号
Dt=0.00005。
t=-0.005:
Dt:
0.005。
xa=exp(-1000*abs(t>>。
%连续时间傅里叶变换
Wmax=2*pi*2000。
K=500。
k=0:
1:
K。
W=k*Wmax/K。
Xa=xa*exp(-j*t'*W>*Dt。
Xa=real(Xa>。
W=[-fliplr(W>,W(2:
501>]。
%频率从-WmaxtoWmax
Xa=[fliplr(Xa>,Xa(2:
501>]。
%Xa介于-Wmax和Wmax间
subplot(4,2,1>。
plot(t*1000,xa>。
xlabel('t毫秒'>。
ylabel('xa(t>'>。
title('模拟信号'>
subplot(4,2,2>。
plot(W/(2*pi*1000>,Xa*1000>。
xlabel('频率<单位:
kHz)'>。
ylabel('Xa(jw>*1000'>。
title('连续时间傅里叶变换'>
Dt=0.00005。
t=-0.005:
Dt:
0.005。
xa=exp(-1000*abs(t>>。
Ts=0.0002。
n=-25:
1:
25。
x=exp(-1000*abs(n*Ts>>。
K=500。
k=0:
1:
K。
w=pi*k/K。
X=x*exp(-j*n'*w>。
X=real(X>。
w=[-fliplr(w>,w(2:
K+1>]。
X=[fliplr(X>,X(2:
K+1>]。
subplot(4,2,3>。
plot(t*1000,xa>。
stem(n*Ts*1000,x>。
xlabel('t毫秒'>。
ylabel('xl(n>'>。
title('离散信号'>。
subplot(4,2,4>。
plot(w/pi,X>。