FIR |
您所在的位置:网站首页 › fir分类 › FIR |
FIR滤波器 FIR滤波器,全称为Finite Impulse Response,即有限脉冲响应。滤波器的系统函数为: ![]() 当分母中所有ak=0时,即不存在反馈支路,输出数据仅取决于输入,这也就是Finite的由来,在上式的系统函数H(z)中,每个z代表一个延迟delay。 那么根据公式H(z)即可很清楚的了解,FIR简单理解就是对输入进行多级存储,之后对不同级别的缓存*系数b,即可实现信号序列的低通、带通、高通等操作! FIR低通滤波器的verilog实现 上文中介绍了FIR的工作原理,本部分就手写一个FIR低通滤波器,需要准备的原始材料很简单, 1、输入波形数据 2、滤波器系数b。 获取输入波形数据: 波形生成的方式有很多很多种,起码弯路就走过不少,目前见过的生成方式有两种。第一种为时间段生成法,通过生成一个时间段内的数据,通过循环读取该时间段的数据获取生成波形;第二种方式为周期函数法,通过对0~2pi内的函数值进行读取,在本文中分享两种方式的matlab代码,两种方式中都使用了有符号数转补码的函数,该函数将放大后的波形数据转换为对应的补码: %下面函数重新新建一个脚本文件 %需要调用了如下函数,将有符号数转换成补码 function b = signed2unsigned(a,wl); %a为输入数据,wl为位宽 %This function covert an signed integer number into an unsinged integer %number. a is the input vector while wl means the width of input number; %Example: a = [-2,-1,0,1]; %signed2unsigned(a,3); THEN return [2,3,0,1] k = 2^(wl)*(a |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |