Matlab与信号处理(信号处理)课件.ppt

上传人(卖家):三亚风情 文档编号:2866781 上传时间:2022-06-06 格式:PPT 页数:80 大小:748.50KB
下载 相关 举报
Matlab与信号处理(信号处理)课件.ppt_第1页
第1页 / 共80页
Matlab与信号处理(信号处理)课件.ppt_第2页
第2页 / 共80页
Matlab与信号处理(信号处理)课件.ppt_第3页
第3页 / 共80页
Matlab与信号处理(信号处理)课件.ppt_第4页
第4页 / 共80页
Matlab与信号处理(信号处理)课件.ppt_第5页
第5页 / 共80页
点击查看更多>>
资源描述

1、1MATLAB与信号处理数字信号处理. . .24、基于MATLAB的数字信号处理4.1 4.1 信号产生信号产生4.2 4.2 离散系统的离散系统的MATLABMATLAB实现实现4.3 4.3 变换的变换的MATLABMATLAB实现实现4.4 4.4 数字滤波器设计数字滤波器设计4.5 4.5 功率谱估计功率谱估计. . .34.1 信号产生l信号的表示信号的表示x(n)=x(n)=,x(-2),x(-1),x(0),x(1),x(2) Matlab中,信号都是用矩阵(向量)描述例如:x=4 3 7 9 1l典型离散信号表示典型离散信号表示单位抽样序列 x=zeros(1,N); x(1

2、)=1; (n) x(k)=1; (n-k)单位阶跃序列: x=ones(1,N);. . .4波形的产生波形的产生首先产生时间:如t=0:0.01:2*pi;产生信号:如 y=sin(2*t+pi/4);square sawtooth sinc 噪声的产生噪声的产生rand , randn01234567-1-0.500.51. . .5 周期波形产生函数名功能Sawtooth(t,width)产生锯齿波或三角波. Width确定最大值位置Square(t,duty)产生方波。Duty指定正半周期的比例Sinc(t)产生sinc或sin(pi*t)/(pi*t)Diric(t,n)产生Dir

