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

合集下载

信号与系统实验(MATLAB 西电版)实验4 离散时间信号的时域基本运算_OK

信号与系统实验(MATLAB 西电版)实验4  离散时间信号的时域基本运算_OK

图 4.5 序列及其平移
2021/7/3
16
实验4 离散时间信号的时域基本运算
2.
已知序列f(k)={2,3,1,2,3,4,3,1},对应的k值为 -3≤k≤4 f1(k)=f(k-2),f2(k)=f(-k),f3(k)=f(k-1)ε(k), f4(k)=f(-k+2),f5(k)=f(k+1), f6(k)=f(k-2)ε(k),f7(k)=f(k+2)ε(k)
5) MATLAB x1=-2:2; %序列1 k1=-2:2; k0=2; k=k1+k0; f=x1; stem(k,f,′filled′); axis([min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5]); 序列及其平移如图4.5
2021/7/3
15
实验4 离散时间信号的时域基本运算
2021/7/3
17
实验4 离散时间信号的时域基本运算
(1) 在计算机中输入程序,验证并记录实验结果,经过 (2) 对于设计性实验,应自行编制完整的实验程序,重复 验证性实验的过程,并在实验报告中给出完整的自编程序。
2021/7/3
18
axis([min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5]);
序列及其翻转如图4.3所示。
2021/7/3
11
实验4 离散时间信号的时域基本运算
图 4.3 序列及其翻转
2021/7/3
12
实验4 离散时间信号的时域基本运算
4)
MATLAB
x1=-2:2;
%序列1
两个序列的乘法如图4.2
2021/7/3

matlab离散信号时域分析实验报告

matlab离散信号时域分析实验报告

Matlab离散信号时域分析实验报告1. 引言信号是信息的载体,可以通过对信号进行离散化来进行数字信号的处理和分析。

离散信号时域分析是对离散信号在时域上进行观察和分析的方法。

本实验旨在通过使用Matlab软件对离散信号进行时域分析,掌握离散信号的时域特性和基本分析方法。

2. 实验目的•了解离散信号的概念和特性;•掌握离散信号的时域分析方法;•学会通过Matlab对离散信号进行时域分析。

3. 实验原理离散信号是在时间上呈现离散的特征,可以用离散序列表示。

离散序列可以通过采样连续信号得到,也可以通过数学模型生成。

在时域分析中,通常使用的分析方法包括: - 时域图像绘制:绘制离散信号的时域图像,了解信号的振幅和波形特征; - 时域序列计算:计算离散信号的均值、方差等统计量,了解信号的基本特性;- 时域滤波:对离散信号进行滤波,去除噪声或者突发干扰。

4. 实验步骤4.1 生成离散信号首先需要生成一个离散信号序列,可以使用Matlab的随机数函数生成一个大小为N的随机序列作为离散信号。

N = 100; % 信号长度为100x = rand(1,N); % 生成随机序列4.2 时域图像绘制通过plot函数可以将离散信号在时域上绘制出来,观察信号的振幅和波形特征。

t = 1:N; % 时间序列plot(t, x);title('离散信号时域图像');xlabel('时间');ylabel('幅度');4.3 时域序列计算可以通过内置函数计算离散信号的均值、方差等统计量。

avg = mean(x); % 均值variance = var(x); % 方差4.4 时域滤波可以使用滤波器对离散信号进行滤波,去除噪声或者突发干扰。

这里以均值滤波为例,对信号进行平滑处理。

