本博客记录一下在matlab设计和在FPGA平台实现FFT的方法,平台是Xilinx的ZYNQ

参考:

COE文件制作与使用

Vivado使用技巧(9):COE文件使用方法

.coe文件生成

在某些IP核的配置中,需要使用.coe文件来配置参数,比如说FIR滤波器的系数以及RAM中的初始化数据文件

.coe文件是一种ASCII文本文件,文件头部定义数据基数,数据以向量的形式给出,向量以分号结尾,向量之间用逗号隔开

.coe文件的通用语法如下:

Keyword =Value ; 注释
<Radix_Keyword> =Value ; 注释
<Data_Keyword> =Data_Value1, Data_Value2, Data_Value3;
  • 不区分关键词的大小写
  • 分号后为注释

关键词如下:

  • RADIX:用于非存储类型IP核的基数定义

  • MEMORY_INITIALIZATION_RADIX:定义存储器初始化值的基数

  • COEFDATA:定义滤波器的系数

  • MEMORY_INITIALIZATION_VECTOR:定义块存储器与分布式存储器的数据

  • PATTERN:用于位相关器(Bit Correlator)COE文件

  • BRANCH_LENGTH_VECTOR:用于Interleaver COE文件

实例:生成用于导入到RAM中的窗函数系数的.coe文件

生成1024点汉明窗的.coe文件,matlab程序如下:

w_fl = hamming(1024);
w_tc = double(fi(w_fl,0,16,15));
for i = 1:size(w_tc,1)
w_fi(i) = org2comp(w_tc(i), 15, 16);
end fid = fopen('hamming_1024.coe','w');
fprintf(fid, 'memory_initialization_radix=10;\n');
fprintf(fid, 'memory_initialization_vector=\n');
fprintf(fid, '%d,\n', w_fi);

其中有两个函数要说明一下:

  • fi函数:定点函数fi(data,s,w,f)

    • data:需要定点化的浮点数;
    • s:signed or unsigned 标志(1是signed)
    • w:数据位宽,如果是signed包含符号位
    • f:定点小数精度
  • org2comp:原码转补码函数
function data_comp = org2comp(data_org, digit, width)
data_comp = mod(2.^width + data_org*2.^digit, 2.^width);

生成的.coe文件如下:



可见符合上面提到的语法

调用FFT IP核

实现FFT可以直接调用提供的IP核,本篇博客中使用的是vivado中的FFT IP核

最新文章

  1. active mq 配置延时
  2. CentOS网卡配置文件
  3. cookie 使用笔记
  4. [iOS UI进阶 - 6.3] UIView 动画
  5. 国外一些好用的UX/UI设计工具和资源分享
  6. Zookeeper 5、Zookeeper应用场景
  7. 判断浏览器IE6
  8. hdu3038 How Many Answers Are Wrong【基础种类并查集】
  9. WebAssembly:随风潜入夜
  10. 201521123019 《Java程序设计》第5周学习总结
  11. CSS定位网页中的元素
  12. Android IPC机制(一)开启多进程
  13. C# 之 HttpResponse 类
  14. tcp、ip、http
  15. 2018-02-06 编程猫IDE体验:对Scratch的改进
  16. JavaScript Scroll家族以及封装
  17. Qt编写软件运行时间记录(开源)
  18. httpclient cookie相关介绍
  19. LNMP 1.2升级Nginx、MySQL/MariaDB、PHP教程
  20. ZOJ 2320 Cracking&#39; RSA

热门文章

  1. Vue 响应式原理模拟以及最小版本的 Vue的模拟
  2. DFS深度优先搜索例题分析
  3. CONDITION EVALUATION DELTA热部署启动失效
  4. [OpenCV实战]21 使用OpenCV的Eigenface
  5. [R语言] ggplot2入门笔记2—通用教程ggplot2简介
  6. Java时间加减操作
  7. test20230111考试总结 -2023寒图论专题
  8. 题解CF893C Rumor
  9. 【问题解决】Tomcat启动服务时提示Filter初始化或销毁出现java.lang.AbstractMethodError错误
  10. 企业应用架构研究系列十三:整合EFCore&amp;Dapper 通用ORM框架EFDapper