3、ichlet函数. . .051015202530-1-0.8-0.6-0.4-0.200.20.40.60.81051015202530-2-1.5-1-0.500.511.52-10-50510-0.4-0.200.20.40.60.81-10-50510-0.4-0.200.20.40.60.81sawtooth(t,0.7)square(t)sinc(t)diric(t,5). . .7l信号的常规操作信号加x=x1+x2信号必须等长对齐信号乘x=x1.*x2信号必须等长对齐改变比例x=a*x1移位x=x1(n-k). . .8折叠y=x(-n)取样和y=sum(x(n1:n2)21(

4、 )nnyx n取样积y=prod(x(n1:n2)21( )nnyx n 卷积y=conv(x,h)y,ny=conv_m(x,nx,h,nh)相关r= xcorr(x,y). . .9l产生数据产生数据直接键盘输入直接键盘输入利用函数产生,如利用函数产生,如sin,cos,sawtooh等等用用Matlab从从.Mat文件导入文件导入通过文件读写产生数据,如通过文件读写产生数据,如fopen,fread等等用一个用一个.M文件专门产生数据文件专门产生数据. . .104.2 离散系统的MATLAB实现离散系统的表示方法:离散系统的表示方法: LSI系统的时域表示系统的时域表示 常系数线性差

5、分方程 单位抽样响应h(n) LSI系统的频域表示系统的频域表示 频率响应 (DFT) 转移函数 (z变换) 零极点增益 二次分式 离散系统的内部描述离散系统的内部描述 . . .11l离散系统的输入输出的差分方程:离散系统的输入输出的差分方程:l单位抽样响应单位抽样响应 ?) 1(1 . 0)(2 . 0)2(5 . 0) 1(4 . 0)(nxnxnynyny)(nhfilter函数y=filter(b,a,x)impz函数y=impz(b,a)00()()NMkrkra y nkb x nr. . .12. . .13l频率响应 ? h,f=freqz(b,a,n,fs)jweHNkjw

6、kMrjwrjwekaerbeH. . .14. . .15l 零极点增益?. . .16l离散系统的表示方法转换函数 tf2zp sos2tf tf2ss sos2zp zp2tf sos2ss zp2sos ss2tf zp2ss ss2zp ss2sos. . .17 4.3 变换的MATLAB实现1、DFT10110(2 /)( )( ).01( )( ).01 NknNnNknNNkjNNX kx n WkNx nX k WnNWe其中. . .18计算 DFT并画图 12N),()(6nnx. . .19. . .20. . .212、FFT 可利用内部函数fft进行计算,速度快。

7、 y=fft(x,n) x的n点fft x=ifft(y,n). . .223、z变换R,P,K=residuez(b,a);()()nnXzxnz cnjdzzzXnx121)()(. . .234、DCTly=dct(x,n)lx=idct(y,n)NknNnNcNnNcnxkXnxX10)(. . .24rp=84.3566. . .255、Hilbert变换l 解析信号 l DFT方法求解l 函数y=Hilbert(x)()()(nxjnxnz. . .26(1) 数字滤波器的基本概念数字滤波器的基本概念(2)基于)基于MATLAB的的IIR滤波器设计滤波器设计(3) 基于基于MATL

8、AB的的FIR滤波器设计滤波器设计4.4 基于基于MATLAB的数字滤波器设计的数字滤波器设计. . .27(1) 数字滤波器的基本概念数字滤波器的基本概念l数字滤波器数字滤波器 对数字信号进行滤波的线性时不变系统。l数字滤波器的分类数字滤波器的分类 IIR数字滤波器:设计经典选频滤波器,性能好, 阶数低。 FIR数字滤波器:设计线性相位经典滤波器,适用范围广、 阶数高。 . . .28l数字滤波器的设计步骤数字滤波器的设计步骤1) 按照实际任务的要求,确定滤波器的技术指标。2)用一个因果、稳定的离散线性时不变系统的系统函数 去逼近这一网络性能。根据不同的要求可选择IIR或者 FIR系统函数去

9、逼近。3)利用有限精度算法实现系统函数。. . .29lIIR数字滤波器一般有两种设计方法: 1)模拟原型法 先设计一个合适的模拟滤波器,然后再变 换为满足要求的数字滤波器 。 2)直接法 直接在离散时域和离散频域进行数字滤波 器的设计 . . .30lFIR一般有三种设计方法: 窗函数法 频率取样法 切比雪夫逼近法 . . .31(2) 基于基于MATLAB的的IIR滤波器设计滤波器设计lButterworth数字滤波器设计数字滤波器设计l椭圆数字滤波器设计椭圆数字滤波器设计lChebyshev-I数字滤波器设计数字滤波器设计lChebyshev-II数字滤波器设计数字滤波器设计. . .3

10、2lButterworth数字滤波器设计数字滤波器设计 MATLAB语句: b,a=butter(n,wn) (1) b,a=butter(n,wn,ftype) (2) z,p,k=butter() (3) a,b,c,d=butter() (4) 语句(1) (4) 都可以设计一个阶数为n,截止频率为wn的数字低通滤波器。对于语句(2) ,若参数ftype取hi-gh或stop,则可以来设计相应的高通或带阻滤波器。 返回值a和b为系统函数的分子和分母的系数。. . .33系统函数为: 返回值z,p,k分别是滤波器的零点、极点和增益。返回值A、B、C、D构造滤波器的状态方程。状态方程为: 其

