信号处理实验指导Word版

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

目录

绪论 (1)

1离散时间信号和系统分析

1.1 离散时间信号产生与运算 (2)

1.2 离散时间系统的时域分析 (9)

1.3 离散时间系统的频域分析 (13)

1.4 离散时间系统频响的零极点确定 (14)

2快速傅立叶变换的应用

2.1 FFT的计算 (17)

2.2 利用FFT进行谱分析 (18)

2.3利用FFT实现快速卷积 (19)

3数字滤波器的设计

3.1数字滤波器的结构 (23)

3.2无限冲激响应(IIR)数字滤波器的设计 (25)

3.3有限冲激响应(FIR)数字滤波器的设计 (27)

4综合应用举例

4.1 语音信号处理 (32)

4.2 电话拨号音的合成与识别 (32)

绪论

数字信号处理主要研究如何对信号进行分析、变换、综合、估计与识别等加工处理的基本理论和方法。随着计算机技术和大规模集成电路技术的发展,数字信号处理以其方便、灵活等特点引起人们越来越多的重视。在40多年的发展过程中,这门学科基本形成了一套完整的理论体系,其中也包括各种快速、优良的算法,而且数字信号处理的理论和技术也在不断、快速地丰富和完善,新理论和新技术也层出不穷。学习这门课程的过程中,容易使人感到数字信号处理的概念抽象难懂,其中的分析方法与基本理论不容易很好地理解与掌握。因此,如何理解与掌握课程中的基本概念、基本原理、基本分析方法以及综合应用所学知识解决实际问题的能力,是本课程学习中所要解决的关键问题。

Matlab是一种面向科学和工程的高级语言,现已成为国际上公认的优秀的科技界应用软件,在世界范围内广为流行和使用。在欧美高等院校里,Matlab已成为大专院校学生、教师的必要基本技能,广泛应用于科学研究、工程计算、教学等。上世纪90年代末和本世纪初Matlab在我国也被越来越多地应用于科研和教学工作中。Matlab是一套功能强大的工程计算及数据处理软件,在工业,电子,医疗和建筑等众多领域均被广泛运用。它是一种面向对象的,交互式程序设计语言,其结构完整又具有优良的可移植性。它在矩阵运算,数字信号处理方面有强大的功能。另外,Matlab提供了方便的绘图功能,便于用户直观地输出处理结果。

本文通过Matlab系列仿真,旨在掌握基本的数字信号处理的理论和方法,提高综合运用所学知识,提高Matlab计算机编程的能力。进一步加强独立分析问题、解决问题的能力、综合设计及创新能力的培养,同时注意培养实事求是、严肃认真的科学作风和良好的实验习惯。

1. 离散时间信号和系统分析

1.1 离散时间信号产生与运算

本节的目的是使读者熟悉Matlab 中离散时间信号产生和信号运算的基本命令。几种常用的序列如下:

(1)单位抽样序列

⎨⎧=01)(n δ 00≠=n n 在MATLAB 中可以利用zeros()函数实现:

;

1)1();,1(==x N zeros x 例如,下列程序

N = input ('Type in length of sequence = ');

n=0:N-1;

x=zeros(1,N);

x(1)=1;

stem(n,x);

xlabel('n');ylabel('x(n)');

title('单位抽样序列 N 取10');

输入Type in length of sequence = 10,可产生

(2)单位阶跃序列

⎩⎨⎧0

1)(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现:

);,1(N ones x =

例如,下列程序

N = input ('Type in length of sequence = ');

n=0:N-1;

x=ones(1,N);

stem(n,x);

xlabel('n');ylabel('x(n)');

title('单位阶越序列 N 取10');

输入Type in length of sequence = 10,可产生

(3)正弦序列

)/2sin()(ϕπ+=Fs fn A n x

在MATLAB 中:

)

/***2sin(*1:0fai Fs n f pi A x N n +=-= 例如,下列程序

a = input('Type in a = ');

b = input('Type in b = ');

A = input('Type in the gain constant = ');

N = input ('Type in length of sequence = ');

n = 0:N; x = A*sin(a*pi*n+pi/b);

stem(n,x); title('正弦序列');

xlabel('Time index n');ylabel('Amplitude');

输入Type in a = 0.1,Type in b = 2,Type in the gain constant = 3,Type in length of sequence = 40,可产生

(4)指数序列

n a n x =)(

在MATLAB 中:

n

a x N n .^1:0=-= 例如,下列程序

a = input('Type in exponent = ');

K = input('Type in the gain constant = ');

N = input ('Type in length of sequence = ');

n = 0:N; x = K*a.^n;

stem(n,x);

xlabel('Time index n');ylabel('Amplitude');

title([' 指数序列 alpha = ',num2str(a)]);

输入Type in exponent = 2,Type in the gain constant = 1,Type in length of sequence = 20,可产生如下结果

相关文档
最新文档