文档库 最新最全的文档下载
当前位置:文档库 › 离散时间信号的表示及运算

离散时间信号的表示及运算

离散时间信号的表示及运算
离散时间信号的表示及运算

实验一 离散时间信号的表示及运算

一、实验目的

学会运用MATLAB 表示的常用离散时间信号;学会运用MATLAB 实现离散时间信号的基本运算。 二、实验原理

(一) 离散时间信号在MATLAB 中的表示

离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。由于MATLAB 中矩阵元素的个数有限,所以MATLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。(二) 离散时间信号的基本运算

对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MATLAB 的点乘和点除、序列移位和反折来实现,与连续时间信号处理方法基本一样。三、实验内容(包括代码与产生的图形)

1. 试用MATLAB 命令分别绘出下列各序列的波形图。

(1)()()n u n x n

??

?

??=21 (2)()()n u n x n 2=

(3)()()n u n x n

??

?

??-=21 (4)()()()n u n x n 2-=

(5)()()121

-=-n u n x n (6)()()n u n x n 1

21-?

?

?

??=

(1)、(2) n=-3:8; a=1/2;

x=a.^n.*uDT(n); subplot(221);

stem(n,x,'fill','r'),xlabel('n'),grid on title('(1)x(n)=(1/2)^{n}*U(n)') axis([-3 8 -0.1 1.1]) n1=-3:8; b=2;

x=b.^n1.*uDT(n1); subplot(222);

stem(n1,x,'fill','r'),xlabel('n'),grid on title('(2)x(n)=(2)^{n}*U(n)') axis([-3 4.5 -1.5 18])

分析:(1)该信号为指数衰减序列与阶跃序的乘积,当n<0时,U(n)=0,所以该

信号为零;当n=0时,U(n)=1,n

??

?

??21=1,该信号为1;当n>0,U(n)=1,该信号呈现

指数衰减趋势。

分析:(2)该信号与(1)信号不同之处在于此信号指数部分为增序列,故而当n≧0时,信号呈现指数增加的趋势。

(3)、(4)

n=-3:8;

a=-1/2;

x=a.^n.*uDT(n);

subplot(221);

stem(n,x,'fill','r'),xlabel('n'),grid on

title('(3)x(n)=(-1/2)^{n}*U(n)')

axis([-3 6 -1.5 1.5])

n1=-3:8;

b=-2;

x=b.^n1.*uDT(n1);

subplot(222);

stem(n1,x,'fill','r'),xlabel('n'),grid on

title('(4)x(n)=(-2)^{n}*U(n)')

axis([-3 4.5 -15 20])

分析:(3)该信号与(1)信号不同之处在于指数部分的底数为-1/2,故此信号在n≧0时,信号呈现指数衰减并且n为偶数时在正半轴指数衰减,n为奇数时在负半轴指数衰减。

分析:(4)该信号与(3)信号不同之处在于指数部分的底数为-2,故当n≧0时,

信号为指数增长并且n为偶数时在正半轴指数增长,n为奇数时在负半轴指数增长。

(5)、(6)

n=-1:8;

a=2;

x=a.^(n-1).*uDT(n-1);

subplot(221);

stem(n,x,'fill','r'),xlabel('n'),grid on

title('(5)x(n)=(2)^{n-1}*U(n-1)')

axis([-1 5.5 -1.5 17])

n1=-3:8;

b=1/2;

x=b.^(n1-1).*uDT(n1);

subplot(222);

stem(n1,x,'fill','r'),xlabel('n'),grid on

title('(6)x(n)=(1/2)^{n-1}*U(n)')

axis([-3 4.5 -0.2 2.5])

分析:(5)该信号为指数信号与阶跃信号的乘积,当n≧1时,U(n-1)=1,故在n ≧1时,该信号为指数增长的趋势。

分析:(6)该信号也是由指数序列与阶跃序列构成,当n<0时信号为零,当n≧0时,该信号指数衰减。

2. 试用MATLAB分别绘出下列各序列的波形图。

(1)()5sin

πn n x = (2)())5

