MATLAB信号处理工具箱

上传人:jiups****uk12 文档编号:57049838 上传时间:2018-10-18 格式:PPT 页数:44 大小:1.06MB
返回 下载 相关 举报
MATLAB信号处理工具箱_第1页
第1页 / 共44页
MATLAB信号处理工具箱_第2页
第2页 / 共44页
MATLAB信号处理工具箱_第3页
第3页 / 共44页
MATLAB信号处理工具箱_第4页
第4页 / 共44页
MATLAB信号处理工具箱_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《MATLAB信号处理工具箱》由会员分享,可在线阅读,更多相关《MATLAB信号处理工具箱(44页珍藏版)》请在金锄头文库上搜索。

1、第7章 信号处理箱,7.1 信号及其表示 7.2 信号的基本运算 7.3 线性时不变系统 7.4 傅里叶(Fourier)变换 7.5 IIR数字滤波器的设计方法 7.6 FIR数字滤波器设计 7.7 信号处理的图形用户界面工具,7.1 信号及其表示,7.1.1工具箱中的信号产生函数,7.1.2离散时间信号的表示,在MATLAB中,离散时间信号x(n)的表示:需用一个向量x表示序列幅值,用另一个等长的定位时间变量n,才能完整地表示一个序列。,例7-10 绘制离散时间信号的棒状图。其中x(-1)=-1, x(0)=1, x(1)=2, x(2)=1, x(3)=0, x(4)=-1。MATLAB

2、源程序为: n=-3:5; %定位时间变量 x=0,0,-1,1,2,1,-1,0,0; stem(n,x); grid; % 绘制棒状图 line(-3,5,0,0); %画x轴线 xlabel(n); ylabel(xn) 运行结果如图7.10所示。,图 7.10 离散时间信号图形,7.1.3几种常用离散时间信号的表示,1单位脉冲序列,直接实现:x=zeros(1,N); x(1,n0)=1;,2单位阶跃序列,直接实现:n=ns:nf; x=(n-n0)=0;,3实指数序列,直接实现:n=ns:nf; x=a.n;,4复指数序列,直接实现:n=ns:nf; x=exp(sigema+jw)

3、*n);,5正(余)弦序列,直接实现:n=ns:nf; x=cos(w*n+sita);,7.2 信号的基本运算,7.2.1信号的相加与相乘 y(n)=x1(n)+x2(n) y(n)=x1(n)x2(n)MATLAB实现:y=x1+x2; y=x1.*x2,7.2.2序列移位与周期延拓运算,序列移位:y(n)=x(n-m)。MATLAB实现:y=x; ny=nx-m 序列周期延拓:y(n)=x(n)M,MATLAB实现:ny=nxs:nxf;y=x(mod(ny,M)+1),7.2.3 序列翻褶与序列累加运算,序列翻褶:y(n)=x(-n)。MATLAB可实现: y=fliplr(x),序列

