DSP

System Generator学习笔记(六)

2019-07-13 21:02发布

基于System Generator的高通滤波器设计

本次学习借助system generator和FDATool设计高通滤波器的方法和流程。 设计模型如图1所示,包含两路,一个是simulink的仿真输出,另外一个则是通过FPGA实现的定点数仿真输出。图中的“subststem”就是设计好的FPGA模型,如图2所示。
图1 设计模型
图1 设计模型
图2 subsystem
图2 Subsystem设计模型 MATLAB自带有一个滤波器设计工具,FDATool,可以通过在GUI界面填写设计指标,即可完成滤波器的设计工作。这种方式简单而高效。本次设计的高通滤波器设计指标如图3所示。
图3 FDATool设计指标
图3 FDATool设计指标 为了实现FDATool自动设计的滤波器参数直接传递给FPGA模型,需要在FPGA IP核FIR Compiler 6.3中做图4中所示的定义。通过“xlfda_numerator(‘FDATool’)”。
图4 FIR Compiler 6.3设计参数
图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定点数的计算结果
高通滤波器的设计到此全部结束,其他类型的滤波器可以采用类似的流程和方式来进行设计和验证。