离散信号及其运算

实验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文档可自由复制编辑

用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

离散信号的产生及运算

离散信号的产生及运算

实验一离散信号的产生及运算 一.实验目的: 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、了解常用的时域离散信号及其特点。 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');

实验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实现常用的离散时间信号及其时域运算

用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时刻,则表达式分别为:

DSP实验报告――离散信号的产生及运算 精

离散信号的产生及运算报告 一、实验目的: 1、复习和巩固数字信号处理中离散信号的产生和运算 2、学习和掌握用MATLAB产生离散信号的方法 3、学习和掌握用MATLAB对离散信号进行运算 二、实验原理: 1.用MATLAB函数产生离散信号 信号是数字信号处理的最基本内容。没有信号,数字信号处理就没了工作对象。MATLAB7.0内部提供了大量的函数,用来产生常用的信号波形。例如,三角函数(sin,cos),指数函数(exp),锯齿波函数(sawtooth), 随机数函数(rand)等。 1 产生被噪声污染的正弦信号 用随机数函数产生污染的正弦信号。 2 产生单位脉冲序列和单位阶跃序列 按定义,单位脉冲序列为

单位阶跃序列为 。 3 矩形脉冲信号:在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]; 4 周期性矩形波(方波)信号在MATLAB 中用square 函数来表示,其调用形 式为:y=square(t,DUTY,用以产生一个周期为2π、幅值为±1 的周期性方

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

实验一 离散时间信号的表示及运算 一、实验目的 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(π+-=的实部和虚部的波形。

实验一--常见离散信号的MATLAB产生和图形显示

实验一 常见离散信号的MATLAB 产生和图形显示 授课课时:2学时 一、实验目的: (1)熟悉MATLAB 应用环境,常用窗口的功能和使用方法。 (2)掌握MATLAB 在时域内产生常用离散时间信号的方法。 (3)掌握离散信号的基本运算。 (4)掌握简单的绘图命令。 二、实验原理: (一)信号的表示和产生 ① 单位抽样序列 ? ??=01)(n δ 00 ≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-0 1)(k n δ ≠=n k n 参考程序: 例1-1:)2010(()(<<-=n n n x )δ clear all n1=-10;n2=20;n0=0;%在起点为n1,终点为n2的范围内,于n0处产生冲激。 n=n1:n2;%生成离散信号的时间序列 x=[n==n0];%生成离散信号x(n) stem(n,x);%绘制脉冲杆图

xlabel(' n');ylabel('x(n)');%横坐标和纵坐标的标注说明。 title('Unit Sample Sequence');%图形上方标注图名 axis([-10 20 0 1.2]);%确定横坐标和纵坐标的取值范围 ② 单位阶跃序列 ???=0 1 )(n u 00<≥n n 例1-2:)202((u )(<<-=n n n x ) clear all n1=-2;n2=20;n0=0; n=n1:n2;%生成离散信号的时间序列 x=[n>=n0];%生成离散信号x(n) stem(n,x,'filled'); xlabel('n');ylabel('x(n)'); title('Unit step Sequence'); axis([-2 20 0 1.2]); ③ 正弦序列 )sin()(?+=wn A n x 例1-3:一正弦信号的频率为1HZ ,振幅值幅度A 为1V ,在窗口显示2个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号并显示该连续信号和离散信号的波形。 参考程序: clear f=1; A=1;nt=2;

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

第2章 离散时间信号的表示及运算 2.1 实验目的 ● 学会运用MATLAB 表示的常用离散时间信号; ● 学会运用MATLAB 实现离散时间信号的基本运算。 2.2 实验原理及实例分析 2.2.1 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。由于MATLAB 中矩阵元素的个数有限,所以MATLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 )0()0(01)(≠=???=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. 单位冲激序列 程序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 =)(

离散信号的产生及运算

实验离散信号的产生及运算实验报告一实验任务 二实验程序及结果 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');

离散时间信号的产生及信号的卷积和运算实验报告2

离散时间信号的产生及信号的卷积和运算 实验报告 班级:___________ 姓名:__________ 学号:____________ 一、实验目的和原理 实验原理: (一)DTFT 和DFT 的定义及其相互关系: 序列x[n] 的DTFT 定义:∑=∞ -∞ =-n jn ωj ω x[n]e )X(e 它是关于自变量ω的复函数,且是以π2为周期的连续函数。)X(e j ω 可以表示为: )(e jX )(e X )X(e j ωim j ωre j ω+= 其中,)(e X j ω re 和)(e X j ωim 分别是)X(e j ω的实部和虚部;还可以表示为: )(ωj j ωj ωe )X(e )X(e θ= 其中,)X(e j ω 和}arg{)()X(e j ω=ωθ分别是)X(e j ω的幅度函数和相位函数; 它们都是ω的实函数,也是以π2为周期的周期函数。 序列x[n]的N 点DFT 定义: ∑∑-=-=-===10 1 22][][)(][N n kn N N n kn N j k N j W n x e n x e X k X ππ ][k X 是周期为N 的序列。 )X(e j ω与][k X 的关系:][k X 是对)X(e j ω在一个周期中的谱的等间隔N 点采样,即: k N j ω)X(e k X πω2| ][= =, 而)X(e j ω 可以通过对][k X 内插获得,即:

]2/)1)][(/2([1 ) 22sin() 22sin( ] [1----=?--= ∑N N k j N k j ω e N k N k N k X N )X(e πωπωπω (二) 线性时不变离散时间系统的变换域表示: LTI 离散时间系统的时域差分方程为: ∑∑==-=-M k k N k k k n x p k n y d )()( (1) 传递函数: 对上面的差分方程两边求z 变换,得: ∑∑∑∑=-=-=-=-=? =N k k k M k k k M k k k N k k k z d z p z X z Y z p z X z d z Y 0 00 ) () ()()( 我们定义LTI 离散时间系统的输出的Z 变换Y(z)与输入的Z 变换X(z)的比值为该系统的传递函数,即) () ()(z X z Y z H = 为系统的传递函数。 N N M M z d z d d z p z p p z D z p z H ----++++++= =......)()()(110110 分解因式 ∏-∏-=∑∑= =-=-=-=-N i i M i i N i i k M i i k z z K z d z p z H 11 11 0)1()1()(λξ ,其中i ξ和i λ称为零、极点。 利用系统的传递函数)(z H ,我们可以分析系统的零极点,稳定性及实现结构等特点。 (2) 频率响应: 因为大多数离散时间信号都可以分解为n j e ω的线性组合,所以研究输入n j e ω-的响应具有极大的意义,即当输入为n j e n x ω=][时,输出为: )()()(][) (ωωωωωj n j m m j n j m n j m e H e e m h e e m h n y === ∑∑∞ -∞ =--∞ -∞ = 这里,∑∞-∞ =-= n n j j e n h e H ωω )()(是h(n)的DTFT ,称为LTI 离散时间系统的频率

常见离散信号产生和实现

数字信号处理实验报告 实验1 常见离散信号产生和实现 一、实验目的 1、加深对常用离散信号的理解; 2、熟悉使用MATLAB 在时域中产生一些基本的离散时间信号。 二、实验原理 MATLAB 语言提供了一系列函数用来产生信号,如exp, sin, cos, square, sawtooth ,ones, zeros 等函数。 1. 基本信号序列 1) 单位抽样序列 ? ??=01)(n δ 00 ≠=n n 在MATLAB 中可以利用zeros()函数实现。x=[1 zeros(1, n-1)] 示范程序: % Program P1_1 % Generation of a Unit Sample Sequence clf; % Generate a vector from -10 to 20 n = -10:20; % Generate the unit sample sequence u = [zeros(1,10) 1 zeros(1,20)]; % Plot the unit sample sequence stem(n,u); xlabel('Time index n');ylabel('Amplitude'); title('Unit Sample Sequence'); axis([-10 20 0 1.2]);

如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ?? ?=-01)(k n δ 0 ≠=n k n 2) 单位阶跃序列 ?? ?0 1)(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。 );,1(N ones x = 3) 实指数序列 R a n a n x n ∈?=,)( MATLAB 实现: n a x N n .^1:0=-= 4) 复指数序列 n e n x n j ?=+)()(ωσ MATLAB 实现: ) )0exp((1 :0n w j lu x N n **+=-= 5) 随机序列 MATLAB 提供了两种随机信号: rand(1,N) 产生[0,1]上均匀分布的随机矢量。 randn(1,N) 产生均值为0,方差为1的高斯随机序列,即白噪声序列。 2. 基本周期波形 1) 方波 MATLAB 工具箱函数square 可以产生方波; t=0:0.1*pi:6*pi; y=square(t); axis([0 7*pi -1.5 1.5]);

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