10cos(ππ-=n n x (3)()5sin 65πn n x n

??? ??= (4)()5sin 23πn n x n

??

?

??=

(1)、(2)

n=0:25; x=sin(pi/5*n); subplot(221);

stem(n,x,'fill','r'),xlabel('n'),grid on title('(1)X(n)=sin(pi/5*n)') axis([0,16,-1.5,1.5]); n1=0:50;

x=cos(pi/10*n1-pi/5); subplot(222);

stem(n1,x,'fill','r'),xlabel('n'),grid on title('(2)X(n)=cos(pi/10*n-pi/5)') axis([0,28,-1.2,1.2]);

分析:(1)该信号为正弦序列,故波形成正弦形式,在区间[-1,1]上波动。 分析:(2)该信号为余弦序列,故波形成余弦形式,在区间[-1,1]上波动。 (3)、(4)

n=0:25; a=5/6;

x=a.^n.*sin(pi/5*n); subplot(221);

stem(n,x,'fill','r'),xlabel('n'),grid on title('(3)X(n)=5/6^{n}*sin(pi/5*n)') axis([0,15,-1,1]); n1=0:50; b=3/2;

x=b.^n1.*sin(pi/5*n1); subplot(222);

stem(n1,x,'fill','r'),xlabel('n'),grid on title('(4)X(n)=3/2^{n}*sin(pi/5*n)') axis([0,17,-1000,500]);

分析:(3)该信号为一个指数衰减序列乘一个正弦序列,因为正弦序列在固定区间[-1,1]上波动,所以总体上信号呈现正弦衰减的趋势。分析:(4)该信号为一个指数增长序列与一个正弦序列相乘,故信号呈现正弦增长的趋势。 四、总结

根据实验内容和分析讨论,写出自己认为重要的几点结论。

在Matlab 中没有单位取样序列和单位阶跃序列的库函数,在进行该函数的相关运算时要建立文件名为impDT.m 和uDT.m 的函数进行调用。 )(n R N 与)(n u 之间的关系为)()()(N n u n u n R N --=。

在对相关信号仿真前,首先要观察函数自变量和函数值的取值范围,以便

在编写代码时更好的书写变量的取值,更好的反应函数的特性。

实验1离散时间信号的产生与运算

数字信号处理 实验报告 班级: 学号: 姓名:word文档可自由复制编辑

实验1离散时间信号的产生与运算 一、实验目的 (1)了解离散时间信号的特点。 (2)掌握在计算机中生成及绘制各种常用离散时间信号序列的方法。 (3)掌握序列的加、减、乘、除和平移、反转、尺度变换等基本运算及计算机的 实现方法。 二、实验原理 信号是随时间变化的物理量,而计算机只能处理离散信号。离散信号是在某些不连续的时间上有信号值,而在其它时间点上没有定义的一类信号。离散信号一般可以由连续信号通过模数转换得到。 常用的离散信号有单位脉冲序列、单位阶跃序列、复指数序列、正弦信号序列、随机序列等。 离散信号的基本运算包括信号的加、减、乘、除。离散信号的时域变换包括信号的平移、反转、尺度变换等。 三、实验内容与方法 1、编写程序,生成如下数字信号:sqrt(2*k)u(k错误!未找到引用源。3), δ(k+5)。 (1) f(k)=sqrt(2*k)u(k错误!未找到引用源。3) 代码: k=(1:10); n=3; u=[(k-n)>=0]; a=sqrt(2*k); stem(k,a.*u); title('sqrt(2*k)u(k 3)的图像'); xlabel('时间(k)');ylabel('幅值f(k)'); 运行图: word文档可自由复制编辑

(2) f(k)= δ(k+5) 代码: k1=-10;k2=0;k=k1:k2; n=-5; %单位脉冲出现的位置 f=[(k-n)==0]; stem(k,f,'filled');title('δ(k+5)序列的图像') xlabel('时间(k)');ylabel('幅值f(k)'); 运行图: word文档可自由复制编辑

matlab实现:常见的离散时间信号

1. 单位抽样序列,或称为离散时间冲激,单位冲激: ? ??=01)(n δ 00≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-01)(k n δ 0≠=n k n 2.单位阶跃序列 ? ??01)(n u 00<≥n n 在MATLAB 中可以利用ones( )函数实现。 );,1(N ones x = 3.正弦序列 )(cos )(0φω+=n A n x 这里, ,,0ωA 和φ都是实数,它们分别称为本正弦信号)(n x 的振幅,角频率和初始相位。 πω200=f 为频率。 4.复正弦序列 n j e n x ω=)( 5.实指数序列 n A n x α=)( 6. 随机序列 长度为N 的随机序列 基本数学函数参考教材P69页以及随后的使用说明。 注意使用行向量,特别是冒号运算符。 举例,长度为N 的实指数序列在MATLAB 中实现: n a x N n .^1 :0=-= 1. 单位采样 长度为N 的单位采样序列u(n)可以通过下面的MATLAB 命令获得:

u=[1 )1,1(-N zeros ]; 延迟M 个采样点的长度为N 的单位采样序列ud(n)(M

用MATL新编实现常用的离散时间信号及其时域运算

用M A T L新编实现常用的离散时间信号及其 时域运算 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

实验四用MATLAB实现常用的离散时间信号及其时域运算 —— 摘要:在MATLAB中,只能用向量来表示离散时间信号。与连续信号不同,离散时 间信号无法用符号运算来表示。用适当的MATLAB语句表示出信号后,就可以利用MATLAB的绘图命令stem来绘出直观的信号波形图,stem是专门用于绘制离散时 间信号的。在MATLAB中离散序列的时域运算和变换不能用符号运算来实现,而必 须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的 相加、相乘,因而参加运算的两序列向量必须有相同的维数。 一、实验目的:(1)学习MATLAB语言及其常用指令; (2)学习和掌握用MATLAB语言产生离散时间信号的编程方法; (3)通过编程绘制出离散时间信号的波形,加深理解信号的时域运 算。 二、实验内容:(1)运用MATLAB的绘图指令绘制离散时间信号; (2)用MATLAB语言实现离散时间信号的时域运算。 三、实验原理:(1)单位阶跃序列和单位样值序列。 离散时间信号只在某些离散的瞬时给出信号的值,因此,它是时间上不连续的 序列。单位阶跃序列和单位样值序列在离散时间信号与系统的分析中是两个非 常典型的序列,分别记为u(n)和δ(n)。它们的定义分别如下: 1 n≥0 1 n≥0 u(n)= δ(n)= 0 n<0 0 n≠0

若单位阶跃序列的起始点为n0,单位样值序列出现在n0时刻,则表达式分别为: 1 n≥n0 1 n=n0 u(n-n0)= δ(n-n0)= 0 n

离散时间信号的表示及运算

第2章 离散时间信号的表示及运算 2.1 实验目的 ● 学会运用MATLAB 表示的常用离散时间信号; ● 学会运用MATLAB 实现离散时间信号的基本运算。 2.2 实验原理及实例分析 2.2.1 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill”、“filled”,或者参数“.”。由于MA TLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 ) 0()0(0 1)(≠=?? ?=n n n δ (12-1) 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 【实例2-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为 >>n=-3:3; >>x=impDT(n); >>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1])

