《MATLAB课程第八章》由会员分享,可在线阅读,更多相关《MATLAB课程第八章(38页珍藏版)》请在金锄头文库上搜索。
1、第八章第八章 信号处理系统分析与设计信号处理系统分析与设计8.1 离散信号系统离散信号系统8.1.1 基本信号表示基本信号表示 1 、单位冲激序列、单位冲激序列: 应用应用扩展函数扩展函数 impseq.m 产生单位冲激序列产生单位冲激序列例例: : 产生序列产生序列x(n)并绘制离散图并绘制离散图. X(n)=2(n+2)+3(n-4) -5n58.1.1 8.1.1 基本信号表示基本信号表示2单位阶跃序列单位阶跃序列3 采用采用扩展函数扩展函数 stepseq.m可生成单位阶跃序列可生成单位阶跃序列例例: 产生序列产生序列x(n)并绘制离散图并绘制离散图 0n20 x(n)=u(n-4)-
2、3u(n-20) 3 实指数序列实指数序列 x(n)=an n=0:N-1; x=a.n;8.1.1 8.1.1 基本信号表示基本信号表示4 复指数序列复指数序列 x(n)=e(+jwo)n 5 正余弦序列正余弦序列 x(n)=cos(0*n+) 6 随机序列随机序列 由由函数函数 rand(1,N) 和和 randn(1,N) 生成生成例:例:产生序列产生序列x(n), 并绘制其离散数据图。并绘制其离散数据图。 X(n)=cos(0.4 n)+0.2w(n) 0n507 周期序列周期序列 x(n)=x(n+N) 例:例:产生序列产生序列 =x1 x1 x1 x1并绘制出离散图并绘制出离散图
3、.x1=1 2 38.1.2 序列操作序列操作1信号加信号加 应用应用扩展函数扩展函数 sigadd.m 实现信号加实现信号加 2信号乘信号乘 应用应用扩展函数扩展函数 sigmult.m 实现实现3改变比例改变比例 y=a*xy=a*x4移位移位 采用采用扩展函数扩展函数 sigshift.m 实现实现55 折叠折叠 采用采用扩展函数扩展函数 sigfold.m 实现实现8.1.2 序列操作序列操作6取样和取样和 7 采用采用命令命令 y=sum(x(n1:n2) 实现实现87取样积取样积9 采用采用命令命令 y=prod(x(n1:n2) 实现实现8信号能量信号能量9 Ex=sum(x.*
4、conj(x) Ex=sum(abs(x).2)9信号功率信号功率10 Px=sum(abs(x).2)/N1110 奇偶综合奇偶综合12 扩展函数扩展函数 evenodd.m可将任一给定的序列分可将任一给定的序列分解成偶对称部分解成偶对称部分xe(n)和奇对部分和奇对部分xo(n)8.1.2 序列操作序列操作 例:例:已知序列已知序列x(n)=u(n)-u(n-10),要求将它分解成要求将它分解成奇偶序列奇偶序列8.1.3 卷积卷积 求卷积可直接采用求卷积可直接采用MATLAB中的函数中的函数 conv,其其调用格调用格式是:式是:y=conv(x,h) 扩展函数扩展函数 con_m 可求出
5、带下标的序列卷积可求出带下标的序列卷积例例1:设线性时不变设线性时不变(LTI)系统的冲激响应为:系统的冲激响应为:h(n)=(0.9)nu(n),输入序列为输入序列为x(n)=u(n)-u(n-10),求系求系统的输出序列统的输出序列y(n)。(。(绘制出绘制出x、h及及y的离散数据图)的离散数据图) 例例2:设离散系统可由下列差分方程表示:设离散系统可由下列差分方程表示: y(n)-y(n-1)+0.9y(n-2)=x(n) (1)计算计算n=-20,100上的单位冲激响应;上的单位冲激响应; (2)计算计算n=-20,100上的单位阶跃响应。上的单位阶跃响应。8.2 序列的傅里叶变换序列
6、的傅里叶变换例例1:设:设x(n)=2n,-5n5,求相应的求相应的X(ej) 若序列若序列x(n)x(n)绝对可和,则绝对可和,则x(n)x(n)的傅里叶变换为:的傅里叶变换为: 解:根据定义解:根据定义记记矢量矢量x=x(0) x(1)x(n)x=x(0) x(1)x(n),取取 即将即将0, 0, 均匀分成均匀分成M+1M+1点,记矩阵点,记矩阵 矢量矢量 ,则上式可写成,则上式可写成X=X=WxWx,若记矢量若记矢量 n=n=-5,-4,5,k=0,1,2,M-5,-4,5,k=0,1,2,M,则有则有 8.2 序列的傅里叶变换序列的傅里叶变换 例例2 2:实序列实序列 求出求出 X(
7、ej)的实部和虚部,同时求出奇偶部分相应的的实部和虚部,同时求出奇偶部分相应的Xe(ej)和和Xo(ej). 即验证:即验证:xe(n)=ReX(ej) xo(n)=jImX(ej)8.3 Z变换变换8.3.1 Z变换变换例:例:设设x1(z)=z+2+3z-1,x2(z)=2z2+4z+3+5z-1,求求 X(Z)=X1(Z)X2(Z) 解:由解:由Z Z变换定义得:变换定义得: x x1 1(n)=1,2,3 n=-1,0,1(n)=1,2,3 n=-1,0,1 x x2 2(n)=2,4,3,5 n=-2,-1,0,1(n)=2,4,3,5 n=-2,-1,0,1 X(Z)=2zX(Z)
8、=2z3 3+8z+8z2 2+17z+23+19z+17z+23+19z-1-1+15z+15z2 28.3.2 8.3.2 逆逆Z Z变换变换在在MATLAB中采用中采用函数函数residuez 计算逆计算逆Z变换变换例:例:计算计算的逆的逆Z 变换变换.相应的逆相应的逆Z变换为:变换为:8.4 8.4 离散傅里叶变换离散傅里叶变换8.4.1 8.4.1 离散傅里叶级数离散傅里叶级数 扩展函数扩展函数dfs.m 可求解离散傅里叶级数可求解离散傅里叶级数例:例:周期方波序列:周期方波序列:要求:要求:绘制当绘制当L=7、N=60 时时, 的幅度的幅度.1 1 mNmNnnmNmN+L-1+L
9、-10 0 mNmN+Ln(m+1)N-1+Ln(m+1)N-1m=0, 1,8.4.2 离散傅里叶变换离散傅里叶变换离散傅里叶变换采用离散傅里叶变换采用扩展函数扩展函数dft和和idft实现实现. 例例: :设序列设序列x(n)=cos(0.48 n)+ sin(0.25 n) 0n10 求:求:序列序列x(n)的离散傅里叶变换的离散傅里叶变换 DFT-X(k)8.4.3 DFT 特性特性(一一) 实序列对称性实序列对称性例例: :设设x(n)=10(0.8)n,0n10(1) 把把x(n)分解成分解成xec(n)和和xoc(n).(2) 检验实序列的对称性检验实序列的对称性: DFTxec
10、(n) = ReX(k) DFTxoc(n) =jImX(k)8.4.3 DFT 特性特性(二二) 序列的循环移位序列的循环移位序列的循环移位采用扩展函数序列的循环移位采用扩展函数: cirshftt来实现来实现例例:设设x(n)=10(0.8)n, 0n10 求求:y(n)=x(n-6)15. (三三) 循环卷积循环卷积循环卷积采用扩展函数循环卷积采用扩展函数circonvt 实现实现.例例: :设设x x1 1(n)=1,2,4,x(n)=1,2,4,x2 2(n)=1,2,5,4,(n)=1,2,5,4,试分别计算试分别计算: :(1) (1) y y1 1(n)=x(n)=x1 1(n
11、)x(n)x2 2(n)(n)(2) y(2) y2 2(n)=x(n)=x1 1(n)x(n)x2 2(n)(n)8.4.4 快速傅里叶变换快速傅里叶变换(FFT)例例: : 模拟信号模拟信号x(t)=5sin(4 t)+3cos(2 t),以以t=0.01n (n=0:N-1) 进行抽样,求进行抽样,求x(t)的的N点的幅度谱。点的幅度谱。 (N=50 、 60)8.5 数字滤波器的结构数字滤波器的结构8.5.1 IIR滤波器结构滤波器结构 实现实现IIR滤波器可采用三种结构:滤波器可采用三种结构:直接形式、级联形式直接形式、级联形式和并联形式。和并联形式。1、直接形式:、直接形式: 利用
12、信号处理工具箱中的函数利用信号处理工具箱中的函数filter实现实现IIR滤波器的直接滤波器的直接形式。形式。8.5.1 8.5.1 IIRIIR滤波器结构滤波器结构2、级联形式:、级联形式: 当给定直接形式滤波器的系数当给定直接形式滤波器的系数 b bn n 和和 a an n ,可由扩展函数可由扩展函数dir2casdir2cas计算出计算出b0b0、 B Bk k,i,i 和和 A Ak k,i,i ,然后利用扩展函数然后利用扩展函数casfiltrcasfiltr实现滤波器的级联形式。另外,在给定级联形式时,可利用扩实现滤波器的级联形式。另外,在给定级联形式时,可利用扩展函数展函数ca
13、s2dircas2dir得到相应的直接形式滤波器。得到相应的直接形式滤波器。3 3、并联形式:、并联形式: 扩展函数扩展函数dir2par可将滤波器直接形式转化为并联形式,可将滤波器直接形式转化为并联形式,然后利用扩展函数然后利用扩展函数parfiltr实现滤波器的并联形式,另外,扩实现滤波器的并联形式,另外,扩展函数展函数par2dir可将并联形式转换成直接形式。可将并联形式转换成直接形式。8.5.1 IIR滤波器结构滤波器结构例:例:有一滤波器:有一滤波器: 16 16y(n)+12y(n-1)+2y(n-2)-4y(n-3)-y(n-4)y(n)+12y(n-1)+2y(n-2)-4y(
14、n-3)-y(n-4) =x(n)-3x(n-1)+11x(n-2)-27x(n-3)+18x(n-4) =x(n)-3x(n-1)+11x(n-2)-27x(n-3)+18x(n-4)要求:要求:将将直接形式转换成级联形式,再求出这两种形式表将将直接形式转换成级联形式,再求出这两种形式表示时的单位冲激响应。示时的单位冲激响应。8.5.2 8.5.2 FIRFIR滤波器结构滤波器结构 实现实现FIR滤波器可采用四种结构:滤波器可采用四种结构:直接形式、级联形式、直接形式、级联形式、线性相位形式和频率取样形式。线性相位形式和频率取样形式。1、直接形式:、直接形式: 函数函数filter可实现可实
15、现FIR滤波器的直接形式。滤波器的直接形式。 扩展函数扩展函数dir2cas和和cas2dir可在直接形式和级联形式之间可在直接形式和级联形式之间转换,级联形式的滤波器可用扩展函数转换,级联形式的滤波器可用扩展函数casfiltr实现。实现。 2、级联形式:、级联形式:8.5.2 8.5.2 FIRFIR滤波器结构滤波器结构3、线性相位形式:、线性相位形式: 采用函数采用函数filter实现。实现。4、频率取样形式:、频率取样形式: 给定给定h(n)或或H(k),可用扩展函数可用扩展函数dir2fs得到滤波器的频得到滤波器的频率取样形式,它将率取样形式,它将h(n)值转换成频率取样形式。值转换
16、成频率取样形式。8.5.2 8.5.2 FIRFIR滤波器结构滤波器结构例例1:FIR滤波器传递函数为滤波器传递函数为: 确定滤波器的直接、线性相位和级联形式结构。确定滤波器的直接、线性相位和级联形式结构。 解解:(1)直接形式:直接形式: 差分方程:差分方程: y(n)=x(n)+16.0625x(n-4)+x(n-8) (2)线性相位形式:线性相位形式: 差分方程改写为:差分方程改写为:y(n)=x(n)+x(n-8)+16.0625x(n-4) (3)级联形式:级联形式: 级联形式的系数矩阵可由级联形式的系数矩阵可由MATLAB程序计算:程序计算:例例2:令令h(n)=1,2,3,2,1
17、/9,确定滤波器的频率取样形式。确定滤波器的频率取样形式。8.6 FIR 滤波器设计滤波器设计 8.6.1 线性相位线性相位FIR滤波器特性滤波器特性 扩展函数扩展函数hr_type1hr_type1、hr_type2hr_type2、hr_type3hr_type3、hr_type4hr_type4,可以在给定可以在给定h h下计算下计算Hr(Hr(振幅振幅) )例例1:1:若若h(n)=-4,1,-1,-2,5,6,5,-2,-1,1,-4,确定滤波器的振幅响应确定滤波器的振幅响应Hr() 解:解:由于由于M=11,h(n)=h(M-1-n),M=11,h(n)=h(M-1-n),因此是线
18、性相位滤波器类因此是线性相位滤波器类型型1 18.6.1 线性相位滤波器特性线性相位滤波器特性例例2 2:若若h(n)=-4,1,-1,-2,5,6,6,5,-2,-1,1,-4, 确定滤波器的振幅响应确定滤波器的振幅响应Hr()例例3 3:若若h(n)=-4,1,-1,-2,5,0,-5,2,1,-1,4h(n)=-4,1,-1,-2,5,0,-5,2,1,-1,4, 确定滤波器的振幅响应确定滤波器的振幅响应Hr(Hr() )例例4 4:若若h(n)=-4,1,-1,-2,5,6,-6,-5,2,1,-1,4 确定滤波器的振幅响应确定滤波器的振幅响应Hr()8.6.2 利用窗函数设计利用窗函
19、数设计FIR滤波器滤波器 利用各种窗函数可设计出符合要求的利用各种窗函数可设计出符合要求的FIR滤波器。滤波器。 另外,在利用窗函数设计另外,在利用窗函数设计FIRFIR滤波器时,还需要产生理想低滤波器时,还需要产生理想低通滤波器的冲激响应通滤波器的冲激响应hdhd(n)(n),这可通过这可通过扩展函数扩展函数ideal_ideal_lplp.m.m来来完成。完成。例例1 1:利用利用HammingHamming窗设计具有指标:窗设计具有指标: p=0.2 p=0.2 Rp Rp=0.25dB=0.25dB s=0.3 s=0.3 As=50dB As=50dB 的低通数字滤波器。确定冲激响应
20、,并画出滤波器的幅值的低通数字滤波器。确定冲激响应,并画出滤波器的幅值响应。响应。 8.6.2 8.6.2 利用窗函数设计利用窗函数设计FIRFIR滤波器滤波器例例2 2:利用利用BlackmanBlackman窗设计数字带通滤波器,滤波器的指标为:窗设计数字带通滤波器,滤波器的指标为: 低阻带:低阻带: 1s=0.2, As=60dB1s=0.2, As=60dB 低通带:低通带: 1p=0.35, 1p=0.35, RpRp=1dB=1dB 高通带:高通带: 2p=0.65, 2p=0.65, RpRp=1dB=1dB 高阻带:高阻带: 2s=0.8, As=60dB2s=0.8, As=
21、60dB例例3 3:设理想带阻滤波器频率响应为:设理想带阻滤波器频率响应为:H He e( (e ej j)= 利用利用KaiserKaiser窗设计长度为窗设计长度为4545的带阻滤波器,使阻带衰减为的带阻滤波器,使阻带衰减为6060dBdB8.6.2 8.6.2 利用窗函数设计利用窗函数设计FIRFIR滤波器滤波器 1 0 /30 /3 2/31 2/3 8.7 IIR滤波器设计滤波器设计8.7.1 8.7.1 模拟滤波器原型设计模拟滤波器原型设计1、Butterworth 低通滤波器低通滤波器 利用信号处理工具箱中利用信号处理工具箱中函数函数buttap,设计归一化设计归一化(c=1)的
22、的N阶模拟低通滤波器原型。当阶模拟低通滤波器原型。当c1时,利用时,利用扩展函数扩展函数u_buttap(非归一化非归一化Butterworth模拟低通滤波器原形设计模拟低通滤波器原形设计)进行设计。进行设计。 在设计过程中,一般给出在设计过程中,一般给出wp ws Rp和和As,可利用可利用扩展函扩展函数数afd_butt得到满足指定指标的低通得到满足指定指标的低通Butterworth滤波器传滤波器传递函数的系数递函数的系数a和和b。8.7.1 8.7.1 模拟滤波器原型设模拟滤波器原型设计计2 2、ChebyshevChebyshev低通滤波器低通滤波器( (一一) )Chebyshev
23、Chebyshev型低通滤波器型低通滤波器 信号处理工具箱中的信号处理工具箱中的Cheb1apCheb1ap函数函数可设计归一化可设计归一化( (c=1)c=1)的的ChebyshevChebyshev型型模拟低通原型滤波器,当模拟低通原型滤波器,当c1c1时,可利用时,可利用扩扩展函数展函数u_chb1ap.mu_chb1ap.m来进行设计。来进行设计。 在具体设计时,一般给出在具体设计时,一般给出wp ws Rp和和As,可利用可利用扩展函扩展函数数afd_chb1.m进行设计。进行设计。8.7.1 8.7.1 模拟滤波器原型设计模拟滤波器原型设计( (二二) )ChebyshevCheb
24、yshev型低通滤波器型低通滤波器 利用利用函数函数cheb2ap进行归一化的进行归一化的Chebyshev型模拟滤型模拟滤波器的设计波器的设计,对非归一化的滤波器采用对非归一化的滤波器采用扩展函数扩展函数u_chb2ap进进行设计。行设计。 在具体设计时,一般给出在具体设计时,一般给出wp ws Rp和和As,可利用可利用扩展函扩展函数数afd_chb2.m进行设计。进行设计。8.7.1 8.7.1 模拟滤波器原型设模拟滤波器原型设计计3、椭圆低通滤波器、椭圆低通滤波器 利用函数利用函数ellipap进行归一化的椭圆原型模拟滤波器的设计进行归一化的椭圆原型模拟滤波器的设计,对非归一化的滤波器
25、采用扩展函数对非归一化的滤波器采用扩展函数u_elipap进行设计。进行设计。 在具体设计时,一般给出在具体设计时,一般给出wp、ws、Rp和和As,可利用扩可利用扩展函数展函数afd_elip.m进行设计。进行设计。8.7.1 8.7.1 模拟滤波器原型设计模拟滤波器原型设计例例1 1:设计模拟原型设计模拟原型 ButterworthButterworth低通滤波器:低通滤波器: p=0.2 p=0.2 Rp Rp=7dB=7dB s=0.3 s=0.3 As=16dB As=16dB 例例2:设计设计Chebyshev型模拟型模拟原型原型低通滤波器:低通滤波器: p=0.2 p=0.2 R
26、p Rp=1dB=1dB s=0.3 s=0.3 As=16dB As=16dB 8.7.2 8.7.2 模拟到数字滤波器变换模拟到数字滤波器变换1、冲激不变法:、冲激不变法:函数函数impinvarimpinvar:冲冲激响应不变法实现模拟到数字的滤波器变换。激响应不变法实现模拟到数字的滤波器变换。 bzbz, ,azaz=impinvarimpinvar(b,a,Fs)(b,a,Fs) bzbz, ,azaz=impinvarimpinvar(b,a)(b,a)扩展函数扩展函数imp_imp_invrinvr:冲激响应不变法模拟到数字滤波器变换冲激响应不变法模拟到数字滤波器变换 b,a=i
27、mp_b,a=imp_invrinvr(c,d,T)(c,d,T)2 2、双线性变换、双线性变换: : MATLABMATLAB中用函数中用函数bilinearbilinear实现双线性变换实现双线性变换8.7.2 8.7.2 模拟到数字滤波器变模拟到数字滤波器变换换例例1 1:利用利用ButterworthButterworth原型设计低通滤波器,使满足:原型设计低通滤波器,使满足: wpwp=0.2=0.2 Rp Rp=1dB=1dB wsws=0.3=0.3 As=15dB As=15dB (利用冲激不变法实现)利用冲激不变法实现) 例例2:利用利用Chebyshev型滤波器原型设计低通
28、滤波器,型滤波器原型设计低通滤波器,使之满足:使之满足: wpwp=0.2=0.2 Rp Rp=1dB=1dB ws ws=0.3=0.3 As=15dB As=15dB (利用冲激不变法实现)利用冲激不变法实现)8.7.2 8.7.2 模拟到数字滤波器变换模拟到数字滤波器变换例例3:利用双线性变换法设计数字利用双线性变换法设计数字Butterworth滤波器,使滤波器,使之满足:之满足: wp=0.2 Rp=1dB ws=0.3 As=15dB例例4:利用利用Chebyshev型滤波器原型设计低通滤波器,使之型滤波器原型设计低通滤波器,使之满足:满足: wp=0.2 Rp=1dB ws=0.
29、3 As=15dB ( 利用双线性变换法)利用双线性变换法) 8.7.3 低通滤波器设计低通滤波器设计 低通滤波器的设计可直接采用信号处理工具箱提供的低通滤波器的设计可直接采用信号处理工具箱提供的M函数函数butter、cheby1、cheby2及及ellip。它们要求提供滤它们要求提供滤波器阶数波器阶数N及截止频率及截止频率Wn等参数,确定等参数,确定N和和Wn可用函数可用函数buttord、cheb1ord、cheb2ord和和ellipord。例例1:设计数字设计数字Butterworth低通滤波器:低通滤波器: WpWp=0.2 =0.2 RpRp=1dB=1dB Ws=0.3 As=
30、15dB Ws=0.3 As=15dB 例例2 2:设计数字设计数字ChebyshevChebyshev型低通滤波器:型低通滤波器: WpWp=0.2 =0.2 RpRp=1dB=1dB Ws=0.3 As=15dB Ws=0.3 As=15dB8.7.4 8.7.4 频带变换频带变换例:例:先设计先设计ChebyshevChebyshev型低通滤波器:型低通滤波器: wpwp=0.2 =0.2 Rp Rp=1dB=1dB wsws=0.3 As=15dB=0.3 As=15dB 然后设计高通滤波器,使波纹系数同上,截止频率为然后设计高通滤波器,使波纹系数同上,截止频率为 wpwp=0.6=0.68.8 8.8 小结小结离散信号与系统离散信号与系统序列的傅里叶变换序列的傅里叶变换Z Z变换变换离散傅里叶变换离散傅里叶变换数字滤波器的结构数字滤波器的结构FIRFIR滤波器设计滤波器设计IIRIIR滤波器设计滤波器设计