实验一 离散时间信号分析
- 格式:docx
- 大小:555.53 KB
- 文档页数:10
实验一离散时间信号的频域分析一实验目的:信号的变换域分析是信号处理中一种有效的工具。
在离散信号的时域分析中,我们通常将信号表示成单位采样序列δ[n]的线性组合,而在频域中,我们将信号表示成复变量e-jwn或e-j(2*pi/N)n的线性组合,通过这样的表示,可以将时域的离散序列映射到频域以便于进一步的处理。
在本实验中,将学习利用MATLAB计算离散时间信号的DTFT和DFT,并加深对其相互关系的理解。
二实验原理:(1) DTFT和DFT的定义及其相互关系:序列x[n]的DTFT定义:X(e jw)=∑x[n]e-jnw(n从负无穷到正无穷)它是关于自变量w的复函数,且是以2*pi为周期的连续函数。
X(e jw)可以表示为:X(e jw)=X re(e jw)+ jX im(e jw)其中,X re(e jw)和X im(e jw)分别是X (e jw)的实部和虚部;还可以表示为:X(e jw)= |X(e jw)|e jØ(w)其中。
|X(e jw)|和Ø(w)=arg{ X(e jw)}分别是X(e jw)的幅度函数和相位函数;它们都是w的实函数,也是以2*pi为周期的周期函数。
序列x[n]的N点DFT定义:X[k]=X(e j(2*pi/N)k)=∑x[n]e-j(2*pi/N)kn (0<=n<=N-1)X[k]是周期为N的序列。
X(e jw)与X[k]的关系:X[k]是对X(e jw)在一个周期中的谱的等间隔N点采样,即:X[k]= X(e jw)|w=(2*pi/N)k而X(e jw)可以通过对X[k]内插获得。
(2)使用MATLAB命令:A.基于DTFT离散时间信号分析函数:freqz,real,imag,abs,angle,unware.函数freqz可以用来计算一个以e jw的有理分式形式给出的序列的DTFT值。
Freqz的形式多样,常见的有H=freqz(num,den,w),其中num表示序列有理分式DTFT的分子多项式系数,den表示分母多项式系数(均按z的降幂排列),矢量w表示在0到2*pi中给定的一系列频率集合点。
实验一 离散时间信号的时域分析实验1 序列的产生1. 目的:熟悉C 语言产生和绘制,熟悉MATLAB 中产生信号和绘制信号的基本命令。
2. 具体实验:2.1 单位样本和单位阶跃序列。
Q1.1 运行程序P1.1 ,以产生单位样本序列u[n]并显示它。
答:如图1-1所示。
Q1.2 命令clf , axis , title , xlabel 和ylabel 的作用是什么? 答:clf :擦除当前图形窗口中的图形。
Axis :调整坐标轴X 轴Y 轴的范围。
Title:给绘制的图形加上标题。
Xlabel:给X 轴加上标注。
Ylabel: 给Y 轴加上标注。
Q1.3 修改程序P1.1 以产生带有延时11个样本的延迟单位样本序列ud[n]。
运行修改的程序并显示产生的序列。
答:如图1-2所示。
Q1.4修改程序P1.1 以产生单位步长序列s[n]。
运行修改的程序并显示产生的序列。
答:如图1-3所示。
Q1.5修改程序P1.1 以产生带有超前7个样本的延迟单位样本序列sd[n]。
运行修改的程序并显示产生的序列。
答:如图1-4所示。
Figure 1-2 The unit sample sequence ud[n]Figure 1-1 The shifted unit sample sequence u[n]单位样本序列公式如下所示:Time index nA m p l i t u d eUnit Sample Sequence u[n]Time index nA m p l i t u d eShifted Unit Sample Sequence ud[n]1 , n=0 1 , n=k δ[n]= δ[n-k]=0 , 0≠0 0 , 0≠kFigure 1-3 The unit step sequence s[n] Figure 1-4 The shifted unit step sequence sd[n]单位阶跃序列公式如下所示:1 , n ≥0 1 , n ≥k μ[n]= μ[n-k]=0 , n <0 0 , n <k2.2 指数信号Q1.6 运行程序P1.2 ,以产生复数值的指数序列。
离散时间信号的时域分析实验报告实验报告:离散时间信号的时域分析一、实验目的本实验旨在通过MATLAB软件,对离散时间信号进行时域分析,包括信号的显示、基本运算(如加法、减法、乘法、反转等)、以及频域变换(如傅里叶变换)等,以加深对离散时间信号处理的基本概念和原理的理解。
二、实验原理离散时间信号是在时间轴上离散分布的信号,其数学表示为离散时间函数。
与连续时间信号不同,离散时间信号只能在特定的时间点取值。
离散时间信号的时域分析是研究信号的基本属性,包括幅度、时间、频率等。
通过时域分析,我们可以对信号进行各种基本运算和变换,以提取有用的信息。
三、实验步骤1.信号生成:首先,我们使用MATLAB生成两组简单的离散时间信号,一组为正弦波,另一组为方波。
我们将这些信号存储在数组中,以便后续分析和显示。
2.信号显示:利用MATLAB的绘图功能,将生成的信号在时域中显示出来。
这样,我们可以直观地观察信号的基本属性,包括幅度和时间关系。
3.基本运算:对生成的信号进行基本运算,包括加法、减法、乘法、反转等。
将这些运算的结果存储在新的数组中,并绘制出运算后的信号波形。
4.傅里叶变换:使用MATLAB的FFT(快速傅里叶变换)函数,将信号从时域变换到频域。
我们可以得到信号的频谱,进而分析信号的频率属性。
5.结果分析:对上述步骤得到的结果进行分析,包括比较基本运算前后的信号波形变化,以及傅里叶变换前后的频谱差异等。
四、实验结果1.信号显示:通过绘制图形,我们观察到正弦波和方波在时域中的波形特点。
正弦波呈现周期性的波形,方波则呈现明显的阶跃特性。
2.基本运算:通过对比基本运算前后的信号波形图,我们可以观察到信号经过加法、减法、乘法、反转等运算后,其波形发生相应的变化。
例如,两个信号相加后,其幅度和时间与原信号不同。
反转信号则使得波形在时间轴上反向。
3.傅里叶变换:通过FFT变换,我们将时域中的正弦波和方波转换到频域。
正弦波的频谱显示其频率为单一的直流分量,方波的频谱则显示其主要频率分量是直流分量和若干奇数倍的谐波分量。
实验一离散时间信号的时域分析离散时间信号是一种离散的信号形式,其具有离散的时间间隔。
这种信号在数字信号处理中得到了广泛的应用。
时域分析是分析信号的一种方法,它通常包括分析信号的幅度、相位、频率等参数,并从中获得信号的特征。
在本实验中,我们将探讨离散时间信号的时域分析方法。
1.实验目的• 了解离散时间信号的基本概念和性质。
• 熟悉MATLAB软件的使用,理解信号处理工具箱的使用方法。
2.实验原理离散时间信号是一种在离散时间点上定义的数列。
它通常用序列来表示,序列的元素是按照一定的时间间隔离散采样得到的。
离散时间信号的采样频率通常表示为Fs,单位是赫兹。
离散时间信号可以写成如下的形式:x(n) = [x(0),x(1),x(2),...,x(N-1)]其中,n表示离散时间点的下标,N表示离散时间信号的长度。
• 幅度分析:指分析离散时间信号的振幅大小。
离散时间信号的幅度、相位、频率的分析通常使用傅里叶变换、离散傅里叶变换等变换方法来实现。
3.实验步骤3.1 生成离散时间信号使用MATLAB编写程序,生成一个离散时间信号。
例如,我们可以生成一个正弦信号:t = 0:0.01:1;x = sin(2*pi*100*t);其中,t表示时间向量,x表示正弦信号。
将信号进行离散化,得到离散时间信号:其中,fs表示采样频率,n表示采样时间点,xn表示采样后的信号。
使用MATLAB的plot函数,绘制离散时间信号的时域图像。
figure(1);plot(n, xn);xlabel('Time');ylabel('Amplitude');其中,figure(1)表示创建一个新的窗口,用于显示图像。
xlabel和ylabel用于设置图像的横轴和纵轴标签。
3.3 使用FFT进行幅度分析X = fft(xn);n = length(X);f = (0:n-1)*(fs/n);power = abs(X).^2/n;其中,X表示离散时间信号的傅里叶变换结果,n表示离散时间信号的长度,f表示频率向量,power表示幅度谱。
《数字信号处理》上机实验指导书实验1 离散时间信号的产生1.实验目的数字信号处理系统中的信号都是以离散时间形态存在,所以对离散时间信号的研究是数字信号处理的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
MATLAB 是一套功能强大的工程计算及数据处理软件,广泛应用于工业,电子,医疗和建筑等众多领域。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大的绘图功能,便于用户直观地输出处理结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号的理解。
2.实验要求本实验要求学生运用MATLAB编程产生一些基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
3.实验原理(1)常见的离散时间信号1)单位抽样序列,或称为离散时间冲激,单位冲激:?(n)???1?0n?0 n?0如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:?1n?k ?(n?k)??0n?0?2)单位阶跃序列n?0?1 u(n)?n?0?0在MATLAB中可以利用ones( )函数实现。
x?ones(1,N);3)正弦序列x(n)?Acos(?0n??)这里,A,?0,和?都是实数,它们分别称为本正弦信号x(n)的振幅,角频率和初始相位。
f0??02?为频率。
x(n)?ej?n4)复正弦序列5)实指数序列x(n)?A?n(2)MATLAB编程介绍MATLAB是一套功能强大,但使用方便的工程计算及数据处理软件。
其编程风格很简洁,没有太多的语法限制,所以使用起来非常方便,尤其对初学者来说,可以避免去阅读大量的指令系统,以便很快上手编程。
值得注意得就是,MATLAB中把所有参与处理的数据都视为矩阵,并且其函数众多,希望同学注意查看帮助,经过一段时间的训练就会慢慢熟练使用本软件了。
数字信号处理课程实验报告实验一 离散时间信号和系统响应一. 实验目的1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解2. 掌握时域离散系统的时域特性3. 利用卷积方法观察分析系统的时域特性4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析二、实验原理1. 采样是连续信号数字化处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性的变化以及信号信息不丢失的条件,而且可以加深对离散傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。
对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号: 式中()p t 为周期冲激脉冲,()a x t 为()a x t 的理想采样。
()a x t 的傅里叶变换为()a X j Ω:上式表明将连续信号()a x t 采样后其频谱将变为周期的,周期为Ωs=2π/T 。
也即采样信号的频谱()a X j Ω是原连续信号xa(t)的频谱Xa(jΩ)在频率轴上以Ωs 为周期,周期延拓而成的。
因此,若对连续信号()a x t 进行采样,要保证采样频率fs ≥2fm ,fm 为信号的最高频率,才可能由采样信号无失真地恢复出原模拟信号ˆ()()()a a xt x t p t =1()()*()21()n a a a s X j X j P j X j jn T π∞=-∞Ω=ΩΩ=Ω-Ω∑()()n P t t nT δ∞=-∞=-∑计算机实现时,利用计算机计算上式并不方便,因此我们利用采样序列的傅里叶变换来实现,即而()()j j n n X e x n e ωω∞-=-∞=∑为采样序列的傅里叶变换2. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。
已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。
工程大学信号分析与处理实验一专业:通信02班学生:瑶华学号:**********完成时间:2022年4月27日实验一: 离散时间信号的分析一、实验目的1.认识常用的各种信号,理解其数学表达式和波形表示。
2.掌握在计算机中生成及绘制数字信号波形的方法。
3.掌握序列的简单运算及计算机实现与作用。
4.理解离散时间傅立叶变换、Z 变换及它们的性质和信号的频域特性。
二、实验设备计算机,MATLAB 语言环境。
三、实验基础理论1.序列的相关概念2.常见序列● 单位取样序列⎩⎨⎧≠==0n 0,0n 1n ,)(δ ● 单位阶跃序列⎩⎨⎧<≥=0,00,1)(n n n u ● 单位矩形序列⎩⎨⎧-≤≤=其他,010,1)(N n n R N ● 实指数序列)()(n u a n x n =● 复指数序列n jw e n x )(0)(+=σ● 正弦型序列)n sin()(0ϕ+=w A n x3.序列的基本运算● 移位 y(n)=x(n-m)● 反褶 y(n)=x(-n)● 和 )()()(21n x n x n y +=● 积 )()()(21n x n x n y •=● 标乘 y(n)=mx(n)● 累加∑-∞==nm m x n y )()( ● 差分运算 ⎩⎨⎧--=∇-+=∆)1()()()()1()(x n x n x n x n x n x n 后相差分前向差分 4.离散傅里叶变换的相关概念● 定义 ∑+∞-∞=-=n jwn jwe n x e X )()(● 两个性质1) [])2()2()2()()(,2)(ππππ++∞-∞=+-+--===∑w j n nw j jw n w j jwn jw e X e n x e X e ew e X 故有。
由于的周期函数,周期为是 2) 当x (n )为实序列时,)(jw e X 的幅值)(jw e X 在π20≤≤w 区间是偶对称函数,相位)(arg jw e X 是奇对称函数。
实验一离散时间信号与系统时域分析实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令一实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令二、实验原理本实验主要为了熟悉MATLAB环境,重点掌握简单的矩阵(信号)输入和绘图命令,特别是绘图命令tem()和plot()。
实验内容中涉及到信号的无失真采样、离散卷积运算和差分方程求解这三个主要的问题。
其基本原理分别如下:对一个模拟信号某(t)进行采样离散化某(n),为了不失真地从采样信号某(n)中恢复原始信号某(t),采样时必须满足采样定理,即采样频率必须大于等于模拟信号中最高频率分量的2倍。
一个离散时间系统,输入信号为某(n),输出信号为y(n),运算关系用T[﹒]表示,则输入与输出的关系可表示为y(n)=T[某(n)]。
(1)线性时不变(LTI)系统的输入输出关系可通过h(n)表示:y(n)=某(n)某h(n)=式中某表示卷积运算。
(2)LTI系统的实现可物理实现的线性时不变系统是稳定的、因果的。
这种系统的单位脉冲响应是因果的(单边)且绝对可和的,即:h(n)0,n0;nh(n)0在MATLAB语言中采用conv实现卷积运算,即:Y=conv(某,h),它默认从n=0开始。
常系数差分方程可以描述一个LTI系统,通过它可以获得系统的结构,也可以求信号的瞬态解。
利用MATLAB 自带的filter(),可以代替手工迭代运算求解系统的差分方程,求解的过程类似于对输入信号进行滤波处理。
三、实验内容1、试画出如下序列的波形(1)某(n)3(n3)(n2)2(n1)4(n1)2(n2)3(n3)(2)某(n)0.5R10(n)解:用MATLAB描述波形1(1)某=[3120-42-3];%矩阵输入某n=-3:1:3;%输入自变量n,以间隔为1从-3到3变化n实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令tem(n,某);%tem()函数绘制火柴杆图,注意n,某元素个数必须相等某label('n');%横坐标显示nylabal('某(n)');%纵坐标显示某(n)grid;%绘制网格1(2)n=0:9;某=0.5.^n;tem(n,某);某label('n');ylabel('某(n)');gri实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令2、用MATLAB计算序列{-201–13}和序列{120-1}的离散卷积,即计算某(n)2(n)(n2)(n3)3(n4)与h(n)(n)2(n1)(n3)解:用MATLAB描述波形。
数字信号处理实验1--5含代码实验一离散时间信号的时域分析 1. 在MATLAB中利用逻辑关系式n,,0来实现序列,显示范围。
(产生如下,,,n,nn,n,n012图所示的单位脉冲信号的函数为impseq(n0,n1,n2),程序如示例所示),3,n,10并利用impseq函数实现序列:; ,,,,,,yn,2,n,3,,n,6,,xn1nnnn120源代码:impseq.mfunction y=impseq(n0,n1,n2)n=[n1:n2]y=[(n-n0)==0]exp01-1.mfunction impseq(n0,n1,n2)n=-3:1:10y=2*impseq(3,-3,10)+impseq(6,-3,10);stem(n,y)n,,0,,2. 在MATLAB中利用逻辑关系式来实现序列,显示范围。
(自己编写un,nn,n,n012产生单位阶跃信号的函数,函数命名为stepseq(n0,n1,n2)) 并利用编写的stepseq函数实现序列: ,,,,,,yn,un,2,un,2,5,n,10源代码:stepseq.mfunction y=stepseq(n0,n1,n2)n=n1:1:n2y=[(n-n0)>=0]exp01-2.mfunction stepseq(n0,n1,n2)n=-5:1:20y=stepseq(-2,-5,20)+stepseq(2,-5,20)stem(n,y)3. 在MATLAB中利用数组运算符“.^”来实现一个实指数序列。
如: n ,,,,xn,0.30,n,15源代码:n=0:1:15;x=0.3.^nstem(n,x)4. 在MATLAB中调用函数sin或cos产生正余弦序列,如:π,, ,,,,xn,3sin0.4πn,,5cos0.3πn0,n,20,,5,,源代码:n=0:1:20x=11*sin(0.3*pi*n+pi/5)+5*cos(0.3*pi*n)stem(n,x)思考题:1.在MATLAB环境下产生单位脉冲序列和单位阶跃序列各有几种方法,如何使用,2.在MATLAB环境下进行序列的相乘运算时应注意什么问题,实验二离散时间系统的时域分析1. 在MATLAB中利用内部函数conv来计算两个有限长序列的卷积。
实验一 离散时间信号的时域分析实验1 序列的产生1. 目的:熟悉C 语言产生和绘制,熟悉MATLAB 中产生信号和绘制信号的基本命令。
2. 具体实验:2.1 单位样本和单位阶跃序列。
Q1.1 运行程序P1.1 ,以产生单位样本序列u[n]并显示它。
答:如图1-1所示。
Q1.2 命令clf , axis , title , xlabel 和ylabel 的作用是什么? 答:clf :擦除当前图形窗口中的图形。
Axis :调整坐标轴X 轴Y 轴的范围。
Title:给绘制的图形加上标题。
Xlabel:给X 轴加上标注。
Ylabel: 给Y 轴加上标注。
Q1.3 修改程序P1.1 以产生带有延时11个样本的延迟单位样本序列ud[n]。
运行修改的程序并显示产生的序列。
答:如图1-2所示。
Q1.4修改程序P1.1 以产生单位步长序列s[n]。
运行修改的程序并显示产生的序列。
答:如图1-3所示。
Q1.5修改程序P1.1 以产生带有超前7个样本的延迟单位样本序列sd[n]。
运行修改的程序并显示产生的序列。
答:如图1-4所示。
Figure 1-2 The unit sample sequence ud[n]Figure 1-1 The shifted unit sample sequence u[n]单位样本序列公式如下所示:Time index nA m p l i t u d eUnit Sample Sequence u[n]Time index nA m p l i t u d eShifted Unit Sample Sequence ud[n]1 , n=0 1 , n=k δ[n]= δ[n-k]=0 , 0≠0 0 , 0≠kFigure 1-3 The unit step sequence s[n] Figure 1-4 The shifted unit step sequence sd[n]单位阶跃序列公式如下所示:1 , n ≥0 1 , n ≥k μ[n]= μ[n-k]=0 , n <0 0 , n <k2.2 指数信号Q1.6 运行程序P1.2 ,以产生复数值的指数序列。
电子信息工程系实验报告课程名称:数字信号处理成绩:实验项目名称:实验1 离散时间信号与系统的傅里叶分析时间:指导教师(签名):班级:电信092 姓名:XXX 学号:910706201实验目的:用傅里叶变换对离散时间信号和系统进行频域分析。
实验环境:计算机、MATLAB软件实验原理:对信号进行频域分析即对信号进行傅里叶变换。
对系统进行频域分析即对其单位脉冲响应进行傅里叶变换,得到系统的传输函数;也可由差分方程经过傅里叶变换直接求其传输函数,传输函数代表的就是频率响应特性。
而传输函数是w的连续函数,计算机只能计算出有限个离散频率点的传输函数值,故可在0~2∏之间取许多点,计算这些点的传输函数的值,并取它们的包络,所得包络即所需的频率特性。
实验内容和步骤:1、已知系统用下面差分方程描述:y(n)=x(n)+ay(n-1),试在a=0.95和a=0.5 两种情况下用傅立叶变换分析系统的频率特性。
要求写出系统的传输函数,并打印|H(e jω)|~ω曲线。
解:B=1;A=[1,-0.95]; [H,w]=freqz(B,A,'whole');subplot(1,3,1);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性');axis([0,2,0,2.5]);B=1;A=[1,-0.5];[H,w]=freqz(B,A,'whole');subplot(1,3,3);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性');axis([0,2,0,2.5]);图形如下图1、2所示:图1 a=0.95时的幅频响应特性图2 a=0.5时的幅频响应特性2、已知两系统分别用下面差分方程描述: y1(n)=x(n)+x(n-1) y2(n)=x(n)-x(n-1)试分别写出它们的传输函数,并分别打印|H(e jω)| ~ω曲线。
实验一离散时间信号的时域分析一、实验目的:1、学会用MATLAB在时域中产生一些基本的离散时间信号,并对这些信号进行一些基本的运算。
2、学会使用基本的MATLAB命令,并将它们应用到简单的数字信号处理问题中。
二、实验内容:1、学习并调试本章所给的例子。
2、回答书后给出的问题。
3、实验报告仅回答奇数信号的例子。
三、实验过程:(一)单位样本和单位阶跃序列:Q1.1运行程序P1.1以产生单位样本序列u[n]并显示它:clf;n = -10:20;u = [zeros(1,10) 1 zeros(1,20)];stem(n,u);xlabel('时间 n');ylabel('振幅');title('单位抽样序列');axis([-10 20 0 1.2]);Q1.3 修改程序P1.1以产生带有延时11个样本的延迟单位样本序列ud[n],运行修改的程序并且显示产生的序列。
clf;n = -10:20;ud = [zeros(1,21) 1 zeros(1,9)];stem(n,ud);xlabel('时间 n');ylabel('振幅');title('单位抽样序列');axis([0 30 0 1.2]);Q1.5修改程序P1.1以产生带有超前7个样本的延时单位阶跃序列sd[n],运行修改后的程序并且显示产生的序列:clf;n = -10:20;u = [zeros(1,3) 1 ones(1,27)];stem(n,u);xlabel('时间n');ylabel('振幅');title('单位抽样序列');axis([-10 20 0 1.2]);(二)指数信号:Q1.7 那个参数控制该序列的增长或衰减率?那个参数控制该序列的振幅?答:参数c控制该序列的增长或衰减率;参数k控制该序列的振幅。
长沙理工大学计通学院通信工程系胡双红编数字信号处理A 实验报告实验项目名称:离散时间信号与系统学院:______计算机与通信工程____ 专业:______ _通信工程 _________ 学号:______20xxxxxxxxxx_______ 班级:______ 通信1x-x_________ 报告人:________ xx_____________ 指导老师:___ 胡双红 _ _______ 实验时间:_______201x-x-x________实验目的:1、熟悉常见离散时间信号的产生方法;2、熟悉离散时间系统的单位脉冲响应和单位阶跃响应的求解方法;3、熟悉离散时间信号经过离散时间系统的响应的求解方法。
实验内容:已知离散时间系统差分方程为y(n)-0.5y(n-1)+0.06y(n-2)=x(n)+x(n-1),求1、该系统的单位脉冲响应并绘图;2、该系统的单位阶跃响应并绘图;3、已知x(n)=可自己指定用filter函数经过系统的响应并绘图;4、用convwthn函数求系统响应并绘图。
实验平台:MATLAB集成软件**实验流程:设计流程:1、定义a,b2、用impseq函数生成0~100的单位脉冲函数3、用filter函数表示x(n)的系统响应并画图4、用stepseq函数生成0~100的单位阶跃函数5、用filter函数表示x(n)的系统响应并画图6、生成一个0~100的函数x(n)= exp(-0.5*n)7、用convwthn函数做出系统单位脉冲相应和x(n)= exp(-0.5*n)的卷积和得到系统响应并画出卷积和前101点图形8、用filter函数表示x(n)的系统响应实验代码:(1)b=[1,1];a=[1,-0.5,0.06];n=[-10:25];impz(b,a,n);title('系统的单位脉冲响应');xlabel('n');ylabel('h(n)');(2)n=-10:25;x=(n>=0);b=[1,1];a=[1,-0.5,0.06];s=filter(b,a,x);stem(n,s)title('单位阶跃响');xlable('n');ylable('s(n)');(3)a=[1,-0.5,0.06];b=[1,1];n=-10:120;x1=exp(-0.05*n).*sin(0.1*pi*n+pi/3);s1=filter(b,a,x1);stem(n,s1);xlabel('n');ylabel('s1(n)');(4)a=[1,-0.5,0.06];b=[1,1];n=-20:120;h=impz(b,a,n);x1=exp(-0.05*n).*sin(0.1*pi*n+pi/3); nyb=n(1)+n(1);nye=n(length(x1))+n(length(h));m=[nyb:nye];y=conv(x1,h);stem(m,y);title('系统响应');xlabel('m');ylabel('y(m)');实验结果:单位脉冲响应单位阶跃响应x(n)用filter函数经过系统的响应convwthn函数求系统响应实验心得:实验心得:熟悉了常见离散时间信号的产生方法、离散时间系统的单位脉冲响应和单位阶跃响应的求解方法;熟悉离散时间信号经过离散时间系统的响应的求解方法。
数字信号处理实验一离散时间信号分析2013年3月6日一、实验目的1. 初步掌握Matlab的使用,掌握编写M文件和函数文件2. 掌握各种常用序列的表达,理解其数学表达式和波形表示之间的关系。
3. 掌握生成及绘制数字信号波形的方法。
4. 掌握序列的基本运算及实现方法。
5. 研究信号采样时采样定理的应用问题。
二、实验原理1.序列的基本概念离散时间信号在数学上可用时间序列{x(n)}来表示,其中x(n)代表序列的第n个数字,n 代表时间的序列,n 的取值范围为-∞<n <∞的整数,n 取其它值x(n)没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号x (t) a 进行等间隔采样,采样间隔为T,得到{x a(nT )}一个有序的数字序列就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位抽样)δ(n)、单位阶跃序列u(n)、矩形序列R N(n)、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。
4.序列的卷积运算上式的运算关系称为卷积运算,式中*代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4 个步骤。
(1)反褶:先将x(n)和h(n)的变量n换成m ,变成x(m)和h(m),再将h(m)以纵轴为对称轴反褶成h(-m)。
(2)移位:将h(-m)移位n,得h(n-m)。
当n为正数时,右移n位;当n为负数时,左移n 位。
(3)相乘:将h(n-m)和x(m)的对应点值相乘。
(4)求和:将以上所有对应点的乘积累加起来,即得y(n)。
三、主要实验仪器及材料PC 机、Matlab7.0四、实验内容1.知识准备认真复习以上基础理论,理解本实验所用到的实验原理。
2.离散时间信号(序列)的产生利用MATLAB产生和绘制下列有限长序列:(1)单位脉冲序列δ(n),单位阶跃序列u(n),矩形序列R8(n)程序如下:clear;n=-5:30;x1=[zeros(1,5),1,zeros(1,30)]; %定义单位脉冲序列 x2=[zeros(1,5),ones(1,31)]; %定义单位阶跃序列 x3=[zeros(1,5),ones(1,8),zeros(1,23)]; %定义矩形序列 subplot(3,1,1); stem(n,x1,'fill'); grid on ; subplot(3,1,2); stem(n,x2,'fill'); grid on ; subplot(3,1,3); stem(n,x3,'fill'); grid on绘制图如下:分析:根据以上三个序列的特点,正确使用零矩阵函数(zeros )和幺矩阵函数(ones )编程;也可以使用for 循环语句实现上述序列生成。
《数字信号处理》实验指导书编写:刘梦亭审核:司玉娟阎维和适用专业:电子信息工程电子信息科学与技术通信工程等电子信息与工程系2009年9月目录实验一:离散时间信号分析 (1)实验二:离散时间系统分析 (3)实验三:离散系统的Z域分析 (6)实验四:FFT频谱分析及应用 (9)实验五:IIR数字滤波器的设计 (12)实验六:FIR数字滤波器的设计 (16)附录: MATLAB基本操作及常用命令 (20)实验一:离散时间信号分析实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的1) 掌握离散卷积计算方法; 2) 学会差分方程的迭代解法;3) 了解全响应、零输入响应、零状态响应和初始状态的物理意义和具体求法; 二、实验内容 1、信号的加数学描述 )()()(21n x n x n x += MATLAB 实现 21X X X +=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]2、信号的乘数学描述 )()()(21n x n x n x *= MATLAB 实现 2.1X X X *=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]3、计算卷积用MATLAB 计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
首先用手工计算,然后用MATLAB 编程验证。
三、实验组织运行要求1、学生在进行实验前必须进行充分的预习,熟悉实验内容;2、学生根据实验要求,读懂并理解相应的程序;3、学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理;4、教师在学生实验过程中予以必要的辅导,独立完成实验;5、采用集中授课形式。
四、实验条件1、具有WINDOWS 98/2000/NT/XP 操作系统的计算机一台; 2.、MATLAB 编程软件。
实验一离散时间信号的表示及运算一、实验目的1、学会运用MATLAB 表示的常用离散时间信号;2、学会运用MATLAB 实现离散时间信号的基本运算。
二、实验原理及实例分析2.1 离散时间信号在MATLAB中的表示离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。
离散序列通常用x(n)来表示,自变量n 必须是整数。
离散时间信号的波形绘制在MA TLAB 中一般用stem( )函数(注释:stem中文意思是茎、干、柄)。
stem( )函数的基本用法和plot( )函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。
如果要实心,需使用参数“ fill ”、“ filled ”,或者参数“ .”。
由于MATLAB 中矩阵元素的个数有限,所以MATLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。
类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。
0、判断n 是否为整数function y = isInt(n)y = (n==fix(n)); % fix(n) 为取整运算end1、单位取样序列单位取样序列(n) ,也称为单位冲激序列,定义为1 (n 0)1)0 (n 0)要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n=0 处是取确定的值1。
在MA TLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即function y=impDT(n)y=(n==0); %当参数n 为0 时冲激为1,否则为0end调用该函数时n 必须为整数或整数向量。
【实例1】利用MA TLAB 的impDT 函数绘出单位冲激序列的波形图。
解:MATLAB 源程序为>>n=-3:3; % n=[-3,-2,-1,0,1,2,3]>>x=impDT(n);>>stem(n,x,'fill'), xlabel('n'), grid on>>title(' 单位冲激序列')>>axis([-3 3 -0.1 1.1])程序运行结果如图 1 所示。