System Generator学习笔记(六)

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

本次学习借助system generator和FDATool设计高通滤波器的方法和流程。

设计模型如图1所示,包含两路,一个是simulink的仿真输出,另外一个则是通过FPGA实现的定点数仿真输出。图中的“subststem”就是设计好的FPGA模型,如图2所示。
System Generator学习笔记(六)_第1张图片
图1 设计模型
System Generator学习笔记(六)_第2张图片
图2 Subsystem设计模型

MATLAB自带有一个滤波器设计工具,FDATool,可以通过在GUI界面填写设计指标,即可完成滤波器的设计工作。这种方式简单而高效。本次设计的高通滤波器设计指标如图3所示。
System Generator学习笔记(六)_第3张图片
图3 FDATool设计指标

为了实现FDATool自动设计的滤波器参数直接传递给FPGA模型,需要在FPGA IP核FIR Compiler 6.3中做图4中所示的定义。通过“xlfda_numerator(‘FDATool’)”。
System Generator学习笔记(六)_第4张图片
图4 FIR Compiler 6.3 IP核中的参数传递

除了需要在FIR Compiler 6.3 IP核中设置参数传递,还需要对滤波器设计的实现方式进行设定,具体如图5所示。
System Generator学习笔记(六)_第5张图片
图5 IP核实现方式设置

值得注意的是需要设定量化方式,此处设置不对将会导致整个设计无法正确工作。由于本次设计采用定点数,量化设置为“Maximize Dynamic Range”

上述参数设置完毕之后,还需要设置采样速率。由于本次设计的高通滤波器的采样频率为48000Hz,因此需要把随机信号发生器的采样速率也设置为48000Hz,如图6所示。
System Generator学习笔记(六)_第6张图片
图6 随机信号发生器的采样速率设定

同样,Gateway IN也需要设定采样速率,如图7所示。
System Generator学习笔记(六)_第7张图片
图7 Gateway IN设置采样速率

最后一步,设置system generator中的“simulink system period”,如图8所示,请注意这个参数与采样速率的关系。
System Generator学习笔记(六)_第8张图片
图8 设置Simulink System Period

最后最后一步,设置频谱分析工具,为了与FDATool中显示的设计的结果保持一次,频谱工具可以按照图9所示的方式进行设置。
System Generator学习笔记(六)_第9张图片
图9 频谱分析工具的设置


所有的参数设计和设置完毕之后,设置仿真时间为“inf”,仿真结果如图10和11所示,其中图10为simulink的仿真结果,而图11则通过FPGA定点数计算之后的仿真结果。
System Generator学习笔记(六)_第10张图片
图10 Simulink的仿真结果

System Generator学习笔记(六)_第11张图片
图11 FPGA定点数的计算结果


高通滤波器的设计到此全部结束,其他类型的滤波器可以采用类似的流程和方式来进行设计和验证。

你可能感兴趣的:(System,Generator,学习)