随笔分类 - DFT FFT verilog
dft fft cordic 各种相关算法的硬件实现 verilog描述
FFT实现——有趣的移位寄存流水线形式
摘要:FFT实现——有趣的移位寄存流水线形式 1 一.功能描述: 1 二.设计结构: 2 三.设计模块介绍 3 1.数据选择器 3 2.移位寄存器 4 3. 蝶形运算 4 一.功能描述: 对w(自定义)位(带符号位)数据进行16(易扩展为32点64点128····1024····)FFT计算 可两路w位数据输入 两路w位数据串行输出 使用此方法设计FFT的原因是 ‘FFT算法8点1...
阅读全文
FFT算法8点12位硬件实现 (verilog)
摘要:FFT算法8点12位硬件实现 (verilog) 1一.功能描述: 1二.设计结构: 2三.设计模块介绍 31.蝶形运算(第一级) 32.矢量角度旋转(W) 43.CORDIC 结果处理 除法单元模块 84.蝶形运算(第二,三级) 95.Vectoring CORDIC 模块 106.输出并转串模块 11四.工程纵览 12五.功能测试 13六.工程结束遐想 14一.功能描述:对12位(带符号位)数据进行8点FFT计算8个12位数据并行输入(懒得写前端的串转并模块,)8个12位数据并行处理,计算8个数据串行输出二.设计结构:图2.1 FFT并行计算模块图2.2 输出并转串模块图2.3 FFT算法
阅读全文
FFT 算法硬件描述 (8点)
摘要:采用基2算法(频率抽样)首先确定有几级DFT: N = 8 so v = 3 (级)-0/8 0度-1/8 -45度-2/8 -90度-3/8 -135度为节约时间 0度 与-90 度 不采用 cordic (achieved by 2’s complement and BUS exchange)故整个三级DFT只有第一级需要两个 CORDIC注意 第一级是输入是real(时域采样回来的值) 第二第三极输入是real , image有很多方法完成这三级这里简单说下三个方案:a迭代方式:用一级模块反复计算3次特点:占用资源少 耗时大b流水线方式 :使用3个模块分别计算特点:占用资源大 耗时小c(
阅读全文
CORDIC的硬件算法实现(摘录整理)
摘要:该系统完成的是一个平面坐标旋转如图 1所示,可以看出,将向量(X i ,Y i ) 旋转 角,得到一个新的向量 ( Xj,Yj)。 将Rcos()展开 矩阵形式硬件上用乘除法很耗资源,未来节省资源采用这样的思路:最常用的代替乘法的方式是移位运算来看下把这乘法最终转换为移位的思路:移位运算只能做乘除2. 但这些运算组合可形成大的乘除法将要旋转的角度分解,每次完成一小块,多次后就可逼近角度值分解(逼近)方式入下: 其中的第n次旋转过程 第n次的旋转角度必须是这个(n为任意值)(arctan(1)= 45度) Sn为符号(-,+) ,各种 组合成 (即真正要旋转的角度) Zn为未旋转的角度~~~~~
阅读全文
二补数 (2's complement)
摘要:二补数 (2's complement) :是一种用二进位表示有号数的方法,也是一种将数字的正负号变号的方式,常在计算机科学中使用。一个数字的二补数就是将该数字作位元反向运算(即一补数),再将结果加 1,即为该数字的二补数。 在二补数系统中,一个负数就是用其对应正数的二补数来表示。优点:二补数系统的最大优点是可以在加法或减法处理中,不需因为数字的正负而使用不同的计算方式。 只要一种加法电路就可以处理各种有号数加法,而且减法可以用一 个数加上另一个数的二补数来表示,因此只要有加法电路及二补数电路即可完成各种有号数加法及减法,在电路设计上相当方便。特点:二补数系统的 0 只有一个表示方式,
阅读全文