数字信号处理实验一(离散时间信号的MATLAB实现)
1.正弦序列
离散正弦序列的MATLAB表示与连续信号类似,只不过是用stem函数而不是用plot函数来画出序列的波形。下面就是正弦序列的MATLAB源程序。
%正弦序列实现程序
k=0:39;
fk=sin(pi/6*k);
stem(k,fk)
2.指数序列
离散指数序列的一般形式为,可用MATLAB中的数组幂运算(即点幂运算)c*来实现。下面为用MATLAB编写绘制离散时间实指数序列波形的函数。
function dszsu(c,a,k1,k2)
%c:指数序列的幅度
%a:指数序列的底数
%k1:绘制序列的起始序号
%k2:绘制序列的终止序号
k=k1:k2;
x=c*(a.^k);
stem(k,x,'filled')
hold on
plot([k1,k2],[0,0])
hold off
利用上述函数,实现实指数波形MATLAB程序如下(其中值分别为)。
%离散时间实指数序列实现程序
subplot 221;
dszsu(1,5/4,0,20);
xlabel('k');
title('f1[k]');
subplot 222
dszsu(1,3/4,0,20);
xlabel('k');
title('f2[k]');
subplot 223;
dszsu(1,-5/4,0,20);
xlabel('k');
title('f3[k]');
subplot 224;
dszsu(1,-3/4,0,20);
xlabel('k');
title('f4[k]');
分析程序运行结果,对于离散时间实指数序列,当的绝对值大于1时,序列为随时间发散的序列,当的绝对值小于1时,序列为随时间收敛的序列。同时可见,当的值小于零时,其波形在增长或衰减的同时,还交替地改变序列值的符号。
对于离散时间虚指数序列,可用通过调用下列绘制虚指数序列时域波形的MATLAB函数。
function[]=dxzsu(n1,n2,w)
%n1:绘制波形的虚指数序列的起始时间序号
%n2:绘制波形的虚指数序列的终止时间序号
%w:虚指数序列的角频率
k=n1:n2;
f=exp(i*w*k);
Xr=real(f)
Xi=imag(f)
Xa=abs(f)
Xn=angle(f)
subplot(2,2,1), stem(k,Xr,'filled'),title('实部');
subplot(2,2,3), stem(k,Xi,'filled'),title('虚部');
subplot(2,2,2), stem(k,Xa,'filled'),title('模');
subplot(2,2,4), stem(k,Xn,'filled'),title('相角');
利用上述函数,实现虚指数波形MATLAB程序如下(其中虚指数分别为)
%离散时间虚指数实现程序
figure(1);
dxzsu(0,20,pi/4);
figure(2);
dxzsu(0,20,2);
程序运行结果如图1.21(a)、(b)所示。由图可见,只有当虚指数序列的角频率满足为有理数时,信号的实部和虚部和相角都为周期序列,否则为非周期序列。
对于复指数序列,其一般形式为
可以通过调用下面绘制复指数序列时域波形的MATLAB函数。
function dfzsu(n1,n2,r,w)
%n1:绘制波形的虚指数序列的起始时间序号
%n2:绘制波形的虚指数序列的终止时间序号
%w:虚指数序列的角频率
%r: 指数序列的底数
k=n1:n2;
f=(r*exp(i*w)).^k;
Xr=real(f);
Xi=imag(f);
Xa=abs(f);
Xn=angle(f);
subplot(2,2,1), stem(k,Xr,'filled'),title('实部');
subplot(2,2,3), stem(k,Xi,'filled'),title('虚部');
subplot(2,2,2), stem(k,Xa,'filled'),title('模');
subplot(2,2,4), stem(k,Xn,'filled'),title('相角');
利用上述函数,实现复指数序列波形MATLAB程序如下。
%复指数序列实现程序(r>1)
figure(1);
dfzsu(0,20,1.2,pi/4);
%复指数序列实现程序(0<r<1)
figure(2);
dfzsu(0,20,0.8,pi/4);
%复指数序列实现程序(r=1)
figure(3);
dfzsu(0,20,1,pi/4);
当r>1时,复指数序列的实部和虚部分别为幅度按指数增长的正弦序列;当0<r<1时,复指数序列的实部和虚部分别为幅度按指数衰减的正弦序列;当r=1时,复指数序列的实部和虚部分别为等幅正弦序列。
3.单位抽样序列
可以通过借助MATLAB中的零矩阵函数zeros表示。全零矩阵zeros(1,N)产生一个由N个零组成的列向量,对于有限区间的可以通过以下MATLAB程序表示
% 单位抽样序列实现程序
k=-30:30;
delta=[zeros(1,30),1,zeros(1,30)];
stem(k,delta)
4.单位阶跃序列
可以通过借助MATLAB中的单位矩阵函数ones表示。单位矩阵ones(1,N)产生一个由N个1组成的列向量,对于有限区间的可以通过以下MATLAB程序表示
% 单位阶跃序列实现程序
k=-30:30;
uk=[zeros(1,30),ones(1,31)];
stem(k,uk)
数字信号处理实验一(离散时间信号的MATLAB实现)相关推荐
- matlab fft谱分析实验报告,数字信号处理实验报告-FFT算法的MATLAB实现.doc
数字信号处理实验报告-FFT算法的MATLAB实现.doc 数字信号处理 实验报告实验二FFT算法的MATLAB实现一.实验目的通过本实验的学习,掌握离散傅立叶变换的理论,特别是FFT的基本算法以及其 ...
- 东南大学数字信号处理实验_数字与信号处理实验1 离散时间信号分析
实验一 离散时间信号分析 一.实验目的 掌握两个序列的相加.相乘.移位.反褶.卷积等基本运算. 二.实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列来表示,其中代表序列的第n个数字,n代 ...
- matlab中样本点用 表示,实验一离散时间信号在MATLAB中的表示
实验一 离散时间信号的表示及运算 一.实验目的 1.学会运用MATLAB 表示的常用离散时间信号: 2.学会运用MATLAB 实现离散时间信号的基本运算. 二.实验原理及实例分析 2.1 离散时间信号 ...
- 数字信号处理第一章 离散时间信号与系统
文章目录 第一章 离散时间信号与系统 离散时间信号 几种常见的信号 离散周期序列 序列的运算 离散时间信号的傅里叶变换和z变换 离散时间信号灯的傅里叶变换 性质 z变换 逆z变换 z变换的性质 z变换 ...
- 数字信号处理二:离散时间信号的运算
一.离散时间信号的基本运算 离散信号的基本运算包括:(1)自变量的变换:平移.反转:(2)两个信号之间的运算:相加.相乘:(3)信号自身整体的运算:信号在值域上的展缩和上下平移,即x(n) -> ...
- 随机数字信号处理实验报告二——自适应滤波MATLAB
完整的实验报告下载链接https://download.csdn.net/download/LIsaWinLee/14884404 一.实验原理 自适应滤波器由参数可调的数字滤波器和自适应算法两部分组 ...
- 对时域连续信号用matlab离散,数字信号处理上机实验一 离散时间信号的时域分析...
实验1 离散时间信号的时域分析 一.实验目的 (1)了解MATLAB语言的主要特点及作用: (2)熟悉MATLAB主界面,初步掌握MATLAB命令窗和编辑窗的操作方法: (3)了解常用时域离散信号及其 ...
- 数字信号处理上机实验一 离散时间信号的时域分析
实验1 离散时间信号的时域分析 一.实验目的 (1)了解MATLAB语言的主要特点及作用: (2)熟悉MATLAB主界面,初步掌握MATLAB命令窗和编辑窗的操作方法: (3)了解常用时域离散信号及其 ...
- matlab数字信号处理实验报告,数字信号处理实验报告一 离散信号及其MATLAB实验...
数字信号处理 离散信号及其MATLAB实验 南昌航空大学实验报告 2012 年 04 月 06 日 课程名称: 数字信号处理 实验名称: 离散信号及其MATLAB实现 班级: 090423班 学号: ...
- 数字信号处理实验matlab版答案刘舒帆,数字信号处理实验(MATLAB版) 刘舒帆,费诺,陆辉 西安电子科技大学出版社 9787560620060...
商品描述: 基本信息 书名:数字信号处理实验(MATLAB版) 原价:31.00元 作者:刘舒帆,费诺,陆辉 著 出版社:西安电子科技大学出版社 出版日期:2013-7-1 ISBN:97875606 ...
最新文章
- puppet原理及配置
- python引用文件 mode写在后面还是前面,python3 文件操作常用mode参数用法详解
- 桌面应用程序员简单尝试Rich JavaScript Application
- error: ‘to_string’ is not a member of ‘std’———已解决
- [转]VS2010中水晶报表安装应用及实例
- 腾讯也有“神盾局”?秀出“技术肌肉”就靠TA了……
- BZOJ 4719--天天爱跑步(LCA差分)
- SBuild 0.2.0 发布,基于 Scala 的构建系统
- 系统架构师成长之路(三)
- c语言怎么确定输出数的坐标,c语言printf实现同一位置打印输出的实例
- C#入门篇5-3:流程控制语句 for
- Dns连通性常用测试方法
- Neuronink是医学奇迹的噩梦
- 文字识别——检测部分 CTPN论文翻译
- SUS战队专访 | 关于赛题,能说的都在这里了
- 经验转行产品经理|纯经验分享
- 支付系统-财务记账 复式记账 借贷
- 音视频开发(一):三种方式绘制图片
- 计算机文字录入培训大纲,《计算机文字录入》课程教学大纲.doc
- React-Native组件之 Navigator和NavigatorIOS
热门文章
- Web入门:JQuery淡入淡出面板
- 水木清华站长:水木清华十五年辛酸成败
- 安全终端模拟软件——Xshell
- ppt html5转换,PPT还能转H5?这大概是制作招聘H5最快的方法了...
- 抖音怎么投放广告最有效?三点注意事项值得了解
- [Revit教程]斑马:如何自学Revit#S002
- [Untiy]贪吃蛇大作战(四)——游戏主界面
- VS2022打开项目之后提示:找不到 .NETFramework,Version=v4.0 的引用程序集。要解决此问题,请为此框架版本安装开发人员工具包(SDK/目标包)或者重新定向应用程序。
- Berkeley DB Java Edition Installation Notes(BDB JE安装教程)
- require和import的区别?