MATLAB处理相关函数使用

函数一:[H,w]=freqz(B,A,N)
MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种:
l      [H,w]=freqz(B,A,N)
    B和A分别为离散系统的系统函数分子、分母多项式的系数向量,N为正整数,返回量H则包含了离散系统频响 在 0——pi范围内N个频率等分点的值,向量w则包含 范围内N个频率等分点。调用中若N默认,默认值为512。
l        [H,w]=freqz(B,A,N,’whole’)
该调用格式将计算离散系统在0—pi范内的N个频率等分店的频率响应的值。
因此,可以先调用freqz()函数计算系统的频率响应,然后利用abs()和angle()函数及plot()函数,即可绘制出系统在 或 范围内的频响曲线。
绘制如下系统的频响曲线
H(z)=(z-0.5)/z
MATLAB命令如下:
    B=[1 -0.5];
    A =[1 0];
    [H,w]=freqz(B,A,400,'whole');
    Hf=abs(H);
    Hx=angle(H);
    clf
    figure(1)
    plot(w,Hf)
title('离散系统幅频特性曲线')
    figure(2)
    plot(w,Hx)
    title('离散系统相频特性曲线')
函数二[b,a]=butter(n,Wn,/ftype/)
butter函数的用法为:
[b,a]=butter(n,Wn,/ftype/)
其中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为一元矢量且Wp>Ws;
2.低通滤波器:Wp和Ws为一元矢量且Wp<Ws;
3.带通滤波器:Wp和Ws为二元矢量且Wp<Ws,如Wp=[0.2,0.7],Ws=[0.1,0.8];
4.带阻滤波器:Wp和Ws为二元矢量且Wp>Ws,如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)z-1+…+b(n+1)z-n。
n—滤波器阶数。
Wn—截止频率,0≤Wn≤1,Wn=1对应于采样频率的一半。当设计带通和带阻滤波器时,Wn=[W1 W2],W1≤ω≤W2。
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为奇数时,三角窗系数为w(k)=     
  当n为偶数时,三角窗系数为w(k)=     
3.巴特利特窗:w=Bartlett(n),产生一个n点的巴特利特窗函数。
  巴特利特窗系数为w(k)=     
巴特利特窗与三角窗非常相似。巴特利特窗在取样点1和n上总以零结束,而三角窗在这些点上并不为零。实际上,当n为奇数时bartlett(n)的中心n-2个点等效于triang(n-2)。
4.汉明窗:w=hamming(n),产生一个n点的汉明窗函数。
汉明窗系数为w(k+1)=0.54-0.46cos( )        k=0,…,n-1
5.汉宁窗:w=hanning(n),产生一个n点的汉宁窗函数。
汉宁窗系数为w(k)=0.5[1-cos( )]      k=1,…,n
6.布莱克曼窗:w=Blackman(n),产生一个n点的布莱克曼窗函数。
布莱克曼窗系数为w(k)=0.42-0.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)      21≤α≤50
        0                                  α<21
增加β可使主瓣变宽,旁瓣的幅度降低。
8.契比雪夫窗:w=chebwin(n,r)产生一个n点的契比雪夫窗函数。其傅里叶变换后的旁瓣波纹低于主瓣r个db数。
Matlab中关于FIR滤波器设计的命令 收藏
一、产生窗函数的文件有八个:
    1.bartlett(三角窗);——两端为零
    2. blackman(布莱克曼窗);
    3. boxcar(矩形窗);
    4. hamming(哈明窗);
    5. hanning(汉宁窗);
    6. triang(三角窗);——两端不为零
    7. chebwin(切比雪夫窗);
    8 .kaiser(凯赛窗);
二、fir1.m 用“窗函数法”设计FIR DF。调用格式:
  (1)b = fir1(N,Wn);
    (2) b = fir1(N,Wn,‘high’);
    (3) b = fir1(N,Wn, ‘stop’);
      N:阶次,滤波器长度为N+1;
      Wn:通带截止频率,其值在0~1之间,1对应Fs/2;
      b:滤波器系数。
      格式(1):若Wn为标量,则设计低通滤波器,若Wn是1×2的向量,则用来设计带通滤波器,若Wn是1×L的向量,则可用来设计L带滤波器。这时,格式(1)要改为: b = fir1(N,Wn, 'DC-1'), 或b = fir1(N,Wn, 'DC-0')。前者保证第一个带为通带,后者保证第一个带为阻带。
      格式(2):用来设计高通滤波器。
      格式(3):用来设计带阻滤波器。
      在上述所有格式中,若不指定窗函数的类型,fir1自动选择Hamming窗。
、fir2.m 本文件采用“窗函数法”设计具有任意幅频相应的FIR 数字滤波器
      其调用格式是:b = fir1(N, F, M);
      F是频率向量,其值在0~1之间,M是和F相对应的所希望的幅频相应。如同fir1, 缺省时自动选用Hamming窗。
      例:设计一多带滤波器,要求频率在0.2~0.3, 0.6~0.8 之间为1,其余处为零。
四、remez.m 设计Chebyshev最佳一致逼近FIR滤波器、Hilbert变换器和差分器。其调用格式是:
      (1) b=remez(N, F, A);
      (2) b=remez(N, F, A, W);
      (3)b=remez(N,F,A,W,‘Hilbert’);

本文发布于:2024-09-21 19:55:38,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/95991.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:差分运放总结
标签:函数   设计   频率   旁瓣   离散系统   系数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议