关于FIR滤波器的系数
目录
FIR频率采样结构
fir1函数
fir2函数
FIR频率采样结构
频率采样是FIR滤波器的一种结构方式,其中描述FIR滤波器的参数为所求的频率响应的参数,而不是冲激响应。为了得到频率采样结构的参数,我们需要通过等间隔的频率采样指定所需要的频率响应。
我们可以使用MATLAB中的函数实现其具体的操作,在这里我们主要利用了MATLAB中的fir1函数或者fir2函数。
fir1函数
fir1函数是用窗函数法设计线性相位FIRDF的工具箱函数,以实现线性相位FIRDF的标准窗函数法设计。
b=fir1(n,wn);b=fir1(n,wn,'ftype');b=fir1(n,wn,'ftype',window);
其中参数为滤波器系数,参数为滤波器阶数,参数为截止频率的取值,其取值范围必须为。
在采样前我们首先要对频率进行归一化处理,这是因为在使用fir1函数进行滤波器设计时采用的是归一化频率。设实际采样频率为,实际的截止频率为,设归一化截止频率为,。当设计带通和带阻滤波器时, , 。
以设计一个48阶的滤波器为例:
fs=3200;%采样频率
fs_half=fs/2;%归一化频率
f1=45/fs_half;f2=55/fs_half;
b = fir1(48,[f1 f2]);%设计滤波器[H w]=freqz(b,1,512);%求频响[b_new,a_new]=invfreqz(H,w,48,0);
figure;freqz(b,1,512);
figure;freqz(b_new,1,512);
fir2函数
fir2函数可以用于设计有任意频率响应的加窗FIR滤波器,对标准的低通、带通、高通和带阻滤波器的设计可使用fir1函数。
函数fir2的各种形式如下:
b = fir2(n,f,m)b = fir2(n,f,m,window)b = fir2(n,f,m,npt)b = fir2(n,f,m,npt,window)b = fir2(n,f,m,npt,lap)b = fir2(n,f,m,npt,lap,window)
接下来对fir2函数中的各项参数进行介绍,为滤波器的阶数。向量是指定频率点的幅度响应样本,它所划分的频率段与参数定义的幅度响应样本相对应;和具有相同的长度,并且的第一个和最后一个分量分别是0和1;可以对中的频点进行复制,从而跳变地逼近幅度响应指标。f: 指定归一化的各频带边界频率,从0到1递增, 1对应,即
指定了fir2函数进行内插得频率响应的栅格点数目,必须大于过滤器阶数的一半,即,该参数的默认值为512。
指定了在f中重复频率点间插入的区域大小。
例如设计一个30阶的FIR滤波器,其代码如下:
f = [0 0.6 0.6 1]; m = [1 1 0 0];
b = fir2(30,f,m);
[h,w] = freqz(b,1,128);
plot(f,m,w/pi,abs(h))
legend(‘Ideal’,‘fir2 Designed’)
title(‘Comparison of Frequency Response Magnitudes’)
再举一个例子。用fir2函数设计一个60阶的FIR滤波器,要求滤波器0到π/4的幅度响应为0 ,π/4到π/2的幅度响应为1/4,π/2到3π/4的幅度响应为0,3π/4到1的幅度响应为1。其程序如下:
n=60;
f=[0 0.25 0.25 0.50 0.50 0.75 0.75 1];
m=[0 0 1/4 1/4 0 0 1 1];
%对幅频响应插值时插值点的个数
npt=1024;
%插值时不连续点转变成连续时的点数 lap=50; %衰减为30dB的切比雪夫窗函数
window=chebwin(61,30);
b=fir2(n,f,m,npt,lap,window);
关于FIR滤波器的系数相关推荐
- 【 FPGA 】FIR 滤波器之Single-rate FIR滤波器的系数数据(Filter Coefficient Data)
首先要明确什么是单速率 FIR 滤波器? The basic FIR filter core is a single-rate (input sample rate = output sample r ...
- matlab fir系数,Matlab 生成fir滤波器抽头系数
1. 打开 MATLAB 软件,在命令窗口输入 fdatool 并回车,就会弹出滤波器设计工具 2. FIR滤波器设计方法有多种,,最常用的是窗函数设计法(Window).等波纹设计法(Equirip ...
- 5.2 FIR滤波器的卷积(脉冲响应、频率响应,幅频响应,暂态-搞不清楚的有救了啊)
-5.2 FIR滤波器的卷积 如果将抽头系数的个数用M表示:卷积公式如下: 上述困扰大多大学生的卷积公式如何理解呢? h(k)就是滤波器的信道系数,x(n-k)是所谓经过延迟k个器件后的数据. 这句话 ...
- FIR数字滤波器的FPGA实现(二)-串行FIR滤波器设计(1)
(二)FIR数字滤波器的FPGA实现-串行FIR滤波器设计 文章目录 (二)FIR数字滤波器的FPGA实现-串行FIR滤波器设计 0 串行FIR滤波器基本原理 1 基于移位寄存器的串行 FIR 滤波器 ...
- FIR数字滤波器的FPGA实现(三)-并行FIR滤波器设计
(三)FIR数字滤波器的FPGA实现-并行FIR滤波器设计 文章目录 (三)FIR数字滤波器的FPGA实现-并行FIR滤波器设计 0 并行FIR滤波器基本原理 1 基于直接型结构的全并行 FIR 滤波 ...
- FIR数字滤波器的FPGA实现(二)-串行FIR滤波器设计(2)
(二)FIR数字滤波器的FPGA实现-串行FIR滤波器设计 文章目录 (二)FIR数字滤波器的FPGA实现-串行FIR滤波器设计 0 串行FIR滤波器基本原理 1 基于移位寄存器的串行 FIR 滤波器 ...
- 长时间数据流的信号滤波处理——基于MATLAB的FIR滤波器设计(1)
背景 对于任意一个场景,获取到的信号都是经过噪声污染过的,一些简单的加性噪声可以通过统计的特性进行滤除,而对于一些乘性的噪声,只能通过滤波进行滤除. 在信号处理中,信号滤波会广泛使用.在做研究分析信号 ...
- FIR滤波器、单位冲激响应、线性相位、窗函数法
1.FIR滤波器 (1.)有限脉冲响应滤波器,也就是该系统的单位脉冲响应h(n)的长度是有限的,而不是两边无限延伸. 线性时不变系统的输出:y(n)=x(n)与h(n)的卷积,其中h(n)为单位取样脉 ...
- AD9361 FIR 滤波器设计
通过MATLAB,使用AD9361 Filter Design Wizard App设计Tx/Rx FIR滤波器,生成的.fir文件可以在 AD936x 配置软件(AD936x Evaluation ...
最新文章
- 以太坊智能合约Demo
- python学习之if语句
- [译] 探究 Swift 中的 Futures Promises
- 微软官宣:史上最贵开发工具 75亿美金收购GitHub
- 按频率对元素进行排序
- flutter中使用InkWell给任意Widget添加点击事件
- andriod数据库的开发
- 【时间序列预测】基于matlab RBF神经网络时间序列预测【含Matlab源码 1336期】
- ug打开服务器文件保存不了,UG编程时突然提示保存不了,你该怎么办,看这里...
- 硬原理——DC-DC升压(BOOST)电路原理
- 十进制转换的三种方法,共同进步~
- exercise006_字符串的全排列
- 二进制转化成ascll_如何将二进制文件转换为ASCII
- 折腾开源WRT的AC无线路由之路-1
- android转服务器吗,王者荣耀角色迁移iOS区可以转安卓区吗 王者荣耀角色迁移iOS区转安卓区详情...
- iPhone 可以DIY了?苹果推出自助维修计划
- UE4-(光照)光照贴图
- 慎投:这两本期刊被剔除SCI/SSCI, 11月WOS数据库已更新~
- translate与rotate
- airpak模拟案例,Airpak模拟教程-体育馆通风模拟案例-CFD数值模拟教程airpak.pdf