书签 分享 收藏 举报 版权申诉 / 80
上传文档赚钱

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

  • 上传人(卖家):三亚风情
  • 文档编号:2866781
  • 上传时间:2022-06-06
  • 格式:PPT
  • 页数:80
  • 大小:748.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Matlab与信号处理(信号处理)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Matlab 信号 处理 课件
    资源描述:

    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模型功率谱估计 . . .

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Matlab与信号处理(信号处理)课件.ppt
    链接地址:https://www.163wenku.com/p-2866781.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库