MATLAB处理相关函数使用

上传人:206****923 文档编号:37483873 上传时间:2018-04-17 格式:DOC 页数:14 大小:82.50KB
返回 下载 相关 举报
MATLAB处理相关函数使用_第1页
第1页 / 共14页
MATLAB处理相关函数使用_第2页
第2页 / 共14页
MATLAB处理相关函数使用_第3页
第3页 / 共14页
MATLAB处理相关函数使用_第4页
第4页 / 共14页
MATLAB处理相关函数使用_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《MATLAB处理相关函数使用》由会员分享,可在线阅读,更多相关《MATLAB处理相关函数使用(14页珍藏版)》请在金锄头文库上搜索。

1、函数一:H,w=freqz(B,A,N) MATLAB 提供了专门用于求离散系统频响特性的函数 freqz(),调用 freqz()的格式有以 下两种: l H,w=freqz(B,A,N)B 和 A 分别为离散系统的系统函数分子、分母多项式的系数向量,N 为正整数,返回 量 H 则包含了离散系统频响 在 0pi 范围内 N 个频率等分点的值,向量 w 则包含 范 围内 N 个频率等分点。调用中若 N 默认,默认值为 512。 l H,w=freqz(B,A,N,whole) 该调用格式将计算离散系统在 0pi 范内的 N 个频率等分店的频率响应的值。 因此,可以先调用 freqz()函数计算

2、系统的频率响应,然后利用 abs()和 angle()函数及 plot() 函数,即可绘制出系统在 或 范围内的频响曲线。 绘制如下系统的频响曲线 H(z)=(z-0.5)/zMATLAB 命令如下:B=1 -0.5;A =1 0;H,w=freqz(B,A,400,whole);Hf=abs(H);Hx=angle(H);clffigure(1)plot(w,Hf) title(离散系统幅频特性曲线)figure(2)plot(w,Hx)title(离散系统相频特性曲线)函数二b,a=butter(n,Wn,/ftype/):butter 函数的用法为:b,a=butter(n,Wn,/ft

3、ype/)其中 n 代表滤波器阶数,Wn 代表滤波器的截止频率,这两个参数可使用 buttord 函数来确定。buttord 函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数 n,同时给出对应的截止频率 Wn。buttord 函数的用法为:n,Wn= buttord(Wp,Ws,Rp,Rs)其中 Wp 和 Ws 分别是通带和阻带的拐角频率(截止频率),其取值范围为 0 至 1 之间。当其值为 1 时代表采样频率的一半。Rp 和 Rs 分别是通带和阻带区的波纹系数。不同类型(高通、低通、带通和带阻)滤波器对应的 Wp 和 Ws 值遵循以下规则:1高通滤波器:Wp 和 Ws 为一元矢量

4、且 WpWs;2低通滤波器:Wp 和 Ws 为一元矢量且 WpWs,如 Wp=0.1,0.8,Ws=0.2,0.7。函数三 firl 函数的使用:在 MATLAB 下设计标准响应 FIR 滤波器可使用 firl 函数。firl 函数以经典方法实现加窗线性相位 FIR 滤波器设计,它可以设计出标准的低通、带通、高通和带阻滤波器。firl 函数的用法为:b=firl(n,Wn,/ftype/,Window)各个参数的含义如下:b滤波器系数。对于一个 n 阶的 FIR 滤波器,其 n+1 个滤波器系数可表示为:b(z)=b(1)+b(2)z1+b(n+1)zn。n滤波器阶数。Wn截止频率,0Wn1,

5、Wn=1 对应于采样频率的一半。当设计带通和带阻滤波器时,Wn=W1 W2,W1W2。ftype当指定 ftype 时,可设计高通和带阻滤波器。Ftype=high 时,设计高通 FIR 滤波器;ftype=stop 时设计带阻 FIR 滤波器。低通和带通 FIR 滤波器无需输入 ftype 参数。Window窗函数。窗函数的长度应等于 FIR 滤波器系数个数,即阶数 n+1。函数 4 窗函数的使用:在 MATLAB 下,这些窗函数分别为:1矩形窗:w=boxcar(n),产生一个 n 点的矩形窗函数。2三角窗:w=triang(n),产生一个 n 点的三角窗函数。当 n 为奇数时,三角窗系数

6、为 w(k)= 当 n 为偶数时,三角窗系数为 w(k)= 3巴特利特窗:w=Bartlett(n),产生一个 n 点的巴特利特窗函数。巴特利特窗系数为 w(k)= 巴特利特窗与三角窗非常相似。巴特利特窗在取样点 1 和 n 上总以零结束,而三角窗在这些点上并不为零。实际上,当 n 为奇数时 bartlett(n)的中心 n2 个点等效于 triang(n2)。4汉明窗:w=hamming(n),产生一个 n 点的汉明窗函数。汉明窗系数为 w(k+1)=0.540.46cos( ) k=0,n15汉宁窗:w=hanning(n),产生一个 n 点的汉宁窗函数。汉宁窗系数为 w(k)=0.51c

