System Generator学习笔记(六)
2015-07-30 17:09
357 查看
基于System Generator的高通滤波器设计
本次学习借助system generator和FDATool设计高通滤波器的方法和流程。设计模型如图1所示,包含两路,一个是simulink的仿真输出,另外一个则是通过FPGA实现的定点数仿真输出。图中的“subststem”就是设计好的FPGA模型,如图2所示。
图1 设计模型
图2 Subsystem设计模型
MATLAB自带有一个滤波器设计工具,FDATool,可以通过在GUI界面填写设计指标,即可完成滤波器的设计工作。这种方式简单而高效。本次设计的高通滤波器设计指标如图3所示。
图3 FDATool设计指标
为了实现FDATool自动设计的滤波器参数直接传递给FPGA模型,需要在FPGA IP核FIR Compiler 6.3中做图4中所示的定义。通过“xlfda_numerator(‘FDATool’)”。
图4 FIR Compiler 6.3 IP核中的参数传递
除了需要在FIR Compiler 6.3 IP核中设置参数传递,还需要对滤波器设计的实现方式进行设定,具体如图5所示。
图5 IP核实现方式设置
值得注意的是需要设定量化方式,此处设置不对将会导致整个设计无法正确工作。由于本次设计采用定点数,量化设置为“Maximize Dynamic Range”
上述参数设置完毕之后,还需要设置采样速率。由于本次设计的高通滤波器的采样频率为48000Hz,因此需要把随机信号发生器的采样速率也设置为48000Hz,如图6所示。
图6 随机信号发生器的采样速率设定
同样,Gateway IN也需要设定采样速率,如图7所示。
图7 Gateway IN设置采样速率
最后一步,设置system generator中的“simulink system period”,如图8所示,请注意这个参数与采样速率的关系。
图8 设置Simulink System Period
最后最后一步,设置频谱分析工具,为了与FDATool中显示的设计的结果保持一次,频谱工具可以按照图9所示的方式进行设置。
图9 频谱分析工具的设置
所有的参数设计和设置完毕之后,设置仿真时间为“inf”,仿真结果如图10和11所示,其中图10为simulink的仿真结果,而图11则通过FPGA定点数计算之后的仿真结果。
图10 Simulink的仿真结果
图11 FPGA定点数的计算结果
高通滤波器的设计到此全部结束,其他类型的滤波器可以采用类似的流程和方式来进行设计和验证。
相关文章推荐
- 欢迎使用CSDN-markdown编辑器
- 移植 expect(openwrt X86主机)
- Android中线程的使用
- jQuery formValidator手册
- Java回顾之Spring基础
- hdoj 2141 Can you find it?【二分查找+暴力】
- leetcode 070 —— Climbing Stairs
- Kaggle练习赛-digit recognizer-kNN解法全部实现步骤
- RecyclerView Bug:IndexOutOfBoundsException: Inconsistency detected. Invalid item position 解决方案
- 实习笔记
- 设计模式之 备忘录模式
- CURL C++网络延时或者最低网速下载设置
- spi协议及工作原理分析(转载)
- Java时间格式验证
- 2015.7.29 第四堂 protocol协议
- 9.1数组与字符串(三)——将字符串中的空格全部替换为“%20”
- Oracle提交和回滚处理
- nyoj 8一种排序
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- gdb 调试