
1,scale_sch 截取的值应该怎么确定?
The butterfly calculation involves complex multiplication,addition, and subtraction. These operations can potentially cause the butterfly data width to grow by two bits from input to output. For radix-2, data can grow by a maximum factor of 2.4 from butterfly input to output (two bits of growth).
One way to avoid the overflow is to scale the butterfly outputs down after each stage.
(因为工作环境的关系,我已经习惯用英文来描述技术问题,用中文有的名词不知道怎么表达)
比如 1024个点 输入输出的xn_re xn_im 都是10位 输出xk_re xk_im也是10位
基二算法 Radix-2的scale_sch 有20位
there are ten stages, 2 bits per stage, so there are 20bit
基四Radix-4 scale_sch是10位 ;都是两位两位一起的
例 Redix_4 10位假如写成10 10 10 10 11 指导手册上写的意思是 第N0级 shift by 3 bits ,N1 shift by bits N2 shift by 2 bits.....
这个移动2位 移动3位是为什么呢?有什么用?
For radix-4, each stage can grow 3-bit (4.8 maximum). Therefore, shift right by 3-bit at 1st stage. And shift 2-bits for the rest, as the first stage is over-shifted.
可以使用Xilinx或者altera官方的IP核啊,这都是通用的IP核,一般工程应用也选择这种成熟的IP核,自己开发并无必要。参见Xilinx的DS260或者altera的UG-FFT
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)