《数字信号处理教程》利用matlab实现常用序列
目录
一、实验名称
二、实验器材
三、实验目的
四、实验原理
五、实验内容及结果
六、实验收获
一、实验名称
常用序列的matlab实现。
二、实验器材
安装有matlab软件的电脑、《数字信号处理教程》课本。
三、实验目的
1.掌握matlab语言的基本操作和基本的编程功能;
2.了解常用序列的图形和实现方法,并掌握matlab产生常用离散时间信号的编程方法;
3.掌握基本函数exp、imag、real,二维图形处理函数function、figure、stem、title、xlabel、ylabel、axis、grid on及通用功能图形函数subplot的用法。
四、实验原理
1.matlab功能强大、简单易学、编程效率高,具有自动控制理论、数字信号处理、动态系统仿真、图像处理等功能;
2.matlab具有多种函数图形处理和生成器,可对不同的函数进行处理,分析和计算速度快,可以运用stem函数绘制离散图形,利用起来非常方便;
3.matlab具有强大的数值计算和符号计算,可以很方便绘制二维、三维及四维图形,支持多种声音和图像格式,所编写的程序可以直接运行,无须编译,非常快捷。
五、实验内容及结果
编制程序产生单位冲激序列、单位阶跃序列、矩形序列、实指数序列和复指数序列,并利用matlab中的基本图形函数绘制出其图形。
(一)实验一:单位抽样序列。在matlab中可以用以下函数实现单位抽样序列δ(n-n0)(如图1),利用n==0来实现。
图1 单位冲激序列
- 实验代码
%单位抽样序列function [x,n]=impseq(n0,n1,n2) %产生x(n)=delta(n-n0);n1<=n0<=nn2%[x,n]=impseq(n0,n1,n2)if((n0<n1)|(n0>n2)|(n1>n2))error('参数必须满足n1<=n0<=n2')endn=[n1:n2]; %x=[zeros(1,(n0-n1),1,zeros(1,(n2-n0))];x=[(n-n0)==0];
2.实验结果
在命令窗口做以下操作:
(1)输入“n1=-2,n0=3,n2=6”回车;
(2)输入“[x,n]=impseq(n0,n1,n2)”回车;
(3)输入“stem(n,x)”回车。结果如下:
3.碰到的问题及解决方法
问题:由于第一次使用function函数,对function函数不是很了解,在运行结果时没有给输入和输出变量定义初始值,导致运行不出来。
解决方法:在运行程序后输入n1=-2,n0=3,n2=6回车,再输入[x,n]=impseq(n0,n1,n2)回车,最后输入stem(n,x)回车,即可运行出结果。
(二)实验二:单位阶跃序列。在matlab中可以用n>=0来实现u(n-n0)(如图2)。
图2 单位阶跃序列
1.实验代码
%单位阶跃序列function [x,n]=stepseq(n0,n1,n2) %产生x(n)=delta(n-n0);n1<=n0<=nn2%[x,n]=stepseq(n0,n1,n2)if((n0<n1)|(n0>n2)|(n1>n2))error('参数必须满足n1<=n0<=n2')endn=[n1:n2]; %x=[zeros(1,(n0-n1),1,zeros(1,(n2-n0))];x=[(n-n0)>=0];
2.实验结果
在命令窗口做以下操作:
(1)输入“n1=-4,n0=4,n2=10”回车;
(2)输入“[x,n]=stepseq(n0,n1,n2)”回车;
(3)输入“stem(n,x)”回车。结果如下:
(三)实验三:矩形序列。在matlab中可以用两个单位阶跃序列相减来产生矩形序列(如图3)。
图3 矩形序列
1.实验代码
%矩形序列function [x1,x2,x3,n]=RN(n0,n1,n2)if((n0<n1)|(n0>n2)|(n1>n2))error('参数必须满足n1<=n0<=n2')endn=[n1:n2];x1=[(n-n0)>=9];x2=[(n-n0)>=-8];x3=x2-x1;
2.实验结果
在命令窗口做以下操作:
(1)输入“n1=-10,n0=0,n2=10”回车;
(2)输入“[x1,x2,x3,n]=RN(n0,n1,n2)”回车;
(3)输入“stem(n,x3,'rp');title('矩形序列');”回车。结果如下:
(四)实验四:实指数序列。在matlab中可以用数组运算符“.^”来实现实指数序列。
1.实验代码
%实指数序列n=0:10; %定义n的范围x=(0.8).^n;stem(n,x,'b.'); %绘制离散图像title('实指数序列x=(0.8)^n'); %对图像主题的说明xlabel('n'); %对横轴进行说明ylabel('x=(0.8)^n'); %对纵轴进行说明grid on; %打开图像网格
2.实验结果
3.碰到的问题及解决方法
问题:在编写代码时,指数函数x=(0.8)^n少写了一点,运行程序时出现错误。
解决方法:将x=(0.8)^n改为x=(0.8).^n,再重新运行即可出来结果。
(五)实验五:复指数序列。在matlab中可以用编程来实现复指数序列 ,其中a=0.4,b=0.6。
1.实验代码
%复指数序列n=0:10; %定义n的范围x=exp((0.4+0.6j)*n);%产生实部图像subplot(2,1,1); %定义图像窗口为2x1(2行1列),坐标为(1,1)(第一行第一列)stem(n,real(x),'b.'); %绘制实部离散图像,并设置线为b(蓝色)点线型axis([-4,10,min(real(x))-1,1.2*max(real(x))]); %定义图像1的横轴、纵轴范围title('复指数序列实部图像'); %对图像主题的说明xlabel('n'); %对横轴进行说明ylabel('real(x)'); %对纵轴进行说明grid on; %打开图像网格%产生虚部图像subplot(2,1,2); %定义图像窗口为2x2(2行2列),坐标为(2,1)(第二行第一列)stem(n,imag(x),'m.'); %绘制虚部离散图像,并设置线为m(洋红色)点线型axis([-4,10,min(imag(x))-1,1.2*max(imag(x))]); %定义图像2的横轴、纵轴范围title('复指数序列虚部图像'); %对图像主题的说明xlabel('n'); %对横轴进行说明ylabel('imag(x)'); %对纵轴进行说明grid on; %打开图像网格
2.实验结果
六、实验收获
通过本次实验,有了很多意想不到的收获,主要有函数知识及用法、产生图像方法、实验时需要注意的点。
1.函数知识:基本函数exp、imag、real,二维图形处理函数function、
figure、stem、title、xlabel、ylabel、axis、grid on及通用功能图形函数subplot,这些函数非常有用,也非常重要,在实现一般图像时基本都有用到。
2.产生图像方法:有三种函数可以产生图形,包括function函数、plot
函数和stem函数。
3.实验时需要注意的点
在用到function函数时,需要注意:
1)在赋值之前先运行代码程序;
2)在命令窗口先对输入变量赋值;
3)再对“[输出]=文件名(输入)“运行;
4)最后用stem函数产生图形。
要产生图形时需要弄清楚要产生的图形是连续的还是离散的,再选用plot函数(绘制连续图形)和stem函数(绘制离散图形)。
4.总之,只要积极主动、细心、有耐心,注意理论联系实际、多做多学多问,就会有进步,就会学到更多知识。
《数字信号处理教程》利用matlab实现常用序列相关推荐
- 【 MATLAB 】数字信号处理中的几个常用序列产生的MATLAB代码
[ MATLAB ]常用的离散时间序列的 Matlab 产生 上篇这篇博文介绍了例如单位样值序列.单位阶跃序列产生的脚本以及函数,这篇博文利用到的函数,将直接贴过来: 单位样值序列: function ...
- matlab验证dtft移位性质,数字信号处理教程:MATLAB释义与实现(第2版)
第1章 信号和信号处理1.1信号的分类1.2信号处理51.2.1信号处理的举例51.2.2信号处理的一般任务61.2.3数字信号处理71.3信号采样和复原实例81.4本书概貌的说明10复习思考题12习 ...
- 数字信号处理 matlab 答案,数字信号处理课后习题Matlab作业
<数字信号处理课后习题Matlab作业>由会员分享,可在线阅读,更多相关<数字信号处理课后习题Matlab作业(22页珍藏版)>请在人人文库网上搜索. 1.数字信号处理MATL ...
- matlab如何进行数字信号处理,数字信号处理基础及MATLAB实现(第2版)
[内容简介] 本书系统地介绍了数字信号处理基本理论.设计方法和实现等方面的内容.全书共分9章,第1章介绍数字信号处理的研究对象.学科概貌.系统基本组成.特点.发展及应用等内容:第2章介绍离散时间信号与 ...
- 全相位数字信号处理方法及matlab实现,数字信号处理及matlab实现_实验报告册.doc...
数字信号处理及matlab实现_实验报告册.doc 数字信号处理及MATLAB实现实验报告实验人孙敬贤实验1离散时间信号产生及频谱分析一.实验目的㈠掌握MATLAB产生常用离散时间信号的产生方法.㈡掌 ...
- matlab数字信号处理 王彬,MATLAB数字信号处理
前言 第1章 基础知识导论 1.1 MATLAB7.0语言简介 1.1.1 MATLAB7.0语言特点 1.1.2 MATLAB7.0的工作环境 1.1.3 M文件介绍 1.2 MATLAB基本程序控 ...
- python猜数字1001untitled_如何利用Matlab GUI制作猜数字游戏
第二堂课布置了一个Mission Impossible:如何利用Matlab GUI制作猜数字游戏 这个任务对很多人来说会非常困难,首先要面对的是 Matlab GUI的机制,这是完全未知的机制,在面 ...
- 数字信号处理综合实验——Matlab实现DTMF信号的产生与提取
数字信号处理综合实验: 一.实验内容及要求 实验内容: 综合运用课程所学相关知识,根据实际信号的频谱特性,确定数字滤波器设计技术指标,设计相应的数字滤波器,实现DTMF信号的提取. 设计要求: (1) ...
- 数字信号处理实验matlab版答案刘舒帆,数字信号处理实验(MATLAB版) 刘舒帆,费诺,陆辉 西安电子科技大学出版社 9787560620060...
商品描述: 基本信息 书名:数字信号处理实验(MATLAB版) 原价:31.00元 作者:刘舒帆,费诺,陆辉 著 出版社:西安电子科技大学出版社 出版日期:2013-7-1 ISBN:97875606 ...
- matlab数字信号处理实验报告,数字信号处理实验报告(Matlab与数字信号处理基础).doc...
西华大学实验报告(理工类) 开课学院及实验室:电气信息学院 6A-205实验时间 :年月日学 生 姓 名学号成 绩学生所在学院电气信息学院年级/专业/班课 程 名 称数字信号处理课 程 代 码实验项目 ...
最新文章
- ipsec协议_网工知识角轻松学网络|三分钟了解PPPOE协议
- oracle事物的传播属性,spring事务的隔离级别和传播属性
- Android开发之高仿三方授权登录的实现方案类似微信登录QQ登录微博登录人人网登录
- 三态门三个状态vhdl_温故知新,高阻态和三态门
- mui.init方法配置
- python canvas画移动物体_Python:Tkinter的GUI设计——物体实时移动
- Oracle常用数据库操作SQL
- 苹果电脑如何使用Tuxera NTFS for mac抹掉NTFS格式
- RHEL6基础三十七之系统时间修正、GRUB背景图片修改
- dz论坛自定义html,关于diy模块中的自定义html
- 14.Excel vba开发-随机点名
- Win10 VC++运行库集合|VC++ 2005 2008 2010 2012 2015
- 360度全景拍摄,探索全景世界带你飞跃视野新高度
- Ubuntu 找不到wifi适配器
- 利用 Andorid 手机连接 Arduino 并控制 LED灯开关
- SVN 将代码回滚到之前的版本的方法
- 码教授M01和J42项目答辩胜利结束,广阔天空任你们闯荡!
- 【Python】韦伯分布的拟合
- mp3歌曲打包500下载
- POI导入模板,下载表格接口