当前位置:文档之家› 1、离散时间信号的时域分析

1、离散时间信号的时域分析

1、离散时间信号的时域分析
1、离散时间信号的时域分析

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

一、实验目的:

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控制该序列的振幅。

Q1.9 运算符real和imag的作用是什么?Complex real part;Complex imaginary part

答:运算符real和imag的作用分别是提取运算数值x的“实部”和“虚部”,

以便于接下来分别将“实部”和“虚部”成像。

Q1.11 运行程序P1.3,以产生实数值的指数序列:

clf;

n = 0:35; a = 1.2; K = 0.2;

x = K*a.^n;

stem(n,x);

xlabel('时间 n');ylabel('振幅');

Q1.13 算数运算符^和.^之间的区别是什么?

答:算术运算符^表示矩阵乘法,也就是,必须满足前一个矩阵的列数等于后一个矩阵的行数。算术运算符.^表示元素相乘,也就是向量或者矩阵中对应元素相乘。

Q1.15 该序列的长度是多少?怎么样才能改变它?

答:该序列的长度是35;通过改变“n=0:35”中的“35”这个数字可以改变序列的长度。

(三)正弦序列:

Q1.17 运行程序P1.4以产生正弦序列并显示它。

n = 0:40;

f = 0.1;

phase = 0;

A = 1.5;

arg = 2*pi*f*n - phase;

x = A*cos(arg);

clf; stem(n,x);

axis([0 40 -2 2]);grid;

title('正弦序列');

xlabel('时间 n');ylabel('振幅');

Q1.19 该序列的长度是多少?怎么样可以改变它?

答:该序列的长度是41个时间单位,通过改变n的参数可以改变该序列的长度。

Q1.21 axis和grid命令的作用是什么?Control axis scaling and appearance;Grid line

答:axis的作用是规定图像显示的横纵坐标的范围;grid的作用是显示图像上面的“网格”。

Q1.23 修改上述程序,以产生长度为50、频率为0.08、振幅为2.5、相移为90度的一个正弦序列并显示它。该序列的周期是多少?

n = 0:49;

f = 0.08;

phase = pi/2;

A = 2.5;

arg = 2*pi*f*n - phase;

x = A*cos(arg);

clf;

stem(n,x);

axis([0 49 -3 3]);

grid;

title('正弦序列');

xlabel('时间 n');ylabel('振幅');

答:周期为12.5

Q1.25 在程序P1.4中用stairs命令代替stem命令,运行新程序。新图形与习题Q1.17和习题Q1.24中产生的图形有什么区别?

n = 0:40;

f = 0.1;

phase = 0;

A = 1.5;

arg = 2*pi*f*n - phase;

x = A*cos(arg);

clf; stairs(n,x);

axis([0 40 -2 2]);grid;

title('正弦序列');

xlabel('时间 n');ylabel('振幅');

Stairs函数是用直线将相应的点连接起来,类似于阶梯状。

(四)随机信号:

Q1.27 编写一个MATLAB程序,以产生并显示一个长度为75的高斯随机信号,该信号正态分布且均值为0,方差为3.

clf;

x=randn(1,75)*3;

n=0:74;

stem(n,x);

Q1.29 运行程序P1.5,以产生所有相关的信号。% P P1_5

%通过平均的信号平滑

clf;

R = 51;

d = 0.8*(rand(R,1) - 0.5);m = 0:R-1;

s = 2*m.*(0.9.^m);

x = s + d';

subplot(2,1,1);

