怎么用MATLAB产生FPGA所需的hamming窗系数

需求

在FPGA处理中如果需要对待处理数据加窗,则需要窗系数存储在ROM中以供使用。手残matlab党当然还没搞到极致,不过够用了。


前言

加窗有啥用呢,我们知道:时域的乘积就是频域的卷积。

而直接截取的一段数据,如果直接求解fft,你发现有效频点旁瓣贼拉高,对信号的后处理是不利的。

那么加个窗就会使得旁瓣被抑制很多,使得表现的没那么椎间盘突出。但不好的一面,会使得主瓣会被展宽。毕竟根据能量守恒定律,旁瓣矮了能量减小,主瓣就得身宽体胖吸收多余能量。

所以选择正确的窗函数也是很重要的。

MATLAB窗函数说明

 

 

流程

比如加个hamming窗,8192点,16bit放大,最终系数18bit位宽。

ceil函数说明:对带小数部分的数进行取整操作。

(1)在MATLAB中键入如下代码:

format long g; %不用科学计数显示

N = 8192; %8192点

w = hamming(N); %窗

x = ceil(w*65536); %窗数据放大

plot(x);

(2)在MATLAB中打开变量

 

 

(3)选中列,复制数据即可。

 

 

(4)修改为最终的xilinx coe文件。

 

怎么修改为最终的xilinx coe文件?

(1)有如下数据,假设有几千个:

 

 

(2)需要转成COE文件格式,则需要在数据起始添加,10表示十进制:

memory_initialization_radix=10;

memory_initialization_vector=

每个数据结尾是逗号,最后一个数据结尾是分号。

exp:

 

 

(3)则需要对文本数据添加逗号,方便修改coe文件。可使用excel对全部数据添加逗号操作。

导入文本数据到A,选中B1,然后在输入框中输入:=A:A&","

 

然后复制B1单元格,在选择单元格中输入需要框选的单元格:

 

然后按粘贴即可。

(4)复制带逗号的数据到coe文件中,修改最后一个数据的结尾为分号即可。

以上。

转载于:https://www.cnblogs.com/kingstacker/p/10644277.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值