关于FFT IP核的配置,网上有很多相关的资料可以参考,但是唯独涉及到scaled压缩因子设置这个参数,资料却非常匮乏,这是个什么参数,应该整么设置,设置后对结果输出会有什么影响,整样才能知道它设置的合理不合理?

先来看一下官方说明手册里关于scaled的说明:

翻译过来就是:对于Pipelined Streaming I/O结构,将临近的一对基2阶组在一起,即阶0和阶1为组0,阶2和阶3为组1,阶4和阶5为组2等等。例如数据长度N=1024,Scale_SCH = [10 10 00 01 11]表示对组0(阶0和阶1)右移位3,对组1(阶2和阶3)右移位1,对组2(阶4和5)没有移位,对组3(阶6和7)右移位2,对组4(阶8和9)右移位2。但是要注意,如果变换长度N不是4的幂次方时,最后一组只包含一个基2阶,只能用00或者01表示,例如数据长度N=512时,Scale_SCH = [10 10 10 10 10]的设置则是无效的,而Scale_SCH = [01 10 10 10 11]的设置就是有效的。对于Scale_SCH的位宽,针对Pipelined Streaming I/O结构和Radix-4,Burst I/O结构,位宽为2*ceil(0.5*log2(N)),对于Radix-2,Burst I/O和Radix-2 Lite,Burst I/O结构,位宽为2*log2(N),其中N为转换数据长度。

1)scaled的作用是什么?

scaled是压缩比例参数,由于多点运算的FFT的计算量比较大,合理设置scaled可以减少资源的消耗;

2)scaled如何设置?

参照数据手册的说明,下面举例说明scaled的设置方法:

设 N=512: 由于变换长度N不是4的幂次方,最后一组只包含一个基2阶,只能用00或者01表示, 设scaled的位宽是8位:  XX(阶3)  XX(阶2)   XX(阶1) XX(阶0)

a、设置 scaled=8'b 00 11 11 11 ----- 赋值合理,表示压缩 2^(3+3+3)=2^9=512 倍 ;

b、设置 scaled=8'b 11 11 11 11 ----- 赋值不合理,最高阶只能是00或者01,不能是11;

设 N=1024: 由于变换长度N是4的幂次方,对最高阶的赋值没有要求,设scaled的位宽是10位:XX(阶4)XX(阶3)  XX(阶2)   XX(阶1) XX(阶0)

a、设置 scaled=10'b 11 00 11 10 00----- 赋值合理,表示压缩 2^(3+0+3+2+0)=2^8=256倍,但是不提倡这种赋值方式,N点最好压缩N倍,所以1024个点最好压缩1024倍。

b、设置 scaled=10'b10 10 10 10 10 ----- 赋值合理,表示压缩 2^(2+2+2+2+2)=2^10=1024倍 。

对scaled进行赋值之后,IP核的输出结果可进行移位还原为真实值,这样就可以将输出结果放到MATALB等数学工具中,对自己的输出结果进行直观的图示验证。

另外,FFT IP核有ovflo这个信号,可以将它引出来,可以直观在仿真波形中查看自己的scaled是否设置合理,如果设置的数值不够大,ovflo会溢出显示为高电平。

至此,关于scaled这个参数的设置讲解完毕。

