用一块晶振,把我这只菜鸟烤熟

基于FPGA的浮定点转化的计算

上一篇 / 下一篇  2006-11-21 14:27:59 / 天气: 晴朗 / 心情: 平静

基于fpga的浮定点转化问题,在这里先浅显的讨论,随着项目的深入,会逐渐加深。
  定点运算DSP在应用中已取得了极大的成功,而且仍然是DSP应用的主体。然而,随着对DSP处理速度与精度、存储器容量、编程的灵活性和方便性要求的不断提高、自80年代中后期以来,各DSP生产厂家陆续推出了各自的32bit浮点运算DSP。
   和定点运算DSP相比,浮点运算DSP具有许多优越性:
   浮点运算DSP比定点运算DSP的动态范围要大很多。定点DSP的字长每增加1bit,动态范围扩大6dB。16bit字长的动态范围为96dB。程序员必须时刻关注溢出的发生。例如,在作图像处理时,图像作旋转、移动等,就很容易产生溢出。这时,要么不断地移位定标,要么作截尾。前者要耗费大量的程序空间和执行时间,后者则很快带来图像质量的劣化。总之,是使整个系统的性能下降。在处理低信噪比信号的场合,例如进行语音识别、雷达和声纳信号处理时,也会发生类似的问题。而32bit浮点运算DSP的动态范围可以作到1536dB,这不仅大大扩大了动态范围,提高了运算精度,还大大节省了运算时间和存储空间,因为大大减少了定标,移位和溢出检查。
   由于浮点DSP的浮点运算用硬件来实现,可以在单周期内完成,因而其处理速度大大高于定点DSP。这一优点在实现高精度复杂算法时尤为突出,为复杂算法的实时处理提供了保证。
    32bit浮点DSP的总线宽度较定点DSP宽得多,因而寻址空间也要大得多。这一方面为大型复杂算法提供了可能、因为省的DSP目标子程序已使用到几十MB存储器或更多;另一方面也为高级语言编译器、DSP操作系统等高级工具软件的应用提供了条件。
   DSP的进一步发展,必然是多处理器的应用。新型的浮点DSP已开始在通信口的设置和强化、资源共享等方面有所响应。就目前来说TMS320C3X和TI主流DSP芯片TMS320C6701都为浮点DSP。     
  而fpga大多为定点型。这里举例来说明浮点转定点的加法和乘法运算。首先要选择一种方法来表示浮点数。比如8位1.5,可以采用Q6方法表示。Q6是指用2位表示整数,用6位表示小数。第一位表示正负号。如1.5,可表示为,即01100000,为8'h60,而8位0.5,可采用Q7方法表示,记为01000000,即8'h40,8'h60*8'h40=16'h1800,一个Q7与一个Q6相乘,得到的是Q13的16位数,记为000.1,1000,0000,0000,前3位为整数位,后13位为小数位,即为0.75.如果输出想转化为16位,进行左移和右移.对于加法来说,必须首先进行小数点的对位,实行对齐,才能开始运算。


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-04  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 3835
  • 日志数: 7
  • 建立时间: 2006-10-26
  • 更新时间: 2006-11-22

RSS订阅

Open Toolbar