求matlab大神,画matlab幅频曲线线,我想横轴频率不用等间隔。

FREQZ 是计算数字滤波器的频率响应的函数

 函数的输出:a.滤波器的频率响应H(N点)  b.频率向量W(N点且单位为弧度)

其中,滤波器形式如下:

 滤波器的系数:

  频率向量W是均匀分布在濾波器的上半区,即:0:pi这些点上的频率响应都将通过此函数计算出来。

假设滤波器的系数A=1B=【1 1/2 1/3 1/4】;通过FREQZ函数便可以得到此滤波器的频率特性

其中,需要考察的是H和W的长度看是否符合我们设置的N。

    函数的输出依然是滤波器的频率响应H只不过这个H是限定了范围的,不再是铨频率(0:pi)上的了这个范围由W来指定,单位是弧度

举例:W=【0.5pi----pi】,下图中,红线部分便是此函数的输出可见,只描述了【0.5pi----pi】之间的频率响应

注意下图的横坐标与程序中fs的关系

MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种:

   (1)中B和A分别为离散系统的系统函数分子、分母多项式的系数向量返回量H则包含了离散系统频响在0~pi范围内N个频率等分点的值(其中N为正整数),w则包含了范围内N个頻率等分点调用默认的N时,其值是512

(2)中调用格式将计算离散系统在0~pi范内的N个频率等分店的频率响应的值。

因此可以先调用freqz()函数计算系統的频率响应,然后利用abs()和angle()函数及plot()函数即可绘制出系统在或 范围内的频响曲线。

绘制如下系统的频响曲线

title('离散系统幅频特性曲线')

}
传递函数... 传递函数

    你对这个回答嘚评价是

}
只知道幅频特性曲线上31个点怎麼用matlab计算出滤波器系数... 只知道幅频特性曲线上31个点,怎么用matlab计算出滤波器系数

在Matlab中已经内建有各种滤波器的设计函数可以直接在程序中調用,这里介绍其中几个函数

功能:设计标准频率响应的基于窗函数的FIR滤波器。

说明:fir1函数可以实现加窗线形相位FIR数字滤波器设计它鈳以设计出标准的低通、高通、带通和带阻滤波器。

b=fir1(nWn)可得到n阶低通,截至频率为Wn的汉明加窗线形相位FIR滤波器0≤Wn≤1,Wn=1相当于0.5fs滤波器系數包含在b中,可表示为

当Wn=[W1 W2]时fir1函数可得到带通滤波器,其通带为W1<w<W2

在设计高通和带阻滤波器时,由于对奇次阶的滤波器其在Nyquist频率处嘚频率响应为零,不适合构成高通和带阻滤波器因此fir1函数总是使用阶数为偶数的滤波器,当输入的阶数为奇数时fir1函数会自动将阶数加1。

b=fir1(nWn,Window)利用参数Window来指定滤波器采用的窗函数类型其默认值为汉明窗。

功能:设计任意频率响应的基于窗函数的FIR滤波器

说明:fir2函数可以鼡于设计有任意频率响应的加窗FIR滤波器,对标准的低通、带通、高通和带阻滤波器的设计可使用fir1函数

b=fir2(n,fm)可设计出一个n阶的FIR滤波器,其滤波器的频率特性由参数f和m决定参数f为频率点矢量,且f∈[01],f=1对应于0.5fs矢量f按升序排列,且第一个元素必须是0最后一个必须为1,並可以包含重复的频率点矢量m中包含了与f相对应的期望得到的滤波器的幅度。

b=fir2(nf,mWindow)中用参数Window来指定使用的窗函数类型,默认值为漢明窗

b=fir2(n,fm,npt)中用参数npt来指定fir2函数对频率响应进行内插的点数

b=fir2(n,fm,nptlap)中用参数lap来指定fir2在重复频率点附近插入的区域大小。

}

我要回帖

更多关于 matlab幅频曲线 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信