plot(m,d','r-',m,s,'g--',m,x,'b-.');

xlabel('时间n');ylabel('振幅');

legend('d[n] ','s[n] ','x[n] ');

x1 = [0 0 x];x2 = [0 x 0];x3 = [x 0 0];

y = (x1 + x2 + x3)/3;

subplot(2,1,2);

plot(m,y(2:R+1),'r-',m,s,'g--');

legend( 'y[n] ','s[n] ');

xlabel('时间n');ylabel('振幅');

Q1.31 使用语句x=s+d能产生被噪声污染的信号吗?若不能,为什么?

不能,因为d产生的序列是长度为51的列向量,而s是长度为51的行向量,必须转置后才能进行运算,可以将d的表达式变为d = 0.8*(rand(1,R) - 0.5)。

Q1.33 legend命令的作用是什么?Display legend

用一个给定字符串作为标记在当前图上插上说明。

Q1.35 算术运算符*和.*之间的区别是什么?Matrix multiply;Array multiply 算术运算符*表示矩阵相乘。算术运算符.*表示元素相乘。

Q1.37 该信号的最大频率和最小频率是多少?

+。最大频率为pi;最小频率为假设自变量的形式是2

an bn

+,则角频率是2an b

0。

Q1.39 在命令窗口中键入who。此时在命令窗口会显示什么信息?

List current variables

who:列出内存中的当前变量(只显示变量名)。

Q1.41 编写matlab程序,以产生指定方波和锯齿波序列,并将序列绘制出来。square:Square wave generation

sawtooth:Sawtooth and triangle wave generation.

程序如下:

t=0:30;

x=3.5*square(2*pi*0.1.*t,60); %占空比

subplot(2,2,1);stem(t,x);

grid; axis([0,30,-4,4]);

x=3.5*square(2*pi*0.1.*t,30);

subplot(2,2,2);stem(t,x);

grid; axis([0,30,-4,4]);

t=0:50;

x=2.*sawtooth(2*pi*0.05.*t); %周期为20

subplot(2,2,3);stem(t,x);

grid; axis([0 50 -2 2]);

x=2.*sawtooth(2*pi*0.05.*t,0.5);

subplot(2,2,4);stem(t,x);

grid; axis([0 50 -2 2]);

结果如图:

实验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.单边指数信号)()(t u Ae t y t α=; 2.单位冲激信号)()(0t t t y +=δ; 3.单位阶跃信号)()(0t t u t y +=; 4.矩形脉冲信号)]()([)(21t t u t t u A t y +-+?=; 5.正弦信号)()sin()(t u t A t y ω?=; 6.单位序列)()(0n n n y +=δ; 7.单位阶跃序列)()(0n n u n y +=; 8.单位矩形序列)()()(21n n u n n u n y +-+=; 9.指数序列)()(n u a A n y n ?=; 10.正弦序列)()sin()(n u n A n y ω?=。

单边指数信号 function zhishu(A,a,t1,t2,dt) t1=0 t2=10 A=1 A=-0.4 dt=0.01 t=t1:dt:t2; y=A*exp(a*t); plot(t,y) axis([t1,t2,0,1.2]) xlabel('t') ylabel('y(t)') title(' 单边指数信号') 单位冲激信号 function chongji(t1,t2,t0) dt=0.01; t1=10; t2=-5; t=t1:dt:t2; n=length(t); x=zeros(1,n); x(1,(-t0-t1)/dt+1)=1/dt; stairs(t,x); axis([t1,t2,0,1.2/dt]) xlabel('t') ylabel('y(t)') title('单位冲激信号')

离散时间信号表与运算

离散时间信号表与运算

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

实验一 离散时间信号的表示与运算 一 实验目的 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、了解常用的时域离散信号及其特点。 2、掌握MATLAB 产生常用时域离散信号的方法。 3、掌握时域离散信号简单的基本运算方法。 二、实验内容 1、自己设定参数,分别表示并绘制单位抽样序列、单位阶跃序列、正弦序列、 实指数序列、随机序列。 2、自己设定参数,分别表示并绘制信号移位、信号相加、信号相乘、信号翻转、 信号和、信号积、信号能量。 3、已知信号 (1) 描绘)(n x 序列的波形。 (2) 用延迟的单位脉冲序列及其加权和表示)(n x 序列。 (3) 描绘以下序列的波形:)2()(),2(2)(),2(2)(321n x n x n x n x n x n x -=+=-= 三、实现步骤 1、自己设定参数,分别表示并绘制单位抽样序列、单位阶跃序列、正弦序列、 实指数序列、随机序列。 (1)单位抽样序列 程序: x=zeros(1,10);

x(2)=1; stem(x,'filled') axis([0,10,-0.2,1]); title('μ¥??3é?ùDòáD'); -0.20 0.2 0.4 0.6 0.8 图 1 (2)单位阶跃序列 程序: N=10; u=ones(1,N); stem(u,'filled') axis([-10,10,0,1]); title('μ¥???×??DòáD');

00.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 单位阶跃序列 图 2 (3)正弦序列 程序: x=-20:1:20; y=sin(0.2*pi.*x+0.5*pi); stem(x,y,'filled'); axis([-20,20,-2,2]); title('?y?òDòáD');

用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])

实验用MATLAB产生时域离散信号