离散信号的产生及运算

离散信号的产生及运算

实验一离散信号的产生及运算 一.实验目的: 1.复习和巩固数字信号处理中离散信号的产生和运算 2.学习和掌握用MATLAB 产生离散信号的方法 3.学习和掌握用MATLAB 对离散信号进行运算 二.实验原理 1.用MATLAB 函数产生离散信号 信号是数字信号处理的最基本内容。没有信号,数字信号处理就没了工作对象。MATLAB7.0 内部提供了大量的函数,用来产生常用的信号波形。例如,三角函数(sin,cos), 指数函数(exp),锯齿波函数(sawtooth), 随机数函数(rand)等。 ⑴产生被噪声污染的正弦信号 用随机数函数产生污染的正弦信号。 ⑵产生单位脉冲序列和单位阶跃序列 按定义,单位脉冲序列为 0 0 0 1, ( ) 0,n n n n n n 单位阶跃序列为 。 0 0 0 1, ( ) 0,n n u n n n n ⑶矩形脉冲信号:在MATLAB 中用rectpuls 函数来表示,其调用形式为: y=rectpuls(t,width),用以产生一个幅值为1,宽度为width,相对于t=0 点左右对称的矩形波信号,该函数的横坐标范围由向量t 决定,是以t=0 为中心向左右各展开width/2 的范围,width 的默认值为1。 例:以t=2T(即t-2×T=0)为对称中心的矩形脉冲信号的MATLAB 源程序如下:(取T=1) t=0:0.001:4; T=1; ft=rectpuls(t-2*T,2*T); plot(t,ft);grid on; axis([0 4 –0.5 1.5]); ⑷周期性矩形波(方波)信号在MATLAB 中用square 函数来表示,其调用形式为:y=square(t,DUTY),用以产生一个周期为2π、幅值为±1 的周期性方波信号,其中的DUTY 参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz 的周期性方波信号的MATLAB 参考程序如下: t=-0.0625:0.0001:0.0625; y=square(2*pi*30*t,75); plot(t,y);axis([-0.0625 0.0625 –1.5 1.5]);grid on ; 2.MATLAB 中信号的运算 乘法和加法:离散信号之间的乘法和加法,是指它的同序号的序列值逐项对应相乘和相加。

离散时间信号表与运算

离散时间信号表与运算

————————————————————————————————作者:————————————————————————————————日期:

实验一 离散时间信号的表示与运算 一 实验目的 1、熟悉MATLAB 的绘图函数; 2、掌握单位取样序列、单位阶跃序列、矩形序列和正余弦序列的产生方法; 3、掌握离散时间信号基本运算的MATLAB 实现; 4、掌握离散时间信号线性卷积和运算的MATLAB 实现。 二 实验设备 1、计算机 2、MA TLAB R2007a 仿真软件 三 实验原理 1)序列相加和相乘 设有序列)(1n x 和)(2n x ,它们相加和相乘如下: ) ()()()()()(2121n x n x n x n x n x n x ?=+= 注意,序列相加(相乘)是对应序列值之间的相加(相乘),因此参加运算的两个序列必须具有相同的长度,并且保证位置相对应。如果不相同,在运算前应采用zeros 函数将序列左右补零使其长度相等并且位置相对应。在MATLAB 中,设序列用x1和x2表示,序列相加的语句为:x=x1+x2;然而要注意,序列相乘不能直接用x=x1*x2,该式表示两个矩阵的相乘,而不是对应项的相乘。对应项之间相乘的实现形式是点乘“.*”,实现语句为:x=x1.*x2。 2)序列翻转 设有序列:)()(n x n y -=,在翻转运算中,序列的每个值以n=0为中心进行翻转,需要注意的是翻转过程中序列的样值向量翻转的同时,位置向量翻转并取反。MATLAB 中,翻转运算用fliplr 函数实现。设序列)(n x 用样值向量x 和位置向量nx 表述,翻转后的序列 )(n y 用样值向量y 和位置向量ny 描述。 3)序列的移位 移位序列)(n x 的移位序列可表示为:)()(0n n x n y -=,其中,00>n 时代表序列右移 0n 个单位;00

实验1 常见离散信号产生和基本运算

实验项目一 常见离散信号产生和基本运算 1.实验目的 (1)掌握MATLAB 最基本的矩阵运算语句; (2)掌握对常用离散信号的理解与运算实现。 2.实验内容 (1)熟悉MATLAB 的使用环境和方法; (2)练习使用基本的向量生成、矩阵运算、绘图等语句; 利用冒号(:)生成向量: X1=[1 2 3 4 5] X2=[1.000 1.500 2.000 2.500] X3=[5 4 3 2 1] 分别生成3*3,3*4的全0矩阵,全1矩阵和随机矩阵; 分别输入矩阵: 123 456789A = 1.0 1.1 1.22.0 2.1 2.23.0 3.1 3.2 B = 分别计算A+B ,A-B ,A+3,A-4,A*B ,A.*B ,C=inv (A ),A/B,A./B ; 分别计算sin(x1),cos(x1),exp(x1),log(x2),sqrt(x2)。 (3)生成以上五种基本离散信号函数; (4)绘出信号zn e n x =)(,当6)12/1(π j z +-=、6)12/1(π j z +=时、 121=z 、62π j z +=、6π j z =时的信号实部和虚部图; (5)绘出信号)1.0*2sin(5.1)(n n x π=的频率是多少?周期是多少?产生一个数字频率为0.9的正弦序列,并显示该信号,说明其周期并绘图。 3.实验技能要求 掌握并能灵活运用MATLAB 语句对离散时间信号进行基本建立和运算。 4.实验操作要求 在实验操作过程中要注意对基本实验仪器的保护。

5.实验场所 魂芯DSP应用实验室 6.实验课后训练 实验课后训练以实验报告为表现形式,在实验报告中要对实验过程中出现的问题进行分析和思考,对所测得的数据进行数据处理,并根据结果进行总结。

用MATLAB实现常用的离散时间信号及其时域运算

实验四用MATLAB实现常用的离散时间信号及其时域运算 —— 摘要:在MATLAB中,只能用向量来表示离散时间信号。与连续信号不同,离散时间信号无法用符号运算来表示。用适当的MATLAB语句表示出信号后,就可以利用MATLAB的绘图命令stem来绘出直观的信号波形图,stem是专门用于绘制离散时间信号的。在MATLAB中离散序列的时域运算和变换不能用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的相加、相乘,因而参加运算的两序列向量必须有相同的维数。 一、实验目的:(1)学习MATLAB语言及其常用指令; (2)学习和掌握用MATLAB语言产生离散时间信号的编程方法; (3)通过编程绘制出离散时间信号的波形,加深理解信号的时域运算。 二、实验内容:(1)运用MATLAB的绘图指令绘制离散时间信号; (2)用MATLAB语言实现离散时间信号的时域运算。 三、实验原理:(1)单位阶跃序列和单位样值序列。 离散时间信号只在某些离散的瞬时给出信号的值,因此,它是时间上不连续的序列。单位阶跃序列和单位样值序列在离散时间信号与系统的分析中是两个非常典型的序列,分别记为u(n)和δ(n)。它们的定义分别如下: 1 n≥0 1 n≥0 u(n)= δ(n)= 0 n<0 0 n≠0 若单位阶跃序列的起始点为n0,单位样值序列出现在n0时刻,则表达式分别为: 1 n≥n0 1 n=n0 u(n-n0)= δ(n-n0)= 0 n

单位样值序列与连续时间的单位冲激信号的异同。 (2)离散时间信号的时域运算。 与连续时间系统的研究类似,在离散系统分析中,经常遇到离散时间信号的运算,包括两信号的相加、相乘以及序列自身的移位、反褶、尺度等等,也需要了解在运算过程中序列的表达式以及对应的波形的变化。 序列x(n)的移位:x(n-n0) 序列x(n)的反褶:x(-n) 序列x(n)的尺度变换:x(an) 两序列x1(n)与x2(n)的相加减:x1(n) ±x2(n) 两序列与的相乘:x1(n) ·x2(n) (3)学习如何使用MATLAB语言产生离散时间信号并对离散时间信号进行时域运算。四、实验任务: (1)编制用于产生下列信号的通用程序,要求对于任意给定的参数都能实现所要求的信号。调试并运行这些通用的程序。 ①x(n)=Aδ(n-n0) 程序:function un(t1,t2,t0) t=t1:t2; n=length(t); tt=t1:t2; n1=length(tt); f=zeros(1,n); f(1,t0-t1+1)=3; stem(t,f),grid on title('μ¥??3??÷D?o?') axis([t1,t2 -0.2 4])

离散时间信号分析

离散时间信号分析 实验目的:利用MA TLAB进行离散时间序列的基本运算,掌握基本的MA TLAB函数的编写和调试方法。 实验内容: (1)信号相加 x(n)=x1(n)+x2(n) 当两个相加的序列长度不同时或位置不对应时,首先必须调整二者的位置对齐,然后通过zeros函数左右补零使其长度相等后再相加。下面的参考代码利用函数sigadd说明了这些运算,其验证将在后续实验中进行。 MATLAB参考代码 function[y,n]=sigadd(x1,n1,x2,n2) %implements y(n)=x1(n)+x2(n) %--------------------------------------------- %[y,n]=sigadd(x1,n1,x2,n2) %y=sum sequence over n,which includes n1 and n2 %x1=first sequence over n1 %x2=second sequence over n2(n2 can be different from n1) % n=min(min(n1),min(n2)):max(max(n1),max(n2));%duration of y(n) y1=zeros(1,length(n)); y2=y1; y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;%x1 with duration of y y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;%x2 with duration of y y=y1+y2;%sequence addition (2)信号相乘 信号相乘,即两个序列的乘积(或称“点乘”),表达式为: x(n)=x1(n)?x2(n) 在MA TLAB中,用运算符“.*”实现。

用MATLAB实现常用的离散时间信号及其时域运算

用M A T L A B实现常用的离散时间信号及其时域 运算 WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】

实验四用M A T L A B实现常用的离散时间信号及其时域运算 —— 摘要:在MATLAB中,只能用向量来表示离散时间信号。与连续信号不同,离散时间信号无法用符号运算来表示。用适当的MATLAB语句表示出信号后,就可以利用MATLAB的绘图命令stem来绘出直观的信号波形图,stem是专门用于绘制离散时间信号的。在MATLAB中离散序列的时域运算和变换不能用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的相加、相乘,因而参加运算的两序列向量必须有相同的维数。 一、实验目的:(1)学习MATLAB语言及其常用指令; (2)学习和掌握用MATLAB语言产生离散时间信号的编程方法; (3)通过编程绘制出离散时间信号的波形,加深理解信号的时域运算。二、实验内容:(1)运用MATLAB的绘图指令绘制离散时间信号; (2)用MATLAB语言实现离散时间信号的时域运算。 三、实验原理:(1)单位阶跃序列和单位样值序列。 离散时间信号只在某些离散的瞬时给出信号的值,因此,它是时间上不连续的序列。单位阶跃序列和单位样值序列在离散时间信号与系统的分析中是两个非常典型的序列,分别记为u(n)和δ(n)。它们的定义分别如下: 1 n≥0 1 n≥0 u(n)= δ(n)= 0 n<0 0 n≠0 若单位阶跃序列的起始点为n0,单位样值序列出现在n0时刻,则表达式分别为:

《离散时间信号的表示及运算》

实验一 离散时间信号的表示及运算 一、实验目的 1.掌握离散时间信号的时域表示; 2.掌握离散时间信号的基本运算; 3.用MA TLAB 表示的常用离散时间信号及其运算; 4.掌握用MA TLAB 描绘二维图形的方法。 二、实验原理 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。离散时间信号的波形绘制在MATLAB 中一般用stem 函数。 对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MATLAB 的点乘和点除、序列移位和反折来实现。 一些常用序列 1.单位冲激序列(单位抽样))(n δ ?? ?≠==0,00,1)(n n n δ (1) 2.单位阶跃序列)(n u ???=,,01)(n u 00<≥n n (2) 3.矩形序列)(n R N ???=,,01)(n R N 其他10-≤≤N n (3) 4.正弦序列和指数序列 正弦序列 )s i n ()(0?ω+=n A n x (4) 式中:A 为幅度,0ω为数字域的频率,它反映了序列变化的速率,?为起始相位。 实指数序列 )()(n u a n x n = (5)

式中,a 为实数。当1a 时,序列是发散的。a 为负数时,序列是摆动的。 复指数序列 n j e n x )(0)(ωσ+= (6) 它具有实部和虚部,0ω是复正弦的数字域频率。 三、实验内容 1.用Matlab 编制程序分别产生单位抽样序列)(n δ、单位阶跃序列)(n u 、矩形序列)()(5n R n x =、正弦序列)8 sin(2)(n n x π=、复指数序列n j e n x )641()(π+=,并画波形图; 绘制)(n δ波形 绘制n j e n x ][)()2.01.0(π+-=的实部和虚部的波形。

离散时间信号与系统

实验:离散时间信号与系统的时域分析 一、实验目的 1、熟悉和掌握常用的用于信号与系统时域仿真分析的MA TLAB函数; 2、掌握离散时间信号的MATLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MA TLAB编程; 3、牢固掌握系统的单位序列响应的概念,掌握MATLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。 基本要求:掌握用MATLAB描述离散时间信号的方法,能够编写MATLAB程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。掌握线性时不变离散系统的时域数学模型用MATLAB描述的方法,掌握线性常系数差分方程的求解编程。 二、实验原理 信号(Signal)一般都是随某一个或某几个独立变量的变化而变化的,例如,温度、压力、声音,还有股票市场的日收盘指数等,这些信号都是随时间的变化而变化的,还有一些信号,例如在研究地球结构时,地下某处的密度就是随着海拔高度的变化而变化的。一幅图片中的每一个象素点的位置取决于两个坐标轴,即横轴和纵轴,因此,图像信号具有两个或两个以上的独立变量。 在《信号与系统》课程中,我们只关注这种只有一个独立变量(Independent variable)的信号,并且把这个独立变量统称为时间变量(Time variable),不管这个独立变量是否是时间变量。 在自然界中,大多数信号的时间变量都是连续变化的,因此这种信号被称为连续时间信号(Continuous-Time Signals)或模拟信号(Analog Signals),例如前面提到的温度、压力和声音信号就是连续时间信号的例子。但是,还有一些信号的独立时间变量是离散变化的,这种信号称为离散时间信号。前面提到的股票市场的日收盘指数,由于相邻两个交易日的日收盘指数相隔24小时,这意味着日收盘指数的时间变量是不连续的,因此日收盘指数是离散时间信号。 而系统则用于对信号进行运算或处理,或者从信号中提取有用的信息,或者滤出信号中某些无用的成分,如滤波,从而产生人们所希望的新的信号。系统通常是由若干部件或单元组成的一个整体(Entity)。系统可分为很多不同的类型,例如,根据系统所处理的信号的不同,系统可分为连续时间系统(Continuous-time system)和离散时间系统(Discrete-time system),根据系统所具有的不同性质,系统又可分为因果系统(Causal system)和非因果系统(Noncausal system)、稳定系统(Stable system)和不稳定系统(Unstable system)、线性系统(Linear system)和非线性系统(Nonlinear system)、时变系统(Time-variant system)和时不变系统(Time-invariant system)等等。 然而,在信号与系统和数字信号处理中,我们所分析的系统只是所谓的线性时不变系统,这种系统同时满足两个重要的基本性质,那就是线性性和时不变性,通常称为线性时不变(LTI)系统。 1. 信号的时域表示方法 1.1将信号表示成独立时间变量的函数

实验一离散时间信号与系统分析

实验一 离散时间信号与系统分析 一、实验目的 1.掌握离散时间信号与系统的时域分析方法。 2.掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。 3.熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。 二、实验原理 1.离散时间系统 一个离散时间系统是将输入序列变换成输出序列的一种运算。若以][?T 来表示这种运算,则一个离散时间系统可由下图来表示: 图 离散时间系统 输出与输入之间关系用下式表示 )]([)(n x T n y = 离散时间系统中最重要、最常用的是线性时不变系统。 2.离散时间系统的单位脉冲响应 设系统输入)()(n n x δ=,系统输出)(n y 的初始状态为零,这是系统输出用)(n h 表示,即)]([)(n T n h δ=,则称)(n h 为系统的单位脉冲响应。 可得到:)()()()()(n h n x m n h m x n y m *=-= ∑∞ -∞= 该式说明线性时不变系统的响应等于输入序列与单位脉冲序列的卷积。 3.连续时间信号的采样 采样是从连续信号到离散时间信号的过渡桥梁,对采样过程的研究不仅可以了解采样前后信号时域何频域特性发生的变化以及信号内容不丢失的条件,而且有助于加深对拉氏变换、傅氏变换、Z 变换和序列傅氏变换之间关系的理解。 对一个连续时间信号进行理想采样的过程可以表示为信号与一个周期冲激脉冲的乘 积,即:)()()(?t t x t x T a a δ=

其中,)(?t x a 是连续信号)(t x a 的理想采样,)(t T δ是周期冲激脉冲 ∑∞ -∞=-= m T mT t t )()(δδ 设模拟信号)(t x a ,冲激函数序列)(t T δ以及抽样信号)(?t x a 的傅立叶变换分别为)(Ωj X a 、)(Ωj M 和)(?Ωj X a ,即 )]([)(t x F j X a a =Ω )]([)(t F j M T δ=Ω )](?[)(?t x F j X a a =Ω 根据连续时间信号与系统中的频域卷积定理,式(2.59)表示的时域相乘,变换到频域为卷积运算,即 )]()([21)(?Ω*Ω=Ωj X j M j X a a π 其中 ?∞ ∞ -Ω-==Ωdt e t x t x F j X t j a a a )()]([)( 由此可以推导出∑∞-∞=Ω-Ω=Ωk s a a jk j X T j X )(1)(? 由上式可知,信号理想采样后的频谱是原来信号频谱的周期延拓,其延拓周期等于采样频率。根据香农定理,如果原信号是带限信号,且采样频率高于原信号最高频率的2倍,则采样后的离散序列不会发生频谱混叠现象。 4.有限长序列的分析 对于长度为N 的有限长序列,我们只观察、分析在某些频率点上的值。 ???-≤≤=n N n n x n x 其它010),()( 一般只需要在π2~0之间均匀的取M 个频率点,计算这些点上的序列傅立叶变换: ∑-=-=1 0)()(N n jn j k k e n x e X ωω 其中,M k k /2πω=,1,,1,0-=M k 。)(ωj e X 是一个复函数,它的模就是幅频特 性曲线。 三、主要实验仪器及材料

时域离散信号的产生与运算

典型时域离散序列的产生与简单运算 1. 单位冲激序列 程序1: function [x,n]=impseq(n0,n1,n2) % generates x(n)=delta(n-n0); n1<=n<=n2 n=[n1:n2]; x=[(n-n0)==0]; 调用:[x,n]=impseq(0,-3,4); stem(n,x) 程序2: n1=-3;n2=4;n0=0; n=n1:n2; x=[n==n0]; stem(n,x,'filled'); axis([n1,n2,0,1.1*max(x)]); xlabel('时间(n)');ylabel('幅度x(n)'); title('单位脉冲序列'); 2. 单位阶跃序列 程序: n1=-3;n2=4;n0=0; n=n1:n2; x=[n>=n0]; stem(n,x,'filled'); axis([n1,n2,0,1.1*max(x)]); xlabel('时间(n)');ylabel('幅度x(n)'); title('单位阶跃序列'); 3. 矩形序列 程序: 10()00n n n δ=?=?≠?1≥0()00n u n n ?=?

n=[-10:10]; xn1=[(n-0)>=0]; xn2=[(n-4)>=0]; %定义两个阶跃序列; xn=xn1-xn2; 两个阶跃序列之差得到矩形序列; stem(n,xn,'.'); xlabel('时间(n)');ylabel('幅度x(n)'); title(‘矩形序列'); 4. 正弦序列 程序: n=0:20; xn=sin(pi/4*n); stem(n,xn,'.'); xlabel('时间(n)');ylabel('幅度x(n)'); title(‘正弦序列'); 5. 指数序列 程序: n=[0:20]; x=(0.9).^n; stem(n,x); xlabel('时间(n)');ylabel('幅度x(n)'); title(‘指数序列'); 6. 对conv 进行简单的扩展conv_m ,可以完成任意位置序列的卷积. 对于有限长序列x (n ),h (n ),它们分别的区域为[n xb,n xe]和[n hb,n he],则卷积后的区域为 [n xb+n hb,n xe+n he] 程序: function[y,ny]=conv_m(x,nx,h,nh) nyb=nx(1)+nh(1); nye=nx(length(x))+nh(length(h)); ny=[nyb:nye]; y=conv(x,h); 调用: x=[3,11,7,0,-1,4,2]; h=[2,3,0,-5,2,1]; nx=[-3:3]; nh=[-1:4]; [y,ny]=conv_m(x,nx,h,nh) ()sin()x n A n ωθ=+n a n x =)(

离散时间信号期末试题

一、单项选择题(本大题共10小题,每小题2分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 第一 2.若一线性移不变系统当输入为x(n)=δ(n)时输出为y(n)=R3(n),则当输入为u(n)-u(n-2)时输出为( c )。 A.R3(n) B.R2(n) C.R3(n)+R3(n-1) D.R2(n)+R2(n-1) 3.下列哪一个单位抽样响应所表示的系统不是因果系统?( d ) A.h(n)=δ(n) B.h(n)=u(n) C.h(n)=u(n)-u(n-1) D.h(n)=u(n)-u(n+1) 4.离散系统的差分方程为y(n)=x(n)+ay(n-1),则系统的频率响应( a )。 A.当|a|<1时,系统呈低通特性 B.当|a|>1时,系统呈低通特性 C.当0

实验一-离散时间信号分析

实验一 离散时间信号分析 一、实验目的 1. 初步掌握 Matlab 的使用,掌握编写M 文件和函数文件 2. 掌握各种常用序列的表达,理解其数学表达式和波形表示之间的关系。 3. 掌握生成及绘制数字信号波形的方法。 4. 掌握序列的基本运算及实现方法。 5. 研究信号采样时采样定理的应用问题。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列{x (n )}来表示,其中x (n )代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为-∞< n<+∞的整数,n 取其它值x (n )没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号x a (t ) 进行等间隔采样,采样间隔为T ,得到{x (nT )} a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)δ (n )、单位阶跃序列u (n )、矩形序列R N (n ) 、 实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 y(n)=∑x (m )h (n ?m )+∞m=?∞=x(n)*h(n) 上式的运算关系称为卷积运算,式中* 代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下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。

离散时间信号的表示及运算

第2章离散时间信号的表示及运算 2.1实验目的 学会运用MATLAB表示的常用离散时间信号;学会运用MATLAB实现离散时间信号的基本运 算。 2.2实验原理及实例分析 221 离散时间信号在 MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列 通常用x(n)来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB中一般用Stem函数。stem函数的基本用法和Plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill、"‘filled ,或者参数:”。由于MATLAB中矩阵元素的个数有限,所以MATLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示 出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列J.(n),也称为单位冲激序列,定义为 (n =0) (12-1) (n = 0) 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n=0处是取确定的值1。在MATLAB中,冲激序列可以通过编写以下的impDT.m文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n必须为整数或整数向量。 【实例2-1】禾U用MATLAB的impDT函数绘出单位冲激序列的波形图。 解:MATLAB源程序为 >>n=-3:3; >>x=impDT(n); >>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列’)

离散信号的产生及运算

实验离散信号的产生及运算实验报告一实验任务 二实验程序及结果 n=0 :20; x=3*sin(pi*n/4+4/pi); subplot(2, 2, 1), stem(n,x); title(' x=3*sin(pi*n/4+4/pi)'); n=-20*pi:20*pi; f=sinc(n/pi); subplot(2,2,2), stem(n,f); title(' f=sinc(n/pi)'); n1 = -5; n2 = 5; n0= 0;

n = n1:n2; x =[n>=n0]; n1 = -5; n2 = 5; n0= 0; n = n1:n2; f =[ n >= n0]; subplot(2,2,3), stem(n, f,'filled'); title('f(n)=u(n)'); n1 = -5; n2 = 5; n01 = -3; n02 = 4; n = n1:n2; x1 = [(n-n01) == 0]; x2 = [(n-n02) == 0]; x=x1+2*x2; subplot(3,1,1);stem(n,x1,'filled','k'); ylabel('n+3') subplot(3,1,2);stem(n,x2,'filled','k'); ylabel('n-4') subplot(3,1,3);stem(n,x,'filled','k'); ylabel('x(n)');

n=0:24; x1=exp(-n/16); x2=5*sin(2*pi*n/10); x=x1.*x2; subplot(3,1,1);stem(n,x1,'filled','k'); title('x1=exp(-n/16)'); subplot(3,1,2);stem(n,x2,'filled','k'); title(' x2=5*sin(2*pi*n/10)'); subplot(3,1,3);stem(n,x,'filled','k'); title('x(n)=x1*x2');

实验一离散时间信号的分析报告

工程大学信号分析与处理实验一 专业:通信02班 学生:瑶华 学号:1304200113 完成时间:2020年11月19日

实验一: 离散时间信号的分析 一、实验目的 1.认识常用的各种信号,理解其数学表达式和波形表示。 2.掌握在计算机中生成及绘制数字信号波形的方法。 3.掌握序列的简单运算及计算机实现与作用。 4.理解离散时间傅立叶变换、Z 变换及它们的性质和信号的频域特性。 二、实验设备 计算机,MATLAB 语言环境。 三、实验基础理论 1.序列的相关概念 2.常见序列 ● 单位取样序列?? ?≠==0n 0,0 n 1n ,)(δ ● 单位阶跃序列???<≥=0 ,00 ,1)(n n n u ● 单位矩形序列???-≤≤=其他,01 0,1)(N n n R N ● 实指数序列)()(n u a n x n = ● 复指数序列n jw e n x )(0)(+=σ ● 正弦型序列)n sin()(0?+=w A n x

3.序列的基本运算 ● 移位 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) ● 累加∑-∞ == n m m x n y )()( ● 差分运算 ???--=?-+=?)1()()() ()1()(x n x n x n x n x n x n 后相差分前向差分 4.离散傅里叶变换的相关概念 ● 定义 ∑+∞ -∞ =-=n jwn jw e n x e X )() ( ● 两个性质 1) [] ) 2()2()2()()(,2)(ππππ++∞ -∞ =+-+--== =∑w j n n w j jw n w j jwn jw e X e n x e X e e w e X 故有。由于的周期函数,周期为是 2) 当x (n )为实序列时,)(jw e X 的幅值)(jw e X 在π20≤≤w 区间是偶对称函 数,相位)(arg jw e X 是奇对称函数。 5.Z 变换的相关概念 ● 定义 ∑+∞ -∞=-=n n z n x z X )() ((双边Z 变换) ∑+∞ =-=0 )()(n n z n x z X (单边Z 变换) 四、实验容与步骤 1.离散时间信号(序列)的产生

相关文档
相关文档 最新文档