matlabsimulink在数字信号处理中的应用

上传人:san****019 文档编号:70772967 上传时间:2019-01-18 格式:PPT 页数:28 大小:1.54MB
返回 下载 相关 举报
matlabsimulink在数字信号处理中的应用_第1页
第1页 / 共28页
matlabsimulink在数字信号处理中的应用_第2页
第2页 / 共28页
matlabsimulink在数字信号处理中的应用_第3页
第3页 / 共28页
matlabsimulink在数字信号处理中的应用_第4页
第4页 / 共28页
matlabsimulink在数字信号处理中的应用_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《matlabsimulink在数字信号处理中的应用》由会员分享,可在线阅读,更多相关《matlabsimulink在数字信号处理中的应用(28页珍藏版)》请在金锄头文库上搜索。

1、1. 离散时间信号 2. Z变换和傅立叶变换 3. 数字滤波器的Matlab设计方法,第10章 MATLAB/Simulink的 数字信号处理应用,信号概述,在二十世纪上半叶的时候提到一个信号,人们还倾向于将它理解为一个连续的函数。而到下半叶,信号已经越来越多地对应于一个离散的数组。毫无疑问,这是电子计算机革命的后果。 例如,一段声音就是一个定义在一维空间上的函数,自变量是时间,因变量是声音的强度;一幅图像是定义在二维空间上的函数,自变量是横轴和纵轴坐标,因变量是图像像素的色彩和明暗,如此等等。,3,10.1 离散时间信号的表达及其运算,1. 离散时间信号序列 定义:自变量为离散点的信号(函数

2、),记为 连续时间信号离散化 如图所示,4,2. 典型序列 (1) 单位样值(冲激)序列 Matlab表达式:n=n1:n2; x=(n-n0)=0; (2) 单位阶跃序列,Matlab表达式:n=n1:n2; x=(n-n0)=0;,5,在用MATLAB表示离散序列要注意: 由于在MATLAB中,矩阵的元素个数是有限的,因此,MATLAB无法表示无限序列; 在绘制离散信号波形时,要使用专门的绘制离散数据的stem命令,而不是plot命令。,6,离散信号的时域运算 MATLAB离散序列的相加、相乘需表示成两个向量的相加、相乘,因而参加运算的两序列向量必须具有相同的维数。 离散信号相加 离散信号

3、相乘 s1=-5:5; s2=s1; y1=s1+s2 y2=s1.*s2,7,8,离散时间系统的冲击响应和阶跃响应,1、单位冲击响应 形式:h=impz(b,a,k) 其中b、a分别为差分方程右端和左端的系数向量 ,k是输出序列的取值范围,h是系统的单位冲击响应。,2、单位阶跃响应 形式:h=stepz(b,a,k),9,例:求离散时间系统yk+3yk-1+2yk-2=fk 的单位冲击响应hk,并与理论值hk=-(-1)k+2(-2)-k,k0进行比较。,k=0:10; a=1 3 2;b=1; h=impz(b,a,k); subplot(2,1,1) stem(k,h);title(单位

4、冲击相应的近似值);grid on; hk=-(-1).k+2*(-2).k; subplot(2,1,2) stem(k,hk);title(单位冲击相应的理论值);grid on;,10,MATLAB提供了专门求冲激响应和阶跃响应并绘制其时域波形的内部函数:impulse和step impulse(b,a) 以默认方式绘出向量a和b所定义的连续系统的冲激响应的时域波形 impulse(b,a,t) 绘出0t时间范围内的冲激响应时域波形 impulse(b,a,t1:p:t2) 绘出t1t2时间范围内,且以p为时间间隔的冲激响应时域波形 y=impulse(b,a,t1:p:t2) 并不绘出

5、波形,仅求出冲激响应的数值解 函数step()将绘出由向量a和b表示的连续系统的阶跃响应,画在指定时间范围内的波形图,并能求出其数值解。,11,【例】已知描述某LTI连续系统的微分方程 绘出该系统冲激响应和阶跃响应的波形。 a=1 6 25; b=25; subplot(121); impulse(b,a) subplot(122); step(b,a),12,10.2 Z变换和傅立叶变换,Z变换物理意义: 将离散信号分解为不同频率复指数esTk的线性组合,正变换:F(z)=Zfk,反变换: fk =Z-1F(z),或,符号表示,matlab的符号运算工具箱提供了z变换函数ztrans与反变换