11、中u是输入信号,x是状态变量,y是输出信号。nnznazaznbzbbzAzBzH) 1(.)2(1) 1(.)2() 1 ()()()(11)()()()()() 1(nDunCxnynBunAxnx. . .34例例 : 设计一个阶数为9阶、截止频率为300Hz的高通 Butterworth滤波器,采样频率为1000。并画出它的频率特性。程序: n=9; wn=300/500; b,a=buffer(n,wn,high); freqz(b,a,128,1000);. . .35Buttordworth高通滤波器的频率响应. . .36 n=2. . .37例例 设计一个10阶的带通Butt

12、erworth滤波器,它的通带 范围是100200Hz,采样频率为1000。并画出它的频率特性和冲击响应。 程序:n=10; wn=100 200/500; b,a=butter(n,wn); freqz(b,a,128,1000); y,t=impz(b,a,101); stem(t,y);. . .38 Buttordworth带通滤波器的频率响应. . .39Buttordworth滤波器的时域冲击响应. . .40l椭圆数字滤波器设计椭圆数字滤波器设计 MATLAB语法: b,a=ellip(n,Rp,Rs,wn) (5) b,a=ellip(n, Rp,Rs, wn,ftype) (

13、6) z,p,k=ellip() (7) a,b,c,d=ellip() (8) 语句(5) (8)都可以设计一个阶数为n,截止频率为wn,通带波纹最大衰减为Rp、阻带波纹最小衰减为Rs的数字低通滤波器。对于语句(6),若参数ftype取high或stop,则可以来设计相应的高通或带阻滤波器。 返回值a和b为系统函数的分子和分母的系数。返回 . . .41值z,p,k分别是滤波器的零点、极点和增益。返回值A、B、C、D可以用来构造滤波器的状态方程。例例 采样频率为1000Hz,请设计一个阶数为6阶、截止频 率为300Hz的低通ellip数字滤波器。其中滤波器在通 带的波纹为3dB,阻带的波纹为

14、50dB。 程序: b,a=ellip(6,3,50,300/500); freqz(b,a,512,1000); title(n=6 低通椭圆滤波器);. . .42椭圆低通滤波器的频率响应. . .43例例 设计一个10阶的带通滤波器,通带范围为100200Hz, 信号的采样频率为1000Hz,滤波器在通带的波纹为0.5 dB,阻带的波纹为20dB。设计出这个滤波器并画出它 的冲击响应。 程序: b,a=ellip(10,0.5,20,100 200/500); y,t=impz(b,a,101); freqz(b,a,128,1000); stem(t,y); title(n=10 带通

15、椭圆滤波器);. . .44椭圆带通滤波器的频率响应. . .45椭圆滤波器的冲击响应. . .46lChebyshev-I数字滤波器设计数字滤波器设计 MATLAB语法: b,a=cheby1(n,Rp,wn) (9) b,a= cheby1(n,Rp,wn,ftype) (10) z,p,k= cheby1() (11) a,b,c,d= cheby1() (12) 语句(9) (12)都可以设计一个阶数为n,截止频率为wn,通带波纹最大衰减为Rp的数字低通滤波器。对于语句(10),若参数ftype取high或stop,则可以来设计相应的高通或带阻滤波器。 返回值a和b为系统函数的分子和分

16、母的系数。返回. . .47值z,p,k分别是滤波器的零点、极点和增益。返回值A、B、C、D可以用来构造滤波器的状态方程。例例 对采样频率为1000Hz的采样信号,设计一个阶数为9 阶,截止频率为300Hz的低通cheby1数字滤波器,其 中滤波器在通带的波纹为0.5dB。 程序: b,a=cheby1(9,0.5,300/500); freqz(b,a,512,1000); . . .48 Chebyshev-I数字低通滤波器的频率响应. . .49lChebyshev-II数字滤波器设计数字滤波器设计 MATLAB语法: b,a=cheby2(n,Rs,wn) (13) b,a= cheb

17、y2(n,Rs,wn,ftype) (14) z,p,k= cheby2() (15) a,b,c,d= cheby2() (16) 语句(13) (16)都可以设计一个阶数为n,截止频率为wn, 阻带纹波最小衰减为Rs的数字低通滤波器。对于语句(13)式,若参数ftype取high或stop,则可以来设计相应的高通或带阻滤波器。 返回值a和b为系统函数的分子和分母的系数。返回. . .50值z,p,k分别是滤波器的零点、极点和增益。返回值A、B、C、D可以用来构造滤波器的状态方程。例例 对于采样频率为1000Hz的信号,设计一个阶数为9阶,截止频率为300Hz的低通Chebyshev-II数

18、字滤波器,其中滤波器在阻带的波纹为20dB。 程序: b,a=cheby2(9,20,300/500); freqz(b,a,512,1000); . . .51 Chebyshev-II数字低通滤波器的频率响应 . . .52(3 )基于)基于MATLAB的的FIR滤波器设计滤波器设计l窗函数法设计窗函数法设计FIR数字滤波器数字滤波器l频率取样法频率取样法l切比雪夫逼近法设计切比雪夫逼近法设计FIR滤波器滤波器. . .53l 窗函数法设计窗函数法设计FIR数字滤波器数字滤波器 时域中进行的 常见的窗函数 w=boxcar(n) w=triang(n) w=hanning(n) w=ham