4、累加的数学描述为:,MATLAB实现:y=cumsum(x),7.2.4 两序列的卷积运算,两序列卷积运算:,MATLAB实现:y=conv(x1,x2)。序列x1(n)和x2(n)必须长度有限。,7.2.5 两序列的相关运算,两序列相关运算:,。MATLAB实现:y=xcorr(x1,x2)。,7.2.6 信号的能量和功率,1.信号能量,数字定义:,MATLAB实现: E=sum(x.*conj(x); 或 E=sum(abs(x).2);,数字定义:,2. 信号功率,MATLAB实现: P=sum(x.*conj(x)/N; 或 E=sum(abs(x).2)/N;,7.3.1二次分式模型

5、,连续系统:,离散系统:,7.3 线性时不变系统,在MATLAB中,用sos、ss、tf、zp分别表示二次分式模型、状态空间模型、传递函数模型和零极点增益模型。其中sos表示二次分式,g为比例系数,sos为L6的矩阵,即,线性系统模型的变换函数,1. 求连续LTI系统的零输入响应函数initial( ) 格式:y,t,x=initial(a,b,c,d,x0) 功能:计算出连续时间LTI系统由于初始状态x0所引起的零输入响应y。其中x为状态记录,t为仿真所用的采样时间向量。,2. 求离散系统的零输入响应函数dinitial( ) 格式:y,x,n=dinitial(a,b,c,d,x0) 功能

6、:计算离散时间LTI系统由初始状态x0所引起的零输入响应y和状态响应响应x, 取样点数由函数自动选取。n为仿真所用的点数。,7.3.2 线性时不变系统的响应,例7.16 二阶系统,当初始状态,时,求系统的零输入响应。,MATLAB程序如下: a=-0.55, -0.78;0.78, 0;b=1;0; c=5.96 6.45;d=0; x0=1;0;t0=0:0.1:20; initial(a, b, c, d, x0, t0); title(LTI系统的零输入响应曲线),运行结果如图7.15所示。,3滤波函数filter,MATLAB信号处理工具箱中提供了滤波函数filter。 格式:y=fi

7、lter(B, A, x) 功能:对向量x中的数据进行滤波处理,例7.18 设系统差分方程为,求该系统对信号,的响应。,MATLAB程序如下: B=1; A=1, -0.8; n=0:31; x=0.8.n; y=filter(B, A, x); subplot(2, 1, 1);stem(x) subplot(2, 1, 2);stem(y),程序运行结果如图7.17所示。,时间离散、连续频率序列傅里叶变换,离散时间、离散频率离散傅里叶级数,离散时间、离散频率离散傅里叶变换(DFT),正变换:,逆变换:,正变换:,逆变换:,正变换:,逆变换:,7.4 傅里叶变换,1一维快速正傅里叶变换函数f

8、ft 格式:X=fft(x, N) 功能:采用FFT算法计算序列向量x的N点DFT变换, 当N缺省时,fft函数自动按x的长度计算DFT。当N为2整数次幂时,fft按基-2算法计算,否则用混合算法。2一维快速逆傅里叶变换函数ifft 格式:x=ifft(X, N) 功能:采用FFT算法计算序列向量X的N点IDFT变换。,例7-19 用快速傅里叶变换FFT计算下面两个序列的卷积。,并测试直接卷积和快速卷积的时间。,图7.18 快速卷积框图,MATLAB程序(部分): %线性卷积 xn= sin(0.4*1:15); %对序列x(n)赋值, M=15 hn= 0.9.(1:20); %对序列h(n

9、)赋值, N=20 yn=conv(xn,hn); % 直接调用函数conv计算卷积%园周卷积 L=pow2(nextpow2(M+N-1); Xk=fft(xn,L); Hk=fft(hn,L); Yk=Xk.*Hk; yn=ifft(Yk,L);,图7.19 x(n),h(n)及其线性卷积波形,7.5 IIR数字滤波器的设计方法,1. 数字滤波器的频率响应函数,幅度响应:,相位响应:,理想低通、高通、带通、带阻数字滤波器幅度特性,2. 滤波器的技术指标幅度响应指标、相位响应指标,数字低通滤波器的幅度特性,通带要求:,阻带要求:,通带最大衰减:,阻带最小衰减:,7.5.1冲激响应不变法,2.

10、MATLAB信号处理工箱中的专用函数impinvar( ): 格式:BZ,AZ =impinvar(B,A,Fs) 功能:把具有B,A模拟滤波器传递函数模型转换成采样频率为Fs(Hz)的数字滤波器的 传递函数模型BZ,AZ。采样频率Fs的默认值为Fs=1。,1. 冲激响应不变法设计IIR数字滤波器的基本原理:,例7.20 利用函数impinvar将一个低通模拟滤波器转变成数字滤波器,采样频率为10 Hz。,MATLAB程序如下: b, a = butter(4, 0.3, s); bz, az = impinvar(b, a, 10) ; sys = tf(b, a); impulse(sys

11、); 绘制模拟滤波器的冲激响应 hold on impz(10*bz, az, , 10); 绘制数字滤波器的冲激响应 axis(0 20 -0.04 0.12),程序运行结果如图7.20所示。,MATLAB信号处理工具箱中的专用双线性变换函数bilinear( ) 格式:numd,dendbilinear(num,den,Fs) 功能:把模拟滤波器的传递函数模型转换成数字滤波器的传递函数模型。,7.5.2双线性变换法,双线性变换利用频率变换关系:,例7.21 一个三阶模拟Butterworth低通滤波器的传递函数为,试用双线性变换法求出数字 Butterworth低通滤波器的传递函数。,MA

12、TLAB程序如下:num=1; 模拟滤波器系统函数的分子den=1, sqrt(3), sqrt(2), 1; 模拟滤波器系统函数的分母num1, den1=bilinear(num, den, 1) 求数字滤波器的传递函数 程序运行结果为num1 = 0.0533 0.1599 0.1599 0.0533den1 = 1.0000 -1.3382 0.9193 -0.1546,7.5.3 IIR数字滤波器的频率变换设计法,图7.21 IIR数字滤波器MATLAB设计步骤流程图,1MATLAB的典型设计,利用在MATLAB设计IIR数字滤波器可分以下几步来实现 (1)按一定规则将数字滤波器的技

13、术指标转换为模拟低通滤波器的技术指标; (2)根据转换后的技术指标使用滤波器阶数函数,确定滤波器的最小阶数N和截止频率Wc; (3)利用最小阶数N产生模拟低通滤波原型; (4)利用截止频率Wc把模拟低通滤波器原型转换成模拟低通、高通、带通或带阻滤波器; (5)利用冲激响应不变法或双线性不变法把模拟滤波器转换成数字滤波器。,例7.24 设计一个在通带内的最大衰减为3 dB,在阻带内的最小衰减为40 dB的4阶低通模拟椭圆滤波器原型。 MATLAB程序如下: n=4; rp=3; rs=40; z, p, k=ellipap(n, rp, rs); b, a=zp2tf(z, p, k); w=l

14、ogspace(-1, 1); freqs(b, a),运行结果如图7.24所示。,2MATLAB的直接设计,图7.25 IIR数字滤波器MATLAB设计步骤流程图,例7-25 试设计一个带阻IIR数字滤波器,其具体的要求是:通带的截止频率:wp1650Hz、wp2850Hz;阻带的截止频率:ws1700Hz、ws2800Hz;通带内的最大衰减为rp0.1dB;阻带内的最小衰减为rs50dB;采样频率为Fs2000Hz。MATLAB源程序设计如下:wp1=650;wp2=850;ws1=700;ws2=800;rp=0.1;rs=50;Fs=2000;wp=wp1,wp2/(Fs/2);ws=

15、ws1,ws2/(Fs/2); %利用Nyquist频率频率归一化N,wc=ellipord(wp,ws,rp,rs,z); %求滤波器阶数num,den=ellip(N,rp,rs,wc,stop); %求滤波器传递函数H,W=freqz(num,den); %绘出频率响应曲线plot(W*Fs/(2*pi),abs(H);grid;xlabel(频率/Hz);ylabel(幅值) 该程序运行后的幅频响应曲线如图7.26所示。,图7.26 椭圆带阻滤波器的幅频响应,7.6 FIR数字滤波器设计,格式:w = boxcar(M) 功能:返回M点矩形窗序列。 MATLAB信号处理工具箱中的窗函数法设计FIR数字滤波器的专用命令fir1( )。 格式:Bfir1(N,wc) 功能:设计一个具有线性相位的N阶(N点)的低通FIR数字滤波器,返回的向量B 为滤波器的系数(单位冲激响应序列),其长度为N+1。,7.6.1窗函数设计法 窗函数设计的基本原理:h(n)=w(n)hd(n)w(n)为窗函数, hd(n)理想数字滤波器的单位冲激响应。在MATLAB信号处理工具箱中为用户提供了Boxcar (矩形)、Bartlet(巴特利特)、Hanning(汉宁)等窗函数,这些窗函数的调用格式相同。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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