6、函数iztrans。,例: syms n f=n4; ZF=ztrans(f) 得到: ZF = z*(z3+11*z2+11*z+1)/(z-1)5,例: f=n/(n+1); IZ=iztrans(f) 得到: IZ =(-1)k,教材P137 例10-4 Matlab函数:residuez 计算留数 功能:将函数部分分式展开,计算留数、零点和极点。零极点坐标可为复数。该函数不仅在高等数学中计算留数可以使用,还可以用于信号处理方面的逆Z变换。 语法:r,p,k = residuez(b,a) b 长分式的分子按照未知数降幂排列的系数 a 长分式的分母按照未知数降幂排列的系数 r 留数 p

7、极点坐标 k 常数项 若用iztrans函数求解如下: syms z g=3*z/(z*z-z-2); IG=iztrans(g) 同样得到:IG = 2n-(-1)n,傅立叶变换物理意义: 任何一个信号都可以用两种方式来表达,一个定义在时域(或空域)上,一个定义在频域上,看起来的样子通常截然不同,但是殊途同归地描述着同一个信号。在数学上,这种翻译过程被称为“傅立叶变换”。,一个在时域或空域上看起来很复杂的信号通常在频域上的表达会很简单。如图是一张人脸和它对应的傅立叶变换,可以看出,所有的频域信号差不多都分布在中心周围,而大部分周边区域都是黑色的(即零)。,这是一个意味深长的事实,它说明一个在

8、空域中看起来占满全空间的信号,从频域中看起来很可能只不过占用了极小一块区域,而大部分频率是被浪费了的。这就导出了一个极为有用的结论:一个看起来信息量很大的信号,其实可以只用很少的数据来加以描述。只要对它先做傅里叶变换,然后只记录那些不接近零的频域信息就可以了,这样数据量就可以大大减少。 基本上,这正是今天大多数数据压缩方法的基础思想。,Matlab 符号运算中的傅立叶变换函数 (1) fourier 例: syms x f=sin(x)*exp(-x2); F1=fourier(f) F1 = -i*pi(1/2)*sinh(1/2*w)*exp(-1/4*w2-1/4) (2) ifouri

9、er 例: IF=ifourier(F1) IF = sin(x)*exp(-x2),用窗函数法设计FIR滤波器时,先根据wc和N求出相应的理想滤波器单位脉冲响应hd(n); 选择合适的窗函数w(n)来截取hd(n)的适当长度(即阶数),以保证实现要求的阻带衰减; 最后得到FIR滤波器单位脉冲响应: h(n)= hd(n)*w(n).,10.3 窗函数法设计FIR数字滤波器,Finite Impulse Response,窗函数法设计滤波器时阶数选择,【例】用窗函数法设计一个FIR带通滤波器,低端阻带截止频率:wls=0.2; 低端通带截止频率:wlp=0.35; 高端通带截止频率:whp=0

10、.65; 高端阻带截止频率:whs=0.8; 通带最大衰减:Rp=1dB; 阻带最小衰减:Rs=60dB.,步骤:,Wc=wlp/, whp/; 根据阻带衰减选blackman窗(最小阻带衰减为74dB); 其窗口长度由过度带宽B=0.15决定,blackman窗设计的滤波器过渡带宽为12/M,故M取80,因为M=N+1,所以N=79. 使用工具箱函数fir1的格式b=fir1(N,wc,window) 编程。,程序编写,clear close all wls=0.2*pi; wlp=0.35*pi; whp=0.65*pi; %技术指标 B=wlp-wls; %计算带宽 N=ceil(12/

11、0.15); %计算滤波器长度 wc=wlp/pi-6/N,whp/pi+6/N; %截止频率 hn=fir1(N-1,wc,blackman(N); %求滤波器系数 n=0:79; %窗口长度序列 subplot(2,1,1); stem(n,hn,.) %绘图 h,w=freqz(hn,1,256); %检验滤波器的频率响应 subplot(2,1,2); plot(w/pi,20*log10(abs(h); grid;,数字滤波器的FDATOOL设计方法,在Simulink下进行设计,MATLAB命令行键入simulink,进入Simulink界面; 选择Signal Processing Blockset模块下DSP sources中Sine Wave来产生信号; 选择Sum来叠加三个正弦信号; 选择DSP sinks下的Vector Scope进行示波; 选择Filtering下的DigitalFilter Design模块进行滤波器的导入。,滤波器的仿真,三个信号叠加:,滤波后的结果:,可见FDAtool设计的滤波器滤波的效果很好!,THE END!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号