ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:552.56KB ,
资源ID:7110001      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7110001.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FIR滤波器设计总结.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FIR滤波器设计总结.docx

1、FIR 滤波器设计总结滤波器设计总结 1、直接型 FIR 滤波器的优缺点如下:优点:简单直观,乘法运算量较少;缺点:调整零点较困难 2、FIR 滤波器设计的总体结构:(1)移位寄存器 移位寄存器的功能是将输入序列缸,z)通过移位寄存器改为并行输入,这个模块的功 能对于所要讨论的三种 FIR 滤波器的实现结构是完全一致的。(2)优化模块 优化模块的功能是根据 FIR 滤波器 h(,1)的对称特性将滤波器降阶,完成输入求和 缸幼+x(m-1幼,对于本例中的 128抽头的滤波器,即完成颤 O)+缸 127),双 1)+缸 126),8943.,缸 63)+x(64),这个模块的功能对于所要讨论的三种

2、 FIR 滤波器的实现结构是完全一致 的。(3)乘法器模块 对于使用乘法器结构的 FIR 滤波器,乘法器的实现对于系统的性能有很大的影响,在第 5章将着重介绍乘法器的实现及优化问题。基于 DA算法的乘法器是通过查找表的 方法实现的。(4)加法器 将前面乘法器模块得到的结果相加,最后得到输出结果 Y(玎),有关加法器的设计及 优化将在第 5章重点介绍。2.1基于乘累加 FIR 滤波器结构 上图中,FIR 滤波器的系数存储器用来存入所有的 FIR 滤波器系数,存储器的容 量根据 FIR 滤波器的阶数和系数的位数来确定。采样数据存储器用来暂存外部输入的采 样数据。读取控制模块用来控制采样数据与相对应

3、的 FIR 滤波器系数输出以及滤波器输 出。采样数据与滤波器系数在控制电路的作用下,分别对应相乘并与前一个乘积累加,经过滤波器的阶数次的反复乘加最后输出滤波结果。乘累加结构 FIR 滤波器性能分析:优点:这种滤波器结构简单,硬件资源占用少,只要一个加法器和一个乘法器,成 本低。缺点:这种结构 FIR 滤波器每次都需在多个时钟周期下才有输出,时钟周期的个数 受滤波器阶数的影响,因此这种乘累加结构的 FIR 滤波器处理速度慢,只能用于对处理 速度要求不高的系统。滤波器系数转为定点后的误差分析 一、系统概述 在滤波器系数由浮点转位定点后系统会有误差出现。我们要求系统误差在 80db 以上。通过分析要

4、得出最后量化过程中,中间值的位数,即中间的乘法运算结果和乘法后加法的运算结果的所取的位数。当然位数越小,所用到的系统资源越小。由于系统要在 FPGA中进行实现,所以内插滤波器,包括半带滤波器、FIR 滤波器、CIC 滤波器均采用定点计算。其中半带滤波器和 FIR 滤波器输入和输出精度均为16 比特,中间乘法结果和累加结果为 20比特精度。CIC 的输入数据精度为 16比特,输出数据的精度为 21比特。输入 DSP 信号为 312.5kHz 的基带信号,需要通过内插后提升 128倍的过采样速率。奈奎斯特采样频率为 625kHz。即最后达到 80MHz 的采样频率。内插滤波器的总体结构如下图所示:

5、图 1 内插滤波器总体结构图 二、半带滤波器的误差分析 2半带滤波器数字基带输入过采样输出2FIR滤波器32CIC滤波器第1级第2级第3级2.1、半带滤波器浮点系数的参数特性 半带滤波器采用 34 阶,其系数如下表所示:1.1555011750488237e-003 0.0000000000000000e+000 -2.7482166351233102e-003 0.0000000000000000e+000 5.7681982289523072e-003 0.0000000000000000e+000 -1.0736374060960912e-002 0.0000000000000000e+