FFT IP核调用与仿真之SCALE压缩因子设置的更多相关文章

  1. FFT IP核调用与仿真之FFT数学分析

    对于FFT这个IP核,我其实对它真的是又爱又恨,因为它真的耗费了我太多时间,但是随着研究的深入,遇到的问题一点点给消化解决,终于不用带着问题睡觉了,哈哈,有时候真的挺佩服自己的,遇到不懂的,不了解的, ...

  2. 从Xilinx FFT IP核到OFDM

    笔者在校的科研任务,需要用FPGA搭建OFDM通信系统,而OFDM的核心即是IFFT和FFT运算,因此本文通过Xilinx FFT IP核的使用总结给大家开个头,详细内容可查看官方文档PG109.关于 ...

  3. Quartus FFT IP核简介

    为了突出重点,仅对I/O数据流为steaming的情况作简要说明,以便快速上手,有关FFT ip核模型及每种设置详细介绍请参考官方手册FFT MegaCore Function User Guide. ...

  4. 实测—fft IP核使用(包括ifft的配置使用)

    Vivado xilinx fft9.0 使用笔记: ****注 仿真实测1024点的转换需要经过1148个时钟周期才能得到转换结果: 模块配置信号含义请参考pg109文档手册(写的贼烂会看晕),不详 ...

  5. FPGA基础学习(1) -- FFT IP核(Quartus)

    为了突出重点,仅对I/O数据流为steaming的情况作简要说明,以便快速上手,有关FFT ip核模型及每种设置详细介绍请参考官方手册FFT MegaCore Function User Guide. ...

  6. QuartusII 13.0 PLL IP Core调用及仿真

    有一个多月没用用Quartus II了,都快忘了IP 是怎么用调用的了,还好有之前做的笔记,现在整理出来,终于体会到做笔记的好处. 一.  QuartusII的pll的调用 打开软件界面 Tool—— ...

  7. Xilinx FFT IP核缩放因子说明

    以1024点FFT为例, reg [9:0] scale_sch = 10'b11_10_01_01_01; 流水线结构中,将每个基 2 的蝶形处理单元视为一个阶段. 每个阶段进行一次数据的缩减,缩减 ...

  8. Altera三速以太网IP核快速仿真与使用(上篇)

    对于比较高级的ip核,altera一般都会提供仿真案例,网上有关于这个IP核的各种仿真方法,但都比较繁琐,前几日,朋友跟我分享了一个比较快速高效的仿真方法,这个方法也是他摸索折腾了一段时间才总结出来的 ...

  9. modelsim 独立仿真vivado的IP核及仿真脚本

    Modelsim独立仿真vivado的IP 最近一直在做local dimming项目的FPGA硬件实现,算法的其中一步就是直方图统计,即数字图像的某一灰度级的像素数,这个直方图的源码找了半天才搞到, ...

随机推荐

  1. 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第3节 Calendar类_1_Calendar类介绍_获取对象的方式

    Calendar.getInstance()返回的就是Calendar的子类对象.GregorianCalendar 说明Calendar类重写了toSting的方法 时区亚洲的上海

  2. mkdir: 无法创建目录"kk": 只读文件系统

    创建文件提示 root@hap1:/test>mkdir kk mkdir: 无法创建目录"kk": 只读文件系统 root@hap1:/test>mount .... ...

  3. Jenkins简介&邮箱配置

    一.Jenkins基本介绍: Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.--摘自百科 二 ...

  4. 07 oracle 归档模式 inactive/current redo log损坏修复--以及错误ORA-00600: internal error code, arguments: [2663], [0], [9710724], [0], [9711142], [], [], [], [], [], [], []

    07 oracle 归档模式 inactive/current redo log损坏修复--以及错误ORA-00600: internal error code, arguments: [2663], ...

  5. 从SOA 谈软件的发展

    本文是个科普文章,有些内容可能不精准,为了给女儿解释SOA所写.要深刻理解SOA,必须了解软件的发展过程.互联网上有大量的这方面的文章可以参考. 软件与计算机 软件这个概念很年轻,也就不到70年. 软 ...

  6. 函数参数python

    函数中的默认参数,调用的时候可以给参数 赋值,也可以使用默认值 修改add函数如下 add()函数第一个参数没有默认值,第二个函数b默认值是3,在调用函数的时候,只赋予了函数实际参数为2, 也就是说该 ...

  7. 【FICO系列】SAP 关于SAP中的记账码的解释

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 关于SAP中的记账码的解 ...

  8. python每日一练:0004题

    第 0004 题: 任一个英文的纯文本文件,统计其中的单词出现的个数. import re count = 0 with open('./EnglishText.txt','r') as f: tem ...

  9. EasyUI选项卡避免重复打开

    前台代码: <div data-options="region:'west',title:'我的工作平台',split:true,iconCls:'icon-desk'"  ...

  10. Sentinel限流实现原理

    Sentinel限流的神秘面纱: 之前我们学习过限流比较主流的三种算法:漏桶,令牌桶,滑动窗口.而Sentinel采用的是最后一种,滑动窗口来实现限流的. 通过对Sentinel基础Api的使用,我们 ...