fir滤波器应用解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
M
H ( z ) h(0) h(1) z 1 h( M ) z M
n 0

h( n) z n
FIR滤波器在matlab及FPGA中的调 用程序
Fir滤波器最常用的是窗函数设计法(Window)、等
波纹设计法(Equiripple)和最小二乘法(LeastSquares)等。其中窗函数设计法在学校课堂中是重 点讲解的, 著名的窗函数有矩形窗、三角窗、hannning、 hamming、blackman、kaiser窗等。
数字滤波器概述
宽带系统中滤波器的应用结构
数字滤波器概述
FIR滤波器基本介绍
有限长单位冲激响应滤波器,是数字信号 处理系统中最基本的元件,它可以在保证任意 幅频特性的同时具有严格的线性相频特性,同 时其单位抽样响应是有限长的,因而滤波器是 稳定的系统。
FIR滤波器基本介绍
FIR型滤波器的系统函数为:
FIR滤波器应用
电子与通信工程
15610093
许永全
内容

数字滤波器概述 FIR滤波器基本介绍 FIR滤波器在matlab及FPGA中的调用程序

FIR滤波器在无线信号处理的一个应用
数字滤波器概述
常用的数字滤波器主要有两种:
无限长单位冲激响应 IIR 滤波器 有限长单位冲激响应 FIR 滤波器
Matlab方法
取得系数后通过与信号的卷积,即可完成对信号的
滤波处理
ffir_x源自文库conv(f_x,h);
FPGA使用滤波器系数
H ( z ) h(0) h(1) z 1 h( M ) z M
n 0

M
h( n) z n
FPGA使用滤波器系数
//A=[ 46, 34, 7, -52, -154, -287, -406, -439, -300, 83, 736, 736, 1624, 2641, 3632, 4421, 4858, -154, -52, 7, 34, 46]; // 4858, 4421, 3632, 2641, 1624, 83, -300, -439, -406, -287,
做乘法运算
wire [31:0] m_result[32:0];
lpm_mult0 lpm_m1(.dataa(datainI),.datab(coe1),.result(m_result[0]));
lpm_mult0 lpm_m2(.dataa(datainI),.datab(coe2),.result(m_result[1])); lpm_mult0 lpm_m3(.dataa(datainI),.datab(coe3),.result(m_result[2])); lpm_mult0 lpm_m4(.dataa(datainI),.datab(coe4),.result(m_result[3])); lpm_mult0 lpm_m5(.dataa(datainI),.datab(coe5),.result(m_result[4])); lpm_mult0 lpm_m6(.dataa(datainI),.datab(coe6),.result(m_result[5])); lpm_mult0 lpm_m7(.dataa(datainI),.datab(coe7),.result(m_result[6])); lpm_mult0 lpm_m8(.dataa(datainI),.datab(coe8),.result(m_result[7])); lpm_mult0 lpm_m9(.dataa(datainI),.datab(coe9),.result(m_result[8])); lpm_mult0 lpm_m10(.dataa(datainI),.datab(coe10),.result(m_result[9])); lpm_mult0 lpm_m11(.dataa(datainI),.datab(coe11),.result(m_result[10])); lpm_mult0 lpm_m12(.dataa(datainI),.datab(coe12),.result(m_result[11])); lpm_mult0 lpm_m13(.dataa(datainI),.datab(coe13),.result(m_result[12])); lpm_mult0 lpm_m14(.dataa(datainI),.datab(coe14),.result(m_result[13])); lpm_mult0 lpm_m15(.dataa(datainI),.datab(coe15),.result(m_result[14])); lpm_mult0 lpm_m16(.dataa(datainI),.datab(coe16),.result(m_result[15]));
wire [15:0] coe1=46;
wire [15:0] coe2=34; wire [15:0] coe3=7; wire [15:0] coe4=-52; wire [15:0] coe5=-154; wire [15:0] coe6=-287; wire [15:0] coe7=-406; wire [15:0] coe8=-439; wire [15:0] coe9=-300; wire [15:0] coe10=83; wire [15:0] coe11=736; wire [15:0] coe12=1624; wire [15:0] coe13=2641; wire [15:0] coe14=3632; wire [15:0] coe15=4421; wire [15:0] coe16=4858;
Matlab 方法1
Matlab 方法1
使用 fdatool工具,产生n阶滤波器系数。
Matlab 方法2
使用函数产生滤波器系数
%samp = 100000; fcuts = [1500 6500]; mags = [1 0]; devs = [0.06 0.01]; [n,Wn,beta,ftype] = kaiserord(fcuts,mags,devs,fs); hh = fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale'); freqz(hh)
相关文档
最新文档