实验1 离散时间信号的时域分析
一、实验目的
(1)了解MATLAB语言的主要特点及作用;
(2)熟悉MATLAB主界面,初步掌握MATLAB命令窗和编辑窗的操作方法;
(3)了解常用时域离散信号及其特点;
(4)掌握MATLAB产生常用时域离散信号的方法;
(5)掌握MATLAB中时域离散信号的基本运算方法;
(6)学习简单的数组赋值、数组运算、绘图的程序编写。
二、知识点提示
本章节的主要知识点是利用MATLAB产生数字信号处理的几种常用典型序列及数字序列的基本运算;重点是单位脉冲、单位阶跃、正(余)弦信号的产生;难点是MATLAB关系运算符“==、>=”的使用。
三、实验原理
1.时域离散信号的概念
在MATLAB中,时域的离散信号可以通过编写程序直接生成,也可以通过对连续信号等间隔抽样获得。离散序列的时域运算主要为信号的相加和相乘,信号的时域变换包括移位、反转及尺度变换。
2.用MATLAB生成离散信号需注意的问题
(1)有关数组与下标
MATLAB中处理的数组,其下标默认从1开始递增,例如x=[9 8 7],表示x(1)=9;x(2)=8;x(3)=7。要表示一个下标不从1开始的数组,一般需要采用两个矢量,如:
n=[-3:1:2],x=[9 8 7 6 5 4],则有x(-3)=9;x(-2)=8;x(2)=4。
(2)信号的图形绘制
从本质上来讲,MATLAB及其任何计算机语言处理的信号都是离散信号。当我们把信号的样点值取的足够密,作图时采用特殊的命令,就可以把信号近似看成连续信号。
在MATLAB中,离散信号与连续信号有时在程序编写上是一致的,只是在作图时选择不同的绘图函数而已。
连续信号作图用plot函数,绘制线形图;离散信号作图使用stem函数,绘制脉冲图。
3.常用时域离散信号
常用时域离散信号有单位脉冲序列、单位阶跃序列、实指数序列、复指数序列、正弦序列、矩形序列以及随机序列等。
下面以单位脉冲序列的产生为例做详细说明。其他函数类似。
单位脉冲序列

(1)用MATLAB的关系运算式来产生单位脉冲序列 。

n1=-5; n2=5; n0=0;  %显示范围从n1到n2
n=n1:n2;  %横坐标
x=[n==n0]; %生成离散信号x(n)//n=0 返回值为1
stem(n,x,’filled’); %绘制图形,且圆点处用实心圆表示//field 小圆点


(2)用zeros函数和抽样点直接赋值产生单位脉冲序列 。

n1=-5; n2=5; n0=0;  %显示范围从n1到n2
n=n1:n2;  %横坐标
nt=length(n); %序列的长度
x=zeros(1,nt); %先产生全零的序列,对应-5到5
x(n0-n1+1)=1; %将n=0处的序列值赋值为1,n=0就是第(n0-n1+1)个值
stem(n,x,’filled’); %绘制图形,且圆点处用实心圆表示

(3)如果用函数来实现,需要在.m文件里面完成,函数名为impseq(n0,n1,n2)//三个入口参数

function x=impseq(n0,n1,n2);//fun 函数引导词
n=n1:n2;
x=[n==n0];
stem(n,x,'filled');

(4)单位阶跃序列可以用关系运算>=或zeros和ones产生;正余弦用sin或cos产生;随机信号用rand函数产生。
4.常用时域离散信号的运算
为例

n1=0; n2=10; n01=2;n02=4  %显示范围从n1到n2,非零值位于2和4
n=n1:n2;  %横坐标,写n=n1:1:n2也是一样的意思
x1=[(n-n01)==0]; %生成离散信号
x2=[(n-n02)==0]; %生成离散信号
x3=x1+x2;
subplot(3,1,1); stem(n,x1,’filled’); %绘制图形,x1子图,且圆点处用实心圆表示
subplot(3,1,2); stem(n,x2,’filled’); %绘制图形,x2子图,且圆点处用实心圆表示
subplot(3,1,3); stem(n,x3,’filled’); %绘制图形,x3子图,且圆点处用实心圆表示

