- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
二相 FIR 滤波器
二相 FIR 滤波器即并行 FIR 滤波器,以面积换取速度,可以在同样的时钟频率
下,提高原始滤波器的有效吞吐量,或者降低原始滤波器的功耗。
1 并行 FIR 滤波器的多项式分解表示
(以上内容来自陈弘毅、白国强等,VLSL 数字信号处理系统--设计与实现,机械工业出版社)
因此为了实现并行处理,我们需要将序列以奇偶形式分为两个并行序列,
滤波器则需要调用 4 个阶数为一半的 ip 核(自己写的仿真没通过),相应的
滤波器系数也需要分奇偶分别送入。本实验以 32 阶低通滤波器,处理一路
20M 与 80M 的混频信号为例。
2 用 matlab 产生混频信号、滤波器系数,并进行仿真
(1)产生混频信号的代码如下 (混频信号要输出到文件,用于modelsim 仿
真):
(2 )产生的正弦波及混频信号波形如下图
(3 )接下来,我们用matlab 的 fdatool 仿真 FIR 滤波
在 MATLAB Command Window 中输入fdatool 并按回车键,得到 fdatool 工具
框。再设置单位 Units 为 MHz ,采样频率为 Fs 为 500,通带 Fpass 为 20 ,阻带
Fstop 为 60;再点击 Design Filter (滤波器阶数刚好为 32 阶)。最终工具框如下
图所示:
现在我们将此滤波器生成为.m 文件,以在 MATLAB 中调用。点击 File ,点击
Generate M-file,保存为mylowfilter.m 。其内容为下图
接下来,可以在 MATLAB 中调用此.m 文件对混频信号进行滤波,其程序如下
(还对滤波后数据进行绘制,并输出到文件,再读回,为了全部以16 进制表示,
做了细微处理)
所有波形图如下
(4 )输出滤波器系数(用于modelsim 仿真)
现需取出滤波器系数。点 File ,点Export ,得到下图
点击 Export 即可。
此时 MATLAB 主界面的 workplace 中会出现Num ,如下图,
双击 Num ,即可在 Editor 界面中得到滤波
文档评论(0)