所谓 Minimax 方法就是指设计的指定阶数的FIR滤波器的幅度响应的最大偏离最小化。SCILAB 提供了eqfir 函数可以方便的使用 minmax 法设计FIR 滤波器。
[hn]=eqfir(nf,bedge,des,wate)
其中:
Nf: FIR 滤波器的阶数
Bedge: M * 2 的矩阵,矩阵的每一行对应一个频率段
Des: M 个元素的向量,每个元素给出一个频率段的期望的幅度响应
Wate: M 个元素的向量,给出每个频率段的加权系数
返回值:
Hn: FIR 滤波器的系数
下面给个例子:
hn=eqfir(33,[0 0.2;0.25 0.35;0.4 0.5],[0 1 0],[1 1 1]);
这个例子是设计一个 33 阶的FIR 滤波器, [0 0.2] 这一频段的期望幅度为0,[0.25 0.35] 这一频段的期望幅度为1,[0.4 0.5] 这一段的期望幅度为 0。没有给出的频段为过渡段,幅度为多少都可以。
可以用 frmag 函数来观测上面设计的滤波器的频率响应。
[xm,fr]=frmag(num,den,npts)
Num 为系统函数的分子。也就是我们FIR滤波器的系数。
Den 为系统函数的分母,对于FIR滤波器来说,分母为1。
Npts 为频率响应的数据点数
返回值;
Fr 为频率点
Xm 为对于的频率响应
对于上面的例子,我们可以写:
[xm,fr]=frmag(hn,1,100);
plot(fr,xm);
![](https://box.kancloud.cn/2016-01-24_56a42342df093.jpg)
- 前言
- gnuplot 中的数据平滑
- 利用 Maxima 求解常微分方程
- Maxima 的绘图功能 1
- Maxima 的绘图功能 2
- Maxima 的绘图功能 3
- Maxima 矩阵及矢量运算 1
- Maxima 矩阵及矢量运算 3
- Maxima 矩阵及矢量运算 4
- maxima 学习笔记(coeff 函数的应用)
- maxima 代数表达式变换
- maxima 学习笔记(基本微积分)
- maxima 代数方程求解
- Maxima 中的复数运算
- Maxima 的三角函数化简功能
- Maxima 的基本微积分操作
- 利用 gnuplot 绘制时间序列图
- gnuplot 入门教程 1
- gnuplot 入门教程 2
- gnuplot 入门教程 3
- gnuplot 入门教程 4
- gnuplot 读取逗号分隔的数据文件
- scilab 读取处理 wav 文件
- scilab 读取处理 wav 文件 (2)
- Scilab 处理声音数据(补充)
- 利用 SCILAB 设计 FIR 滤波器(窗函数法)
- 利用 SCILAB 设计 FIR 滤波器(Minimax法)
- 利用 SCILAB 设计 iir 滤波器设计(模拟滤波器双线性变换法)
- Scilab 的绘图函数(1)
- Scilab 的绘图函数(2)
- Scilab 的绘图函数(3)
- Scilab 的绘图函数(4)