实验1用M A T L A B产生时域离散信号 一、.实验目的: 1、了解常用时域离散信号及其特点 2、掌握用MATLAB产生时域离散信号的方法 二、实验内容及步骤 1、阅读并上机验证实验原理部分的例题程序,理解每一条语句的含义。 改变例题中的有关参数(如信号的频率、周期、幅度、显示时间的取值范围、采样点数等),观察对信号波形的影响。 2、编写程序,产生以下离散序列: n1=-3;n2=4;n0=0; n=n1:n2; x=[n==n0]; stem(n,x,'filled'); axis([n1,n2,0,*max(x)]); xlabel('时间(n)');ylabel('幅度x(n)'); title('单位脉冲序列'); (2)n1=-5;n2=5;n0=0; n=n1:n2; x=[n>=n0]; stem(n,x,'filled') axis([n1,n2,0,*max(x)]); xlabel('时间(n)');ylabel('幅度x(n)'); title('单位阶跃序列'); n1=20;a=;w=*pi; n=0:n1; x=exp((a+j*w)*n); subplot(2,2,1);plot(n,real(x)); title('复指数信号的实部'); subplot(2,2,3);stem(n,real(x),'filled'); title('复指数序列的实部'); subplot(2,2,2);plot(n,imag(x)); title('复指数信号的虚部'); subplot(2,2,4);stem(n,imag(x),'filled'); title('复指数序列的虚部');

离散时间信号分析

离散时间信号分析 实验目的:利用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中,用运算符“.*”实现。

实验一 时域离散信号与系统变换域分析(2015)资料

实验一 时域离散信号与系统变换域分析 一、实验目的 1.了解时域离散信号的产生及基本运算实现。 2.掌握离散时间傅里叶变换实现及系统分析方法。 3. 熟悉离散时间傅里叶变换性质。 4. 掌握系统Z 域分析方法。 5. 培养学生运用软件分析、处理数字信号的能力。 二、实验设备 1、计算机 2、Matlab7.0以上版本 三、实验内容 1、对于给定的时域离散信号会进行频谱分析,即序列的傅里叶变换及其性质分析。 2、对于离散系统会进行频域分析及Z 域分析。包括频谱特性、零极点画图、稳定性分析。 3、对于差分方程会用程序求解,包括求单位冲击序列响应,零输入响应、零状态响应、全响应,求其系统函数,及其分析。 4、信号时域采样及其频谱分析,序列恢复。 5、扩展部分主要是关于语音信号的读取及其播放。 四、实验原理 1、序列的产生及运算 在Matlab 中自带了cos 、sin 、exp (指数)等函数,利用这些函数可以产生实验所需序列。 序列的运算包括序列的加法、乘法,序列)(n x 的移位)(0n n x -,翻褶)(n x -等。序列的加法或乘法指同序号的序列值逐项对应相加或相乘,但Matlab 中“+”“.*”运算是对序列的值直接进行加或乘,不考虑两序列的序号是否相同,因此编程时考虑其序号的对应。 2、序列的傅里叶变换及其性质 序列的傅里叶变换定义:)(|)(|)()(ω?ωωω j j n n j j e e X e n x e X ==∑∞-∞=-,其幅度特性为|)(|ωj e X , 在Matlab 中采用abs 函数;相位特性为)(ω?,在Matlab 中采用angle 函数。 序列傅里叶变换的性质:

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

实验一 离散时间信号的表示及运算 一、实验目的 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 是一个复函数,它的模就是幅频特 性曲线。 三、主要实验仪器及材料

离散时间信号期末试题

一、单项选择题(本大题共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

FFT对连续信号和时域离散信号进行谱研究分析

FFT对连续信号和时域离散信号进行谱分析

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

一、实验目的与要求 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。 二、实验原理 用FFT对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D和分析误差。频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2π/N,因此要求2π/N 小于等于D。可以根据此式选择FFT的变换区间N。误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时,离散谱的包络才能逼近连续谱,因此N要适当选择大一些。 三、实验步骤及内容 (1)对以下序列进行FFT分析: x1(n)=R4(n) n+1 0≤n≤3 x2(n)={ 8-n 4≤n≤7 0 其它n 4-n 0≤n≤3 X3(n)={ n-3 4≤n≤7 0 其它n 选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较 xn1=[1 1 1 1]; Xk18=fft(xn1,8); yn11=abs(Xk18); n11=0:length(yn11)-1; Xk116=fft(xn1,16); yn12=abs(Xk116); n12=0:length(yn12)-1; n=0:3; x21=n+1; x31=4-n; n=4:7; x22=8-n; x32=n-3; xn2=[x21,x22]; Xk28=fft(xn2,8); yn21=abs(Xk28); n21=0:length(yn21)-1; Xk216=fft(xn2,16); yn22=abs(Xk216); n22=0:length(yn22)-1; xn3=[x31,x32]; Xk38=fft(xn3,8);

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

实验一 离散时间信号分析 一、实验目的 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('单位冲激序列’)

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

工程大学信号分析与处理实验一 专业:通信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.离散时间信号(序列)的产生

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

典型时域离散序列的产生与简单运算 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 =)(

相关主题
文本预览
相关文档 最新文档