欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年数字信号处理FPGA实现课程分析方案.docx

    • 资源ID:26188775       资源大小:568.46KB        全文页数:21页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年数字信号处理FPGA实现课程分析方案.docx

    精选学习资料 - - - - - - - - - 告数字信号处理的 FPGA 实现课程报<基于 DA 算法的 FIR 滤波器设计与分析)班级: 信息工程一班姓名: XXX 学号: XXXX 1 / 13 名师归纳总结 - - - - - - -第 1 页,共 13 页精选学习资料 - - - - - - - - - 一此次报告所需滤波器的基本概念FIR 滤波器可以在幅度特性随便设计的同时,能保证精确,严格的线形相位的特性;此外, FIR 滤波器的单位冲激响应 hn>是有限长序列,它的 Z 变换在整个有限 Z 平面上收敛,因此 FIR 滤波器确定是稳固滤波器;同时,FIR 滤波器也没有因果性困难,由于任何一个非因果的有限长序列,只要通过肯定的延时,总是可以转换为因果序列,因此总可以用一个因果系统来实现;FIR 滤波器仍可以采纳快速傅立叶变换的方法过滤信号,从而大大提高了运算效率;所有这些特点使 FIR 滤波器得到越来越广泛的应用;二.FIR 数字滤波器的设计思路1>系统的单位冲击响应hn>在有限个 n 值处不为零;2>系统函数在 >0 处收敛,极点全部在 Z=0 处 稳固系统 >;3>结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中 例如频率抽样结构 >也包含有反馈的递归部分;有限冲击响应 FIR>的优点:1>既具有严格的线性相位,又具有任意的幅度;2>IR 滤波器的单位抽样响应是有限长的,因而滤波器性能稳固;3>只要经过肯定的延时,任何非因果有限长序列都能变成因果的有限长序列,因而能用因果系统来实现;4>FIR 滤波器由于单位冲击响应是有限长的,因而可用快速傅里叶变换FFT>算法来实现过滤信号,可大大提高运算效率;三 FIR 数字滤波器的 VHDL 实现1.采纳分布式算法实现 FIR 数字滤波器采纳分布式算法实现 5 阶 FIR 数字滤波器,采纳状态机实现分布式算法的状态转移,分为 s0 和 s1 状态;使用 FPGA 的芯片 EPM240F10015 来实现其相应的DA 表为:LIBRARY ieee;2 / 13 名师归纳总结 - - - - - - -第 2 页,共 13 页精选学习资料 - - - - - - - - - USE ieee.std_logic_1164.ALL;USE ieee.std_logic_arith.ALL;ENTITY case5p IS PORT table_in : IN STD_LOGIC_VECTOR4 DOWNTO 0>; table_out : OUTINTEGERRANGE 0 TO 25>;END case5p;ARCHITECTURE LEs OF case5p IS BEGIN - This is the DA CASE table for - the 5 coefficients: 1, 3, 5,7,9 - automatically generated with dagen.exe - DO NOT EDIT. PROCESS table_in> BEGIN CASE table_in IS WHEN "00000" => table_out <= 0; WHEN "00001" => table_out <= 1; WHEN "00010" => table_out <= 3; WHEN "00011" => table_out <= 4; WHEN "00100" => table_out <= 5; WHEN "00101" => table_out <= 6; WHEN "00110" => table_out <= 8; WHEN "00111" => table_out <= 9; WHEN "01000" => table_out <= 7; WHEN "01001" => table_out <= 8; WHEN "01010" => table_out <= 10; WHEN "01011" => table_out <= 11; WHEN "01100" => table_out <= 12; WHEN "01101" => table_out <= 13; WHEN "01110" => table_out <= 15; WHEN "01111" => table_out <= 16; WHEN "10000" => table_out <= 9;3 / 13 名师归纳总结 - - - - - - -第 3 页,共 13 页精选学习资料 - - - - - - - - - WHEN "10001" => table_out <= 10; WHEN "10010" => table_out <= 12; WHEN "10011" => table_out <= 13; WHEN "10100" => table_out <= 14; WHEN "10101" => table_out <= 15; WHEN "10110" => table_out <= 17; WHEN "10111" => table_out <= 18; WHEN "11000" => table_out <= 16; WHEN "11001" => table_out <= 17; WHEN "11010" => table_out <= 19; WHEN "11011" => table_out <= 20; WHEN "11100" => table_out <= 21; WHEN "11101" => table_out <= 22; WHEN "11110" => table_out <= 24; WHEN "11111" => table_out <= 25; WHEN OTHERS => table_out <= 0; END CASE ; END PROCESS;END LEs;系统程序为:LIBRARY ieee; - Using predefined packages USE ieee.std_logic_1164.ALL;USE ieee.std_logic_arith.ALL;ENTITY dafsm IS -> Interface PORT clk, reset : IN STD_LOGIC; x0_in, x1_in, x2_in, x3_in,x4_in : IN STD_LOGIC_VECTOR4 DOWNTO 0>; lut : OUTINTEGERRANGE 0 TO 25; y : OUTINTEGERRANGE 0 TO 1024 >;END dafsm;ARCHITECTURE fpga OF dafsm IS COMPONENT case5p - User-defined component 4 / 13 名师归纳总结 - - - - - - -第 4 页,共 13 页精选学习资料 - - - - - - - - - PORT table_in : IN STD_LOGIC_VECTOR4 DOWNTO 0>; table_out : OUTINTEGERRANGE 0 TO 25>; END COMPONENT TYPE STATE_TYPE IS s0, s1> ; SIGNAL state : STATE_TYPE; SIGNAL x0, x1, x2,x3,x4, table_in : STD_LOGIC_VECTOR4 DOWNTO 0>; SIGNAL table_out : INTEGERRANGE 0 TO 31 ;BEGIN table_in0> <= x00>; table_in1> <= x10>; table_in2> <= x20>; table_in3> <= x30> table_in4> <= x40> PROCESS reset, clk> -> DA in behavioral style VARIABLE p : INTEGERRANGE 0 TO 63 VARIABLE count : INTEGER RANGE 0 TO 5 BEGIN ;- temp. register ; - counts shifts IF reset = '1' THEN - asynchronous reset state <= s0; ELSIF rising_edgeclk> THEN CASE state IS WHEN s0 => - Initialization step state <= s1; count := 0; p := 0; x0 <= x0_in x1 <= x1_in; x2 <= x2_in; x3 <= x3_in; x4 <= x4_in;5 / 13 名师归纳总结 - - - - - - -第 5 页,共 13 页精选学习资料 - - - - - - - - - WHEN s1 => - Processing step IF count = 5 THEN - Is sum of product done . y <= p; - Output of result to y and state <= s0; - start next sum of product ELSE p := p/2 + table_out *16; FOR k IN 0 TO 3 LOOP - Shift bits x0k> <= x0k+1>; x1k> <= x1k+1>; x2k> <= x2k+1>; x3k> <= x3k+1>; x4k> <= x4k+1>; END LOOP; count := count + 1 state <= s1; END IF; END CASE ; END IF; END PROCESS; LC_Table0: case5p PORT MAPtable_in => table_in, table_out => table_out>; lut <= table_out; - Extra test signal END fpga;如图 f 给出了对应序列 2 ,3,2, 6,6 的仿真结果此仿真结果给出了clk ,reset 等的信号;以及 5 个输入信号:6 / 13 名师归纳总结 - - - - - - -第 6 页,共 13 页精选学习资料 - - - - - - - - - <f )由上图可以看出在程序中通过 case5p来定义分布式算法表,合成器可以使用逻 辑单元来实现 lut,也由此可以看出其 registered performance 为 140.35MHz;其相应生成的 FIR 滤波器的 RTL viewer 为:7 / 13 名师归纳总结 - - - - - - -第 7 页,共 13 页精选学习资料 - - - - - - - - - 2.采纳直接型实现 5 阶 FIR 滤波器如分布式一样,直接型算法的时候也采纳为:EPM240F10015,其相应的系统代码PACKAGE eight_bit_int IS - User-defined types SUBTYPE BYTE IS INTEGERRANGE -128 TO 127 ; TYPE ARRAY_BYTE IS ARRAY 0 TO 4> OF BYTE ;END eight_bit_int ;LIBRARY work ;USE work.eight_bit_int.ALL ;LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_arith.ALL;ENTITY fir_srg IS -> Interface PORT clk : IN STD_LOGIC ; x : IN BYTE ; y : OUT BYTE> ;END fir_srg;ARCHITECTURE flex OF fir_srg IS SIGNAL tap : ARRAY_BYTE := 0,0,0,0,0> ; - Tapped delay line of bytes BEGIN p1: PROCESS -> Behavioral style BEGIN WAIT UNTIL clk = '1' ; - Compute output y with the filter coefficients weight. - The coefficients are 1 3 57 9. - Division for Altera VHDL is only allowed for - powers-of-two values. y <=tap0>+3*tap1>+5*tap2>+7*tap3>+9*tap4> ; FOR I IN 3 DOWNTO 1 LOOP tapI> <= tapI-1>; - Tapped delay line: shift one END LOOP; tap0> <= x; - Input in register 0 END PROCESS;END flex ;其对应脉冲 10 的滤波器脉冲响应y 的仿真结果如图 g:8 / 13 名师归纳总结 - - - - - - -第 8 页,共 13 页精选学习资料 - - - - - - - - - <g)也由此可以看出其 registered performance 为 64.52MHz;其相应生成的 FIR 滤波器的 RTL viewer 为:四. 基于 matlab 工具的滤波器系数运算:9 / 13 名师归纳总结 - - - - - - -第 9 页,共 13 页精选学习资料 - - - - - - - - - 其指标为:采样频率: 64.52MHz 归一化截止频率: 0.4MHz 类型:低通输入数据 Sn>宽度: 9位阶数: 5 阶输出数据 yn>宽度: 10 位Fdatool是 Matlab 自带的一个数字滤波器的设计分析软件,里面供应了丰富 的参数供调整 具体的参阅 Matlab 的教材 >,大大降低了数字滤波器的设计难度,同时又可以设计出高质量的滤波器;fdatool 虽然不是最好的滤波器设计软件,但是在 Matlab 洪亮的名号下,得到了广泛的使用;FIR Megacore是 Altera针对其主流 FPGA 推出的一款商业化的数字滤波器设计软件,可以直接生成HDL 代码,同时其结构针对Altera 自己的 FPGA 做了各种各样的优化;尽管fdatool 也可以生成可综合的HDL 代码,但是没有针对FPGA 的 M4K 、DSP Block 做出相应的优化,所以性能和FIR Megacore生成的 FIR 滤波器有相当的差距;然而, FIR Megacore的滤波器设计工具相当的简洁,只供应了窗函数 法,用户只能定义有限的几个参数;而其他的设计方法,比如矩形系数更好的 等纹波法就只能在 fdatool 里面找到; 所幸的是, FIR Megacore供应了滤波器的Coefficients 导入的选项,可以使用第三方工具生成的Coefficients;这使得我们能够用 FIR Megacore来实现 fdatool 生成的滤波器;在 matlab命令编辑窗口输入Fdatool 指令,敲击回车可以打开Filter Design & Analysis Tool 窗口,在该工具的帮忙下,我们可以完成 算工作;10 / 13 f.i.r.滤波器系数的计名师归纳总结 - - - - - - -第 10 页,共 13 页精选学习资料 - - - - - - - - - Filter Design & Analysis Tool 窗口Fdatool界面总共分两大部分,一部分是design filter,在界面的下半部分,用来设置滤波器的设计参数,另一部分就是特性区,在界面的上半部分,用来显示滤波器的各种特性;design filter 部分主要分为:ResponseType<响应类型)选项,包括 Lowpass<低通)、 Highpass<高通)、 Bandpass<带通)、 Bandstop<带阻)和特别的滤波器;依据本次作业要求,在该选项中挑选 Lowpass选项;Design Method<设计方法)选项,包括IIR 滤波器的 Butterworth<巴特沃思)法、 Chebyshev Type i<切比雪夫 i 型)法、 Chebyshev Type ii<切比雪夫 ii型) 法、 Elliptic< 椭圆滤波器)法等和FIR 滤波器的 Equiripple 法、 Least-squares<最小乘方)法、 Window<窗函数)法等多种方法;结合本次作业要求,挑选 FIR 滤波器的窗函数法进行设计;选定窗函数法后,会在右侧显现 Options区域,进行窗函数法相关参量的设置,依据作业要求挑选 为: 0.5;Kaiser 窗并设置 BetaFilter Order<滤波器阶数)选项,定义滤波器的阶数,包括 Specify order<指11 / 13 名师归纳总结 - - - - - - -第 11 页,共 13 页精选学习资料 - - - - - - - - - 定阶数)和 Minimum order<最小阶数);在Specify order中填入所要设计的滤波器的阶数 <n阶滤波器, specify ordern-1),假如挑选 Minimum order 就 matlab依据所挑选的滤波器类型自动使用最小阶数;本次作业要求设计 5 阶滤 波器,所以选定 Specify order并填入 4;Frenquency Specifications选项,可以具体定义频带的各参数,包括采样频率 Fs和频带的截止频率;它的具体选项由ResponseType选项和 Design Metho选项打算;我们要求的Lowpass<低通)滤波器只需要定义Fs、Fc;采纳窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所打算的,所以只需要定义通带截止频率,而不必定义阻带参数;Magnitude Specifications选项,可以定义幅值衰减的情形;采纳窗函数设计时,通带截止频率处的幅值衰减固定为;滤波类型为:直接型 FIR 6db,所以不必定义;通过点击 matlab 的 FDATool 可以看出 FIR 滤波器的幅频响应为:12 / 13 名师归纳总结 - - - - - - -第 12 页,共 13 页精选学习资料 - - - - - - - - - 相频响应与幅频响应的比较:由此图可以看出其时域与频域特性满意要求;五结论 以上理论分析和仿真结果说明,软硬件结合串行执行的DSP 算法相比, DA 算法具有明显的占用系统资源低和运行速度高的优点,是一种更为有效的 FIR 滤波器设计方法;基于DA 算法的数字信号处理设计具有DSP 算法所无可比拟的优势,在极大的提高了 FIR 数字滤波器的处理速度和数据吞吐才能的同时,又可以保证系统很小的 处理误差,是一种比较有用牢靠高效的设计方法;13 / 13 名师归纳总结 - - - - - - -第 13 页,共 13 页

    注意事项

    本文(2022年数字信号处理FPGA实现课程分析方案.docx)为本站会员(Q****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开