基于SOPC实现的数字信号处理实验.ppt

上传人:牧羊曲112 文档编号:6559768 上传时间:2023-11-12 格式:PPT 页数:87 大小:4.13MB
返回 下载 相关 举报
基于SOPC实现的数字信号处理实验.ppt_第1页
第1页 / 共87页
基于SOPC实现的数字信号处理实验.ppt_第2页
第2页 / 共87页
基于SOPC实现的数字信号处理实验.ppt_第3页
第3页 / 共87页
基于SOPC实现的数字信号处理实验.ppt_第4页
第4页 / 共87页
基于SOPC实现的数字信号处理实验.ppt_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《基于SOPC实现的数字信号处理实验.ppt》由会员分享,可在线阅读,更多相关《基于SOPC实现的数字信号处理实验.ppt(87页珍藏版)》请在三一办公上搜索。

1、1,Dr.Zhang JianpingShanghai University of Electric PowerShanghai,2000902009.5,第8章 基于SOPC实现的数字信号处理实验,2,8.1 开发环境Quartus 8.2 正弦信号发生器设计 8.3 快速傅里叶变换的实现 8.4 直接I型FIR数字滤波器设计 8.5 基于DA算法的FIR滤波器的设计 8.6 直接II型IIR数字滤波器设计 8.7 预先考虑算法并行IIR数字滤波器设计 8.8 SOPC在语音和图像中的应用,内容提要,3,一、实验目的二、实验原理三、实验步骤四、实验思考题五、实验报告要求,8.1 开发环境Qu

2、artus,4,熟悉SOPC设计流程熟悉利用Quartus的原理团输入方法设计简单组合电路学习加法器的设计,一、实验目的,5,本实验设计一个八位加法器,主要由两个四位加法器74283构成,加数A的低4位和高4位分别与两个加法器的A1-A4输入端连接。同样加数B的低4位和高4位分别与两个加法器的B1-B4输入端连接,即加法器间的进位可以串行实现,将低位加法器的进位输出cout与高位加法器的最低进位输入信号cin相接。由此加数A和B有各种不同的组合,从而实现加法器的功能。,二、实验原理,6,选择File New Project Wizard,新建一个工程。,(1)创建新的工程,三、实验步骤,7,选

3、择File New,在弹出的对话框中选中Block Diagram/Schematic File。,(2)原理图输入,三、实验步骤,8,(3)编译,选择Processing Start Compilation或者点击工具栏里的 对图形文件进行编译。,三、实验步骤,9,(4)仿真,三、实验步骤,10,选择Tools RTL Viewer项观看工程项目的RTL级电路。,(5)RTL级电路,三、实验步骤,11,选择Assignments Assignment Editor项,在编辑器窗的Category栏中选择Pin,锁定引脚。,(6)引脚锁定,三、实验步骤,12,执行Tools Programme

4、r命令,设置编程方式为USB-BlasterUSB-0编程方式,选择JTAG编程模式。执行Processing Start,实现设计电路到目标芯片的编程下载。然后在DE2开发板上通过扳动SW15SW0电平开关,组成加数A和加数B的不同组合,在红色发光二极管LEDR7LEDR0和LEDR8上观察A数和B数相加的和数与向高位的进位COUT的结果。,(7)编程下载及硬件验证,三、实验步骤,13,四、实验思考题若想用LED显示加法器的输出结果,原理图应该有那些地方需要修改?应该怎样设置引脚?五、实验报告要求1.写出Quartus II进行图形编辑输入方法的完整设计流程2.参考Quartus II的He

5、lp,详细说明Assignments菜单中的Settings对话框的功能;概述Assignments菜单中的Assignment Editor的功能,举例说明;3.简述设计步骤和调试过程,包括图形编辑文件,引脚功能的定义文件,仿真结果;4.简要回答思考题。,8.1 开发环境Quartus,14,8.2 正弦信号发生器设计,一、实验目的二、实验原理三、实验步骤四、实验思考题五、实验报告要求,15,熟悉SOPC设计流程熟悉利用Quartus的文本输入方法设计简单正弦信号发生器电路原理掌握嵌入式存储器的应用以及使用嵌入式逻辑分析仪进行测试的方法 学习宏功能模块实例化输入和简单程序的调试,一、实验目的