时域离散信号的产生与 基本运算 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

实验一 时域离散信号的产生与基本运算 一、实验目的 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,,1]); title('μ¥3éùDòáD'); 图1(2)单位阶跃序列 程序: N=10; u=ones(1,N); stem(u,'filled') axis([-10,10,0,1]); title('μ¥×DòáD');

图2(3)正弦序列 程序: x=-20:1:20; y=sin*pi.*x+*pi); stem(x,y,'filled'); axis([-20,20,-2,2]); title('yòDòáD');

常见离散信号产生和实现实验

实验1 常见离散信号产生和实现 一、实验目的 1、加深对常用离散信号的理解; 2、熟悉使用MATLAB 在时域中产生一些基本的离散时间信号。 二、实验原理 MATLAB 语言提供了一系列函数用来产生信号,如exp, sin, cos, square, sawtooth ,ones, zeros 等函数。 1. 基本信号序列 1) 单位抽样序列 ? ??=01)(n δ 00≠=n n 程序: n=-10:20; %生成一个从-10到20的序列 u=[zeros(1,10) 1 zeros(1,20)]; %生成一个前10位为0,第十一位为1,后20位为0的矩阵 stem(n,u); %画出n 为横轴,u 为纵轴的序列 xlabel('Time indexn');ylabel('Amplitude'); %添上x y 轴的标签 title('Unit Sample Sequence'); %图表的标签 axis([-10 20 0 1.2]); %规定横轴,纵轴的显示范围 图形:

如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-0 1)(k n δ 0≠=n k n 程序: n=-10:20; u=[zeros(1,15) 1 zeros(1,15)]; stem(n,u); xlabel('Time indexn');ylabel('Amplitude'); title('Unit Sample Sequence'); axis([-10 20 0 1.2]); 图形: 2) 单位阶跃序列 ? ??01)(n u 00<≥n n 程序: n=-10:20; x=[zeros(1,10),ones(1,21)]; stem(n,x); 图形:

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

数字信号处理实验报告 姓名:寇新颖 学号:20100304026 专业:电子信息科学与技术 实验一 离散时间信号分析 一、实验目的 1.掌握各种常用的序列,理解其数学表达式和波形表示。 2.掌握在计算机中生成及绘制数字信号波形的方法。 3.掌握序列的相加、相乘、移位、反褶等基本运算及计算机实现与作用。 4.掌握线性卷积软件实现的方法。 5.掌握计算机的使用方法和常用系统软件及应用软件的使用。 6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列)}({n x 来表示,其中)(n x 代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为∞<<∞-n 的整数,n 取其它值)(n x 没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号)(t x a 进行等间隔采样,采样间隔为T ,得到)}({nT x a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样))(n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 三、主要实验仪器及材料 微型计算机、Matlab7.0教学版、TC 编程环境。 四、实验内容 1.知识准备 认真复习以上基础理论,理解本实验所用到的实验原理。 2.离散时间信号(序列)的产生 利用MATLAB 编程产生下列有限长序列: (1)单位脉冲序列)(n δ (2)单位阶跃序列)(n u (3)实指数序列x(n)=an

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

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

离散信号的运算(MATLAB运用)

离散信号的运算 已知:? ?????=↑5,4,7,8,6,5,2,1...............)(n x ,??????-=↑6,5,3,2)(n y 。 (1)信号相加 x(n)=x 1(n)+x 2 (n) 当两个相加的序列长度不同时或位置不对应时,首先必须调整二者的位置对齐,然后通过zeros 函数左右补零使其长度相等后再相加。 计算:)()()(n y n x n z += (2)信号相乘 信号相乘,即两个序列的乘积(或称“点乘”),表达式为: x(n)=x 1(n) ? x 2 (n) 在MATLAB 中,用运算符“.*”实现。 下面的参考代码利用函数sigmult 说明了这种运算,其验证将在后续实验中进行。 计算:)()()(n y n x n z = (3)加权 在这种运算中,每个样本均乘以标量a : y(n)=ax(n) 在MATLAB 中,算术运算符“*”用来实现加权运算。 计算:)(5)(n x n z = (4)移位 在这种运算中,序列x(n)总体进行k 点的移位: y(n)=x(n-k) 计算:)3()(+=n x n z (5)反转 在这种运算中,序列x(n)以n =0为中心翻转得到一个反转序列: y(n)=x(-n) 计算:)()(n x n z -= (6)序列累加

这种运算有别于两个序列的求和,它是求序列x(n)两点n1和n2之间所有序列值之和: )()()(212 1n x n x n x n n n ++= ∑= 在MATLAB 中,可由sum(x(n1:n2))实现。 (7)序列值乘积 这种运算有别于两个序列的乘积,它是求序列x(n)两点n1和n2之间所有序列值的乘积: )()()(212 1n x n x n x n n ??= ∏ 在MATLAB 中,可由prod(x(n1:n2))实现。 (8)信号能量 序列)(n x 的能量由下式给出: ∑ ∑====N n N n n x n x n x E 112*)()()( 其中)(*n x 表示共轭转置运算。有限长度序列的能量可以用以下的MATLAB 命令求得:))1(*.1(x conj x sum 或者:)2).^1((x abs sum (9)卷积运算可用于计算线性系统的时间响应,因此卷积运算在信号处理中是十重要的工具。MATLAB 提供卷积计算的函数有CONV 、CONV2和CONVN 。 计算: ) (*)()(n y n x n z =

相关文档
最新文档