第7章信号处理工具箱 MATLAB信号处理工具箱可进行一系列的数字 信号处理,包括波形发生、滤波器设计和分析、参 数建模和频谱分析等。 提供2个工具:命令函数和图形用户界面设计。 工具箱提供了滤波器分析、滤波器实现、FIR 数字滤波器设计、IIR数字滤波器设计、IIR数字滤 波器阶次设计、模拟低通滤波器原型设计、模拟低 通滤波器变换、线性系统变换等函数命令。这些函 数命令放在“signa1\signal”目录中。 1
第7章 信号处理工具箱 MATLAB信号处理工具箱可进行一系列的数字 信号处理,包括波形发生、滤波器设计和分析、参 数建模和频谱分析等。 提供2个工具:命令函数和图形用户界面设计。 工具箱提供了滤波器分析、滤波器实现、FIR 数字滤波器设计、IIR数字滤波器设计、IIR数字滤 波器阶次设计、模拟低通滤波器原型设计、模拟低 通滤波器变换、线性系统变换等函数命令。这些函 数命令放在“signal\signal”目录中。 1
本章主要内容: 7.1信号及其表示 7.2信号的基本运算 7.3线性时不变系统 7.4傅里吐(Fourier)变换 7.5R数字滤波器的设计方法 7.6FR数字滤波器设计 7.7信号处理的图形用户界面工具 教学网站:mata6.ctu.cn BACK
教学网站: matlab.lctu.cn 本章主要内容: 7.1 信号及其表示 7.2 信号的基本运算 7.3 线性时不变系统 7.4 傅里叶(Fourier)变换 7.5 IIR数字滤波器的设计方法 7.6 FIR数字滤波器设计 7.7 信号处理的图形用户界面工具 2
7.1信号及其表示 ◆主要内容:信号的表示和matlab实现: ◆7.1.1信号的表示和matlab实现 ◆信号的分类:按照自变量和因变量的取值特点 可以分为连续时间(Continuous-Time,CT)信 号,记为x,(),和离散时间(Discrete-Time DT)信号,记为x(n)。 教学网站:mata6.ctu.cn 3
教学网站: matlab.lctu.cn 7.1 信号及其表示 主要内容:信号的表示和matlab实现; 7.1.1信号的表示和matlab实现 信号的分类:按照自变量和因变量的取值特点 可以分为连续时间(Continuous-Time, CT)信 号,记为xa (t) ,和离散时间(Discrete-Time, DT)信号,记为x(n) 。 3
1.连续时间信号(CT) ◆在MATLAB中,一般连续信号是用其等间隔 采样来近似表示的,这些离散的样值在采样间 隔足够小时能够较好地近似连续信号,因此, 在MATLAB中连续信号可用向量或符号运算 来表示。 ◆下面用几个典型连续时间信号为例,说明如何 使用MATLAB来表示连续信号。 教学网站:mata6.fctu,cn
教学网站: matlab.lctu.cn 1. 连续时间信号(CT) 在MATLAB中,一般连续信号是用其等间隔 采样来近似表示的,这些离散的样值在采样间 隔足够小时能够较好地近似连续信号,因此, 在MATLAB中连续信号可用向量或符号运算 来表示。 下面用几个典型连续时间信号为例,说明如何 使用MATLAB来表示连续信号。 4
1)单位冲激函数 单位冲激函数的定义: J60)dt=1 6(t)=0t≠0 6(t)是信号与系统分析的基本信号之一,是进 行信号分析的基础。 δ()的定义表明该信号除原点以外处处为零, 但信号的面积却为1。 5 教学网站:mata6.lct.cn
教学网站: matlab.lctu.cn 1) 单位冲激函数 单位冲激函数的定义: 是信号与系统分析的基本信号之一,是进 行信号分析的基础。 的定义表明该信号除原点以外处处为零, 但信号的面积却为1。 ( ) 1 ( ) 0 0 t dt t t ( )t ( )t 5
2)单位阶跃信号 ◆单位阶跃信号的定义:m69 ◆单位阶跃信号产生方法有以下几种: 一是单位阶跃信号的表示方法是用向量表示样值和对 应的时刻。 二是调用MATLAB的Symbolic Math Toolbox中的 单位阶跃函数Heaviside,但需要在自己的工作目录中 创建Heaviside的函数文件,如下: function f=Heaviside(t) ◆f=>0;%t>0是f为1,否则为0 6 教学网站:mata6.ctu.cn
教学网站: matlab.lctu.cn 2)单位阶跃信号 单位阶跃信号的定义: 单位阶跃信号产生方法有以下几种: 一是单位阶跃信号的表示方法是用向量表示样值和对 应的时刻。 二是调用MATLAB的Symbolic Math Toolbox中的 单位阶跃函数Heaviside,但需要在自己的工作目录中 创建Heaviside的函数文件,如下: function f=Heaviside(t) f = t>0; % t>0是f为1,否则为0 1 0 ( ) 0 0 t u t t 6
3)正弦信号 ◆正弦信号定义:x(t)=Asin(ot+p) ◆4)指数信号 ◆指数信号的定义:x(t)=Aea+or ◆如果o=0,则为实指数函数;如果a=0,则为虚 指数函数。 ◆指数函数的表示,即用模和相角或者采用实部和 虚部来表示指数信号随时间变化的规律。 教学网站:mata6.fctu.cn
教学网站: matlab.lctu.cn 3)正弦信号 正弦信号定义: 4)指数信号 指数信号的定义: 如果 ,则为实指数函数;如果a=0,则为虚 指数函数。 指数函数的表示,即用模和相角或者采用实部和 虚部来表示指数信号随时间变化的规律。 x t A t ( ) sin( ) ( ) ( ) a j t x t Ae 0 7
例6.1.1:绘制单位冲激信号,单位阶跃信号和正弦信 号x(t)=2sin(πt+0.2π)指数信号x0=2e02r+加 的MATLAB程序。 Figure 1 ◆clear; ▣8 Eile Edit Yiev Insert Iools Desktop Yindow Help ◆t0=-1;t1=0;tf3; 凸8日0k999⑧根公,圆0国■回 单位冲激信号 ◆dt=0.05; %采样 18 ◆t=[t0:dt:tf; %采样 16 ◆st=length(t), %采样 14 k1=floor((t1-t0)/dt); %求t1日 12 ◆ floor 10 ◆f1=zeros(1,st)月 %将全 ◆f1(k1)=1/dt %在时 ◆stairst(t,f1); %产生 ◆title(单位冲激信号): -0.5 005115225 3 8 教学网站:mata6.fctu.cn
教学网站: matlab.lctu.cn 例6.1.1:绘制单位冲激信号,单位阶跃信号和正弦信 号 ,指数信号 的MATLAB程序。 clear; t0=-1; t1=0; tf=3; dt=0.05; %采样间隔 t=[t0:dt:tf]; %采样点向量 st=length(t); %采样点向量长度 k1=floor((t1-t0)/dt); %求t1时刻对应的样本序号 % floor的功能是“下取整” f1=zeros(1,st); %将全部信号初始化为零 f1(k1)=1/dt; %在时间t=t1处,给样本赋值为1/dt stairs(t,f1); %产生单位冲激信号 title('单位冲激信号'); x t t ( ) 2sin( 0.2 ) (0.2 ) ( ) 2 j t x t e 8
阶跃信号: ◆clear; Figure 1 回 ☑Figure1 ▣回X Eile ◆t0=-1;t1=0;tf=3: 凸8 Eile Edit View Insert Tools Desktop Window Help ◆dt=0.05; %采样间隔 凸3日®Q”回根公,易日国口回 ◆t=[t0:dt:tf]; %采样点 单位阶跃信号 2 ◆st=length(t),%采样点月 1.8 k1=floor((t1-t0)/dt); 1.6 ◆f1=zeros(1,st); %将 1.4 ◆f1(k1)=1/dt; %在 12 x2=[zeros(1,k1-1),ones(1 08 ◆plot(t,x2);%绘图 0.6 ◆title(单位阶跃信号): 0.4 ◆axis([t0,t,0,2]) 0.2 0 .1 0.5 00.5 1 1.522.5 3 教学网站:mata6.ctu.cn
教学网站: matlab.lctu.cn 阶跃信号: clear; t0=-1; t1=0; tf=3; dt=0.05; %采样间隔 t=[t0:dt:tf]; %采样点向量 st=length(t); %采样点向量长度 k1=floor((t1-t0)/dt); %求t1时刻对应的样本序号 f1=zeros(1,st); %将全部信号初始化为零 f1(k1)=1/dt; %在时间t=t1处,给样本赋值为1/dt x2=[zeros(1,k1-1),ones(1,st-k1+1)]; %产生阶跃信号 plot(t,x2); %绘图 title('单位阶跃信号'); axis([t0,tf,0,2]); 9
正弦信号:x()=2sin(πt+0.2m) ◆clear; ☑Figure1 回 ◆0=-1;tf=3;t1=0; File Edit View Insert Tools Desktop Window Help 凸启日6®Q沙回早公,同口国口回 ◆dt=0.05; %采样间隔 正弦信号 ◆alphai=0.2*pi;w=pi 1.5 ◆t=[t0:dt:tf; %采样点向量 0.5 ◆x3=2*sin(w*t+alpha;%产1 0 ◆plot(t,x3);grid on%绘图 -0.5 xlabel('t);ylabel('x(t)); ◆title(正弦信号')月 -1.5 -0.5 0.5 1.5 2.5 3 10 教学网站:matlab.lct.cm
教学网站: matlab.lctu.cn 正弦信号: clear; t0=-1; tf=3; t1=0; dt=0.05; %采样间隔 alpha=0.2*pi; w=pi; t=[t0:dt:tf]; %采样点向量 x3=2*sin(w*t+alpha); %产生正弦信号 plot(t,x3); grid on %绘图 xlabel('t'); ylabel('x(t)'); title('正弦信号'); x t t ( ) 2sin( 0.2 ) 10