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实现)相关推荐

  1. matlab fft谱分析实验报告,数字信号处理实验报告-FFT算法的MATLAB实现.doc

    数字信号处理实验报告-FFT算法的MATLAB实现.doc 数字信号处理 实验报告实验二FFT算法的MATLAB实现一.实验目的通过本实验的学习,掌握离散傅立叶变换的理论,特别是FFT的基本算法以及其 ...

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

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

  3. matlab中样本点用 表示,实验一离散时间信号在MATLAB中的表示

    实验一 离散时间信号的表示及运算 一.实验目的 1.学会运用MATLAB 表示的常用离散时间信号: 2.学会运用MATLAB 实现离散时间信号的基本运算. 二.实验原理及实例分析 2.1 离散时间信号 ...

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

    文章目录 第一章 离散时间信号与系统 离散时间信号 几种常见的信号 离散周期序列 序列的运算 离散时间信号的傅里叶变换和z变换 离散时间信号灯的傅里叶变换 性质 z变换 逆z变换 z变换的性质 z变换 ...

  5. 数字信号处理二:离散时间信号的运算

    一.离散时间信号的基本运算 离散信号的基本运算包括:(1)自变量的变换:平移.反转:(2)两个信号之间的运算:相加.相乘:(3)信号自身整体的运算:信号在值域上的展缩和上下平移,即x(n) -> ...

  6. 随机数字信号处理实验报告二——自适应滤波MATLAB

    完整的实验报告下载链接https://download.csdn.net/download/LIsaWinLee/14884404 一.实验原理 自适应滤波器由参数可调的数字滤波器和自适应算法两部分组 ...

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

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

  8. 数字信号处理上机实验一 离散时间信号的时域分析

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

  9. matlab数字信号处理实验报告,数字信号处理实验报告一 离散信号及其MATLAB实验...

    数字信号处理 离散信号及其MATLAB实验 南昌航空大学实验报告 2012 年 04 月 06 日 课程名称: 数字信号处理 实验名称: 离散信号及其MATLAB实现 班级: 090423班 学号: ...

  10. 数字信号处理实验matlab版答案刘舒帆,数字信号处理实验(MATLAB版) 刘舒帆,费诺,陆辉 西安电子科技大学出版社 9787560620060...

    商品描述: 基本信息 书名:数字信号处理实验(MATLAB版) 原价:31.00元 作者:刘舒帆,费诺,陆辉 著 出版社:西安电子科技大学出版社 出版日期:2013-7-1 ISBN:97875606 ...

最新文章

  1. puppet原理及配置
  2. python引用文件 mode写在后面还是前面,python3 文件操作常用mode参数用法详解
  3. 桌面应用程序员简单尝试Rich JavaScript Application
  4. error: ‘to_string’ is not a member of ‘std’———已解决
  5. [转]VS2010中水晶报表安装应用及实例
  6. 腾讯也有“神盾局”?秀出“技术肌肉”就靠TA了……
  7. BZOJ 4719--天天爱跑步(LCA差分)
  8. SBuild 0.2.0 发布,基于 Scala 的构建系统
  9. 系统架构师成长之路(三)
  10. c语言怎么确定输出数的坐标,c语言printf实现同一位置打印输出的实例
  11. C#入门篇5-3:流程控制语句 for
  12. Dns连通性常用测试方法
  13. Neuronink是医学奇迹的噩梦
  14. 文字识别——检测部分 CTPN论文翻译
  15. SUS战队专访 | 关于赛题,能说的都在这里了
  16. 经验转行产品经理|纯经验分享
  17. 支付系统-财务记账 复式记账 借贷
  18. 音视频开发(一):三种方式绘制图片
  19. 计算机文字录入培训大纲,《计算机文字录入》课程教学大纲.doc
  20. React-Native组件之 Navigator和NavigatorIOS

热门文章

  1. Web入门:JQuery淡入淡出面板
  2. 水木清华站长:水木清华十五年辛酸成败
  3. 安全终端模拟软件——Xshell
  4. ppt html5转换,PPT还能转H5?这大概是制作招聘H5最快的方法了...
  5. 抖音怎么投放广告最有效?三点注意事项值得了解
  6. [Revit教程]斑马:如何自学Revit#S002
  7. [Untiy]贪吃蛇大作战(四)——游戏主界面
  8. VS2022打开项目之后提示:找不到 .NETFramework,Version=v4.0 的引用程序集。要解决此问题,请为此框架版本安装开发人员工具包(SDK/目标包)或者重新定向应用程序。
  9. Berkeley DB Java Edition Installation Notes(BDB JE安装教程)
  10. require和import的区别?