6、,16,顶层文件sinewave.vhd在FPGA中实现ROM地址信号发生器的由一个6位计数器,正弦数据存放在ROM中。数据ROM由LPM_ROM模块实现,其底层是FPGA中的M4K。地址发生器的时钟CLK的输入频率与每周期的波形数据点数以及D/A输出频率的关系是。,二、实验原理,17,创建工程,选择目标芯片,采用文本输入方法,编辑输入设计顶层文件sinewave.vhd。,(1)创建新的工程,三、实验步骤,18,ROM初始化数据文件有两种:Memory Initialization File(.mif)格式和Hexadecimal(Intel-Format)File(.hex)格式。,(2)

7、定制ROM初始化数据文件,三、实验步骤,19,Tools-Mega Wizard Plug-In Manager项,在产生的对话框的左栏中选择storage/LPM_ROM,再选择Cyclone器件和VHDL语言方式,最后输入ROM文件的存放路径。,(3)定制ROM元件,选择地址线数据位宽及地址锁存信号,三、实验步骤,20,指定路径上的数据初始化文件.hex,完成ROM定制,(3)定制ROM元件,三、实验步骤,21,(4)编译,三、实验步骤,22,(5)仿真及RTL级电路,仿真结果,RTL级电路,三、实验步骤,23,(6)引脚锁定和编程下载,三、实验步骤,24,步骤 1、创建SignalTap

8、 II(ToolsSignalTap II Logic analyzer)2、调入待测信号(双击Node Finder窗口,添加观测信号)3、参数设置(时钟信号、采样深度、触发条件、触发信号和触发方式)4、SignalTap II文件存盘(File Save As)5、编译下载(再次启动全程编译)6、启动SignalTap II(Instance Manager栏中点击单步或连续运行按钮),(7)使用嵌入式逻辑分析仪进行实时测试,三、实验步骤,25,SignalTap II信号观察窗口,(8)测试结果,三、实验步骤,26,编辑波形数据,查看模拟输出结果,(8)测试结果,三、实验步骤,27,分析

9、SignalTap II采样得到如图所示的波形图的原因。,四、实验思考题,28,1.写出Quartus II进行文本输入方法的完整设计流程2.简述定制LMP功能模块的基本过程3.写出结论和心得体会4.简要回答思考题,五、实验报告要求,29,8.3 快速傅里叶变换的实现,一、实验目的二、实验原理三、实验方案四、实验思考题五、实验报告要求,30,了解基2 FFT实现原理;掌握用文本输入法进行旋转因子和蝶形处理器的设计;学习使用Quartus II实现FFT的基本方法与步骤。,一、实验目的,31,本实验采用按时间抽取(decimation in time)的基2快速傅立叶算法(基2DIT-FFT)。

10、基2 FFT蝶形处理器的实现需要一个复数加法器、一个复数减法器和一个旋转因子乘法器。,二、实验原理,32,旋转因子乘法器的实现旋转因子的乘法器通常由4次实数乘法和6次实数加/减法运算实现,但经过运算的简化,可以只用3次实数乘法和3次实数加/减法运算实现复数乘法器。,三、实验方案,33,设复数旋转因子乘法R+jI=(X+jY)(C+jS),因为C和S可以预先计算的,并可以储存在一个表中。所以可以储存下面的三个系数:C、C+S、C-S有了这3个预先计算的因子,可以首先计算:E=X-Y和Z=C*E=C*(X-Y)然后用:R=(C-S)*Y+ZI=(C+S)*X-Z计算最后的乘积。,旋转因子算法,34

