数字信号处理实验指导书(2015年用) (1)资料
数字信号处理实验指导书(15-16-2)课案
数字信号处理实验讲义二O一六年三月目录实验一离散时间信号的时域分析 (5)实验二离散时间系统的时域分析 (10)实验三离散时间信号的频域分析 (14)实验四线性时不变离散时间系统的频域分析 (20)实验五IIR数字滤波器的设计 (23)实验六FIR数字滤波器的设计 (33)附录A MATLAB系统的常用概念 (36)附录B 信号处理工具箱函数 (44)前言数字信号处理研究数字序列信号的表示方法,并对信号进行运算,以提取包含在其中的特殊信息。
近几十年来,由于在研究及应用两方面均取得了进展,数字信号处理领域已日趋成熟。
由于计算机的大量使用,从而很容易向学生提供实际环境,以验证所学的概念和算法。
本指导书编程语言是MATLAB,它广泛应用于高性能数值计算和可视化。
本书假定读者已具备MATLAB基础知识。
前面的一些实验帮助学生理解信号处理的重要概念,后面以设计性实验项目为主,有利于加强对原理的理解并且加强对技术的应用。
附录中给出了本书中用到的MATALB函数及简要解释。
实验一离散时间信号的时域分析一.实验目的熟悉MATLAB中产生信号和绘制信号的基本命令;熟悉序列的简单运算,如:加法、标量乘法、时间反转、延时、乘法等。
二.实验相关知识准备1.用到的MATLAB命令运算符号::. + - * / ; %基本矩阵:i ones pi rand randn zeros基本函数:cos exp imag real数据分析:sum二维图形:axis grid legend plot subplot stairs stem title xlableylable clf工具箱:sawtooth square离散时间信号用数字序列x[n]来表示,常用的信号有单位冲激信号,单位阶跃信号,正弦信号,指数信号等三.实验内容1.离散时间序列的产生(1) 单位抽样序列(单位冲激信号)的产生和绘制%program 1clf; % 清除图形窗口n=-10:20; % 产生向量n,取值-10 - 20,间隔为1u=[zeros(1,10) 1 zeros(1,20)]; % 生成单位冲激信号,前面10个0,后面20个0stem(n,u); % 以n为横坐标,u为纵坐标画杆状图xlabel('Time index n');ylabel('Amplitude');%定义横纵坐标轴名称title('Unit Sample Sequence'); %标注图形名称axis([-10 20 0 1.2]); %定义坐标轴范围(2) 单位阶跃信号的产生用S=ones(1, N)(表示产生长度为N的一维行向量), 请采用与程序1相似的过程产生单位阶跃信号并画图。
天津理工大学数字信号处理实验指导书-学生版
《数字信号处理》实验指导书刘君编天津理工大学电信学院二零零五年七月实验一MATLAB软件简介一、实验目的:熟悉MATLAB软件布局,掌握MATLAB基本命令和操作。
二、实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。
三、实验内容:1.MATLAB简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks 公司已推出30多个应用工具箱。
MATLAB在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能能基本满足信号与系统课程的需求。
例如,解微分方程、傅里叶正反变换、拉普拉斯正反变换、z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲激响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析、零极点图绘制等内容。
数值计算仿真分析可以帮助学生更深入理解信号与系统的理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。
数字信号处理实验指导书
三、主要实验仪器及材料
4
微型计算机、Matlab 软件。
四、实验内容
1.知识准备 认真复习离散信号与系统、单位脉冲响应、抽样定理等有关内容,阅读本实验原理与方 法。 a) 2.编制信号产生子程序,用于产生实验中要用到的信号序列,并分析幅频响应
(1)单位脉冲序列
1, n 0 单位脉冲序列 xb (n) (n) 0, n 0
x(n), x ( n) 0
0 n N 1 其它n
一般只需要在 0 ~ 2 之间均匀的取 M 个频率点,计算这些点上的序列傅立叶变换:
X (e
j k
N 1
)
x ( n ) e jn k
n0
其中, k 2k / M , k 0,1, , M 1 。 X (e j ) 是一个复函数,它的模就是幅频特 性曲线。
其中
X ( j) F [ x(t )] x(t )e jt dt
ˆ ( j ) 由此可以推导出 X
1 T
k
X ( j jk )
s
由上式可知, 信号理想采样后的频谱是原来信号频谱的周期延拓, 其延拓周期等于采样 频率。根据香农定理,如果原信号是带限信号,且采样频率高于原信号最高频率的 2 倍,则 采样后的离散序列不会发生频谱混叠现象。 4.有限长序列的分析 对于长度为 N 的有限长序列,我们只观察、分析在某些频率点上的值。
数字信号处理实验指导书
山东大学控制学院生物医学工程专业 刘忠国
2015-2-10
数字信号处理实验目录
实验一 实验二 实验三 实验四 实验五 实验六
离散时间信号与系统分析………………………………3 离散时间信号与系统的 Z 变换分析 ……………………7 IIR 滤波器的设计与信号滤波 …………………………13 用窗函数法设计 FIR 数字滤波器………………………15 用 FFT 作谱分析…………………………………………17 综合实验…………………………………………………19
《数字信号处理》实验指导书
《数字信号处理》实验指导书实验一离散傅里叶变换一、实验目的(1) 熟悉Matlab的主要操作命令;掌握Matlab的基本使用方法,能够运用Matlab软件分别产生常见的连续信号和离散信号,并对其进行一定的运算。
(2) 理解离散傅立叶变换是信号分析与处理的一种重要变换,特别是FFT在数字信号处理中的高效率应用。
掌握DFT的理论,通过DFT对典型信号进行的频谱分析,加深对DFT的理解。
(3) 通过对同一信号,作不同点数的FFT,比较其对应的频谱,比较两者的异同点,加深理解信号频谱概念和谱分析的原理与方法,了解快速傅立叶变换(FFT)可以提高运算量的特点,并运用Matlab软件分别对离散周期信号和非周期信号进行谱分析,同时绘出幅度频谱和相位频谱。
二、预习要求1、掌握连续信号和离散信号的特点及其运算方法;2、熟悉Matlab的基本编程语言及其变量、数组、向量与矩阵和部分运算符的使用;3、掌握部分Matlab基本数学函数和作图函数的使用。
三、和实验相关的一些功能函数正弦信号:A*sin(w0*t+phi),A*cos(w0*t+phi),A*sin(omega*n+phi);方波信号:square(w0*t),square(w0*t,DUTY),A*square(omega*n);注意DUTY的取值情况。
指数信号:A*exp(a*t);矩形脉冲信号:rectpulse(t),rectpulse(t,w);单位脉冲信号和单位阶跃信号:ones(1,n)和zeros(1,n);基本信号运算函数:abs(幅值)、 angle(相角)。
四、实验原理1、有限长序列x(n)的DFT的概念和公式:N?1?kn?x(k)??x(n)WN?n?0?N?1?kn?x(n)?1x(k)WN??Nk?0?0?k?N?10?n?N?1《数字信号处理》实验指导书WN?e?j(2?/N)2、FFT算法调用格式是X= fft(x)或 X=fft(x,N)对前者,若x的长度是2的整数次幂,则按该长度实现x的快速变换,否则,实现的是慢速的非2的整数次幂的变换;对后者,N应为2的整数次幂,若x的长度小于N,则补零,若超过N,则舍弃N以后的数据。
数字信号处理实验指导书
数字信号处理实验指导书实验一离散时间与系统的傅立叶分析一、实验目的用傅立叶变换对信号和系统进行频域分析。
二、实验原理对信号进行频域分析就是对信号进行傅立叶变换。
对系统进行频域分析即对它的单位脉冲响应进行傅立叶变换,得到系统的传输函数。
也可以由差分方程经过;傅立叶变换直接求它的传输函数。
传输函数代表的就是系统的频率响应特性。
但传输函数是ω的连续函数,计算机只能计算出有限个离散频率点的传输函数值,因此得到传输函数以后,应该在0~2л之间取许多点,计算这些点的传输函数的值,并取它们的包络,该包络才是需要的频率特性。
当然,点数取得多一些,该包络才能接近真正的频率特性。
注意:非周期信号的频率特性是ω的连续函数,而周期信号的频率特性是离散谱,它们的计算公式不一样,响应的波形也不一样。
三、实验内容‘1.已知系统用下面差分方程描述:y(n)=x(n)十ay(n一1)试在a=0.95和a=一0.5两种情况下用傅立叶变换分析系统的频率特性。
要求写出系统的传输函数和幅度响应,并打印|H(e jw)|~ω曲线。
2.已知两系统分别用下面差分方程描述:y1(n)=x(n)+x(n一1)y2(n)=x(n)一x(n一1)试分别写出它们的传输函数和幅度响应,并分别打印|H(e jw)|~ω曲线。
3.已知信号x(n)=R3(n),试分析它的频域特性,要求打印|H(e jw)|~ω曲线。
4.假设x(n)=a(n),将x(n)以2为周期进行周期延拓,得到x(n),试分析它的频率特性,并画出它的幅频特性。
四、实验用MATLAB函数介绍1.abs功能:求绝对值(复数的模)。
y=abs(x):计算实数x的绝对值。
当x为复数时得到x的模(幅度值)。
当x为向量时,计算其每个元素的模,返回模向量y。
2.angle功能:求相角。
Ph=angle(x):计算复向量x的相角(rad)。
Ph值介于-л和+л之间.3.freqz:计算数字滤波器H(z)的频率响应。
数字信号处理实验指导书
注意此书用的时候N要先付值数字信号处理实验指导书目录前言 (1)第一章MATLAB基础知识 (1)第二章MATLAB基本数值运算 (4)第三章MATLAB的图形处理功能 (8)第四章MATLAB的程序设计 (11)第五章常用数字信号处理函数 (16)第六章MATLAB在数字信号处理中的应用 (23)实验一常见离散信号的MATLAB产生和图形显示 (33)实验二离散系统的频率响应分析和零、极点分布 (37)实验三序列线性卷积、圆周卷积的计算及其关系的研究 (39)实验四利用DFT分析信号的频谱 (41)实验五信号时间尺度变换的研究 (43)实验六快速傅里叶变换及其应用 (47)实验七IIR滤波器的实现与应用 (56)实验八FIR滤波器的实现与应用 (61)第一章MATLAB基础知识§1-1 MA TLAB软件简介MATLAB,Matrix Laboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境,在这个环境中,问题与求解都能方便地以数学的语言(主要是矩阵形式)或图形方式表示出来。
与大家常用的Fortran 和C等高级语言相比,MA TLAB的语法规则更简单,更贴近人的思维方式,被称为“草稿纸式的语言”。
§1-2 MA TLAB应用入门1.MATLAB的安装与卸载MATLAB软件在用户接口时具有较强的亲和力,其安装过程比较典型,直接运行光盘中的安装向导支撑程序SETUP.exe,按其提示一步步选择即可。
MATLAB自身带有卸载程序,在其安装目录下有uninstall子目录,运行该目录下uninstall.exe的即可;也可以通过Windows系统的安装卸载程序进行卸载。
2.MATLAB的启动与退出MATLAB安装完成后,会自动在Windows桌面上生成一个MA TLAB图标,它是指向安装目录下\bin\win32\matlab.exe的链接,双击这个图标即可来到MATLAB集成环境的基本窗口;也可以在开始菜单的程序选项中选择MATLAB 快捷方式;还可以在MA TLAB的安装路径的bin子目录中双击可执行文件matlab.exe。
《数字信号处理》实验指导书学生版
2015-2016学年第1学期学院物理与电子信息学院教研室信息与通信工程教研室课程名称数字信号处理授课班级13电信本、13电信卓越主讲教师黄隆胜职称副教授2014年03月目录前言 (1)实验一熟悉MATLAB环境 (4)实验二用MATLAB进行离散系统的Z域分析 (6)实验三傅立叶变换 (8)实验四IIR及FIR滤波器的MATLAB实现 (11)前言MATLAB是由美国Math Works公司推出的软件产品。
MATLAB是“Matrix Laboratory”的缩写,意及“矩阵实验室”。
MATLAB是一完整的并可扩展的计算机环境,是一种进行科学和工程计算的交互式程序语言。
它的基本数据单元是不需要指定维数的矩阵,它可直接用于表达数学的算式和技术概念,而普通的高级语言只能对一个个具体的数据单元进行操作。
因此,解决同样的数值计算问题,使用MATLAB要比使用Basic、Fortran和C语言等提高效率许多倍。
许多人赞誉它为万能的数学“演算纸”。
MATLAB采用开放式的环境,你可以读到它的算法,并能改变当前的函数或增添你自己编写的函数。
在欧美的大学和研究机构中,MATLAB是一种非常流行的计算机语言,许多重要的学术刊物上发表的论文均是用MATLAB来分析计算以及绘制出各种图形。
它还是一种有利的教学工具,它在大学的线性代数课程以及其它领域的高一级课程的教学中,已成为标准的教学工具。
最初的MATLAB是用FORTRAN编写的,在DOS环境下运行。
新版的MATLAB 是C语言编写的高度集成系统。
它在几乎所有流行的计算机机种,诸如PC、MACINTOSH、SUN、VAX上都有相应的MATLAB版本。
新版的MATLAB增强了图形处理功能,并在WINDOWS环境下运行。
现今,MATLAB的发展已大大超出了“矩阵实验室”的范围,在许多国际一流专家学者的支持下,Maths Works公司还为MATLAB 配备了涉及到自动控制、信息处理、计算机仿真等种类繁多的工具箱(Tool Box),这些工具箱有数理统计、信号处理、系统辨识、最优化、稳健等等。
数字信号处理实验指导书
j j
括幅频特性和相频特性)曲线。并将其和第 4 步中得到的结果进行比较。
七. 实验报告内容与要求
1. 简述实验目的、实验原理及实验方法和步骤。 2. 对各实验所得结果进行分析和解释。 3. 打印程序清单和要求的各信号波形。 4. 总结实验中的主要结论。 5. 简要回答思考题。
八. 思考
1. 信号的频域特性即信号的傅立叶变换利用 MATLAB 程序如何实现? 2. 信号的频域特性即频率响应函数 H (e ) 利用 MATLAB 程序如何求取?
4
X (e j ) FT [ x(n)]
n
x ( n) e
j n
(2.1)
序列和信号的傅立叶变换是ω的连续函数, 而计算机只能计算出有限个离散频率点的 函数值。因此在取得频谱函数后,应该在 0~2π之间取许多点,计算这些点的频谱函数 的值,并取它们的包络,该包络才是需要的频率特性。当然,点数取得多一些,该包络才
y(n) 0.05 x(n) 0.05 x(n 1) 0.9 y(n 1) 的响应 y2 (n) ,并绘出 y2 (n) 的时域特性曲
线。
( n) ,并绘出 y1 ( n) 的 5. 利用卷积函数 conv () 求信号 x1 ( n) 通过系统 h1 (n) 的响应 y1
j 能接近真正得频率特性。通常对 X (e ) 在[0,2π]上取模 X (e ) ,绘出幅频特性曲
j
线进行观察分析。系统的频域特性,通常是指求系统频率响应函数 H (e ) ,即系统单位 脉冲响应 h(n)的傅里叶变换。 对于线性时不变时域离散系统,当系统的输入序列为 x(n) ,系统的单位脉冲响应为 为 h(n) ,则线性时不变系统的输出序列为
《数字信号处理实验》指导书
《数字信号处理实验》实验1 常用信号产生实验目的:学习用MATLAB编程产生各种常见信号。
实验内容:1、矩阵操作:输入矩阵:x=[1 2 3 4;5 4 3 2;3 4 5 6;7 6 5 4]引用 x的第二、三行;引用 x的第三、四列;求矩阵的转置;求矩阵的逆;2、单位脉冲序列:产生δ(n)函数;产生δ(n-3)函数;3、产生阶跃序列:产生U(n)序列;产生U(n-n0)序列;4、产生指数序列:x(n)=0.5n⎪⎭⎫⎝⎛4 35、产生正弦序列:x=2sin(2π*50/12+π/6)6、产生取样函数:7、产生白噪声:产生[0,1]上均匀分布的随机信号:产生均值为0,方差为1的高斯随机信号:8、生成一个幅度按指数衰减的正弦信号:x(t)=Asin(w0t+phi).*exp(-a*t)9、产生三角波:实验要求:打印出程序、图形及运行结果,并分析实验结果。
实验2 利用MATLAB 进行信号分析实验目的:学习用MATLAB 编程进行信号分析实验内容:1数字滤波器的频率响应:数字滤波器的系统函数为:H(z)=21214.013.02.0----++++z z z z , 求其幅频特性和相频特性:2、离散系统零极点图:b =[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];画出其零极点图3、数字滤波器的冲激响应:b=[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];求滤波器的冲激响应。
4、 计算离散卷积:x=[1 1 1 1 0 0];y=[2 2 3 4];求x(n)*y(n)。
5、 系统函数转换:(1)将H(z)=)5)(2)(3.0()1)(5.0)(1.0(------z z z z z z 转换为直接型结构。
(2)将H (z )=3213210.31.123.7105.065.06.11-------+--+-zz z z z z 转换为级联型结构。
《数字信号处理》实验指导书(2015版)
数字信号处理实验指导书电子信息工程学院2015年4月目录实验一离散信号产生和基本运算 (3)实验二基于MATLAB的离散系统时域分析 (7)实验三基于ICETEK-F2812-A 教学系统软件的离散系统时域分析 (9)实验四基于MATLAB 的FFT 算法的应用 (14)实验五基于ICETEK-F2812-A 的FFT 算法分析 .................................. 错误!未定义书签。
实验六基于ICETEK-F2812-A 的数字滤波器设计 ................................. 错误!未定义书签。
实验七基于ICETEK-F2812-A的交通灯综合控制................................... 错误!未定义书签。
实验八基于BWDSP100的步进电机控制................................................. 错误!未定义书签。
实验一离散信号产生和基本运算一、实验目的1.掌握MATLAB最基本的矩阵运算语句。
2.掌握对常用离散信号的理解与运算实现。
二、实验原理1.向量的生成(1)利用冒号“:”运算生成向量,其语句格式有两种:A=m:nB=m:p:n第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。
第二种格式用于生成步长为p的均匀等分的向量。
(2)利用函数linspace()生成向量,linspace()的调用格式为:A=linspace(m,n)B=linspace(m,n,s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。
第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。
2.矩阵的算术运算(1)加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量(一个数)的加减运算,指令为:A+3A-9(2)乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另A’表示矩阵的转置运算3.数组函数下面列举一些基本函数,他们的用法和格式都相同。
数字信号处理实验指导书
% Program P1_2
% Generation of a sinusoidal sequence
n = 0:40;
பைடு நூலகம்f = 0.1;
phase = 0;
A = 1.5;
arg = 2*pi*f*n - phase;
x = A*cos(arg);
clf;
% Clear old graph
附录A MATLAB系统的常用概念 .........................................................................28
附录B
信号处理工具箱函数...........................................................................33
分析,从而进一步研究它们的性质。 2.熟悉离散时间序列的 3 种表示方法:离散时间傅立叶变换(DTFT),离
散傅立叶变换(DFT)和 Z 变换。
二.实验相关知识准备 1.用到的 MATLAB 命令 运算符和特殊字符: < > .* ^ .^ 语言构造与调试: error function pause 基本函数: angle conj rem 数据分析和傅立叶变换函数: fft ifft max min 工具箱: freqz impz residuez zplane
数字信号处理 实验指导书
长沙理工大学电气与信息工程学院
目
录
实验一:离散时间信号的时域分析........................................................................3 实验二:离散时间系统的时域分析........................................................................6 实验三:离散时间信号的频域分析........................................................................9 实验四:线性时不变离散时间系统的频域分析..................................................13 实验五: IIR数字滤波器的设计...........................................................................17 实验六: FIR数字滤波器的设计..........................................................................24
《数字信号处理》实验指导书
实验一 采样率对信号频谱的影响一、实验目的1.理解采样定理; 2.掌握采样频率确定方法; 3.理解频谱的概念; 4.理解三种频率之间的关系。
二、实验原理理想采样过程是连续信号x a (t )与冲激函数串M (t )的乘积的过程∑∞-∞=-=k skT t t M )()(δ (1))()()(ˆt M t x t xa a = (2) 式中T s 为采样间隔。
因此,理想采样过程可以看作是脉冲调制过程,调制信号是连续信号x a (t ),载波信号是冲激函数串M (t )。
显然)()()()()(ˆs k s ak s aa kT t kT xkT t t xt x-=-=∑∑∞-∞=∞-∞=δδ (3)所以,)(ˆt xa 实际上是x a (t )在离散时间kT s 上的取值的集合,即)(ˆs a kT x 。
对信号采样我们最关心的问题是,信号经过采样后是否会丢失信息,或者说能否不失真地恢复原来的模拟信号。
下面从频域出发,根据理想采样信号的频谱)(ˆΩj X a和原来模拟信号的频谱)(Ωj X 之间的关系,来讨论采样不失真的条件∑∞-∞=Ω-Ω=Ωk ssakj j X T j X )(1)(ˆ (4)上式表明,一个连续信号经过理想采样后,其频谱将以采样频率Ωs =2π/T s 为间隔周期延拓,其频谱的幅度与原模拟信号频谱的幅度相差一个常数因子1/T s 。
只要各延拓分量与原频谱分量之间不发生频率上的交叠,则可以完全恢复原来的模拟信号。
根据式(4)可知,要保证各延拓分量与原频谱分量之间不发生频率上的交叠,则必须满足Ωs ≥2Ω。
这就是奈奎斯特采样定理:要想连续信号采样后能够不失真地还原原信号,采样频率必须大于或等于被采样信号最高频率的两倍h s Ω≥Ω2,或者h s f f 2≥,或者2hs T T ≤(5) 即对于最高频率的信号一个周期内至少要采样两点,式中Ωh 、f s 、T h 分别为被采样模拟信号的最高角频率、频率和最小周期。
数字信号处理实验指导书
《数字信号处理》实验指导书安阳工学院电子信息与电气工程学院目录实验一离散时间信号的表示及运算 (1)实验二离散时间LTI系统的时域分析 (10)实验三 z变换及离散时间LTI系统的z域分析 (17)实验四离散傅立叶变换及其快速算法 .................... ....... .. (29)实验五 IIR数字滤波器的MATLAB实现 (46)实验六 FIR数字滤波器的MATLAB实现.............................. .. (54)附录 MATLAB主要命令函数表....................... . (61)实验一 离散时间信号的表示及运算一、实验目的1、学会运用MATLAB 表示的常用离散时间信号;2、学会运用MATLAB 实现离散时间信号的基本运算。
二、实验条件装有MATLAB 软件的PC 机 三、 实验原理1、离散时间信号在MATLAB 中的表示离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。
离散序列通常用)(n x 来表示,自变量必须是整数。
离散时间信号的波形绘制在MATLAB 中一般用stem 函数。
stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。
如果要实心,需使用参数“fill”、“filled”,或者参数“.”。
由于MATLAB 中矩阵元素的个数有限,所以MATLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。
类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。
①单位取样序列单位取样序列)(n δ,也称为单位冲激序列,定义为)0()0(01)(≠=⎩⎨⎧=n n n δ (1-1) 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。
在MATLAB 中,冲激序列可以通过编写以下的impDT.m 文件来实现,即function y=impDT(n)y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。
数字信号处理实验指导书
实验一 信号、系统及系统响应1、实验目的:(1)熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2)熟悉时域离散系统的时域特性。
(3)利用卷积方法观察分析系统的时域特性。
(4)掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2、实验仪器:PC 机一台 MATLAB 软件 3、实验原理:采样是连续信号数字处理的第一个关键环节。
对一个连续信号)(t x a 进行理想采样的过程可用下式表示。
)()()(ˆt p t x t xa a = 其中)(ˆt xa 为)(t x a 的理想采样,)(t p 为周期冲激脉冲, 即 ∑∞-∞=-=n nT t t p )()(δ;由频域卷积定理,得)]([1)(ˆs a am j X Tj X Ω-Ω=Ω ※ 上式表明,)(ˆΩj X a为)(Ωj X a 的周期延拓,其延拓周期为采样角频率(T s /2π=Ω)。
采样前后的频谱示意图见课本。
只有满足采样定理时,才不会发生频率混叠失真。
在计算机上用高级语言计算)(ˆΩj X a 很不方便,下面给出用序列的傅里叶变换来计算)(ˆΩj X a的方法。
课本中(2.4.7)式∑∞-∞=-=r ajwr TT w j X T e X )]2([1)(π,表示序列的傅里叶变换)(jwe X 和模拟信号)(t x a 的傅里叶变换)(Ωj X a 之间的关系式。
与※式比较,可得T w jw a e X j X Ω==Ω|)()(ˆ,这说明两者之间只在频率度量上差一个常数因子T 。
实验过程中应注意这一差别。
为了在数字计算机上观察分析各种序列的频域特性,通常对)(jwe X 在[]π2,0上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n), 有∑-=-=1)()(N n n jw jw k ke n x eX其中 1,,1,02-==M k k Mw k ,π通常M 应取得大一些,以便观察谱的细节变化。
《数字信号处理》实验指导书
《数字信号处理》实验指导书实验序号:1 实验名称:利用FFT 进行谱分析和实现快速卷积 适用专业:通信工程、电子信息工程 学 时 数:4学时一、实验目的1.加深DFT 算法原理和基本性质的理解。
2.熟悉FFT 算法原理和FFT 子程序的应用。
3.学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析 误差及其原因,以便正确应用FFT 。
4.加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT 进行数字信号处理。
5.掌握循环卷积和线性卷积两者之间的关系。
二、实验原理1.在工程技术的许多分支中,要掌握的基本内容之一就是正确理解时域和频域的关系。
对于数字系统来说,就是要精通离散傅立叶变换,因此离散傅立叶变换在数字信号处理中占有十分重要的地位。
在实际应用中,有限长序列有相当重要的地位,有限长序列的离散傅氏变换(DFT)的定义:[][]10)(1)()(10)()()(1010-≤≤==-≤≤==∑∑-=--=N n W k X N k X IDFT n x N k W n x n x DFT k X N k nk N N n nk N快速傅里叶变换(FFT )并不是一种新的变换,而是离散傅里叶变换(DFT )的一种快速算法。
用FFT 对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。
频谱分辨率直接和FFT 的变换区间N (即x(n)长度为N )有关,因为FFT 能够实现的频率分辨率是N /2π,因此要求D N ≤/2π。
可以根据此式选择FFT 的变换区间N 。
误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。
数字信号处理实验指导书(带源程序)
实验一离散时间系统与MA TLAB一. 实验目的1. 进一步加深对离散时间系统的理解。
2. 学习在MATLAB中怎样表示离散时间信号。
3. 熟悉离散时间信号的作图。
二. 实验步骤1. 复习离散时间系统的有关容。
2. 复习MA TLAB的基本语法。
3. 按实验容熟悉stem。
4. 编写程序。
5. 输出结果,总结结论,按要求写出实验报告。
三. 实验容1.掌握stem函数STEM(Y) plots the data sequence Y as stems from the x axis terminated with circles for the data value.STEM(X,Y) plots the data sequence Y at the values specified in X.例:t=[0:0.1:2]; x=cos(pi*t+0.6); stem(t,x);xn=[4,2,2,3,6,7]; stem(xn);思考:STEM(Y)与STEM(X,Y)有什么不同?STEM与PLOT函数有什么不同?2.掌握subplot函数H = SUBPLOT(m,n,p), or SUBPLOT(mnp), breaks the Figure window into an m-by-n matrix of small axes, selects the p-th axes for the current plot, and returns the axis handle. The axes are counted along the top row of the Figure window, then the second row, etc.例:n1=0:3;x1=[1,1,1,1];subplot(221);stem(n1,x1);title('x1序列');n2=0:7;x2=[1,2,3,4,4,3,2,1];subplot(222);stem(n2,x2);title('x2序列');n3=0:7;x3=[4,3,2,1,1,2,3,4];subplot(223);stem(n3,x3);title('x3序列');n4=0:7;x41=cos((pi/4)*n4);subplot(224);stem(n4,x41);title('x4序列');思考:subplot是怎样分配各个作图分区的顺序号的?3.信号的运算]0,1.0,4.0,7.0,1[)(1=n x ,]9.0,7.0,5.0,3.0,1.0[)(2=n x ,请作出)()(21n x n x +,)()(21n x n x 的图形。
《数字信号处理》实验指导书
的相角, Ai 就是极点 pi 到单位圆上的点 e jω 的矢量长度(距离),而θ i 就是该矢量 的相角,因此有:
M
∏ B e j(ψ1 +ψ 2 +⋅⋅⋅⋅+ψ M ) j
H (e jω ) =
j =1 N
= H (e jω ) e jϕ (ω )
∏ A e j(θ1+θ2 +⋅⋅⋅⋅+θ N ) i
(1) 设有直流信号 g(t)=1,现对它进行均匀取样,形成序列 g(n)=1。试讨 论若对该序列分别作加窗、补零,信号频谱结构有何变化。 四、实验过程及结果(含程序)
12
13
14
15
16
实验三 IIR 数字滤波器的设计
一、实验目的 (1)掌握双线性变换法及脉冲相应不变法设计 IIR 数字滤波器的具体设计 方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和 带通 IIR 数字滤波器的计算机编程。 (2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双 线性变换法及脉冲响应不变法的特点。 (3)熟悉 Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特 性
《数字信号处理》
实验指导书
班级: 学号: 姓名: 苏州科技学院 电子教研室
实验一 信号、系统及系统响应
一、实验目的
(1) 熟悉 MATLAB 平台的使用,掌握离散信号、离散系统的 MATLAB 实现。 (2)掌握根据系统函数绘制系统零极点分布图的基本原理和方法。 (3)理解离散系统频率特性分析的基本原理,掌握根据系统函数零极点分布来分 析离散系统频率响应的几何矢量法。
17
变换类型 低通
Байду номын сангаас
数字信号处理实验指导书
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10
12
14
16
18
20
(3)用 impz 函数 a1=[1,0.75,0.125]; b1=[1,-1]; impz(b1,a1,21);
Impulse Response 1.5
1
0.5
Amplitude
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10 12 n (samples)
5
……
程序计算结果: I.
y[n] + 0.75 y[n − 1] + 0.125 y[n − 2] = x[n] − x[n − 1]
a. 单位冲激响应: (1) 用 filter 函数 a1=[1,0.75,0.125]; b1=[1,-1]; n=0:20; x1=[1 zeros(1,20)]; y1filter=filter(b1,a1,x1); stem(n,y1filter); title('y1filter'); xlabel('x'); ylabel('y');
3. 编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分
别用 filter、conv、impz 三种函数完成。
y[n] + 0.75 y[n − 1] + 0.125 y[n − 2] = x[n] − x[n − 1] y[n] = 0.25{x[n − 1] + x[n − 2] + x[n − 3] + x[n − 4]}
数字信号处理实验教材正文
实验一 离散时间信号与系统的实现与表示由于MATLAB 数值计算的特点,用它来分析离散时间信号与系统是很方便的。
一、离散时间信号在MA TLAB 中,可以用一个列向量来表示一个有限长度的序列,例如:(){}3,2,1,3,2,0,1,2-=n x在MA TLAB 中可以表示为: >>x = [2 1 0 2 3 -1 2 3];但是这种表示方法没有包含抽样的位置信息,要完全表示()n x ,要用x 和n 两个向量表示,例如:(){}3,2,1,3,2,0,1,2-=n x在MA TLAB 中可以表示为: >> n=[-4 -3 -2 -1 0 1 2 3]; >> x = [2 1 0 2 3 -1 2 3];由于内存有限,MA TLAB 无法表示无限序列。
下面介绍几种典型离散信号的表示方法。
1、单位脉冲序列()⎩⎨⎧≠==0001n n n δ(1)在MATLAB 中zeros(1,N)函数来实现有限区间的()n δ,例如:>>x= zeros(1,N); >>x(1)=1;(2)我们还可以通过编写impseq 函数来实现,该函数代码如下:(箭头表示第0个抽样点的位置)function [x,n]= impseq(n0,n1,n2) %产生单位脉冲序列x(n)=δ(n-n0) %[x,n]= impseq(n0,n1,n2) % 1,n=n0 % x = % 1,n ≠n0 %n=时间序列 n=n1:n2; x=[(n-n0)==0]该函数产生如下信号,取值区间为],[21n n ,201n n n ≤≤,得到序列()⎩⎨⎧≠==-00001n n n n n n δ例1:输入命令:>>[x,n]= impseq(0,-5,5)得到如下结果: x =0 0 0 0 0 1 0 0 0 0 0 n =-5 -4 -3 -2 -1 0 1 2 3 4 52、单位阶跃序列()⎩⎨⎧<≥=0001n n n u (1)在MATLAB 中ones(1,N)函数来实现有限区间的()n u ,例如:>>x= ones(1,N);(2)我们还可以通过编写impseq 函数来实现,该函数代码如下:function [x,n]= impseq(n0,n1,n2)%产生单位阶跃序列x(n)=u(n-n0);n1≤n0≤n2 %[x,n]= impseq(n0,n1,n2) % 1,n ≥n0 % x = % 1,n<n0 %n=时间序列 n=n1:n2; x=[(n-n0)>=0]该函数产生如下信号,取值区间为],[21n n ,201n n n ≤≤,得到序列()⎩⎨⎧<≥=-0001n n n n n n u例2:输入命令:>>[x,n]= impseq(0,-5,5)得到如下结果: x =0 0 0 0 0 1 1 1 1 1 1 n =-5 -4 -3 -2 -1 0 1 2 3 4 53、正弦序列sin 函数就可以产生正弦波,例如:>>n= 0:N-1; >>x=A*sin(n) 4、实指数序列()R a a n x n ∈=MATLAB 实现:>>n= 0:N-1; >>x=a..^n 5、复指数序列()()n j e n x ωσ+=MATLAB 实现:>>n= 0:N-1;>>x=exp((lu+j*w)*n); 6、随机序列rand(1,N):产生[0,1]上均匀分布的随机序列;randn(1,N):产生均值为0,方差为1的高斯随机序列,即白噪声序列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验0:熟悉Matlab环境和语言1. 实验目的(1)熟悉MATLAB界面,了解常用操作窗口。
(2)熟悉MATLAB语言的基本操作技术。
(3)掌握m文件的编程及调试技术。
2. 实验原理与方法(1)软件界面简介不同版本的Matlab软件界面不完全相同,但一般都由标题栏、菜单栏、工具栏、交互窗口、状态栏等部分组成。
其中,交互窗口主要包括:命令窗、当前目录窗、工作空间窗(含数组编辑器)、历史指令窗、m文件编辑窗、图形显示窗等等。
(2)常用操作指定标点符号在MATLAB中的地位极其重要,为确保指令正确执行,标点符号一定要在英文状态下输入。
常用标点符号的功能如下:逗号, 用于要显示计算结果的指令结尾标志;用于输入量与输入量之间的分隔符;用于数组元素分隔符号。
黑点. 用作数值中的小数点;用于元素群运算。
分号; 用于不显示计算结果的指令结尾标志;用作数组的行间分隔符号。
冒号: 用于生成一维数值数组;用做单下标援引。
注释号% 后面的物理行作注释。
单引号‘ ’ 字符串记述符。
圆括号()函数指令时用;数组援引时用。
方括号[ ] 输入数组时用;函数指令输出宗量列表时用。
续行号… 由三个以上连续黑点构成,用于长指令。
常用操作指定主要有:clc 清除指令窗中显示内容clear 清除MATLAB工作空间中保存的变量。
close all 关闭所有打开的图形窗口type 显示指定m文件的内容。
disp 显示变量的内容。
(3)标识符、特殊变量、函数标识符是标志变量名、常量名、函数名和文件名的字符串的总称。
标识符可由字母、数字和下划线组成,但必须以英文字母开头。
标识符区分字母大小写。
特殊变量是MATLAB内部用来表达特殊含义的变量(包括常量),又称为MATLAB的预定义变量。
如:ans(指当前未定义变量名的答案);eps(表示浮点相对精度,eps=2-52≈2.2204e-016);inf(无穷大);nan(不是数);i或j(虚单元);pi(圆周率)。
在编写程序指定时,应尽可能不对这些预定义变量重新赋值。
MATLAB语言的优点和难点是函数多,仅基本部分就有700多个函数,共分22大类(即22个函数库)。
学习函数的基本方法是利用help命令或help窗口文件,在应用中逐步扩展掌握。
(4)矩阵运算和数组(元素群)运算矩阵在结构上和二维数组没有区别,但矩阵是一种具有线性变换意义的二维数组,矩阵运算有明确而且严格的数学规则。
把矩阵作为一个整体进行运算的常用运算符有五个“’、*、/、\、^ ”,常用运算函数有三个“expm、logm、 sqrtm”。
在做矩阵运算时,往往还需要进行行列提取、抽除、转置、重排等操作。
数组(元素群)运算是指对数组中所有元素按单个元素进行运算。
MATLAB 所有的运算符和函数都适用于做数组运算。
如果是对数组进行“转置、乘、除、幂”等运算,必须在运算符前加一个小黑点。
(5) 编辑调试m 文件对于比较简单的问题或一次性问题,可通过在指令窗中直接输入指令求解,但当指令较复杂,或一组指令只需改变少量参数就可解决不同问题时,直接在指令窗中逐条输入指令的方法就显得烦琐、累赘和笨拙。
m 文件可以很好地解决这个问题。
m 文件编辑器:m 文件可用编辑调试器(Edit/Debugger )进行编辑调试。
缺省情况下,m 文件编辑器不随MATLAB 的启动而开启,新建或打开m 文件时均可启动m 文件编辑器。
m 文件的编写:用clear,close all,clc 等语句清除工作空间的变量、关闭所有图形窗口和清空命令窗口;除单引号内部的字符及注释外,程序语句必须用半角英文字母和符号(建议在程序输入时从头到尾用英文,汉字在程序调试完毕后加入);编辑器可对程序的字体格式和段落缩进自动排版;程序路径和标识符不允许出现汉字字符;以%开头的物理行后面是注释(可用汉字)。
m 文件的运行:在m 文件编辑调试器(Edit/Debugger )中执行Debug:Run 命令即可运行调试,可在命令窗口及工作空间窗口了解运行情况。
想退出运行的m 文件可在命令窗中用“Ctrl+C ”中止m 文件的运行。
(6)matlab 绘图matlab 绘图函数比较多,常用的MATLAB 绘图函数有plot 、stem 、subplot 、 figure 等。
利用plot 函数可绘连续图象、利用stem 函数可绘离散图象。
利用subplot 函数可分割窗口。
利用figure 函数可创建新的图形窗口或指定当前窗口。
title 命令可给图加上标题;xlabel/ylabel 命令可给坐标轴加说明;text 或gtext 命令可在图上任何位置加标注;grid 命令可在图上画坐标网格线;hold on 命令可保持当前图形绘图。
这些函数命令的调用格式,可参阅help 查找。
表1 基本线型和颜色3.实验内容及步骤(1) 用plot 函数在0到2π范围内绘制两条正弦信号波形)4/sin(2),sin(1π-==x y x y ,波形需用不同线形区分,需加必要说明。
clc; clear; close all;format compact x=linspace(0,2*pi,100); y1=sin(x);y2=sin(x-pi/4); plot(x,y1,'r');hold on plot(x,y2,'b:');axis([0,2*pi,-1.1,1.1]); xlabel('x'),ylabel('y'), title('正弦波形图'),grid on(2) 用stem 函数绘15点指数序列波形n n x 8.02)(⨯=,需加必要说明。
clc; clear; close all;format compactn=0:14, xn=2*0.8.^n, stem(n,xn,'.');xlabel('n'),ylabel('x(n)'), title('指数序列波形'),(3) 已知序列}2,0,1,1,3,2{)(-=n x ,}1,1,2{)(-=n h ,计算卷积)(*)()(n h n x n y =,并用三个子窗口绘制x(n),h(n)和y(n)的波形,需加必要说明。
clc; clear; close all; format compactxn=[2,3,1,-1,0,2],Nx=length(xn), hn=[2,-1,1],Nh=length(hn), yn=conv(xn,hn),Ny=length(yn), n=0:(Ny-1), subplot(3,1,1);stem(n,[xn,zeros(1,Ny-Nx)],'b.'), xlabel('n'),ylabel('x(n)'), grid,title('输入信号x(n)'), subplot(3,1,2);stem(n,[hn,zeros(1,Ny-Nh)],'b.'), xlabel('n'),ylabel('h(n)'),grid,title('脉冲响应h(n)'), subplot(3,1,3); stem(n,yn,'r.'),xlabel('n'),ylabel('y(n)'), grid,title('输出信号y(n)'),(4) 已知系统的差分方程为)2()()2(9801.0)1(8237.1)(00--+---=n x b n x b n y n y n y ,令 49.100/10=b ,判断系统是否稳定,绘出系统的幅频特性曲线和相频特性曲线。
clc; clear; close all; format compactA=[1,-1.8237,0.9801],B=[1/100.49,0,-1/100.49], %系统差分方程系数向量A 和B[r,p,k]=tf2zp(B,A), %求系统的零、极点及增益 figure(1);zplane(B,A), %绘零极点图 figure(2);freqz(B,A); %观察系统的谐振频率实验一:系统响应及系统稳定性1. 实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及判断系统的稳定性。
2. 实验原理与方法描述系统特性有多种方式,时域描述有差分方程和单位脉冲响应,频域描述有系统函数和频率响应。
已知输入信号可以由差分方程、单位脉冲响应、系统函数或频率响应求系统输出信号。
(1)求系统响应 本实验仅在时域求系统响应。
在计算机上,已知差分方程可调用filter 函数求系统响应;已知单位脉冲响应可调用conv 函数计算系统响应。
(2)系统的时域特性 系统的时域特性是指系统的线性、时不变性质、因果性和稳定性。
本实验重点分析系统的稳定性,包括观察系统的暂态响应和稳态响应。
(3)系统的稳定性判断 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。
或者系统的单位脉冲响应满足绝对可和条件。
实际中,检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。
可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的。
(4)系统的稳态响应 系统的稳态输出是指当∞→n 时,系统的输出。
如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。
注意在以下实验中均假设系统的初始状态为零。
3.实验内容及步骤(1)已知差分方程求系统响应 设输入信号 )()(81n R n x =,)()(2n u n x =。
已知低通滤波器的差分方程为 )1(9.0)1(05.0)(05.0)(-+-+=n y n x n x n y 。
试求系统的单位冲响应,及系统对)()(81n R n x =和)()(2n u n x =的输出信号,画出输出波形。
(2)已知单位脉冲响应求系统响应 设输入信号 )()(8n R n x =,已知系统的单位脉冲响应分别为)()(101n R n h =,)3()2(5.2)1(5.2)()(2-+-+-+=n n n n n h δδδδ,试用线性卷积法分别求出各系统的输出响应,并画出波形。
(3)系统的稳定性判断 给定一谐振系统的差分方程为)2()()2(9801.0)1(8237.1)(00--+---=n x b n x b n y n y n y 令 49.100/10=b ,谐振器的谐振频率为0.4rad 。