实验1 常见离散信号产生和基本运算
实验一常见离散信号的MATLAB产生和图形显示

实验一 常见离散信号的MATLA B 产生和图形显示 授课课时:2学时一、实验目的:(1)熟悉MATL A B 应用环境,常用窗口的功能和使用方法。
(2)掌握MATL A B 在时域内产生常用离散时间信号的方法。
(3)掌握离散信号的基本运算。
(4)掌握简单的绘图命令。
二、实验原理:(一)信号的表示和产生① 单位抽样序列⎩⎨⎧=01)(n δ 00≠=n n 如果在时间轴)(n δ上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ0≠=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 Sequen c e');%图形上方标注图名axis([-10 20 0 1.2]);%确定横坐标和纵坐标的取值范围② 单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n 例1-2:)202((u )(<<-=n n n x )clear alln1=-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 Sequen c e');axis([-2 20 0 1.2]);③ 正弦序列)sin()(ϕ+=wn A n x例1-3:一正弦信号的频率为1HZ ,振幅值幅度A 为1V ,在窗口显示2个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号并显示该连续信号和离散信号的波形。
信号实验1

实验一 离散时间信号的产生1.实验目的信号可以分为连续时间信号和离散时间信号。
要研究信号,首先要产生出各种信号,使用MATLAB 软件可以很方便地产生各种常见的信号,而且他还具有强大的绘图功能,便于用户直观地处理输出结果。
通过本实验,将学习如何使用MATLAB 产生一些常见的时间信号,并通过MATLAB 中的绘图工具对产生的信号进行观察,加深对常用信号的理解。
2.实验原理离散时间信号是指在离散时刻才有定义的信号。
常见的离散时间信号如下:(1)单位冲激序列10()00n n n δ=⎧=⎨≠⎩如果(n)在时间轴上延迟了k 个单位,得到(n-k),即1()0n k n k n kδ=⎧-=⎨≠⎩(2)单位阶跃序列10()00n u n n ≥⎧=⎨<⎩如果u(n)在时间轴上延迟了k 个单位,得到u(n-k),即1()0n k u n k n k≥⎧-=⎨<⎩(3)矩阵序列矩阵序列()N R n 定义为1(01)()0(0,)N n N R n n n N ≤≤-⎧=⎨<≥⎩R(n)=u(n)-u(n-k),因此,用MATLAB 表示矩阵序列可以利用上面的单位阶跃序列组合而成。
(4)正弦序列x(n)=Acos(0ωn+)A, 0ω和都是实数,它们分别称为正弦信号x(n)的振幅,角频率和初始相位。
可以证明,只有当2/0ω为有理数时,正弦序列具有周期性。
(5)单边实指数序列()()n x n a u n =单边实指数序列n 的取值范围为0n ≥。
当1a时,单边指数序列发散;当1a 时,该序列收敛;当0a 时,该序列均取正值;当0a时,序列在正负摆动。
(6)负指数序列0()()a j n x n e ω+=当0a =时,得到虚指数序列0()()a j n x n e ω+=,式中,0ω是正弦序列的数字域频率。
由欧拉公式知,负指数序列可进一步表示为[]00()00()cos()sin()a j n j n an an x n e e e e n j n ωωωω+===+有以下结论:1)当0a 时,负指数序列x(n)的实部和虚部分别是按指数规律增长的正弦振荡序列;2)当0a 时,负指数序列x(n)的实部和虚部分别是按指数规律衰减的正弦振荡序列;3)当0a =时,负指数序列x(n)即为虚指数序列,其实部和虚部分别是等幅的正弦振荡序列。
常见离散信号产生和实现实验报告