四、实验内容

  1. 在MATLAB中实现 序列,显示范围 (函数命名为impseq(n0,n1,n2))。并利用该函数实现序列: ;
 n1=-3; n2=10; n0=-3;
n=n1:n2;
n01=3;n02=6;
x1=[(n-n01)==0];
x2=[(n-n02)==0];
x3=2*x1+x2;
stem(n,x3,'filled' )

  1. 在MATLAB中实现 序列,显示范围 (函数命名为stepseq(n0,n1,n2))。并利用该函数实现序列:
    函数文件
function x=stepseq(n0,n1,n2);
n=n1:n2;
x=[n>=n0];
stem(n,x,'filled');

程序

n1=-5;
n2=20;
n0=0;
n=n1:n2;
n01=-2;n02=2;
x1=[(n-n01)>=0];
x2=[(n-n02)>=0];
x3=x1+x2;
stem(n,x3,'filled')

  1. 在MATLAB中利用数组运算符“.^”来实现一个实指数序列。如:
    函数文件
function y=zhishu(a,n1,n2)
n=n1:n2;
y=(a).^n;

程序

y=zhishu(0.3,0,50);
n=0:50;
stem(n,y)

  1. 在MATLAB中用函数sin或cos产生正余弦序列,如:

请用plot函数画出连续波形,用stem函数画出离散波形。

n=0:20;
x=11*sin(0.3*pi*n+0.2*pi)+5*cos(0.3*pi*n);
plot(n,x)
stem(n,x)


//下面的选作
实验报告:题目下面:函数+运行结果

实验报告命名格式:实验n+姓名+学号


  1. 函数文件

function y=yidong(a,n1,n2)
n=n1:n2;
y=3*cos(2*pi/10*(n-a));

程序

n=0:20;
y1=yidong(0,0,20);
y2=yidong(-3,0,20);
y3=yidong(3,0,20);
subplot(3,3,1);
stem(n,y1);
subplot(3,3,2)
stem(n,y2);
subplot(3,3,3);
stem(n,y3)


  1. 函数
function y=u(n0,n1,n2)
n=n1:1:n2;
y=[(n-n0)>=0];

程序

n1=-4:6;
n2=-5:8;
x1=u(-2,-4,6);
x2=u(4,-5,8);
y1=[0 x1 0 0];
y2=x2;
y=y1+y2;
stem(n2,y)

五、思考题
1.1 产生单位脉冲序列和单位阶跃序列各有几种方法?如何使用?
答:
各有两种方法。 
1) 单位脉冲序列 
①利用条件语句:y=[(n-n0)==0]
②利用if语句:

 for i=n1:n2      
if i==n0        
x(i)=1;      
end 
end

2)单位序列u(n-no)表示方法: 
①利用条件语句:y=[(n-n0)>=0];
②利用if语句

for n=1:20         
if n<=n0           
y=1;         
end    
end 

1.2 进行序列的相乘运算时应注意什么问题?
答:进行序列的相乘运算时应注意: 
(1)注意维数要相同,不同则会出错。 
(2)元素与元素进行四则运算要用“点“的运算。例如:相乘要用点乘
1.3 MATLAB中画连续信号波形和离散信号波形有什么区别?
答:绘制连续信号波形与离散波形所用的函数不同,例如连续信号的函数有sin,cos等,
绘制离散波形的函数有stem等,还有就是绘制这两种信号波形所要编写的程序也不同。

数字信号处理上机实验一 离散时间信号的时域分析相关推荐

  1. 对时域连续信号用matlab离散,数字信号处理上机实验一 离散时间信号的时域分析...

    实验1 离散时间信号的时域分析 一.实验目的 (1)了解MATLAB语言的主要特点及作用: (2)熟悉MATLAB主界面,初步掌握MATLAB命令窗和编辑窗的操作方法: (3)了解常用时域离散信号及其 ...

  2. 数字信号处理第一章:离散时间信号与离散时间系统

    参考书:<数字信号处理-理论. 算法与实现>第二版 胡广书 清华大学出版社 1. 离散时间信号的基本概念 1) 离散信号概述 a)连续时间信号x(t) -->离散时间信号 x(nTs ...

  3. 东南大学数字信号处理实验_数字与信号处理实验1 离散时间信号分析

    实验一 离散时间信号分析 一.实验目的 掌握两个序列的相加.相乘.移位.反褶.卷积等基本运算. 二.实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列来表示,其中代表序列的第n个数字,n代 ...

  4. 数字信号处理综合实验——Matlab实现DTMF信号的产生与提取

    数字信号处理综合实验: 一.实验内容及要求 实验内容: 综合运用课程所学相关知识,根据实际信号的频谱特性,确定数字滤波器设计技术指标,设计相应的数字滤波器,实现DTMF信号的提取. 设计要求: (1) ...

  5. matlab1信号的单边z变换:,实验二 离散时间信号与系统的Z变换分析

    实验二 离散时间信号与系统的Z变换分析 一. 实验目的 1.熟悉离散信号Z变换的原理及性质 2.熟悉常见信号的Z变换 3.了解正/反Z变换的MATLAB实现方法 4.了解离散信号的Z变换与其对应的理想 ...

  6. 实验一熟悉matlab环境,数字信号处理报告实验一:熟悉MATLAB环境.doc

    数字信号处理报告实验一:熟悉MATLAB环境.doc 实验一熟悉MATLAB环境一 实验目的1. 熟悉MATLAB的主要操作命令.2. 学会简单的矩阵输入和数据读写.3. 掌握简单的绘图命令.4. 用 ...

  7. 数字信号处理matlab实验报告,数字信号处理,matlab实验报告

    数字信号处理,matlab实验报告 Matlab实验报告 实验一: 1. 实验Matlab代码: N=25; Q=0.9+0.3*j; WN=exp(-2*j*pi/N); x=zeros(25,1) ...

  8. 实验一 离散时间信号分析

    实验一 离散时间信号分析 班级   学号  姓名   日期 一.实验目的 掌握两个序列的相加.相乘.移位.反褶.卷积等基本运算. 二.实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列来表 ...

  9. 【数字信号处理】相关函数应用 ( 正弦信号 的 自相关函数 分析 二 | 在白噪声中检测正弦信号 )

    文章目录 一.正弦信号 的 自相关函数 分析 一.正弦信号 的 自相关函数 分析 正弦信号 s(n)=Asin⁡ωns(n) = A \sin \omega ns(n)=Asinωn , 其 幅度 A ...

最新文章

  1. Linux shell笔记
  2. VS2013编译Duilib界面库,“找不到Riched20.lib”的问题
  3. JVM Class字节码之三-使用BCEL改变类属性
  4. Linux下nginx安装与配置
  5. Web Server监视器 v0.75 - Free tool
  6. vision画流程图的软件_程序流程图用什么软件画?
  7. Java通过 JDBC 连接数据库操作
  8. Cognos 优化-大数据量的报表
  9. 北航计算机组成原理课程设计-2020秋 PreProject-Logisim-时序逻辑电路
  10. CREO图文教程:三维设计案例之一腔多模设计(定位参照零件导入模具模型)图文教程之详细攻略
  11. 视频编码器接入指挥调度平台的一种可行方法
  12. WEB前端大作业-速拍摄影服务响应式网页模板(HTML JS CSS))
  13. 解决硬盘自动休眠问题
  14. 前端开发系列(十六)网页布局教程(2)
  15. bzoj2876 [Noi2012]骑行川藏 [二分+拉格朗日乘数法]
  16. 单片机要学多久可以找到工作?能找到哪类的工作
  17. kotlin “${ }”是什么意思?
  18. IVD首个AI产品进入创新通道,腾讯AI Lab联手迈瑞引领智慧医疗
  19. DCOS之监控技术选型(中)
  20. K8s二进制部署-flanneld报(Couldn‘t fetch network config)

热门文章

  1. 认识电子计算机评课稿,《千以内数的认识》评课稿(最新整理)
  2. 本周 GitHub 速览:自动化当道,破密、爬虫各凭本事
  3. 云和恩墨大讲堂电子期刊第四期
  4. 【DTOJ Begin】1019. 过桥(bridge)
  5. 预防XSS,这几招管用!
  6. PAT--1094 谷歌的招聘(C语言)
  7. 为了提高python代码运行速度和进行_一行代码让你的python运行速度提高100倍
  8. 7-15 计算圆周率
  9. 关于jxl的一点知识
  10. 对于网站过度SEO优化会有哪方面的搜索引擎原理