11、,蝶形处理单元的实现蝶形运算单元是FFT处理器的基本单元,用来计算两点的FFT。由于蝶形运算单元是由一个复数加法器、一个复数减法器和一个旋转因子复数乘法器组成,基-2FFT蝶形运算单元的VHDL代码如下。从代码中可以看出,蝶形处理器是由一个加法器、一个减法器和一个实例化为组件的旋转因子乘法器实现的。,35,-基2-FFT蝶形运算单元的VHDL代码实现LIBRARY Lpm;USE;LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE;PACKAGE mul_Package IS-User defined componentsCOMPONENT multipl

12、ierGENERIC(W2:INTEGER:=17;-multiplier bit width W1:INTEGER:=9;-Bit width c+s sum W:INTEGER:=8);-Input bit widthPORT(clk:IN STD_LOGIC;x_in,y_in,c_in:IN STD_LOGIC_VECTOR(W-1 downto 0);-inputscas_in,css_in:IN STD_LOGIC_VECTOR(W1-1 downto 0);-inputsr_out,i_out:OUT STD_LOGIC_VECTOR(W-1 downto 0);-results

13、END COMPONENT;END mul_package;LIBRARY work;USE;LIBRARY lpm;USE;LIBRARY ieee;,旋转因子VHDL代码,36,USE ieee.std_logic_1164.ALL;USE;ENTITY bf ISGENERIC(W2:INTEGER:=17;-multiplier bit width W1:INTEGER:=9;-Bit width c+s sum W:INTEGER:=8);-Input bit widthPORT(clk:IN STD_LOGIC;Are_in,Aim_in,Bre_in,Bim_in,c_in:IN

14、 STD_LOGIC_VECTOR(W-1 downto 0);cas_in,css_in:IN STD_LOGIC_VECTOR(W1-1 downto 0);Dre_out,Dim_out,Ere_out,Eim_out:OUT STD_LOGIC_VECTOR(W-1 downto 0);END bf;Dim_out=Dim;Ere_out=Ere;Eim_out=Eim;END PROCESS;END a;ARCHITECTURE a OF bf ISSIGNAL r,i:STD_LOGIC_VECTOR(W-1 DOWNTO 0);SIGNAL Dre,Dim,Ere,Eim:STD

15、_LOGIC_VECTOR(W-1 DOWNTO 0);BEGIN multiplier_1:multiplier-r+ji,37,GENERIC MAP(W2=W2,W1=W1,W=W)PORT MAP(clk=clk,x_in=Bre_in,y_in=Bim_in,c_in=c_in,cas_in=cas_in,css_in=css_in,r_out=r,i_out=i);sub_1:lpm_add_subGENERIC MAP(LPM_WIDTH=W,LPM_DIRECTION=SUB,LPM_REPRESENTATION=SIGNED)PORT MAP(dataa=Are_in,dat

16、ab=r,result=Dre);sub_2:lpm_add_subGENERIC MAP(LPM_WIDTH=W,LPM_DIRECTION=SUB,LPM_REPRESENTATION=SIGNED)PORT MAP(dataa=Aim_in,datab=i,result=Dim);add_1:lpm_add_subGENERIC MAP(LPM_WIDTH=W,LPM_DIRECTION=ADD,LPM_REPRESENTATION=SIGNED)PORT MAP(dataa=Are_in,datab=r,result=Ere);add_2:lpm_add_subGENERIC MAP(

17、LPM_WIDTH=W,LPM_DIRECTION=ADD,LPM_REPRESENTATION=SIGNED)PORT MAP(dataa=Aim_in,datab=i,result=Eim);PROCESSBEGINWAIT UNTIL clkevent and clk=1;Dre_out=Dre;,38,旋转因子仿真结果,计算仿真结果,39,计算仿真结果,基2FFT的仿真结果,40,利用Matlab对本实验的结果验证在Matlab中输入:p=20+30i,50+45i;y=fft2(p)disp(y)计算结果是:y=70.0000+75.0000i-30.0000-15.0000i即对输

18、入A=20+j30、B=50+j45进行FFT结果为40+j 60,与仿真结果20+j 30对比,结果是相符的。,结果验证,41,四、实验思考题分析Matlab结果与QuartusII仿真结果为什么不同?五、实验报告要求简述实验原理及关键步骤。总结实验所得主要结论。总结调试时遇到的问题以及解决方案。简要回答实验思考题。,8.3 快速傅里叶变换的实现,42,8.4 直接I型FIR数字滤波器设计,一、实验目的二、实验原理三、实验方案四、实验思考题五、实验报告要求,43,了解FIR数字滤波器的基本原理;熟悉DSP Builder/Matlab 的SOPC设计流程;学习使用Matlab/Simulin

19、k、ModelSim以及Quartus II设计仿真FIR的基本方法与步骤。,一、实验目的,44,二、实验原理,直接I型5阶FIR滤波器信号流图,45,建立Simulink模型,三、实验方案,46,系统级仿真,三、实验方案,可以看出设计的低通滤波器的滤波效果非常好,47,ModelSim波形仿真,三、实验方案,使用ModelSim进行RTL仿真,48,使用ModelSim进行RTL仿真,三、实验方案,ModelSim模拟输出结果,49,使用Quatus II进行时序仿真,三、实验方案,Quatus II时序仿真结果,50,1.使用ModelSim进行功能仿真时,对于输入输出信号,在属性对话框应

20、设置怎样的参数参能较好的观察模拟波形?2.利用DSP Builder安装路径DSP Builderdesign examples demos Filters DA32中给出的32阶固定系数FIR滤波器文件AltrFir32.mdl,利用各种信号源进行仿真测试,并对测试结果进行分析。(注:DAFIRDistributed Arithmetic FIR),四、实验思考题,51,1.说明Matlab、DSP Builder、ModelSim和Quartus II间的关系。2.说明手动流程中能完成那几个层次的方针,各有什么作用?3.根据以上实验要求和实验内容,记录并分析所以实验结果。,五、实验报告要求

21、,52,8.5 基于DA算法的FIR滤波器的设计,一、实验目的二、实验原理三、实验方案四、实验思考题五、实验报告要求,53,学习分布式算法;学习分布式算法应用于FIR滤波器设计;进一步掌握Quartus II进行仿真的基本方法与步骤。,一、实验目的,54,二、实验原理,分布式算法算法(distributed arithmetic,DA)是一项重要的FPGA技术,广泛应用与乘积和中。进一步假设系数cn是已知常数,xn是变量。无符号DA系统架设变量xn的表达式为:xn表示x的第n次采样,内积y可以表示为:,55,DA算法的主要特点是:巧妙地利用ROM查找表将固定系数的乘-累加(multiply-a

22、ccumulate,MAC)运算转化为查表操作,运算速度不随系数和输入数据位数的增加而降低,且相对直接实现乘法器而言在硬件规模上得到了极大的改善。分布式算法 FIR实现,二、实验原理,56,对顶层文件VHDL代码进行编译、仿真,结果如下:,三、实验方案,57,四、实验思考题考虑有符号的DA FIR滤波器的实现方法。五、实验报告要求根据以上实验原理和方案,掌握DA算法的应用;记录并分析所有试验结果,完成实验报告。,8.5 基于DA算法的FIR滤波器的设计,58,8.6 直接II型IIR数字滤波器设计,一、实验目的二、实验原理三、实验方案四、实验思考题五、实验报告要求,59,了解IIR数字滤波器的

23、基本原理;掌握基于DSP Builder的SOPC设计流程;学习使用Matlab/Simulink、ModelSim以及Quartus II设计仿真IIR的基本方法与步骤。,一、实验目的,60,二、实验原理,直接II型4阶IIR滤波器信号流图,61,建立Simulink模型,三、实验方案,62,建立Simulink模型,三、实验方案,63,系统级仿真,三、实验方案,设计的IIR滤波器的滤波效果非常好,64,ModelSim波形仿真,三、实验方案,使用ModelSim进行RTL仿真,65,使用ModelSim进行RTL仿真,三、实验方案,ModelSim模拟输出,66,使用Quatus II进行

24、时序仿真,三、实验方案,Quatus II时序仿真结果,67,四、实验思考题简述FIR与IIR滤波器的区别。五、实验报告要求完成一个4阶级联型IIR滤波器的设计;根据设计原理和方案,设置模型中各模块参数;记录并分析所有试验结果,完成实验报告。,8.6 直接II型的IIR滤波器的设计,68,8.7 预先考虑算法并行IIR数字滤波器设计,一、实验目的二、实验原理三、实验方案四、实验思考题五、实验报告要求,69,了解有耗积分器的基本原理;掌握IIR系统的差分方程;学习预先考虑算法并行IIR滤波器的设计方法。,一、实验目的,70,二、实验原理,有耗积分器,预先考虑算法的有耗积分器,71,二、实验原理,

25、两通道并行IIR滤波器,72,预先考虑算法的并行IIR滤波器实现的顶层文件VHDL代码,进行综合编译,建立仿真文件,设置仿真参数,查看仿真结果,三、实验方案,并行IIR滤波器对脉冲1000响应的VHDL仿真,73,三、实验方案,并行IIR滤波器对阶跃100响应的VHDL仿真,74,应用Matlab/DSP Builder集合Simulink其他库中的元件,建立有耗积分器的模型。,三、实验方案,75,分别选择脉冲和阶跃激励,设置与实验方案对应的参数,进行仿真,查看系统级仿真结果。,三、实验方案,脉冲响应 阶跃响应,76,四、实验思考题简述并行实现IIR滤波器的优点与缺点。五、实验报告要求根据以上

26、原理和方案,验证有耗积分器和预先考虑的有耗积分器算法速度的差别;记录并分析所有试验结果,完成实验报告。,8.7 预先考虑算法并行IIR数字滤波器设计,77,8.8 SOPC在语音和图像中的应用,一、实验目的二、实验原理三、实验方案四、实验思考题五、实验报告要求,78,根据电子琴的实现过程了解SOPC在语音和图像领域的应用;熟悉DE2开发板的各个模块的作用;,一、实验目的,79,二、实验原理,电子琴的模型,80,该模型有DEMO_SOUND,PS2_KEYBOARD,STAFF,和TONE_GENERATOR四个主要模块,DEMO_SOUND模块存储示例音乐;PS2_KEYBOARD是设计者通过

27、PS/2键盘输入;STAFF模块显示出按键按下时VGA监视器所显示的键盘表;TONE_GENERATOR是音乐合成器SOC的核心。,二、实验原理,81,安装DE2示例首先将文件夹DE2_demonstrations拷贝到你的工作目录下,然后打开DE2_demonstrations文件夹的fixpaths子文件夹,运行DE2_fixpaths.bat 批处理文件,接着选择DE2_demonstrations文件夹的安放路径,最后fixpaths完毕,按任意键退出,即安装成功。,三、实验方案,82,DE2出厂配置DE2开发板出厂时的默认配置包含了板子的基本特征。配置的Verilog源代码在DE2_

28、Default文件夹,其中顶层文件DE2_Default.v可以作为本工程的一个模块,因为它定义了所有Cyclone II FPGA上的用户访问引脚的端口。,三、实验方案,83,3.DE2开发板外接电路,三、实验方案,84,4.编译下载建立工程,添加所需的.VHD文件,然后对顶层文件进行全程编译,仿真并查看仿真结果,最后把DE2_Synthesizer.sof文件下载到开发板上,按DE2 开发板上的KEY1键开始示例音乐,按 DE2 开发板上的KEY0 键重置电路。,三、实验方案,85,开关和按钮的用途,三、实验方案,86,四、实验思考题根据DE2开发板提供的资源,和个人兴趣爱好开发相关音频视频功能。五、实验报告要求根据实验原理和实验步骤开发电子琴功能,并用键盘键入自己喜爱的曲目;写出结论和心得体会;完成实验报告。,8.8 SOPC在语音和图像中的应用,87,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号