Vivado Fir Ip核动态更改滤波器系数

有时在设计过程中,可能需要不同的滤波效果,如果采样率一样的情况下,我们有两种方式进行切换系数,其中一种就是真正意义上的动态切换,如下图:
在这里插入图片描述
这种方式适合真正意义上的系数从新加载,但是配置相对复杂,但是省资源,如果只是少数的几种参数切换,我们可以换种方式,就是通过不同的参数都加载在coe中,最好每种系数个数是一样的,例如我这选取了3种:

**加粗样式
我这里设计了3个99阶的FIR滤波器,我们只需要将系数叠加再一起就行,例如:
radix = 16;
coefdata =
ffa6,
0004,
00ae,
0169,
00fa,
fecd,
fc7d,
fce2,
00db,
0580,
0632,
0132,
fa35,
f799,
fc23,
03ac,
072a,
0431,
ff54,
fe43,
00a1,
0092,
fb10,
f5c1,
f9c1,
07b5,
138e,
0f93,
fc52,
eab2,
eb5f,
fcb7,
0c6c,
0c58,
02ad,
0103,
0b9f,
0ff7,
fa9b,
d601,
ca47,
f47f,
3d52,
61fc,
3245,
c910,
8001,
9fa0,
160b,
7f9f,
7f9f,
160b,
9fa0,
8001,
c910,
3245,
61fc,
3d52,
f47f,
ca47,
d601,
fa9b,
0ff7,
0b9f,
0103,
02ad,
0c58,
0c6c,
fcb7,
eb5f,
eab2,
fc52,
0f93,
138e,
07b5,
f9c1,
f5c1,
fb10,
0092,
00a1,
fe43,
ff54,
0431,
072a,
03ac,
fc23,
f799,
fa35,
0132,
0632,
0580,
00db,
fce2,
fc7d,
fecd,
00fa,
0169,
00ae,
0004,
ffa6,
0005,
002a,
fff0,
0040,
00d2,
005a,
fe49,
fd16,
ffad,
041b,
048f,
ff93,
fb45,
fcce,
00a2,
00bc,
ff06,
0177,
05e2,
03df,
fbc8,
f860,
fdb0,
022b,
ffba,
fef9,
067b,
0b19,
011e,
f364,
f4c2,
00bd,
033e,
fd0e,
02cc,
1336,
10e6,
f4ad,
e2b7,
f327,
07c1,
002e,
f8cd,
1aab,
3f4a,
14ce,
ab57,
8808,
f4c5,
7fff,
7fff,
f4c5,
8808,
ab57,
14ce,
3f4a,
1aab,
f8cd,
002e,
07c1,
f327,
e2b7,
f4ad,
10e6,
1336,
02cc,
fd0e,
033e,
00bd,
f4c2,
f364,
011e,
0b19,
067b,
fef9,
ffba,
022b,
fdb0,
f860,
fbc8,
03df,
05e2,
0177,
ff06,
00bc,
00a2,
fcce,
fb45,
ff93,
048f,
041b,
ffad,
fd16,
fe49,
005a,
00d2,
0040,
fff0,
002a,
0005,
0001,
ffc1,
ff5a,
fefe,
ff0e,
ffac,
0076,
00b8,
000e,
fee6,
fe47,
fedc,
0031,
00fe,
006b,
ff1b,
febc,
004f,
02db,
0426,
02fa,
00b1,
0020,
029a,
0623,
0715,
03f4,
ff81,
fe4b,
01d3,
0644,
05df,
ff2a,
f766,
f5ce,
fbbe,
020a,
ff85,
f317,
e6c1,
e6af,
f3e5,
0045,
fa82,
e0d4,
c84c,
cec8,
00d9,
4a25,
7fff,
7fff,
4a25,
00d9,
cec8,
c84c,
e0d4,
fa82,
0045,
f3e5,
e6af,
e6c1,
f317,
ff85,
020a,
fbbe,
f5ce,
f766,
ff2a,
05df,
0644,
01d3,
fe4b,
ff81,
03f4,
0715,
0623,
029a,
0020,
00b1,
02fa,
0426,
02db,
004f,
febc,
ff1b,
006b,
00fe,
0031,
fedc,
fe47,
fee6,
000e,
00b8,
0076,
ffac,
ff0e,
fefe,
ff5a,
ffc1,
0001
;
,我这里是300个系数,然后只需要配置config端口:
在这里插入图片描述

注意IP核设置过程中如果系数是对称的:
在这里插入图片描述
这样设置可以节省乘法器资源,基本就是这样,对于很多种系数,还是选择动态配置,下次有项目需要用到,再开博客

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Vivado中配置FIR IP核来实现多相滤波器的步骤如下: 1. 打开Vivado工程,并选择要添加FIR IP核的设计模块。 2. 在IP Integrator中,点击"Add IP"按钮,在弹出的对话框中搜索并选择FIR Compiler IP核。 3. 配置FIR Compiler IP核的参数。根据你的需求,设置采样频率、通带频率和阻带频率等参数。你也可以选择使用MATLAB的firpm函数来设计低通滤波器,并将其转换为FIR Compiler IP核所需的系数。 4. 连接FIR Compiler IP核。根据你的设计,将FIR Compiler IP核与其他模块进行连接,比如输入信号和输出信号。 5. 生成IP核。完成配置后,点击"Run Connection Automation"按钮来自动生成所需的连接。 6. 生成比特流文件。在IP Integrator中,点击"Generate Bitstream"按钮来生成比特流文件。 7. 下载比特流文件到目标设备。将生成的比特流文件下载到FPGA或SoC设备中。 通过以上步骤,你就成功配置了VivadoFIR IP核来实现多相滤波器。请注意,具体的配置步骤可能会因你的设计需求而有所不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [VivadoFIR IP核实现低通滤波器](https://blog.csdn.net/QDchenxr/article/details/122659624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [VivadoFIRl IP核滤波器设计](https://download.csdn.net/download/weixin_38725015/14885171)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值