EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
FIR滤波器 $ v$ I( [5 U6 ~ G2 I0 X' D
下面介绍使用SysGen的FIR和FDATools设计FIR滤波器。 00001. FDATools模块用来定义滤波器的阶数和系数。 00002. FIR 模块用于Simulink 仿真和在FPGA内通过Vivado 实现设计,并且在实际的硬件上运行这个设计来验证其功能。一、FIR滤波器设计原理 下面是这个单通道、单数据率滤波器的设计指标: 00001. 采样率Fs=1.5MHz; 00002. Fstop1=270kHz; 00003. Fpass1=300kHz; 00004. Fpass2=450kHz; 00005. Fstop2=480kHz; 00006. 在通带双边带的衰减=54dB; 00007. 通带纹波 =1; 该设计使用了两种不同的源来仿真滤波器。 00001. Chrip模块,用来在0~750kHz之间进行扫描; 00002. 随机源生成器,输出均匀分布的随机信号,范围是0~1;因为它的范围有限,所以均匀分布是用来驱动定点滤波器的最好选择。 二、生成FIR滤波器的系数 打开System Generator ,打开Simulink, 新建一个设计。展开Xilinx Blockset, 选择DSP,将FDATools 元件添加到设计中。双击FDATools ,按照如下配置 2 X% D" }4 ~5 [ d+ k2 ~
选择File,Export,将名字为Num的滤波器系数导入到工作空间。 g* _- L- R" ~. ~" v ^
在Matlab命令窗口输入max(Num)和min(Num),确定滤波器的最大系数值和最小系数值,这些系数值决定了滤波器系数的宽度和二进制的小数点。 ; w) x$ t! g) i9 G' g
三、构建FIR滤波器模型 展开Xilinx Blockset,点击DSP,将FIR Compiler 7.2加入到设计。双击打开参数配置。 找到Xilinx Blockset,单击Basic Elements,将Gateway In 加入到设计。它的参数配置: 00001. Output Type : Fixed-point 00002. Number of bits:8 展开Simulink,点击Sources,找到Chirp Signal 加入到设计。双击,参数配置如下: 00001. Initial frequency(Hz):0.1 00002. Target time(secs):100 00003. Frequency at target time(Hz):75000 找到Simulink,展开Sources,将Random Number 加入到设计。双击,按如下参数配置: 00001. Mean:0 00002. Variance:1 00003. Sample time: 1 / 1500000 展开Simulink,找到Signal Routing,将Manual Switch 元件加入到设计。 找到DSP System Toolbox。找到Sinks,将Spectrum Analyzer 加入到设计。 展开Xilinx Blockset,找到 Basic Elements,将System Generator 加入到设计。双击,打开配置对话框,选择Clocking标签页,设置如下:Simulink system period(sec): 1/1500000
) S) F1 Y0 _# t% d* \. ]6 V最终系统的连接如下 四、仿真FIR滤波器模型 1 p9 ~2 G: U8 L4 u% y% n
1、双击Manual Switch 元件符号,将开关切换到Chirp Signal,在工具栏文本框输入100,单击仿真按钮开始仿真。 ! A1 ]7 C& v5 r; |0 q# E. v
7 d1 N. }& |( D3 z; \$ s
|