6、000 1.8592020073668478e-002 0.0000000000000000e+000 -3.1093723586671229e-002 0.0000000000000000e+000 5.2603914610235683e-002 0.0000000000000000e+000 -9.9130756073130377e-002 0.0000000000000000e+000 3.1592697826202448e-001 5.0000000000000000e-001 3.1592697826202448e-001 0.0000000000000000e+000 -9.913

7、0756073130377e-002 0.0000000000000000e+000 5.2603914610235683e-002 0.0000000000000000e+000 -3.1093723586671229e-002 0.0000000000000000e+000 1.8592020073668478e-002 0.0000000000000000e+000 -1.0736374060960912e-002 0.0000000000000000e+000 5.7681982289523072e-003 0.0000000000000000e+000 -2.748216635123

8、3102e-003 0.0000000000000000e+000 1.1555011750488237e-003 半带滤波器的频率响应如下图 2所示:图 2 34阶半带滤波器频率响应 2.1.1 基本参数:输入 DSP 信号为 312.5kHz 的基带信号,需要通过内插后提升 2倍的过采样速率。奈奎斯特采样频率为 625kHz。经过内插后速率提升为 2倍的奈奎斯特采样频率,后经过半带滤波器滤除中间的镜像频谱。以下是其他的系统参数。滤波器的系数矩阵:a=1.1555011750488237e-003,0.0000000000000000e+000,-2.7482166351233102e-00

9、3,0.0000000000000000e+000,5.7681982289523072e-003,0.0000000000000000e+000,-1.0736374060960912e-002,0.0000000000000000e+000,1.8592020073668478e-002,0.0000000000000000e+000,00.10.20.30.40.50.60.70.80.9-70-60-50-40-30-20-100Normalized Frequency(rad/sample)Magnitude(dB)Magnitude(dB)and Phase Responses-3

10、1.1174-26.6831-22.2488-17.8144-13.3801-8.9458-4.5114-0.0771Phase(radians)-3.1093723586671229e-002,0.0000000000000000e+000,5.2603914610235683e-002,0.0000000000000000e+000,-9.9130756073130377e-002,0.0000000000000000e+000,3.1592697826202448e-001,5.0000000000000000e-001,3.1592697826202448e-001,0.0000000

11、000000000e+000,-9.9130756073130377e-002,0.0000000000000000e+000,5.2603914610235683e-002,0.0000000000000000e+000,-3.1093723586671229e-002,0.0000000000000000e+000,1.8592020073668478e-002,0.0000000000000000e+000,-1.0736374060960912e-002,0.0000000000000000e+000,5.7681982289523072e-003,0.0000000000000000

12、e+000,-2.7482166351233102e-003,0.0000000000000000e+000,1.1555011750488237e-003 2.1.2 浮点滤波设计过程 Matlab 程序设计:%系统初始化 clear all close all clf;clc;%半带滤波器的基本参数设置 fs=625000;Fs=2*fs;N=2000;%原始信号的长度 n1=0:N-1;%原始输入信号取值范围,间隔为 1 n2=0:2*N-1;%内插后信号的取值范围,间隔为 1 M=2*N+35-1;%卷积运算后输出信号 y的长度 m=0:M-1;%滤波后信号的取值范围,间隔为 1%生成