19、ming(n) w=blackman(n) w=chebwin(n,R) w=bartlett(n) w=kaiser(n, ) . . .54例:用8种窗函数设计数字低通滤波器。采样频率 1000Hz,截止频率200Hz,滤波器阶数81。 程序:. . .55. . .56利用利用fir1函数设计滤波器(窗函数法)函数设计滤波器(窗函数法) MATLAB语法: b=fir1(n, wn) b=fir1(n, wn, ftype) b=fir1(n, wn, window) b=fir1(n, wn, ftype, window) . . .57例例 : 设计一个阶数为48,通带范围为 0.3

20、50.65的带通FIR线性相位滤波器,并分析它的频率特性。 程序:b=fir1(48,0.35,0.65); freqz(b); . . .58 利用FIR1设计的带通滤波器的频率响应. . .59利用利用kaiserord函数求凯赛窗函数的参数函数求凯赛窗函数的参数 MATLAB语法: n,wn,beta,ftype=kaiserord(f,a,dev) n,wn,beta,ftype=kaiserord(f,a,dev,Fs)例例 利用凯赛窗函数设计一个低通FIR数字滤波器,通带 范围是01000Hz,阻带范围是15004000Hz,通带 的波纹最大为0.05,阻带的波纹最大为0.01。采

21、样频 率为8000Hz。. . .60 程序: fsamp=8000; fcuts=1000 1500; mags=1 0; devs=0.05 0.01; n,wn,beta,ftype=kaiserord(fcuts,mags, devs,fsamp); b=fir1(n,wn,ftype,kaiser(n+1,beta); freqz(b); . . .61 利用凯赛窗设计的低通滤波器的频率响应. . .62利用利用fir2函数设计任意响应函数设计任意响应FIR数字滤波器数字滤波器 MATLAB语法: b=fir2(n, f, m) b=fir2(n, f, m, window) b=f

22、ir2(n, f, m, npt) b=fir2(n, f, m, npt, window) b=fir2(n, f, m, npt, lap) . . .63例例 设计一个60阶的滤波器,要求设计的滤波器在0 的幅度响应为1,在 到 的幅度响应为 ,在 到 的幅度响应为 ,在 到 的 幅度响应为 ,在 到 的幅度响应为 。并画 出该滤波器和理想滤波器的幅频响应曲线,进行比较。 程序:f=0,0.125,0.125,0.25,0.25,0.5,0.5,0.75,0.75,1; m=1,1,0.5,0.5,0.25,0.25,1/6,1/6,0.125,0.125; b=fir2(60, f,

23、m); h,w= freqz(b); plot(f,m,w/pi,abs(h);8884214184866186818282. . .64 用fir2设计的任意响应的滤波器与理想滤波器比较. . .65l 切比雪夫逼近法设计FIR滤波器 采用最大误差最小准则方法设计滤波器 优化问题 雷米兹(REMEZ)算法 较成功的设计线性相位滤波器的方法. . .66利用利用remez函数设计函数设计FIR数字滤波器数字滤波器 MATLAB语法: b=remez(n, f, m) b=remez(n, f, m, w) b=remez(n, f, m, ftype) b=remez(n, f, m, w,

24、ftype) . . .67其它的MATLAB函数 : firls remezord fircs fircls1 cremez firrcos . . .68l IIR与FIR数字滤波器的比较在相同的技术指标下,IIR可以用比FIR较少的阶数来满足要求;FIR可得到严格的线性相位;IIR的设计可利用模拟滤波器的结果IIR主要设计规格化的滤波器,而FIR较灵活,可是任意响应的滤波器,适应性较广。 . . .69n一维信号处理:信号滤波00.20.40.60.81-2.5-2-1.5-1-0.500.511.522.5Time (seconds)Time waveform信号:s1 = sin(2

25、*pi*t*5); s2=sin(2*pi*t*15); s3=sin(2*pi*t*30);S=s1+s2+s30102030405000.10.20.30.40.50.60.70.80.91Frequency (Hz)Mag. of frequency response滤波器:b,a = ellip(4,0.1,40,10 20*2/Fs);H,w = freqz(b,a,512);00.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.60.81Time (seconds)Time waveform滤波后的结果sf = filter(b,a,s);. . .70

26、5 功率谱估计 概念 : 平稳随机信号的功率谱密度(PSD)是自相关序列的离散时间傅立叶变换 mmjxxxxemrP. . .71 功率谱估计的方法. . .72经典功率谱估计方法l直接法(周期图法) 直接由傅立叶变换而得来的。2| )(|1)(kXNkPNPER. . .73例子:直接法计算功率谱利用FFT直接法:Fs=1000;NFFT=1024;n=0:1/Fs:1;x=sin(2*pi*40*n)+4*sin(2*pi*100*n)+randn(size(n); %噪声序列X=fft(x,NFFT);Pxx=abs(X).2/length(n); %求解PSDt=0:round(NFF

27、T/2-1);k=t*Fs/NFFT;P=10*(log10(Pxx(t+1);plot(k,P)xlabel(Frequency(Hz);ylabel(PSD(dB/Hz);. . .74. . .75利用periodogram函数:Fs=1000;NFFT=1024;n=0:1/Fs:1;x=sin(2*pi*40*n)+4*sin(2*pi*100*n)+randn(size(n); %噪声序列window=boxcar(length(x);Pxx,f=periodogram(x,window,NFFT,Fs); %求PSDPlot(f,10*log10(Pxx). . .76直接法功率

28、谱图. . .77l间接法(自相关法或BT法) 其理论基础是维纳-辛钦定理。其方法是先由随机信号N个观察值估计出自相关函数 ,然后再求 的傅立叶变换。1)( )(NMemrPMMmmjBT)( )(mrnx估计)( mr)( mr. . .78例子:间接法求功率谱估计Fs=2000;NFFT=1024;n=0:1/Fs:1;x=sin(2*pi*100*n)+4*sin(2*pi*500*n)+randn(size(n);%噪声序列Cx=xcorr(x,unbiased); %计算序列的自相关函数Cxk=fft(Cx,NFFT);Pxx=abs(Cxk); %求解PSDt=0:round(NFFT/2-1);k=t*Fs/NFFT;P=10*(log10(Pxx(t+1);plot(k,P)title(自相关法功率谱估计);xlabel(Frequency(Hz);ylabel(PSD(dB/Hz);. . .79间接法功率谱图. . .80l改进法:Welch法(psd、pwelch)lAR模型功率谱估计 . . .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Matlab与信号处理(信号处理)课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|