7、os( ) k=1,n6布莱克曼窗:w=Blackman(n),产生一个 n 点的布莱克曼窗函数。布莱克曼窗系数为 w(k)=0.420.5cos(2 )+0.8cos(4 ) k=1,n与等长度的汉明窗和汉宁窗相比,布莱克曼窗的主瓣稍宽,旁瓣稍低。7凯泽窗:w=Kaiser(n,beta),产生一个 n 点的凯泽窗数,其中 beta 为影响窗函数旁瓣的 参数,其最小的旁瓣抑制 与 的关系为:0.1102(0.87) 50= 0.5842(21)0.4+0.07886(21) 21500 例设计一个长度为 8 的线性相位 FIR 滤波器。其理想幅频特性满足用矩形窗:Window=boxcar(

8、8);b=fir1(7,0.4,Window);freqz(b,1)用 blackman 窗:Window=blackman(8);b=fir1(7,0.4,Window);freqz(b,1)例 设计线性相位带通滤波器,其长度 N=15,上下边带截止频率分别为 W1= 0.3,w2=0.5Window=blackman(16);b=fir1(15,0.3 0.5,Window);freqz(b,1)linspace 是用来生成一个等差数列的 lin 是 linear 的缩写x=linspace(a,b,n)就是将生成一个以 a 和 b 为断点 共划分为 n 个区间的向量,比如 linspac

9、e(1,10,5)ans = 1.0000 3.2500 5.5000 7.7500 10.0000AWGN:在某一信号中加入高斯白噪声 y = awgn(x,SNR) 在信号 x 中加入高斯白噪声。信噪比 SNR 以 dB 为单位。x 的强度假定为 0dBW。如果 x 是复数,就加入复噪声。 y = awgn(x,SNR,SIGPOWER) 如果 SIGPOWER 是数值,则其代表以 dBW 为单位的信号强度;如果 SIGPOWER 为measured,则函数将在加入噪声之前测定信号强度。 y = awgn(x,SNR,SIGPOWER,STATE) 重置 RANDN 的状态。 y = aw

10、gn(,POWERTYPE) 指定 SNR 和 SIGPOWER 的单位。POWERTYPE 可以 是dB或linear。最佳 FIR 滤波器设计使用 remezord,remezREMEZ 和 REMEZORD 常用来设计最佳滤波器,其中 REMZORD 用来计算滤波器的阶 数。使用例子如下:采用频率 fs : 8000Hz通带截至频率:1500Hz(归一化后为 0.375)阻带截至频率:2000Hz(归一化后为 0.5)通带波纹:0.01(即 0.1737dB)阻带衰减:0.1(即 20dB)n, fo, mo, w = remezord(1500 2000, 1 0, 0.01 0.1,

11、 8000);b = remez(n, fo, mo, w);%h w = freqz(b, 1, 128);%plot(w/pi, abs(h);freqz(b, 1, 128);得到的输出响应如下图:FIR 滤波器设计(无反馈) fir2 函数:基于窗函数的 FIR 滤波器设计任意频率响应 语法格式:b = fir2(n,f,m) b = fir2(n,f,m,window) b = fir2(n,f,m,npt) b = fir2(n,f,m,npt,window) f 频率点矢量(属于0 1区间) n 滤波器阶数 m 幅度矢量 npt 指定加窗的点数 windows 指定的窗函数2,F

12、IR 滤波器设计(无反馈) fir2 函数:基于窗函数的 FIR 滤波器设计任意频率响应 例:设计一个 30 阶的带通滤波器n=30; f=0 0.3 0.7 1; m=0 1 1 0; b=fir2(n,f,m); freqz(b,1,512);butter 函数:Butterworth 滤波器设计 例 2:从多种频率成分叠加的信号中,提取出某一频带的信号.例如:从 500Hz,1kHz,2kHz 三种频率成分叠加的信号中,提取出频带为 800Hz1.5kHz 的 信号.要求:阻带衰减不低于 10dB,通带衰减不高于 3dB. %先选择滤波器阶数Fs=5000; %Fs2*2kHz Wp=8

13、00 1500/(Fs/2); Ws=600 1700/(Fs/2); Rp=3; Rs=10; n,Wn = buttord(Wp,Ws,Rp,Rs); %再进行滤波器设计b,a=butter(n,Wn,bandpass); z=filter(b,a,y);%设计低通滤波器: N,Wc=buttord() %估算得到 Butterworth 低通滤波器的最小阶数 N 和 3dB 截止频率Wc a,b=butter(N,Wc); %设计 Butterworth 低通滤波器 h,f=freqz(); %求数字低通滤波器的频率响应 figure(2); % 打开窗口 2 subplot(221);

14、 %图形显示分割窗口 plot(f,abs(h); %绘制 Butterworth 低通滤波器的幅频响应图 title(巴氏低通滤波器); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数 S 经过低通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数 S 经过低通滤波器以后的时域图形 xlabel(时间 (seconds); ylabel(时间按幅度); SF=fft(sf,256); %对叠加函数 S 经过低通滤波器以后的新函数进行256 点的基2 快速傅立叶变换 %w= %新信号角频率 subplot(223); plot

15、(); %绘制叠加函数 S 经过低通滤波器以后的频谱图 title(低通滤波后的频谱图); %设计高通滤波器 N,Wc=buttord() %估算得到 Butterworth 高通滤波器的最小阶数 N 和 3dB 截止频率Wc a,b=butter(N,Wc,high); %设计 Butterworth 高通滤波器 h,f=freqz(); %求数字高通滤波器的频率响应 figure(3); subplot(221); plot(f,abs(h); %绘制 Butterworth 高通滤波器的幅频响应图 title(巴氏高通滤波器); grid; %绘制带网格的图像 sf=filter(); %叠加函数 S 经过高通滤波器以后的新函数 subplot(222); plot(t,sf); ;%绘制叠加函数 S 经过高通滤波器以后的时域图形 xlabel(Time(seconds); ylabel(Time waveform); w; %新信号角频率 subplot(223); plot(); %绘制叠加函数 S 经过高通滤波器以后的频谱

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

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

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