《数字信号处理》上机实验指导书
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时间: 地点: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 第 2 页 共 6 页
《数字信号处理》上机实验指导书--------------------------------指导老师: 朱彦
x(-1)=1,x(-2)=-1,y(-1)=-1,y(-2)=1, 其初始条件为: 求系统的输出 y(n) 2. 离散傅立叶变换 DFT DFT 的物理意义是序列 x(n)的 N 点 DFT,是 x(n)的 Z 变换在单位圆上的 N 点等间隔采样;X(K)为 x(n)的离散时间傅立叶变换 X(ejw),在区间[0,2π]上的 N 点等间隔采样。 对连续的单一频率周期信号,按采样频率 采样,截取长度 N 分别选 N =20 和 N =16,观察其
附录 A 附录 B
wenku.baidu.com
三角函数 ----------------------------------------------------------------------------------------------- 6 初等函数 ----------------------------------------------------------------------------------------------- 6 参考书目:-------------------------------------------------------------------------------------------------- 6
实验一
离散时间信号与系统的 MATLAB 实现(验证)
一、基本要求 1. 掌握典型离散时间信号的 MATLAB 实现; 2. 掌握离散信号的基本运算; 3. 掌握离散系统的模型及其 MATLAB 实现 二、实验内容 1. 用 MATLAB 产生及显示以下典型离散时间信号
时间: 地点: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 第 1 页 共 6 页
刘永春 朱 彦
编 写
《数字信号处理》上机实验指导书--------------------------------指导老师: 朱彦
前
言
自 60 年 代 以 来 , 随 着 计 算 机 和 信 息 学 科 的 飞 速 发 展 , 数 字 信 号 处 理 ( Digital Signal Processing,DSP)技术应运而生并迅速发展,现已形成一门独立的学科体系。当前,我们正在全面地 进入数字时代,随着微电子技术的迅速发展,通用的 DSP 芯片的性能不断提高,而价格持续地下降。以 DSP 芯片及外围开发设备为主,正在形成一个具有较大潜力的产业与市场。 众所周知,几乎所有的工程技术领域都要涉及到信号问题。这些信号包括电的、磁的、机械的、热 的、声的、光的及生物体的等等各个方面。如何在较强的背景噪声下提取出真正的信号或信号的特征并 将其应用于工程实际是信号处理技术要完成的任务。因此可以说,信号处理几乎涉及到所有的工程技术 领域。 数字信号处理是一门以算法为核心的理论性很强的学科。它是利用数字计算机或专用处理设备,以 数值计算的方法对信号进行采集、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用 的目的。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优 点,这些都是模拟信号处理技术与设备所无法比拟的。 近 30 来年,数字信号处理是紧紧围绕着理论、实现及应用三个方面迅速发展起来的,它以众多的 学科为理论基础,其成果又渗透到众多的学科,成为理论与实践并重、在高新技术领域中占有重要地位 的新兴学科。 数字信号处理的实现,大体上有如下几种方法: (1) 在通用的微计算机上用软件来实现。软件可由使用者自己编写,也可使用现成的。这种实现方法 速度较慢,多用于教学与科研。 (2) 用单片机来实现。目前单片机的发展速度较快,其功能也很强。依靠单片机的硬件环境配以信号 处理软件可用于工程实际,如数字控制、医疗仪器等。 (3) 利用专门用于信号处理的 DSP 芯片来实现。DSP 芯片较之单片机有着更为突出的优点,如内部带 有乘法、累加器,采用流水线工作方式及并行结构,多总线,速度快,配有适于信号处理的指令等,DSP 芯片的问世及飞速发展,为信号处理技术应用于工程实际提供了可能。 (4) 利用特殊用途的 DSP 芯片来实现。现在国际上已推出专门用于 FFT、FIR 滤波、卷积、相关等专 用芯片, 其软件算法已在芯片内部用硬件电路实现, 使用者给出输入数据, 可以在输出端直接得到结果。 在实际应用中,数字信号处理的算法研究是关键。为了使同学们在学习《数字信号处理》这们课程 中,更好地理解和掌握课堂上所学的理论知识,加深对理论的理解,为将来在实际工作中,能够应用理 论知识解决实际问题,我们特别选择了如下一些基本的实验,使得同学门通过自己编程上机演练,加深 和巩固所学的理论知识。 考虑到学生们的上机的机时有限,我们选择了如下的一些基础实验: 1) 离散时间序列产生及频谱分析 2) 基 2FFT 算法编程 3) IIR 滤波器设计 4) FIR 滤波器设计 在本上机指导书中,指定的编程语言是 MathWorks 公司的 MATLAB 语言,这是目前国际上在理论 研究中普遍采用的一个软件。 同学们在作完上机实验后,必须提交实验报告。实验报告分为如下三个部分: 1. 实验要求和目的 2. 实验方案和程序清单 3. 实验结果和结果分析
《数字信号处理》上机实验指导书--------------------------------指导老师: 朱彦
(1)单位冲激序列 (n) (2)单位阶跃序列 u(n) (3)正弦序列: x(n) A sin( 2fn ), 其中, A 3, f 100, 1.2, 点数为32点的正弦信号 (4)指数序列: x(n) Aa n , A 3, a 0.7 ; x(n) Ae ( a jw) n , A 3, a 0.7, w 314 2.离散信号的基本运算 (1) 信号延迟 Y1(n)=sin(100n), y2(n)=sin(100(n-3)) (2) 信号相加 x1=[2 0.5 0.9 1]; x2=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7]; X=x1+x2; (3)信号翻转 y(n)=x(-n) X1=[2 0.5 0.9 1] (4)离散卷积
DFT 结果的幅度谱。 3. FFT 算法 FFT 并不是与 DFT 不同的另一种变换,而是为了减少 DFT 运算次数的一种快速算法。它是对变换 式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。常用的 FFT 是以 2 为基数的,其 长度 。它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于 2 的整数次方时, 为了使用以 2 为基数的 FFT,可以用末位补零的方法,使其长度延长至 2 的整数次方。 Y=fft(x), y=fft(x,N) 用来计算 x 的 N 点 FFT。当 x 的长度小于 N 时,fft 函数在 x 的尾部补零, 以构成 N 点数据;当 x 的长度大于 N 时,fft 函数对序列 x 进行截尾。为了提高运算速度,N 通常取 2 的幂次方。Ifft 函数用来计算序列的逆傅立叶变换。Y=ifft(x), y=ifft(x,N) 实验题目: (1)用 FFT 计算以下两个序列的线性卷积:
《数字信号处理》上机实验指导书--------------------------------指导老师: 朱彦
《数字信号处理》上机实验 指导书
目
前
录
言 ----------------------------------------------------------------------------------------------------- 1 离散时间信号与系统的 MATLAB 实现(验证)-------------------------------------1 离散信号变换(验证)-------------------------------------------------------------------- 2 IIR 滤波器设计(设计)------------------------------------------------------------------ 3 FIR 滤波器设计(设计)------------------------------------------------------------------ 4
实验一 实验二 实验三 实验四 备
注 ----------------------------------------------------------------------------------------------------- 4 信号处理工具箱函数 ---------------------------------------------------------------------- 5 MATLAB 的常用数学函数 ----------------------------------------------------------------- 6
用 MATLAB 计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
3.离散线性系统的 MATLAB 实现 (1) 时域表示 离散系统时域表示的 MATLAB 实现函数有 filter 函数和 impz 函数两种 (i) filter 函数 filter 函数是利用递归滤波器或非递归滤波器对数据进行滤波。因为一个离散系统可以看做是一个 滤波器,系统的输出就是输入经过滤波器滤波的结果。 Y=filter(b,a,x); [y,zf]=filter[b,a,x,zi]; b,a 表示向量 b 和 a 组成的系统对输入 x 进行滤波,系统的输出为 y.zi 表示输入信号的初始状态,zf 表 示该函数返回的系统最终状态向量。 (ii)impz 函数 Impz 函数直接给出系统的单位冲激响应,impz(b,a) 当系统的输入输出差分方程为: (/4 学时不同要求) Y(n)-0.8y(n-1)-0.5y(n-2)=0.7x(n)+0.3x(n-1) 系统的输入为单位冲激响应函数,分别利用 filter 和 impz 函数求取系统的单位冲激响应。n=[0:63] (2)传递函数响应 [h,f]=freqz(b,a,n,fs);向量 b 和 a 为离散系统的参数,fs 为采样频率,n 为在区间[0 fs/2]频率范 围内选取的频率点数,f 记录频率点数。由于 freqz 函数是采用基 2fft 算法,n 常取 2 的幂次方,以便提 高计算速度。 已知系统的输入输出传递函数为: 0.3 0.2 z 1 H ( z) ,求其频率响应 1 0.4 z 1 0.7 z 2 (3) 系统零极点表示法 Zplane(b,a) 系统如(2)中所示,求其零极点并给出系统的零极点图 三、实验中可能用到的 Matlab 函数: zeros(); ones(); exp(); abs(); angle(); plot(); subplot(); title(); xlabel(); ylabel(); figure(); stem(); eye(); filter(); zplane() ; freqz(); impz()
实验二
离散信号变换(验证)
一、基本要求 1. 掌握 Z 变换及其 MATLAB 实现 2. 掌握离散傅立叶变换 DFT 的原理,应用 DFT 对信号进行频谱分析; 3. 掌握基 2FFT 算法对离散傅立叶运算的速度提高的重要性; 二、实验内容 1. z 变换及 MATLAB 实现 Z 变换是对离散系统与离散信号的复频域进行分析与综合, 在数字信号处理中占有非常重要的地位。 若系统的差分方程为: y(n)-2y(n-1)+3y(n-2)=4u(n)-5u(n-1)+6u(n-2)-7u(n-3),
《数字信号处理》上机实验指导书--------------------------------指导老师: 朱彦
x(-1)=1,x(-2)=-1,y(-1)=-1,y(-2)=1, 其初始条件为: 求系统的输出 y(n) 2. 离散傅立叶变换 DFT DFT 的物理意义是序列 x(n)的 N 点 DFT,是 x(n)的 Z 变换在单位圆上的 N 点等间隔采样;X(K)为 x(n)的离散时间傅立叶变换 X(ejw),在区间[0,2π]上的 N 点等间隔采样。 对连续的单一频率周期信号,按采样频率 采样,截取长度 N 分别选 N =20 和 N =16,观察其
附录 A 附录 B
wenku.baidu.com
三角函数 ----------------------------------------------------------------------------------------------- 6 初等函数 ----------------------------------------------------------------------------------------------- 6 参考书目:-------------------------------------------------------------------------------------------------- 6
实验一
离散时间信号与系统的 MATLAB 实现(验证)
一、基本要求 1. 掌握典型离散时间信号的 MATLAB 实现; 2. 掌握离散信号的基本运算; 3. 掌握离散系统的模型及其 MATLAB 实现 二、实验内容 1. 用 MATLAB 产生及显示以下典型离散时间信号
时间: 地点: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 第 1 页 共 6 页
刘永春 朱 彦
编 写
《数字信号处理》上机实验指导书--------------------------------指导老师: 朱彦
前
言
自 60 年 代 以 来 , 随 着 计 算 机 和 信 息 学 科 的 飞 速 发 展 , 数 字 信 号 处 理 ( Digital Signal Processing,DSP)技术应运而生并迅速发展,现已形成一门独立的学科体系。当前,我们正在全面地 进入数字时代,随着微电子技术的迅速发展,通用的 DSP 芯片的性能不断提高,而价格持续地下降。以 DSP 芯片及外围开发设备为主,正在形成一个具有较大潜力的产业与市场。 众所周知,几乎所有的工程技术领域都要涉及到信号问题。这些信号包括电的、磁的、机械的、热 的、声的、光的及生物体的等等各个方面。如何在较强的背景噪声下提取出真正的信号或信号的特征并 将其应用于工程实际是信号处理技术要完成的任务。因此可以说,信号处理几乎涉及到所有的工程技术 领域。 数字信号处理是一门以算法为核心的理论性很强的学科。它是利用数字计算机或专用处理设备,以 数值计算的方法对信号进行采集、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用 的目的。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优 点,这些都是模拟信号处理技术与设备所无法比拟的。 近 30 来年,数字信号处理是紧紧围绕着理论、实现及应用三个方面迅速发展起来的,它以众多的 学科为理论基础,其成果又渗透到众多的学科,成为理论与实践并重、在高新技术领域中占有重要地位 的新兴学科。 数字信号处理的实现,大体上有如下几种方法: (1) 在通用的微计算机上用软件来实现。软件可由使用者自己编写,也可使用现成的。这种实现方法 速度较慢,多用于教学与科研。 (2) 用单片机来实现。目前单片机的发展速度较快,其功能也很强。依靠单片机的硬件环境配以信号 处理软件可用于工程实际,如数字控制、医疗仪器等。 (3) 利用专门用于信号处理的 DSP 芯片来实现。DSP 芯片较之单片机有着更为突出的优点,如内部带 有乘法、累加器,采用流水线工作方式及并行结构,多总线,速度快,配有适于信号处理的指令等,DSP 芯片的问世及飞速发展,为信号处理技术应用于工程实际提供了可能。 (4) 利用特殊用途的 DSP 芯片来实现。现在国际上已推出专门用于 FFT、FIR 滤波、卷积、相关等专 用芯片, 其软件算法已在芯片内部用硬件电路实现, 使用者给出输入数据, 可以在输出端直接得到结果。 在实际应用中,数字信号处理的算法研究是关键。为了使同学们在学习《数字信号处理》这们课程 中,更好地理解和掌握课堂上所学的理论知识,加深对理论的理解,为将来在实际工作中,能够应用理 论知识解决实际问题,我们特别选择了如下一些基本的实验,使得同学门通过自己编程上机演练,加深 和巩固所学的理论知识。 考虑到学生们的上机的机时有限,我们选择了如下的一些基础实验: 1) 离散时间序列产生及频谱分析 2) 基 2FFT 算法编程 3) IIR 滤波器设计 4) FIR 滤波器设计 在本上机指导书中,指定的编程语言是 MathWorks 公司的 MATLAB 语言,这是目前国际上在理论 研究中普遍采用的一个软件。 同学们在作完上机实验后,必须提交实验报告。实验报告分为如下三个部分: 1. 实验要求和目的 2. 实验方案和程序清单 3. 实验结果和结果分析
《数字信号处理》上机实验指导书--------------------------------指导老师: 朱彦
(1)单位冲激序列 (n) (2)单位阶跃序列 u(n) (3)正弦序列: x(n) A sin( 2fn ), 其中, A 3, f 100, 1.2, 点数为32点的正弦信号 (4)指数序列: x(n) Aa n , A 3, a 0.7 ; x(n) Ae ( a jw) n , A 3, a 0.7, w 314 2.离散信号的基本运算 (1) 信号延迟 Y1(n)=sin(100n), y2(n)=sin(100(n-3)) (2) 信号相加 x1=[2 0.5 0.9 1]; x2=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7]; X=x1+x2; (3)信号翻转 y(n)=x(-n) X1=[2 0.5 0.9 1] (4)离散卷积
DFT 结果的幅度谱。 3. FFT 算法 FFT 并不是与 DFT 不同的另一种变换,而是为了减少 DFT 运算次数的一种快速算法。它是对变换 式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。常用的 FFT 是以 2 为基数的,其 长度 。它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于 2 的整数次方时, 为了使用以 2 为基数的 FFT,可以用末位补零的方法,使其长度延长至 2 的整数次方。 Y=fft(x), y=fft(x,N) 用来计算 x 的 N 点 FFT。当 x 的长度小于 N 时,fft 函数在 x 的尾部补零, 以构成 N 点数据;当 x 的长度大于 N 时,fft 函数对序列 x 进行截尾。为了提高运算速度,N 通常取 2 的幂次方。Ifft 函数用来计算序列的逆傅立叶变换。Y=ifft(x), y=ifft(x,N) 实验题目: (1)用 FFT 计算以下两个序列的线性卷积:
《数字信号处理》上机实验指导书--------------------------------指导老师: 朱彦
《数字信号处理》上机实验 指导书
目
前
录
言 ----------------------------------------------------------------------------------------------------- 1 离散时间信号与系统的 MATLAB 实现(验证)-------------------------------------1 离散信号变换(验证)-------------------------------------------------------------------- 2 IIR 滤波器设计(设计)------------------------------------------------------------------ 3 FIR 滤波器设计(设计)------------------------------------------------------------------ 4
实验一 实验二 实验三 实验四 备
注 ----------------------------------------------------------------------------------------------------- 4 信号处理工具箱函数 ---------------------------------------------------------------------- 5 MATLAB 的常用数学函数 ----------------------------------------------------------------- 6
用 MATLAB 计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
3.离散线性系统的 MATLAB 实现 (1) 时域表示 离散系统时域表示的 MATLAB 实现函数有 filter 函数和 impz 函数两种 (i) filter 函数 filter 函数是利用递归滤波器或非递归滤波器对数据进行滤波。因为一个离散系统可以看做是一个 滤波器,系统的输出就是输入经过滤波器滤波的结果。 Y=filter(b,a,x); [y,zf]=filter[b,a,x,zi]; b,a 表示向量 b 和 a 组成的系统对输入 x 进行滤波,系统的输出为 y.zi 表示输入信号的初始状态,zf 表 示该函数返回的系统最终状态向量。 (ii)impz 函数 Impz 函数直接给出系统的单位冲激响应,impz(b,a) 当系统的输入输出差分方程为: (/4 学时不同要求) Y(n)-0.8y(n-1)-0.5y(n-2)=0.7x(n)+0.3x(n-1) 系统的输入为单位冲激响应函数,分别利用 filter 和 impz 函数求取系统的单位冲激响应。n=[0:63] (2)传递函数响应 [h,f]=freqz(b,a,n,fs);向量 b 和 a 为离散系统的参数,fs 为采样频率,n 为在区间[0 fs/2]频率范 围内选取的频率点数,f 记录频率点数。由于 freqz 函数是采用基 2fft 算法,n 常取 2 的幂次方,以便提 高计算速度。 已知系统的输入输出传递函数为: 0.3 0.2 z 1 H ( z) ,求其频率响应 1 0.4 z 1 0.7 z 2 (3) 系统零极点表示法 Zplane(b,a) 系统如(2)中所示,求其零极点并给出系统的零极点图 三、实验中可能用到的 Matlab 函数: zeros(); ones(); exp(); abs(); angle(); plot(); subplot(); title(); xlabel(); ylabel(); figure(); stem(); eye(); filter(); zplane() ; freqz(); impz()
实验二
离散信号变换(验证)
一、基本要求 1. 掌握 Z 变换及其 MATLAB 实现 2. 掌握离散傅立叶变换 DFT 的原理,应用 DFT 对信号进行频谱分析; 3. 掌握基 2FFT 算法对离散傅立叶运算的速度提高的重要性; 二、实验内容 1. z 变换及 MATLAB 实现 Z 变换是对离散系统与离散信号的复频域进行分析与综合, 在数字信号处理中占有非常重要的地位。 若系统的差分方程为: y(n)-2y(n-1)+3y(n-2)=4u(n)-5u(n-1)+6u(n-2)-7u(n-3),