13、输入的 N 个 16bit 随机整数 x1=randint(1,N,-32768,32767);%对生成后的 N 个随机整数进行 2 倍内插 x2=zeros(1,2*N);for i=1:N x2(2*i-1)=x1(i);end figure stem(n2,x2)grid on title(输入)%输入信号的奈奎斯特采样频谱 X1k=fft(x1,N);%用 fft求 DFT即 X(k)mag1=abs(X1k);%求 k 次谐波的振幅 f1=n1*fs/N;%DFT 的 X(k)的 k次谐波的振幅对应的频率是f(k)=k/(N*t)=k/T=k*fs;figure subplot(2,

14、2,1),plot(f1,mag1*2/N);%真实振幅的结果需要对上一步所求结果乘以 2/N xlabel(频率/Hz),ylabel(振幅),title(基带信号奈奎斯特采样-幅频特性曲线),grid on;%2倍内插后,采样速率提升 2倍 X2k=fft(x2,2*N);mag2=abs(X2k);f2=n2*Fs/(2*N);%采样速率提升 2倍 subplot(2,2,2),plot(f2,mag2*2/(2*N);xlabel(频率/Hz),ylabel(振幅),title(奈奎斯特采样信号 2倍内插后-幅频特性曲线),grid on;%浮点型半袋滤波器的归一化幅频特性曲线 a=1

15、.1555011750488237e-003,0.0000000000000000e+000,-2.7482166351233102e-003,0.0000000000000000e+000,5.7681982289523072e-003,0.0000000000000000e+000.-1.0736374060960912e-002,0.0000000000000000e+000,1.8592020073668478e-002,0.0000000000000000e+000,-3.1093723586671229e-002,0.0000000000000000e+000.5.26039146

16、10235683e-002,0.0000000000000000e+000,-9.9130756073130377e-002,0.0000000000000000e+000,3.1592697826202448e-001,5.0000000000000000e-001.3.1592697826202448e-001,0.0000000000000000e+000,-9.9130756073130377e-002,0.0000000000000000e+000,5.2603914610235683e-002,0.0000000000000000e+000.-3.1093723586671229e

17、-002,0.0000000000000000e+000,1.8592020073668478e-002,0.0000000000000000e+000,-1.0736374060960912e-002,0.0000000000000000e+000.5.7681982289523072e-003,0.0000000000000000e+000,-2.7482166351233102e-003,0.0000000000000000e+000,1.1555011750488237e-003;%a是 35阶浮点型半带滤波器滤波器的系数 Ha,fa=freqz(a,1,N);%求浮点半带滤波器的频响

18、特性 假设是 N点得 DFT(这个是不影响的)subplot(2,2,3),plot(fa/pi,20*log10(abs(Ha)/max(abs(Ha);%对浮点半带半带滤波器的频率归一化,但是振幅是真实振幅 20*log10(abs(Ha)/max(abs(Ha)xlabel(归一化频率),ylabel(振幅),title(浮点半带滤波器的归一化幅频特性曲线),grid on;%浮点半带滤波器滤波后的 2倍内插信号输出=采样频率提高 2 倍 ya=conv(a,x2);%滤波的过程就卷积的过程 Yak=fft(ya,M);maga=abs(Yak);f3=m*Fs/M;%内插信号经过半袋滤

19、波器滤波 subplot(2,2,4),plot(f3,maga*2/M);xlabel(频率/Hz),ylabel(振幅),title(浮点型半带滤波器滤波后信号的幅频特性曲线),grid on;figure stem(ya);title(浮点滤波器的输出时域图)grid on;注释:其中的 freqz 函数的使用说明如下:MATLAB提供了专门用于求离散系统频响特性的函数 freqz(),调用 freqz()的格式有以下两种:(1).H,w=freqz(B,A,N),B和 A 分别为离散系统的系统函数分子、分母多项式的系数向量,N 为正整数,返回量 H则包含了离散系统频响在 0pi 范围内

20、N个频率等分点的值,向量 w则包含范围内 N个频率等分点。调用中若 N默认,默认值为 512。(2).H,w=freqz(B,A,N,whole)该调用格式将计算离散系统在 0pi 范内的 N个频率等分点的频率响应的值。因此,可以先调用 freqz()函数计算系统的频率响应,然后利用abs()和 angle()函数及 plot()函数,即可绘制出系统在或范围内的频响曲线。2.1.3、浮点半带滤波器滤波后的结果 图 3时域输入信号 05001000150020002500300035004000-4-3-2-101234x 104输 入图 4浮点滤波器 2 倍过采样的频谱分析及滤波结果 2.2、

21、半带滤波器定点系数的参数特性:由于系统要在 FPGA中进行实现,所以内插滤波器,包括半带滤波器、FIR 滤波器、CIC 滤波器均采用定点计算。正如上文所示半带滤波器输入和输出精度均为 16 比特,中间乘法结果和累加结果为 20比特精度。所以要跟以上的系统要求,仿真出以上定点运算后的半带滤波器输出结果。2.2.1、半带滤波器的定点系数 浮点转定点系数量化二进制数一文中已经得出浮点系数量化后的结果,半带滤波器是系数对称的,并且有一半的系数为 0,需要量化的系数有 10 个。量化滤波器系数的过程为:滤波器系数用小数二进制表示后,截取高 15 位后,乘以 215,然后用16bit 的二进制数表示,16

22、 位二进制数最高位为 0,低 15位即是截取小数二进制的高15 位。此过程相当于滤波器的系数均取正数,进行小数二进制表示,截取高 15位后,扩大 215 倍,即左移 15 位。得到 10个非零正系数的量化结果,用 16bit 二进制数表示为:b1=0000000000100101=37 b2=0000000001011010=90 b3=0000000010111101=189 b4=0000000101011111=351 b5=0000001001100001=609 b6=0000001111111010=1018 b7=0000011010111011=1723 b8=00001100

23、10110000=3248 b9=0010100001110000=10352=010*其中,b2、b4、b6、b8均表示的是负数系数。正确的 16位二进制原码表示方法为:b1=h0=0000000000100101=37 b2=h2=1000000001011010=-90 b3=h4=0000000010111101=189 b4=h6=1000000101011111=-351 b5=h8=0000001001100001=609 b6=h10=1000001111111010=-1018 b7=h12=0000011010111011=1723 b8=h14=1000110010110

24、000=-3248 b9=h16=0010100001110000=10352=010*所以得到定点半袋滤波器的参数为:=37,0,-90,0,189,0,-351,0,609,0,-1018,0,1723,0,-3248,0,10352,16384,10352,0,-3248,0,1723,0,-1018,0,609,0,-351,0,189,0,-90,0,37 根据卷积公式,yn=,但是通过以上二进表达制表示后的滤波器的系数,有一半为 0,而且系数是关于h17。最终得到半带滤波器输出 yn的式:yn=h0*+h2*+h4*+h6*+h8*+h10*+h12*+h14*+h16*+h17*

25、xn-17 其中乘法运算系数最大的是 h17=16384,其次是 h16=10352。正如上面所示的卷积公式,系统进行滤波器要做 10次乘法运算。所以按输入最大化的情况,乘法最大的值为:Max(mult)=h16*两个输入的最大值,分别为 16位:0111 1111 1111 1111 Max(plus)=xn-16+xn-19+1=0 1111 1111 1111 1110 h16=0010 1000 0111 0000 所以最大的乘法输出结果为 31位的二进制数,即是:Max(mult)=h16*Max(plus)=010 1000 0110 1111 1010 1111 0010 000

26、0 截取 31位 2 进制数的高 20位表示,这就舍去了后面的低 11位二进制数,相当于除以了 211,右移了 11 位。其他的乘法运算结果都要右移 11位,也就是舍去运算结果后面的低 11位。此过程相当于,乘法计算后得到的结果总体除以了 211,右移了11 位。对于先进行的系数累加也要用 20位的二进制数表示,不过这没有任何影响。其他的系数如果按正数算得话,其中 h17除以 2,把其他系数累加得到的 h结果是:h=0011 1100 0110 0001 可以看出 h h16,所以最后的乘累加结果不会超过:(h+h)*Max(plus)=0110 0100 1101 0000 0011 011

27、0 0101 1110 乘累加后结果为 32 位二进制数,要用 20位的二进制数表示,要在前面乘法运算后右移 11位的基础上再右移 1 位,即再除以 2。最后得到 20位的乘累加结果。但是要16bit 的输出,所以截取高 16 位,即右移 4 位。得出最后的 16bit 的结果。开始时,我们对系数左移 15位,在中间的计算过程中,我们对计算结果共右移 16位。所以到最后输出的时候,要想得到真实的定点结算结果还需要左移 1 位,即输出结果乘以 2。Matlab 设计程序:%定点型半袋滤波器的归一化幅频特性曲线 b=37,0,-90,0,189,0,-351,0,609,0,-1018,0,172

28、3,0,-3248,0,10352,16384.10352,0,-3248,0,1723,0,-1018,0,609,0,-351,0,189,0,-90,0,37;%b是 35 阶定点半带滤波器的系数 Hb,fb=freqz(b,1,N);%求定点半带滤波器的频响特性 假设是 N点得 DFT(这个也是不影响的)figure subplot(2,1,1),plot(fb/pi,20*log10(abs(Hb)/max(abs(Hb);%对定点半带半带滤波器的频率归一化,但是振幅是真实振幅 xlabel(归一化频率),ylabel(振幅),title(定点半带滤波器的归一化幅频特性曲线),gri

29、d on;%定点滤波器滤波后的 2 倍内插信号的输出 m1=1:M+34;m2=1:M;x3=zeros(1,M+34);y3=zeros(1,M+34);yb=zeros(1,M);for(ii=1:2*N)x3(ii+34)=x2(ii);%把产生的随机数右移 34 个采样点 便于下面计算 end for(n3=35:M+34)y3(n3)=0 for nn=1:2:(length(b)-1)/2 y3(n3)=y3(n3)+fix(2(-11)*b(nn)*(x3(n3-nn+1)+x3(n3-length(b)+nn);end y3(n3)=fix(2(-1)*(y3(n3)+fix(

30、2(-11)*b(1+(length(b)-1)/2)*x3(n3-(length(b)-1)/2);%根据乘法器和乘累加二进制位数的要求 计算出卷积运算后的结果 end for(iii=1:M)yb(iii)=fix(2(-4)*y3(iii+34);%左移 34 个采样点 输出 16位的卷积运算结果 end yb=2*yb;%真实正确的输出 Ybk=fft(yb,M);magb=abs(Ybk);f4=m2*Fs/M;subplot(2,1,2),plot(f4,magb*2/M);xlabel(频率/Hz),ylabel(振幅),title(定点型半带滤波器滤波后后信号的幅频特性曲线),

31、grid on;figure stem(m,yb);title(定点滤波器输出)grid on;2.2.2、定点半带滤波器滤波后的结果:图 5 浮点半带滤波器时域输出 图 6 定点滤波器 2 倍过采样的频谱分析及滤波结果 2.2.3 结论 通过以上分析论证,得出最终得信噪比为 75db,已达到系统的要求。三、FIR 滤波器的误差分析 050010001500200025003000350040004500-3-2-10123x 104定 点 滤 波 器 输 出00.10.20.30.40.50.60.70.80.91-150-100-500归 一 化 频 率振幅定 点 半 带 滤 波 器 的

32、归 一 化 幅 频 特 性 曲 线02468101214x 105050010001500频 率/Hz振幅定 点 型 半 带 滤 波 器 滤 波 后 后 信 号 的 幅 频 特 性 曲 线 3.1、FIR 滤波器浮点系数的参数特性 FIR 滤波器采用 16 阶,其系数如下表所示:-1.5619827730160107e-018 -5.2391810630145275e-003 4.1925742052049851e-018 2.3211101786365075e-002 -1.0543383717858071e-017 -7.6105845748673545e-002 1.6894193230

33、511156e-017 3.0769877873674434e-001 5.0087029257715721e-001 3.0769877873674434e-001 1.6894193230511156e-017 -7.6105845748673545e-002 -1.0543383717858071e-017 2.3211101786365075e-002 4.1925742052049851e-018 -5.2391810630145275e-003 -1.5619827730160107e-018 FIR 滤波器的频率响应如下图所示:图 7 16阶 FIR 滤波器频率响应 00.10.20.30.40.50.60.70.80.9-70-60-50-40-30-20-100Normalized Frequency(rad/sample)Magnitude(dB)Magnitude(d

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1