玉草夕林 发表于 2012-8-15 19:53:37

FPGA模拟AWGN,求思路

最近做的东东要用到AWGN,原来一直都是用软核Nios II来产生AWGN,现在不怎么想用Nios II了,想直接用FPGA弄个AWGN core!跪求大家给建议~~~

mysunmax 发表于 2012-8-15 20:09:02

这个可以有,我本科同学毕设就是用FPGA硬件产生AWGN的。支持LZ!

玉草夕林 发表于 2012-8-15 20:13:41

soga~~我也发现好像用到什么算法神马的……

philoman 发表于 2012-8-15 20:24:18

不知道Altera的DSP Builder里面有没有现成的模块,反正Xilinx的System Generator是有的{:titter:}

玉草夕林 发表于 2012-8-16 08:26:17

philoman 发表于 2012-8-15 20:24 static/image/common/back.gif
不知道Altera的DSP Builder里面有没有现成的模块,反正Xilinx的System Generator是有的 ...

没怎么用过DSP Builder耶~网上也说好像Xilinx就有个AWGN的IP core~我就想自己用VHDL或Verilog实现一个,总觉得直接用硬件语言实现的移植性强一些……

gnep 发表于 2012-8-16 17:55:20

m序列产生白噪声,再通过均匀到高斯的映射转换就成高斯白了。

玉草夕林 发表于 2012-8-17 09:32:17

gnep 发表于 2012-8-16 17:55 static/image/common/back.gif
m序列产生白噪声,再通过均匀到高斯的映射转换就成高斯白了。

昨天看了下Matlab里随机函数的设计,发现这个原理了,哈哈~~我在想怎么用FPGA很好的表达出来……现在俺的思路还不是很明确额……

philoman 发表于 2012-8-17 10:19:17

既然楼主这么好学, 不烦多说两句!

目前, 产生高斯分布随机数比较实用的方法主要有Box-Muller映射和Ziggurat方法。其中Box-Muller法比较适合实时应用,因而Xilinx的AWGN就是用的该方法;而Ziggurat法属于拒斥法,适合实时性要求不高的场合,这正是MatLab中的默认算法。均匀随机数可以用线性反馈移位寄存器产生(m序列)。

玉草夕林 发表于 2012-8-17 15:36:22

本帖最后由 玉草夕林 于 2012-8-17 15:43 编辑

philoman 发表于 2012-8-17 10:19 static/image/common/back.gif
既然楼主这么好学, 不烦多说两句!

目前, 产生高斯分布随机数比较实用的方法主要有Box-Muller映射和Ziggura ...

哈哈,你好可爱啊……恩,我也发现了这个原理……matlab5以后好像放弃了Box-Muller,原因它的计算代价太大,舍弃了均匀分布中21%的随机数,而且平方根和对数运算导致计算量过大~matlab5之后好像用的就是您说的那个Ziggurat了!我在想,从均匀分布映射到高斯分布,怎么做才比较容易用FPGA实现呢?

philoman 发表于 2012-8-17 21:02:15

玉草夕林 发表于 2012-8-17 15:36 static/image/common/back.gif
哈哈,你好可爱啊……恩,我也发现了这个原理……matlab5以后好像放弃了Box-Muller,原因它的计算代价太大 ...

我都说了,Xilinx用的是Box-Muller,那Altera呢?
页: [1]
查看完整版本: FPGA模拟AWGN,求思路