- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数字信号处理基本知识点Matlab实现.111》.doc
数字信号处理(第二版)
绪论
1.4 MATLAB在信号处理中的应用简介
MATLAB是美国Mathworks公司于1984年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理、系统仿真和图形显示于一体,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能:数值计算功能(Numeric),符号运算功能(Symbolic);数据可视化功能(Graphic),数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
2.10 离散时间信号与系统的Matlab表示
2.10.1 离散时间信号的表示和运算
1、基本序列的Matlab表示
单位采样序列
在MATLAB中,单位采样序列可以通过编写以下的DTimpulse.m文件来实现,即
function y=DTimpulse (n)
y=(n==0); %当参数为0时冲激为1,否则为0
调用该函数时n必须为整数或整数向量。
单位阶跃序列
在MATLAB中,单位阶跃序列可以通过编写DTu.m文件来实现,即
function y=DTu (n)
y=n=0; %当参数为非负时输出1
调用该函数时n必须为整数或整数向量。
矩形序列
用MATLAB表示矩形序列可根据公式并利用DTu函数生成,即
function y=DTR(n,N)
y=DTu(n)-DTu(n-N);
调用该函数时n必须为整数或整数向量,N必须为整数。
实指数序列
用MATLAB表示实指数序列,即
n=0:N-1;
x=a.^n;
复指数序列
用MATLAB表示实指数序列,即
n=0:N-1;
x=exp((sigma+j*w0)*n);
正弦序列
用MATLAB表示实指数序列,即
n=0:N-1;
x=A*sin(w0*n+phi);
2、基本序列运算的Matlab表示
序列相加
用MATLAB实现序列,即
y=x1+x2;
当x1和x2序列长度不等或其起始位置不对应时,序列相加前需要调整x1和x2,使之具有相同长度并具有相同起始位置。
序列相乘
用MATLAB实现序列,即
y=x1.*x2;
当x1和x2序列长度不等或其起始位置不对应时,序列相乘前需要调整x1和x2,使之具有相同长度并具有相同起始位置。此处需要利用Matlab中的点乘(.*)实现。
序列反转
用MATLAB实现序列,即
y=flipr(x);
序列移位
用MATLAB实现序列,即
n=-N:N;
n1=n-n0;
subplot(211);stem(n,x,’ fill’);
subplot(211);stem(n1,x,’ fill’);
2.10.2 离散时间信号的频域变换
1、Matlab实现离散时间傅里叶变换(DTFT)
序列的离散时间傅里叶变换(DTFT)由于频率为连续实数变量,所以严格的讲其在Matlab下是无法实现的,但是为了说明DTFT在Matlab下的运算过程,这里将其频率变量设置为频率向量,只计算频率向量指定的有限个频率点上的频谱结果。
设序列,,,则DTFT的矩阵表达形式为:
其中:
DTFT在Matlab中可以利用矩阵乘法的形式表示如下:
【例2-1】 用Matlab实现的离散时间傅里叶变换。
解:DTFT的MATLAB源程序为:
N=5;
n=[0:N-1];
k=-200:200;
w=(4*2*pi/400)*k;
x= DTR(n,N)
DTFT_X=x*exp(-j*(n*w));
magX=abs(DTFT_X);
plot(w/pi,magX);
xlabel(w/pi);
ylabel(|X(jw)|);
title(x(n)的离散时间傅里叶变换的幅频响应曲线);
图 2-1 离散时间傅里叶变换幅度响应曲线
2、Matlab实现Z变换
Z正反变换的符号表示
MATLAB符号数学工具箱提供了计算离散时间信号单边Z变换的函数ztrans和Z反变换函数iztrans,其语句格式分别为
z=ztrans(x)
x=iztrans(z)
上式中的x和z分别为时域表达式和z域表达式的符号表示,可通过sym函数来定义。
【例2-2】 试用ztrans函数求下列函数的z变换。
(1); (2)。
解:
文档评论(0)