常见离散信号产生和实现实验报告实验1常见离散信号产生和实现学院信息科学与工程学院专业通信工程1班姓名学号一、实验目的1、加深对常用离散信号的理解;2、熟悉使用MATLAB在时域中产生一些基本的离散时间信号。
二、实验原理MATLAB语言提供了一系列函数用来产生信号,如exp,sin,cos, square,sawtooth,ones,zeros等函数。
1.基本信号序列1)单位抽样序列???=01)(nδ≠=n n在MATLAB中可以利用zeros()函数实现。
x=[1zeros(1, n-1)]程序:clear all;n=-20:20;u=[zeros(1,20)ones(1,21)];stem(n,u)xlabel('Time index n');ylabel('Amplitude'); title('p21');axis([-20200 1.2]);图形:Request1:编写一个)(k n-δ的函数。
???=-01)(k nδ≠=n kn程序:clear all;n=-20:20;k=5;u=[zeros(1,20+k)ones(1,21-k)];stem(n,u)xlabel('Time index n');ylabel('Amplitude'); title('p22');axis([-20200 1.2]);图形:(2)单位阶跃序列???01)(n u00<≥n n在MATLAB中可以利用ones()函数实现。
);,1(N ones x=Request2:编写一个)(k n u-的函数。
程序:clf;n=-20:20;u=[zeros(1,20)1zeros(1,20)];stem(n,u);xlabel('Time index n');ylabel('Amplitude');title('Unit Sample Sequence p10');axis([-20200 1.2]);图形:Request2:编写一个)(k n u-的函数。
实验1_常见离散信号产生和实现

实验1 常见离散信号产生和实现一、实验目的:1、加深对常用离散信号的理解;2、掌握matlab 中一些基本函数的建立方法。
二、实验原理:1.单位抽样序列⎩⎨⎧=01)(k δ 00≠=k k在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x 如果)(k δ在时间轴上延迟了n 个单位,得到)(n k -δ即:⎩⎨⎧=-01)(n k δ nk n k ≠= 2.单位阶越序列⎩⎨⎧01)(k u 00<≥k k在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =3.正弦序列)/2sin()(ϕπ+=Fs fk A k x在MATLAB 中)/***2sin(*1:0fai Fs k f pi A x N k +=-=4.复指数序列k j e r k x ϖ⋅=)(在MATLAB 中)**exp(1:0k w j r x N k ⋅=-=5.指数序列k a k x =)(在MATLAB 中k a x N k .^1:0=-= 三、实验内容1、五种基本函数的图形生成(1)、单位抽样序列% 单位抽样序列和延时的单位抽样序列clf;n=0:10;x1=[1 zeros(1,10)];x2=[zeros(1,5) 1 zeros(1,5)];subplot(1,2,1);stem(n,x1);xlabel ('时间序列n');ylabel('振幅');title('单位抽样序列x1');subplot(1,2,2);stem(n,x2); xlabel('时间序列n');ylabel('振幅');title('延时了5的单位抽样序列');(2)、单位阶越序列clf;n=0:10;u=[ones(1,11)];stem(n,u);xlabel ('时间序列n');ylabel('振幅');title('单位阶越序列');所得的图形如下所示:(3)正弦函数clf;n=1:30;x=2*sin(pi*n/6+pi/3);stem(n,x); xlabel ('时间序列n');ylabel('振幅');title('正弦函数序列x=2*sin(pi*n/6+pi/3)');(4)、复指数序列clf;n=1:30;x=2*exp(j*3*n);stem(n,x); xlabel ('时间序列n');ylabel('振幅');title('复指数序列x=2*exp(j*3*n)');图形如下:(5)实指数序列clf;n=1:30;x=1.2.^n;stem(n,x); xlabel ('时间序列n');ylabel('振幅');title('指数序列x=1.2.^n');2、使用帮助功能学习square(方波), sawtooth(锯齿波)和sinc 函数,并绘图。
实验一 典型离散信号的生成及运算

实验一 典型离散信号的生成及运算一、实验目的:1)熟悉MATLAB 环境。
2)理解离散时间信号。
3)掌握几个典型离散信号类型及其运算。
4)学会利用MATLAB 表示和实现典型离散信号类型及其运算。
二、实验原理:广义讲,信号可以分为模拟和离散信号【1】:一个模拟信号:)(t x a ,t 可以代表任何物理量,现假定t 代表时间,连续的。
一个离散信号:)(n x ,n 是整数值,现假定n 代表时间上离散的时刻。
因此()n x 称为离散时间信号,是一个数值的序列。
在MATLAB 中,只需要两一个行向量来表示()n x 这个有限长序列: 例如:图1 命令窗口(Command Window)图2 工作空间(WorkSpace )注意,要准确的表示一个离散信号,还需要另外一个向量表示n (样本位置信息),但是一般来说,当序列从位置n = 1 开始时(MATLAB 中数组下标从1开始而不是从0开始),只用x 向量表示该信号。
下面说明几种典型离散信号类型和运算,及其MATLAB 的表示:1、单位抽样序列{} ,0,0,1,0,0,0,00,1)(=⎩⎨⎧≠==n n n δ又称为单位脉冲序列/单位样本序列,其特点是在n=0时取值为1,其它取值为0。
MATLAB 中,使用函数zeros (1,N )可以产生一个N 个零的行向量。
然后对其中 n = 0 这个位置进行单独赋值为1即可。
如:图3 没有明确样本的位置信息及其stem 图图4 明确样本的位置信息及其stem 图这里还有另外一种便利的表示方法——利用逻辑关系式表示方法:图5 使用逻辑关系式表示及其stem 图2、单位阶跃序列{} ,1,1,1,0,0,0,00,1)(=⎩⎨⎧<≥=n n n uMATLAB 中,使用函数ones (1,N )可以产生一个N 个1的行向量。
下面通过N 个0序列合并上N+1个1序列产生单位阶跃序列。
注意1和0的样本位置。
常见离散信号产生和实现

一、实验过程1、预习实验内容、实验要求;2、分析各序列表达式及特征;3、使用MATLAB软件编写程序,得出各序列的图形;4、回答实验指导书上的问题。
二、实验程序及结果1、单位抽样序列function chouyang()n1=input('起始值n1:')n2=input('终点值n2:')dn=1;n=n1:dn:n2;N=length(n);x=zeros(1,N);x(1,(N+1)/2)=1stem(n,x,'filled');axis([n1,n2,0,2])xlabel('n')ylabel('y(n)')title('单位抽样序列')起始值n1:-5 终点值n2:5 2、单位阶越序列function jieyu()n1=input('起始值n1:')n2=input('终点值n2:')nz=input('跳跃点nz:')dn=1; %步长na=n1:dn:nz-1; %第一阶段变量的取值nb=nz:dn:n2; %第二阶段变量的取值N1=length(na); %na的长度N2=length(nb); %nb的长度x1=zeros(1,N1); %第一阶段变量取值x2=ones(1,N2); %第二阶段变量取值stem(na,x1,'filled');hold on %使下面图形在同一坐标显示stem(nb,x2,'filled');hold offaxis([n1,n2,0,2])xlabel('n')ylabel('y(n)')title('单位阶跃序列')起始值n1:-5 终点值n2:5 跳跃点nz:03、正弦序列function zhengxian()n1=input('起始值n1:')n2=input('终点值n2:')A=input('幅度A:')f=input('频率f/Fs:f=:')Fs=input('频率f/Fs:Fs=:')fai=input('初相位角fai:')dn=1; %步长n=n1:dn:n2; %n,取值N=length(n); %n的长度x=A*sin(2*pi*f*n/Fs+fai); stem(n,x,'filled');axis([n1,n2,-3,3])xlabel('n')ylabel('y(n)')title('正弦序列') 起始值n1:-20 终点值n2:20 幅度A:1.5 频率f/Fs:f=:1 频率f/Fs:Fs=:24 初相位角fai:1/64、复指数序列function fuzhishu()n1=input('起始值n1:')n2=input('终点值n2:')r=input('半径r:')w=input('角频率:')dn=1; %步长n=n1:dn:n2; %n,取值N=length(n); %n的长度x=r*exp(j*w*n);stem(n,x,'filled');axis([n1,n2,-3,3])xlabel('n')ylabel('y(n)')title('复指数序列') 起始值n1:-6*pi 终点值n2:6*pi 半径r:2 角频率:pi/125、指数序列function zhishun()n1=input('起始值n1:') n2=input('终点值n2:') a=input('幅度值a:') dn=1;n=n1:dn:n2;N=length(n); x=a.^n;stem(n,x,'filled'); axis([n1,n2,0,500]) xlabel('n')ylabel('y(n)')title('指数序列')起始值n1:0 终点值n2:15幅度值a:1.5点数fs:1000 起始值t1:-5 终点值t2:56、square(方波) function fangbo()fs=input('点数fs:') t1=input('起始值t1:') t2=input('终点值t2:') t =t1:1/fs:t2; x = square(2*pi*t);plot(t,x), axis([-5 5 -1.5 1.5]) xlabel('t')ylabel('y(t)')title('方波')7、sawtooth(锯齿波)function sanjiaobo()fs=input('点数fs:')t1=input('起始值t1:')t2=input('终点值t2:')t =t1:1/fs:t2;x = sawtooth(2*pi*50*t); %频率为50HZplot(t,x)axis([t1 t2 -1 1]) xlabel('t') ylabel('y(t)') title('三角波')点数fs:1000 起始值t1:0终点值t2:0.2起始值t1:-5终点值t2:58、sinc函数function sinc_1()t1=input('起始值t1:') t2=input('终点值t2:') x = linspace(t1,t2);y = sinc(x);plot(x,y)xlabel('t')ylabel('y(t)')title('正弦波')9、问题A:复指数序列的性质function f2_1()n1=input('起始值n1:')n2=input('终点值n2:')n=n1:n2;z1=-(1/12)+j*pi/6;z2=(1/12)+j*pi/6;z3=1/12;z4=2+j*pi/6;x1=exp(z1*n);x2=exp(z2*n);x3=exp(z3*n);x4=exp(z4*n);subplot(5,2,1);stem(n,real(x1),'filled');xlabel('时间序列n');ylabel('实部'); title('复指数z1=-(1/12)+j*pi/6时序列实部')subplot(5,2,2);stem(n,imag(x1),'filled');xlabel('时间序列n');ylabel('虚部'); title('复指数z1=-(1/12)+j*pi/6时序列虚部')subplot(5,2,3);stem(n,real(x2),'filled');xlabel('时间序列n');ylabel('实部'); title('复指数z2=(1/12)+j*pi/6时序列实部')subplot(5,2,4);stem(n,imag(x2),'filled');xlabel('时间序列n');ylabel('虚部'); title('复指数z2=(1/12)+j*pi/6时序列虚部')subplot(5,2,5);stem(n,real(x3),'filled');xlabel('时间序列n');ylabel('实部'); title('复指数z3=1/12时序列实部')subplot(5,2,6);stem(n,imag(x3),'filled');xlabel('时间序列n');ylabel('虚部'); title('复指数z3=1/12时序列虚部')subplot(5,2,7);stem(n,real(x4),'filled');xlabel('时间序列n');ylabel('实部'); title('复指数z4=2+j*pi/6时序列实部')subplot(5,2,8);stem(n,imag(x4),'filled');xlabel('时间序列n');ylabel('虚部'); title('复指数z4=2+j*pi/6时序列虚部')起始值n1:-20 终点值n2:2010、问题B:正弦序列的性质function f3_1()n1=input('起始值n1:')n2=input('终点值n2:')n=n1:n2;x1=1.5*sin(2*pi*0.1*n);x2=sin(0.9*n);subplot(1,2,1);stem(n,x1,'filled');xlabel('时间序列n');ylabel('振幅');title('正弦序列x1=1.5*sin(2*pi*0.1*n)');subplot(1,2,2);stem(n,x2,'filled');xlabel('时间序列n');ylabel('振幅');title('正弦序列x2=sin(0.9*n)');起始值n1:-20 终点值n2:20三、实验总结1、实验中出现的问题:(1)、对序列函数的不了解和对MATLAB软件的不熟悉,以致开始的时候对程序的编写无从下手。
实验一离散信号序列的产生、运算和分解

实验一 离散信号序列的产生、运算和分解一、实验目的(1)熟悉MA TLAB 信号处理工具箱的使用;(2)学习和掌握用MA TLAB 产生离散信号的方法;(3)学习和掌握用MA TLAB 对离散信号进行运算。
二、实验设备及环境PC 计算机一台,MATLAB 运行环境6.0版以上。
三、实验原理1.单位抽样序列⎩⎨⎧=01)(n δ 00≠=n n在MA TLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δk n kn ≠= 2.单位阶跃序列 ⎩⎨⎧01)(n u 00<≥n n在MA TLAB 中可以利用ones()函数实现。
);,1(N ones x =3.正弦序列)/2sin()(ϕπ+=Fs fn A n x在MA TLAB 中 )/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复指数序列n j e n x ϖ=)(在MA TLAB 中)**exp(1:0n w j x N n =-= 5.指数序列n a n x =)(在MA TLAB 中 n a x N n .^1:0=-=四、实验内容1、编制程序产生几种常用信号,并绘出其图形(1)产生单位采样序列)(n δ(2)产生单位阶跃序列)(n u(3)产生矩形阶跃序列)(R N n 其他1n 001n)(R N -≤≤⎩⎨⎧=N(4)产生正弦和余弦序列+∞<≤∞-=n n A n x )sin()(ω +∞<≤∞-=n n A n y )(cos )(ω2、编制离散信号序列的常用运算,并绘出其图形(1)已知两个离散序列⎭⎬⎫⎩⎨⎧---==↑3,2,1,0,1,2,3)(01k k f ,⎭⎬⎫⎩⎨⎧--==↑2,1,0,1,2)(02k k f ,用MATLAB 绘出)()()(21k f k f k f +=的波形。
离散信号分析实验报告

一、实验名称离散信号分析实验二、实验目的1. 理解离散信号的基本概念和特点。
2. 掌握离散信号的表示方法,包括时域和频域表示。
3. 熟悉离散信号的基本运算,如加、减、乘、除等。
4. 理解离散系统响应的概念,并学会使用MATLAB进行离散信号与系统分析。
三、实验原理离散信号是指只在离散时刻上有定义的信号,其特点是时域上的不连续性。
离散信号可以通过时域采样和频域变换进行分析。
四、实验内容1. 离散信号的生成与表示使用MATLAB生成以下离散信号:- 单位脉冲序列:δ[n]- 单位阶跃序列:u[n]- 单位斜坡序列:r[n]- 正弦信号:sin(nω0)- 指数信号:e^(αn)并分别绘制这些信号的时域波形图。
2. 离散信号的运算对上述生成的信号进行以下运算:- 加法运算:δ[n] + u[n]- 乘法运算:δ[n] e^(αn)- 移位运算:δ[n - 1]- 反褶运算:δ[-n]绘制运算结果的时域波形图。
3. 离散系统响应假设离散系统由以下差分方程描述:y[n] = x[n] + x[n - 1] - y[n - 1]使用MATLAB编写程序,对输入信号x[n] = δ[n] 进行仿真,并绘制系统响应y[n] 的时域波形图。
4. 离散信号的频域分析对上述生成的信号进行傅里叶变换,得到其频域表示。
绘制信号的频谱图,并分析信号的频率特性。
五、实验步骤1. 使用MATLAB编写程序,生成上述离散信号。
2. 绘制信号的时域波形图。
3. 对信号进行运算,绘制运算结果的时域波形图。
4. 使用MATLAB编写程序,对输入信号进行仿真,并绘制系统响应的时域波形图。
5. 对信号进行傅里叶变换,绘制信号的频谱图。
六、实验结果与分析1. 离散信号的生成与表示通过实验,我们成功生成了上述离散信号,并绘制了它们的时域波形图。
可以看出,这些离散信号在时域上是不连续的。
2. 离散信号的运算通过实验,我们验证了离散信号的基本运算规律,如加法、乘法、移位和反褶等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验项目一 常见离散信号产生和基本运算
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.实验课后训练
实验课后训练以实验报告为表现形式,在实验报告中要对实验过程中出现的问题进行分析和思考,对所测得的数据进行数据处理,并根据结果进行总结。