windowSize = 5; % 滑动窗口大小b = (1/windowSize)*ones(1,windowSize);a = 1;smoothed_x = filter(b, a, x);5. 实验结果与分析通过对生成的离散信号进行时域分析,得到如下结果: - 时域图像:时域图像时域图像•信号均值:0.5231•信号方差:0.0842•平滑后的信号时域图像:平滑后的时域图像平滑后的时域图像从时域图像可以观察到信号的振幅和波形特征。

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

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<N)可以用下面命令获得:ud=[),1(M zeros 1 )1,1(--M N zeros ];2. 单位阶跃序列长度为N 的单位阶跃序列s(n)可以用下面的MATLAB 命令获得:)];,1([N ones s =延迟的单位阶跃序列可以使用类似于单位采样序列的方法获得。

3. 正弦序列长度为N 的正弦序列在MATLAB 中实现:)/***2cos(*1:0phase Fs n f pi A x N n +=-=4. 指数序列长度为N 的指数序列在MATLAB 中实现:)**exp(1:0n j x N n ω=-=5. 实指数序列长度为N 的实指数序列在MATLAB 中实现:n a x N n .^1:0=-=6. 随机序列长度为N 的随机序列在MATLAB 中实现:);,1(N rand x =。

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

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

离散时间信号的时域分析实验报告实验报告:离散时间信号的时域分析一、实验目的本实验旨在通过MATLAB软件,对离散时间信号进行时域分析,包括信号的显示、基本运算(如加法、减法、乘法、反转等)、以及频域变换(如傅里叶变换)等,以加深对离散时间信号处理的基本概念和原理的理解。

二、实验原理离散时间信号是在时间轴上离散分布的信号,其数学表示为离散时间函数。

与连续时间信号不同,离散时间信号只能在特定的时间点取值。

离散时间信号的时域分析是研究信号的基本属性,包括幅度、时间、频率等。

通过时域分析,我们可以对信号进行各种基本运算和变换,以提取有用的信息。

三、实验步骤1.信号生成:首先,我们使用MATLAB生成两组简单的离散时间信号,一组为正弦波,另一组为方波。

我们将这些信号存储在数组中,以便后续分析和显示。

2.信号显示:利用MATLAB的绘图功能,将生成的信号在时域中显示出来。

这样,我们可以直观地观察信号的基本属性,包括幅度和时间关系。

3.基本运算:对生成的信号进行基本运算,包括加法、减法、乘法、反转等。

将这些运算的结果存储在新的数组中,并绘制出运算后的信号波形。

4.傅里叶变换:使用MATLAB的FFT(快速傅里叶变换)函数,将信号从时域变换到频域。

我们可以得到信号的频谱,进而分析信号的频率属性。

5.结果分析:对上述步骤得到的结果进行分析,包括比较基本运算前后的信号波形变化,以及傅里叶变换前后的频谱差异等。

四、实验结果1.信号显示:通过绘制图形,我们观察到正弦波和方波在时域中的波形特点。

正弦波呈现周期性的波形,方波则呈现明显的阶跃特性。

2.基本运算:通过对比基本运算前后的信号波形图,我们可以观察到信号经过加法、减法、乘法、反转等运算后,其波形发生相应的变化。

例如,两个信号相加后,其幅度和时间与原信号不同。

反转信号则使得波形在时间轴上反向。

3.傅里叶变换:通过FFT变换,我们将时域中的正弦波和方波转换到频域。

正弦波的频谱显示其频率为单一的直流分量,方波的频谱则显示其主要频率分量是直流分量和若干奇数倍的谐波分量。

使用matlab来实现 时域离散信号的产生实验心得

使用matlab来实现 时域离散信号的产生实验心得

使用matlab来实现时域离散信号的产生实验心得【标题】使用Matlab实现时域离散信号的产生实验心得【导语】在信号与系统课程的学习中,时域离散信号的产生是一个重要的实验内容。

本文将结合个人实验经验,探讨如何使用Matlab来实现时域离散信号的产生,以及实验心得体会。

【主体内容】一、时域离散信号的概念时域离散信号是指信号在时域上是离散的,其取样时间是离散的。

与连续信号相对应,离散信号具有一些独特的特性和处理方法。

在实际应用中,我们经常需要生成各种形式的时域离散信号,用于系统模拟、滤波器设计等方面。

二、Matlab在时域离散信号产生中的应用1. 生成简单的离散信号在Matlab中,可以利用基本的数学函数和操作符来生成简单的离散信号。

可以利用sin、cos等函数来生成正弦信号、余弦信号,利用随机数函数来生成随机信号等。

Matlab还提供了丰富的绘图函数,可以直观地展示生成的离散信号。

2. 生成复杂的离散信号除了基本的数学函数外,Matlab还提供了丰富的信号处理工具箱,可以用于生成各种复杂的离散信号。

可以利用波形合成函数生成有限长序列、周期序列等特殊形式的信号;还可以利用滤波器设计函数生成特定频率特性的信号等。

三、实验心得与体会在实验中,我深切体会到Matlab在时域离散信号生成方面的强大功能和便捷性。

通过Matlab,我能够快速生成各种形式的离散信号,并对其进行分析、处理和展示。

Matlab的直观、交互式界面也使得实验过程更加高效和愉悦。

在实践中,我也发现了一些问题和经验总结。

在生成复杂离散信号时,需要深入理解各种信号处理工具箱的使用方法,以及不同函数的参数设置;在展示离散信号时,需要注意选择合适的绘图方式,清晰地展现信号的特点和规律。

【总结与回顾】本文通过介绍时域离散信号的概念和Matlab在信号生成中的应用,共享了个人的实验心得和体会。

希望能够对读者有所启发,开拓视野,加深对时域离散信号的理解和掌握。

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

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

实验一:用MA TLAB 产生时域离散信号一、实验目的1、了解常用时域离散信号及其特点2、掌握用MATLAB 产生时域离散信号的方法二、实验内容及步骤1、编写程序,产生以下离散序列: (1)f (n )=δ(n ) (-3<n<4) 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 ('单位脉冲序列’);时间(n)幅度x (n )单位脉冲序列(2)f (n )=u (n) (—5<n 〈5)n1=-5;n2=5;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 ('单位阶跃序列’); box时间(n)幅度x (n )单位阶跃序列(3)f (n )= e (0。

1+j1。

6∏)n (0<n 〈16)n1=16;a=0.1;w=1。

6*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 (’复指数序列的虚部'); box5101520-4-20246复指数信号的实部05101520复指数序列的实部5101520-6-4-2024复指数信号的虚部05101520复指数序列的虚部(4)f (n)=3sin (nП/4) (0〈n 〈20)f=1/8;Um=3;nt=3; N=20;T=1/f ; dt=T/N; n=0:nt*N-1; tn=n *dt;x=Um*sin (2*f*pi*tn ); subplot (2,1,1);plot (tn,x);axis([0,nt *T ,1.1*min (x),1。

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

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

实验四用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≥0u(n)= δ(n)=0 n<0 0 n≠0若单位阶跃序列的起始点为n0,单位样值序列出现在n0时刻,则表达式分别为:1 n≥n0 1 n=n0u(n-n0)= δ(n-n0)=0 n<n0 0 n≠n0应注意,离散时间的单位阶跃序列与连续时间的单位阶跃信号的异同,以及离散时间的单位样值序列与连续时间的单位冲激信号的异同。

(2)离散时间信号的时域运算。

与连续时间系统的研究类似,在离散系统分析中,经常遇到离散时间信号的运算,包括两信号的相加、相乘以及序列自身的移位、反褶、尺度等等,也需要了解在运算过程中序列的表达式以及对应的波形的变化。

MATLAB在离散信号时域变换与运算中的应用与实现(毕业论文)

MATLAB在离散信号时域变换与运算中的应用与实现(毕业论文)

MATLAB在离散信号时域变换与运算中的应用与实现院系:信息学院信息与电子科学系姓名:xx学号:专业:电子信息科学与技术指导老师:XX摘要“信号与系统”课程是一门实用性较强、涉及面较广的专业基础性课程,是电子信息类专业本科学生的必修课程,也是电子信息类专业硕士研究生入学必考的课程。

该课程是将学生从电路分析的知识领域引入信号处理与传输领域的关键性课程,对后续专业课起着承上启下的作用。

该课程的基本方法和理论大量应用于计算机信息处理的各个领域,特别是通信、数字语音处理、数字图像处理、数字信号分析等领域,应用更为广泛。

因此,该课程具有重要的意义。

长期以来,“信号与系统”课程一直采用黑板式的单一教学方式,学生仅依靠做习题来巩固和理解教学内容,对课程中大量的应用性较强的内容不能实际动手设计、调试、分析,严重影响和制约了教学效果。

由于黑板式教学,课程中大量信号分析结果缺乏可视化的直观表现,学生将大量的精力和时间用于繁杂的手工数学运算,而未真正理解所得到的结果。

因此,为了把学生从繁琐的数学运算中解脱出来,从而将更多的时间用于对信号与线性系统的基本分析方法和应用的理解与思考。

该课程急需进行教学方法的改革,即实现在实验环境中,以计算机为辅助教学手段,用信号分析的软件帮助学生完成数值计算、信号与系统分析的可视化建模及仿真调试。

Mathworks公司推出的MATLAB开发平台经过十多年的发展,已经成为科技界最流行的应用软件,它具有高效率的数值计算及符号计算功能、完备的图形处理功能、友好的用户界面及接近数学表达式的自然化语言和功能丰富的应用工具箱。

由于MATLAB具有上述特点,为开发“信号与系统”计算机辅助教学(CAI)软件提供了强有力的工具。

本论文详细介绍了基于MATLAB 6.5 实现的离散序列时域变换与运算演示程序的设计与实现过程,该程序用直观、形象的二维曲线,展示了离散序列时域运算与变换的实现过程和规律,有效地弥补了课堂上黑板教学的不足。

实验五 离散时间系统时域分析的MATLAB实现2

实验五 离散时间系统时域分析的MATLAB实现2

实验十一 离散信号时域分析的MATLAB 实现一、实验目的1. 熟悉MATLAB 编程方法、常用语句和可视化绘图技术;2. 掌握序列时域运算的MATLAB 编程方法。

3. 掌握离散信号时域分析的MATLAB 方法。

二、实验原理1.离散时间系统LTI 离散系统中,其输入和输出的关系由差分方程描述:00()()n mi ji j a y k i bf k j ==+=+∑∑ (前向差分方程)()()nmi ji j a y k i bf k n j ==-=-+∑∑ (后向差分方程)当系统的输入为单位序列δ(k )时产生的零状态响应称为系统的单位函数响应,用h (k )表示。

当输入为 ε(k )时产生的零状态响应称为系统的单位阶跃应,记为:g (k ),如下图所示。

如果系统输入为e (k ),冲激响应为h (k ),系统的零状态响应为y(k ),则有:()()()y k h k f k =*。

与连续系统的单位冲激响应h (t )相类似,离散系统的单位函数响应h (k )也包含了系统的固有特性,与输入序列无关。

我们只要知道了系统的单位函数响应,即可求得系统在不同激励信号作用下产生的响应。

因此,求解系统的单位函数响应h (k )对我们进行离散系统的分析也同样具有非常重要的意义。

MATLAB 中为用户提供了专门用于求解离散系统单位函数响应, 并绘制其时域波形的函数impz( )。

同样也提供了求离散系统响应的专用函数filter( ),该函数能求出由差分方程所描述的离散系统在指定时间范围内的输入序列作用时,产生的响应序列的数值解。

当系统初值不为零时,可以使用dlsim( )函数求出离散系统的全响应,其调用方法与前面连续系统的lsim( )函数相似。

另外,求解离散系统阶跃响应可以通过如下两种方法实现:一种是直接调用专用函数dstep( ),其调用方法与求解连续系统阶跃响应的专用函数step( )的调用方法相似;另一种方法是利用求解离散系统零状态响应的专用函数filter( ),只要将其中的激励信号看成是单位阶跃信号ε(k )即可。

数字信号处理实验 matlab版 时域离散信号的产生

数字信号处理实验 matlab版 时域离散信号的产生

实验2 时域离散信号的产生(完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word格式会让很多部分格式错误,谢谢)XXXX学号姓名处XXXX一、实验目的(1)了解常用的时域离散信号及其特点。

(2)掌握MATLAB产生常用时域离散信号的方法。

二、实验内容(2) 编写程序,产生下列离散序列:①f(n)=δ(n) (-3<n<4)②f(n)=u(n) (-5<n<5)③f(n)=e(0.1+j1.6π)n(0<n<16)④f(n)=3sin(nπ/4) (0<n<20)⑤f(n)=sin(n/5)/ (n/5) (-20<n<20)(3) 一个连续的周期性三角波信号频率为50Hz,信号幅度在0~+2V之间,在窗口上显示2个周期信号波形,对信号的一个周期进行16点采样来获取离散信号。

试显示原连续信号和采样获得的离散信号波形。

(4) 一个连续的周期性方波信号频率为200Hz,信号幅度在-1~+1V之间,在窗口上显示2个周期信号波形,用Fs=4kHz的频率对连续信号进行采样,试显示原连续信号和采样获得的离散信号波形。

三、实验环境MA TLAB7.0四、实验原理用matlab进行程序设计,利用matlab绘图十分方便,它既可以绘制各种图形,包括二维图形和三位图形,还可以对图像进行装饰和控制。

五、实验过程(步骤、结果、分析)(2)①在matlab命令窗口中逐行输入下列语句>> n1=-3;n2=4;n0=0; %在起点n1、终点n2的范围内,于n0处产生冲激>> n=n1:n2; %生成离散信号的时间序列>> x=[n==n0]; %生成离散信号x(n)>> stem(n,x,'filled'); %绘制杆状图,且圆心处用实心圆表示>> title('单位脉冲序列');>> xlabel('时间(n)');ylabel('幅度x(n)');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了 f(n)=δ(n),(-3<n<4) 的离散序列-3-2-1012340.20.40.60.81时间(n )幅度x (n )单位脉冲序列(2) ② 在matlab 命令窗口中逐行输入下列语句>> n1=-5;n2=5;n0=0;>> n=n1:n2;>> x=[n>=n0];>> stem(n,x,'filled');>> axis([n1,n2,0,1.1*max(x)]); %限定横坐标个纵坐标的显示范围>> title('单位阶跃序列');>> xlabel('时间(n )');ylabel('幅度x (n )');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=u(n),(-5<n<5)的离散序列单位阶跃序列时间(n )幅度x (n )(2) ③在matlab命令窗口中逐行输入下列语句>> n1=16;a=0.1;w=1.6*pi;>> n=0:n1;>> x=exp((a+j*w)*n);>>subplot(2,1,1),stem(n,real(x)); %在指定位置描绘图像>> title('复指数序列的实部');>> subplot(2,1,2),stem(n,imag(x));>> title('复指数序列的虚部');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=e(0.1+j1.6π)n,(0<n<16)的离散序列复指数序列的实部复指数序列的虚部0246810121416(2) ④在matlab命令窗口中逐行输入下列语句>> Um=3;nt=20;>> n=0:nt;>> f=Um*sin(pi/4*n);>> stem(n,f);在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=3sin(nπ/4),(0<n<20)的离散序列321-1-2-3(2) ⑤在matlab命令窗口中逐行输入下列语句>> n=-20:20;>> f=sinc(n/5);>> stem(n,f);在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=sin(n/5)/ (n/5),(-20<n<20)的离散序列(3)在matlab命令窗口中逐行输入下列语句>> f=50;Um=1;nt=2; %输入信号频率、振幅、显示周期>> N=16;T=1/f; %N为信号一个采样周期的采样点数,T为信号周期>> dt=T/N; %采样时间间隔>> n=0:nt*N-1; %建立离散时间的时间序列>> tn=n*dt; %确定时间序列样点在时间轴上的位置>> f=Um*sawtooth(2*f*pi*tn)+1;>> subplot(2,1,1),stem(tn,f); %显示经采样的信号>> title('离散信号');>> subplot(2,1,2),plot(tn,f); %显示原连续信号>> title('连续信号');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,显示了原连续信号和采样获得的离散信号波形离散信号连续信号(4)在matlab命令窗口中逐行输入下列语句>> f=200;Um=1;nt=2; %输入信号频率、振幅、显示周期>> Fs=4000;N=Fs/f;T=1/f; %输入采样频率、求采样点数N、T为信号周期>> dt=T/N; %采样时间间隔>> n=0:nt*N-1; %建立离散时间的时间序列>> tn=n*dt; %确定时间序列样点在时间轴上的位置>> f=Um*sin(2*f*pi*tn);>> subplot(2,1,2),plot(tn,f); %显示原连续信号>> title('连续信号');>> subplot(2,1,1),stem(tn,f); %显示经采样的信号>> title('离散信号');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,显示了原连续信号和采样获得的离散信号波形六、实验感想通过此次实验中练习使用matlab 产生时域离散信号,更为熟悉的掌握了matlab 的功能,在实验过程中也遇到很多小问题,并通过仔细检查和查阅相关书籍解决此类问题,让我深刻认识到,细节的重要性00.0010.0020.0030.0040.0050.0060.0070.0080.0090.01-11连续信号。

离散信号时域分析的MATLAB实现

离散信号时域分析的MATLAB实现

实验十一 离散信号时域分析的MATLAB 实现一、实验目的1. 熟悉MATLAB 编程方法、常用语句和可视化绘图技术;2. 掌握序列时域运算的MATLAB 编程方法。

二、实验原理在用MATLAB 表示离散信号并将其可视化时,由于矩阵元素个数是有限的,因此无法表示无限长序列;另外,离散信号无法进行符号运算。

在MATLAB 中,绘制离散序列波形图的专用命令为stem( )。

其格式有:(1)stem(k,f)在图形窗口中,绘制出样值顶部为空心圆的序列f (k)波形图。

(2)stem(k,f ,’fill’)在图形窗口中,绘制出样值顶部为实心圆的序列f (k)波形图。

下面介绍离散序列的MATLAB 表示、基本运算(相加、相乘、平移、反转、尺度变换)、卷积和的实现及其图形显示方法。

1.单位序列δ(k ) 单位序列的定义:⎩⎨⎧≠==0,00,1)(k k k δ下面为绘制δ(k-k 0)波形图的子程序:function impseq(k1,k2,k0) %单位序列δ(k-k0),k0为时移量k=k1:k2; %k1,k2为序列的起止序列号 n=length(k); x=zeros(1,n);x(1,k0-k1+1)=1; %在k0时刻信号赋值为1 stem(k,x,'fill') axis([k1,k2,0,1.1])title('单位序列d(k-k0)')输入如下命令,则可获得单位序列δ(k-3)的波形图,如图11-1所示。

impseq(-1,5,3)图11-12.单位阶跃序列ε(k ) 单位序列的定义:⎩⎨⎧<≥=0,00,1)(k k k ε下面为绘制ε(k-k 0)波形图的MATLAB 子程序。

function stepseq(k1,k2,k0) %单位阶跃序列,k0为时移量 k=k1:k0-1; %k1,k2为序列的起止序列号 kk=length(k);x=zeros(1,kk); %k0前信号赋值为0 stem(k,x,'fill') %绘出k1~k0-1的波形(0值) hold onn=k0:k2; nn=length(n);x=ones(1,nn); %k0后信号赋值为1 stem(n,x,'fill') %绘出k0~k2的波形(1值) hold offaxis([k1,k2,0,1.1]) title('单位阶跃序列')运行如下命令,则可获得单位序列ε(k-3)的波形图,如图11-2所示。

根据Matlab的信号时域的描述及运算

根据Matlab的信号时域的描述及运算

实验一 基于Matlab 的信号时域的描述及运算实验目的:通过利用MATLAB 语言软件实现信号的描述和运算练习,熟悉掌握实现基本信号时域运算的方法。

实验内容: 1、对常见连续时间信号的描述及运算内容进行验证性操作练习,掌握用于实现正弦连续信号、方波信号、阶跃信号、白噪声、矩形脉冲等常见信号的基础程序方法,熟悉和掌握对连续信号进行移位、翻转、尺度变换等时域运算的程序方法。

2、对常见离散时间信号的描述及运算内容进行验证性操作练习,掌握用于实现正弦序列、周期方波序列、单位脉冲序列、单位阶跃序列、指数序列等常见信号的程序方法,熟悉和掌握对离散时间信号进行离散卷积、自相关函数、移位、翻转、尺度变换等时域运算的程序方法。

3、编程完成练习题。

需要完成的练习题 (写出满足实现题目要求的MATLAB 语言程序或命令)1、 结合后文准备内容中例1—3、在时间51<<-t 内,编程实现信号)1(2)(--=t u t x ,并绘出结果图。

2、 结合例1—9,在时间300<<t 内,编程实现信号,并绘出结果图。

3、 在时间31<<-t 内,编程实现信号t t u t u t x 10cos )]2()([)(--=,)32sin()(1.0t e t x t -=并绘出结果图。

4、 结合例1—7,用tripluls 函数生成右图所示的三角波,并进一步作如下信号变换,并绘出结果图。

参考【例1-11】 1))12(--t x2))23()3(++t x t x5、 使用下面的信号合成公式,看看合成的信号是什么类型,并分析随着加入的谐波增加,信号波形有什么变化?...]7cos 715cos 513cos 31[cos 22)(+-+-+=t t t t A A t f ωωωωπ 参考程序:t=-8:0.01:8;w=input('方波的频率w='); A=input('幅值A=');n=input('需要的谐波n='); y=A/2; for k=1:ny=y+(-1)^(k-1)*cos((2*k-1)*w*t)*2*A/(pi*(2*k-1)); endplot(t,y),grid5、使用MATLAB 产生下列离散序列并作出一个图形,设151≤≤-n (1))(2)(0n n n x -=δ , 20=n 。

基于MATLAB的离散时间信号的时域分析

基于MATLAB的离散时间信号的时域分析

郑州轻工业学院课程设计说明书题目:基于MATLAB的离散时间信号的时域分析姓名:院(系):电气信息工程学专业班级:电子信息工程学号:指导教师:成绩:时间:年月日至年月日郑州轻工业学院课程设计任务书题目基于MATLAB的离散时间信号的时域分析专业、班级电子信息工程学号姓名主要内容、基本要求、主要参考资料等:主要内容:利用MATLAB的图形处理功能、符号运算功能和数值计算功能,实现对常见的离散时间信号的时域分析,包括对常见信号的时域表示和信号常见的时域运算。

基本要求:1、利用MATLAB绘制单位脉冲序列、单位阶跃序列、正弦序列、实指数序列、复指数序列和矩形序列等常见序列的时域波形。

2、利用MATLAB实现序列的常见运算,包括相加、相乘、数乘、时移、翻转、抽取和内插等,并绘制相应的时域波形。

主要参考资料:1、《数字信号处理教程(第三版)》,程佩青著,清华大学出版社,2007。

2、《数字信号处理教程——MATLAB释义与实现(第2版)》,陈怀琛著,电子工业出版社,2008。

3、《MATLAB及在电子信息课程中的应用(第4版)》,陈怀琛等著,电子工业出版社,2013。

完成期限:2014.06.09~2014.06.13指导教师签名:课程负责人签名:2014年 6月6日目录摘要 (I)1MATLAB简介 (2)2常用连续时间信号的时域波形 (3)2.1单位冲激信号 (3)2.2单位阶跃信号 (4)2.3正弦信号 (4)2.4实指数信号 (5)2.5复指数信号 (6)2.6抽样信号 (7)3 信号常见的的时域运算 (8)3.1相加 (8)3.2相乘 (8)3.3数乘 (9)3.4时移 (10)3.5翻转 (10)3.6尺度变换 (11)致谢 (13)参考文献 (14)摘要随着信息技术的不断发展和信息技术应用领域的不断扩展信号与系统课程已经从电子信息工程类专业的专业基础课程扩展成电子信息、自动控制、电子技术、电气工程、计算机技术、生物医学工程等众多电类专业的专业基础课程。

matlab离散信号时域分析实验报告

matlab离散信号时域分析实验报告

matlab离散信号时域分析实验报告Matlab离散信号时域分析实验报告引言:离散信号时域分析是数字信号处理中的重要内容,通过对信号在时域上的分析,可以了解信号的特征和性质。

本实验使用Matlab软件进行离散信号的时域分析,通过实验数据的采集和处理,探索信号的频率、幅度、相位等重要参数。

实验目的:1. 了解离散信号的基本概念和性质;2. 掌握Matlab软件在离散信号时域分析中的应用;3. 分析离散信号的频谱特性和时域波形。

实验步骤:1. 信号采集与导入首先,我们需要采集一段离散信号的数据,并将其导入Matlab中进行分析。

在实验中,我们选择了一个简单的正弦信号作为实验对象。

通过Matlab中的数据采集工具,我们可以方便地获取该信号的采样数据,并导入到Matlab中。

2. 时域波形绘制在Matlab中,我们可以使用plot函数绘制离散信号的时域波形。

通过对信号的采样数据进行绘制,我们可以直观地观察到信号的变化规律。

同时,我们还可以通过调整绘图参数,比如线型、颜色等,使得波形图更加美观。

3. 信号频谱分析离散信号的频谱分析是了解信号频率特性的重要手段。

在Matlab中,我们可以使用fft函数对信号进行频谱分析。

通过对信号的采样数据进行傅里叶变换,我们可以得到信号的频谱图。

频谱图可以清晰地展示信号的频率分布情况,对于分析信号的频率成分非常有帮助。

4. 信号幅度与相位分析除了频率特性,离散信号的幅度和相位也是需要关注的重要参数。

在Matlab中,我们可以使用abs函数计算信号的幅度,使用angle函数计算信号的相位。

通过对信号的采样数据进行计算,我们可以得到信号的幅度和相位信息。

这些信息对于了解信号的时域特性非常有帮助。

实验结果与分析:通过以上实验步骤,我们得到了离散信号的时域波形、频谱特性、幅度和相位信息。

通过观察实验结果,我们可以发现信号的频率成分、幅度变化以及相位差异等重要特征。

结论:通过本次实验,我们深入了解了离散信号的时域分析方法,并通过Matlab软件进行了实际操作。

使用Matlab进行时间域信号分析的基本原理与方法

使用Matlab进行时间域信号分析的基本原理与方法

使用Matlab进行时间域信号分析的基本原理与方法使用Matlab进行时间域信号分析的基本原理和方法导言时间域信号分析是一种重要的信号处理技术,可以用于研究和分析各种信号的特性和行为。

在工程和科学领域,时间域信号分析被广泛应用于音频处理、图像处理、通信系统、生物医学工程等众多领域。

Matlab作为一款强大的数学工具和编程语言,提供了丰富的函数和工具箱,为时间域信号分析提供了便捷而高效的解决方案。

一、信号的采样与重构时间域信号分析的基本原理是将连续时间域信号转换为离散时间域信号进行处理。

信号的采样是将连续信号在一定的时间间隔内进行采集,而信号的重构是通过采样数据还原出连续信号。

在Matlab中,可以使用`sample`函数对信号进行采样。

例如,对于一个正弦信号进行采样:```matlabFs = 1000; % 采样率t = 0:1/Fs:1; % 时间向量f = 10; % 正弦信号频率x = sin(2*pi*f*t); % 生成正弦信号```以上代码中,`Fs`表示采样率,`t`表示时间向量,`f`表示信号的频率,`x`表示采样后的信号。

信号的重构可以使用`interp`函数进行。

例如,对采样信号进行线性插值:```matlabt2 = 0:1/(10*Fs):1; % 重构后的时间向量x2 = interp(x,10); % 线性插值重构信号```以上代码中,`t2`表示重构后的时间向量,`x2`表示线性插值重构的信号。

二、时域波形显示与分析时域波形是时间信号在时间轴上的显示,可以直观地展示信号的特性和变化。

Matlab提供了丰富的绘图函数和工具箱,可以方便地对时域波形进行显示和分析。

使用`plot`函数可以将信号的时域波形绘制出来。

例如,绘制正弦信号的时域波形:```matlabplot(t, x); % 绘制正弦信号的时域波形xlabel('时间 (s)'); % x轴标签ylabel('幅度'); % y轴标签title('正弦信号的时域波形'); % 标题```以上代码中,`plot`函数用于绘制时域波形,`xlabel`和`ylabel`用于设置坐标轴的标签,`title`用于设置标题。

实验一离散信号的MATLAB实现

实验一离散信号的MATLAB实现

实验一离散信号的MATLAB实现引言:离散信号是连续信号在时间上离散采样得到的结果。

在实际应用中,离散信号常用于数字信号处理、通信系统、控制系统等领域。

MATLAB是一种功能强大的科学计算软件,对于离散信号的处理和分析具有良好的支持。

本实验将介绍如何使用MATLAB实现离散信号的生成、显示和处理。

实验目的:1.了解离散信号的概念和特点;2.学习使用MATLAB生成离散信号;3.学习如何在MATLAB中显示和处理离散信号。

实验步骤:步骤一:生成离散信号1.打开MATLAB软件;2.在命令窗口中输入以下代码,生成一个离散信号序列:```matlabt=0:0.1:10;x = sin(t);```上述代码中,`t`是时间序列,取值范围是0到10,步长为0.1;`x`是离散信号序列,通过将时间序列`sin(t)`采样得到。

步骤二:显示离散信号1.输入以下代码,在图形窗口中显示离散信号:```matlabstem(t, x);xlabel('Time');ylabel('Amplitude');title('Discrete Signal');```步骤三:离散信号处理1.输入以下代码,对离散信号进行平移操作:```matlabn=2;x_shifted = circshift(x, n);```上述代码中,`circshift`函数可以将离散信号序列循环移位`n`个单位。

2.输入以下代码,对平移后的离散信号进行加权平均:```matlabh=[0.5,0.5];y = conv(x_shifted, h);```上述代码中,`conv`函数可以对两个信号进行卷积操作,这里的`h`是平均权重系数。

3.输入以下代码,显示处理后的离散信号:```matlabfigure;subplot(2,1,1);stem(t, x);xlabel('Time');ylabel('Amplitude');title('Original Signal');subplot(2,1,2);stem(t, y);xlabel('Time');ylabel('Amplitude');title('Processed Signal');```上述代码中,`subplot`函数可以将多个图形显示在同一个图形窗口中,这里将原始信号和处理后的信号分别显示在上下两个子图中。

基于MATLAB的离散时间信号的时域分析

基于MATLAB的离散时间信号的时域分析

基于MATLAB的离散时间信号的时域分析时域分析是对信号在时间上的特性进行分析的一种方法。

通过时域分析,可以获取信号的平均能量、幅值、相位、频率等信息,从而对信号进行描述、处理和识别。

MATLAB是一个功能强大的数学计算和数据可视化工具,可以用于离散时间信号的时域分析。

下面将介绍如何使用MATLAB进行离散时间信号的时域分析。

首先,我们需要通过MATLAB生成一个离散时间信号。

可以使用MATLAB中的`randn`函数生成一个高斯白噪声信号作为例子。

例如,我们生成一个包含1000个采样点的白噪声信号:```matlabx = randn(1, 1000);```其中,`randn`函数会生成一个1行1000列的数组,每个元素都是一个服从均值为0、方差为1的高斯分布的随机数。

接下来,我们可以使用MATLAB提供的功能函数对信号进行时域分析。

1.平均能量平均能量是信号在时间上的能量分布情况的度量。

可以使用`mean`函数计算平均能量:```matlabaverage_power = mean(abs(x).^2);```其中,`abs`函数用于计算信号的绝对值,`.^`是对每个元素进行乘方运算。

`mean`函数则用于计算平均值。

2.幅值幅值是信号波形在时间上的振幅变化情况。

可以使用`abs`函数计算信号的幅值:```matlabamplitude = abs(x);```3.相位相位是信号波形的起伏特性,描述了信号在时间上的相对位置。

可以使用MATLAB中的`angle`函数计算信号的相位:```matlabphase = angle(x);```4.频率频率是信号中周期性变化的频率分布情况。

可以使用MATLAB中的`fft`函数进行频率分析。

`fft`函数将信号从时域转换到频域,得到信号在不同频率上的成分。

```matlabN = length(x); % 信号长度X = fft(x);frequencies = (0:N-1) * (1/N); % 计算频率范围```其中,`N`表示信号的长度,`X`表示信号的频谱,`frequencies`表示信号在不同频率上的成分。

利用matlab产生离散时间信号,实验常见离散时间信号的MATLAB产生和图形显示.doc...

利用matlab产生离散时间信号,实验常见离散时间信号的MATLAB产生和图形显示.doc...

利⽤matlab产⽣离散时间信号,实验常见离散时间信号的MATLAB产⽣和图形显⽰.doc...实验常见离散时间信号的MATLAB产⽣和图形显⽰实验1 常见离散时间信号的MATLAB产⽣和图形显⽰实验⽬的加深对常⽤离散信号的理解;掌握⽤MATLAB实现常⽤离散时间信号的⽅法。

实验原理1.单位抽样序列在MATLAB中可以利⽤zeros()函数实现,如果在时间轴上延迟了k个单位,得到即:2.单位阶跃序列在MATLAB中可以利⽤ones()函数实现,3.正弦序列在MATLAB中4.复正弦序列在MATLAB中5.指数序列在MATLAB中实验内容编制程序产⽣上述5种信号(长度可输⼊确定),并绘出其图形。

实验程序与结果分析单位抽样序列clear all;close all;clc;x=zeros(1,25);x(1)=1;stem(0:24,x);xlabel('n');ylabel('fudu');grid on;单位阶跃序列clc;N=25;x=ones(1,N);stem(0:24,x);xlabel('n');ylabel('幅度');grid on;正弦序列clear all;close all;clc;f0=input('please input f0:')fs=input('please input fs:')A=input('please input A:')fai=pi/3;n=0:99;x=A*sin(2*pi*f0*n/fs+fai);stem(x)(1)f0=10Hz fs=30Hz;(2) A=1,f0=10Hz fs=50Hz;(3A=1,)f0=10Hz fs=100Hz;(4)A=1,f0=10Hz fs=1000Hz;改变发f0和fs,由w=2*pi*f0/fs的序列的数字⾓频率发⽣变化,这⾥f0/fs均为有理数,所以所得序列是周期的,随着w的变化,序列的周期也在变化。

实验一离散时间信号在MATLAB中的表示

实验一离散时间信号在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 所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用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<n0 0 n≠n0
应注意,离散时间的单位阶跃序列与连续时间的单位阶跃信号的异同,以及离散时间的单位样值序列与连续时间的单位冲激信号的异同。

(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÷Do')
axis([t1,t2 4])
②x(n)=A[u(n-m1)-u(n-m2)]
程序:function unn(t1,t2,A)
t=t1:t2;
n=length(t);
f=[zeros(1,t1-1),A*ones(1,t2-t1),zeros(1,1)];
stem(t,f);grid on
axis([t1 t2 4])
(2)已知离散序列波形。

①f(k-2)u(k);
u(k)可以直接调用stepseq函数,离散序列的平移编程如下:function[f,k]=lspy(ff,kk,k0)
k=kk+k0;
f=ff;
离散序列的相乘程序为:
function [f,k]=lsxc(f1,f2,k1,k2)
k=min(min(k1),min(k2)):max(max(k1),max(k2));
s1=zeros(1,length(k));s2=s1;
s1(find((k>=min(k1))&(k<=max(k1))==1))=f1;
s2(find((k>=min(k2))&(k<=max(k2))==1))=f2;
f=s1.*s2;
stem(k,f)
axis([(min(min(k1),min(k2))-
1),(max(max(k1),max(k2))+1),(min(f),(max(f)+])则该离散信号的编程如下:
m2=1;
m3=1;
m4=4;
t=t1:t2;
y1=(stepseq(m1,t1,t2)-stepseq(m2,t1,t2));
y2=(stepseq(m3,t1,t2)-stepseq(m4,t1,t2));
f=y1.*(t+3)+3*y2;
[f1,k]=lspy(f,t,2);
f2=stepseq(0,-7,7);
[f3,k1]=lsxc(f1,f2,k,t);
stem(k1,f3),grid on
title('f(k-2)*u(k)');
axis([t1 t2 -1 4])
②f(-k+2);
:t1=-7;
t2=7;
m1=-3;
m2=1;
m3=1;
m4=4;
t=t1:t2;
y1=(stepseq(m1,t1,t2)-stepseq(m2,t1,t2)); y2=(stepseq(m3,t1,t2)-stepseq(m4,t1,t2)); f=y1.*(t+3)+3*y2;
[f1,k]=lspy(f,t,2);
[f2,k1]=lsfz(f1,k);
stem(k1,f2),grid on
title('f(-k+2))');
axis([t1 t2 -1 4])
③f(k-2)u(k-2)
t1=-7;
t2=7;
m1=-3;
m2=1;
m3=1;m4=4;
t=t1:t2;
y1=(stepseq(m1,t1,t2)-stepseq(m2,t1,t2));
y2=(stepseq(m3,t1,t2)-stepseq(m4,t1,t2));
f=y1.*(t+3)+3*y2;
[f1,k]=lspy(f,t,2);
f2=stepseq(2,-7,7);
[f3,k1]=lsxc(f1,f2,k,t)
stem(k1,f3),grid on
title('f(k-2)*u(k-2)');
axis([t1 t2 -1 4])
五.思考题
程序如下:
function [f,k]=lsxc(f1,f2,k1,k2)
k=min(min(k1),min(k2)):max(max(k1),max(k2));
s1=zeros(1,length(k));s2=s1;
s1(find((k>=min(k1))&(k<=max(k1))==1))=f1;
s2(find((k>=min(k2))&(k<=max(k2))==1))=f2;
f=s1.*s2;
stem(k,f)
axis([(min(min(k1),min(k2))-
1),(max(max(k1),max(k2))+1),(min(f),(max(f)+])
六、实验总结
通过这次试验不仅了解了许多常用函数,例如相加相乘、反折、平移,还学习和掌握了用MATLAB语言产生离散时间信号的编程方法,同时加深了对离散信号时域算法的理解,受益匪浅!!!。

相关文档
最新文档