数字信号处理课程设计报告

  • 格式:doc
  • 大小:381.77 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1.设计概述(目的和要求) 3

2.设计任务 3

3.设计题目(简要描述三个题目) 4

4.内容及结果 4

5.思考及体会14

一、课程设计目的及要求

数字信号处理是一门理论性和实践性都很强的学科,通过课程设计可以加深理解掌握基本理论,培养学生分析问题和解决问题的综合能力,为将来走向工作岗位奠定坚实的基础,因此做好课程设计是学好本课程的重要教学辅助环节。

本指导书结合教材《数字信号处理教程》的内容,基于MATLAB程序语言提出课程设计的题目及要求,在做课程设计之前要求学生要尽快熟悉MATLAB语言,充分预习相关理论知识,独立编写程序,以便顺利完成课程设计。

二、课程设计任务

课程设计的过程是综合运用所学知识的过程。课程设计主要任务是围绕数字信号的频谱分析、特征提取和数字滤波器的设计来安排的。根据设计题目的具体要求,运用MATLAB语言完成题目所规定的任务及功能。设计任务包括:查阅专业资料、工具书或参考文献,了解设计课题的原理及算法、编写程序并在计算机上调试,最后写出完整、规范的课程设计报告书。课程设计地点在信息学院机房,一人一机,在教师统一安排下独立完成规定的设计任务。

三、课程设计题目

根据大纲要求提供以下三个课程设计题目供学生选择,根据实际情况也可做其它相关课题。

1.DFT在信号频谱分析中的应用

1. 用MATLAB语言编写计算序列x(n)的N点DFT的m函数文件dft.m。并与MA TLAB中的内部函数文件fft.m作比较。

2. 对离散确定信号

()cos(0.48)cos(0.52)x n n n ππ=+ 作如下谱分析:

(1) 截取()x n 使()x n 成为有限长序列N(0≤≤n N -1),(长度N 自己选)写程序计

算出()x n 的N 点DFT ()X k ,并画出相应的幅频图()~X k k 。

(2) 将 (1)中()x n 补零加长至M 点(长度M 自己选),编写程序计算()x n 的M 点

DFT 1()X k ,并画出相应的图1()~X k k 。

(3) 利用补零DFT 计算 (1)中N 点有限长序列()x n 频谱()j X e ω并画出相应的幅频图

()~j X e ωω。

3. 研究高密度谱与高分辨率频谱。

对连续确定信号3()cos(2 6.510)*t a x t t e απ-=⨯⨯ 令α=103 ,104 ,105 (1)对不同的

α考虑恰当的采样频率进行取样分析,说明理由

(2) 对某一个α采样数据选取适当长度,计算DFT ,画出相应的X(k)和()j X e ω

~ω 2. 有噪声情况下信号幅度谱的研究

1.编写产生均匀分布白噪声序列的M 函数文件drand.m 。

2. 编写计算序列x(n) 正弦信号加白噪声的自相关序列的M 函数文件dcor.m 。

3.编写m 程序文件,分析含噪信号的相关函数及功率密度谱。

3. 取样信号的混叠现象研究

1. 用MA TLAB 语言编写计算N 阶差分方程所描述系统频响函数()j H e ω

的m 函数文件fr.m 。

2. 根据频响特性与系统零极点的关系,自己构造一个N 阶差分方程,使该差分方程为

数字低通滤波器。利用MATLAB 程序画出相应的幅频图()~j H e ω

ω。

3. 改变 2.中差分方程的系数,使该差分方程分别为数字高通及全通滤波器。利用

MATLAB 程序画出相应的幅频图()~j H e ω

ω。

四 内容及结果

设计题目一: DFT 在信号频谱分析中的应用

1. 用MATLAB 语言编写计算序列x(n)的N 点DFT 的m 函数文件dft.m 。并与MATLAB 中的内部函数文件fft.m 作比较。 function Xk=dft(xn,N)

if length(xn)

xn=[xn,zeros(1,N-length(xn))];

end n=0:N-1; for k=0:N-1

Xk(1,k+1)=sum(xn.*exp((-1)*j*n*k*(2*pi/N)));

End 运算量估计:

对于N=M

2点序列进行时间抽选奇偶分解FFT 计算,需分M 级,每级计算N/2个蝶。每一级需N/2次复乘、N 次复加,因此总共需要进行: 复乘:N M N N

22

2log =

复加:N N NM 2log =

直接计算N 点的DFT ,需要2

N 次复乘、N(N-1)次复加。N 值越大,时间抽选奇偶分解FFT 算法越优越。例如当N=2048点时,时间抽选奇偶分解FFT 算法比直接计算DFT 速度快300多倍

可以用一下Matlab 程序比较DFT 和FFT 的运算时间

N=2048; M=11;

x=[1:M,zeros(1,N-M)]; t=cputime; y1=fft(x,N);

Time_fft=cputime-t t1=cputime; y2=dft(x,N);

Time_dft=cputime-t1 t2=cputime; 运行结果: Time_fft =

0.0469

Time_dft =

15.2031

由此可见FFT 算法比直接计算DFT 速度快得多

2. 对离散确定信号

()cos(0.48)cos(0.52)x n n n ππ=+ 作如下谱分析:

(1)截取()x n 使()x n 成为有限长序列N(0≤≤n N -1),(长度N 自己选)写程序计算出

()x n 的N 点DFT ()X k ,并画出相应的幅频图()~X k k 。

(假设N 取15,即0≤n ≤14 时, 编写程序,计算出X (n )的15点DFT Xk )

n = 0:14;

xn=cos(0.48*pi*n)+cos(0.52*pi*n); Xk = fft (xn, 15);

subplot(2,1,1); stem(n, xn); grid; subplot(2,1,2); stem(n,

abs(Xk));

grid;

(2)将 (1)中()x n 补零加长至M 点(长度M 自己选),编写程序计算()x n 的M 点DFT

1()X k ,并画出相应的图1()~X k k 。

(2)将 (1)中()x n 补零加长至M 点(长度M 自己选),编写程序计算()x n 的M 点DFT