日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FPGA实现数字信号处理的定点运算

發(fā)布時間:2025/4/5 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FPGA实现数字信号处理的定点运算 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 背景
  • 定點數的表示與計算

背景

首先,我們要明確的是不管是什么數字,一切數字在計算機中都是采用二進制表示的,就算你是小數點數。所以,這些概念,我們一定要屢清楚。下面,我們馬上就來看看。轉載需要與博主聯(lián)系。
作者:ciscomonkey

定點數的表示與計算

定點數具有三種表示的形式,原碼、反碼、以及補碼。

  • 原碼

關于原碼,例如二進制 0△110 表示+0.75;1△110表示的是-0.75.這一點很好理解,因為0.75*2^3(定點三位)=6 也就是二進制110.
簡單的說如何將小數轉換為十進制數呢。利用matlab提供的整轉二進制函數dec2bin很容易獲得轉換結果。即需要先將十進制小數乘以一個比例因子2^B-1,并進行四舍五入操作取整。轉換函數的表達式子是:

dec2bin(round(abs(D)*2^(B-1)+(2^(B-1))*(d<0)),B)

需要說明的是十進制的小數轉換為二進制存在誤差,其誤差大小由二進制數的位數決定的。

x表示實際的數(一個浮點數), q表示它的Qn型定點小數(一個整數)。

  • 反碼
    正數的反碼與原碼相同,負數的反碼為原碼除符號位的所有位取反,及得到負數的反碼。例如說,十進制的-0.75的二進制原碼表示為x=1△110,其反碼為1△001
  • 補碼
    負數的補碼就是在反碼的最低位加1.補碼最重要的特性就是將減法用加法運算實現(xiàn)。同樣,將十進制數轉換成補碼形式的二進制數也可以用dec2bin函數實現(xiàn)。

`

dec2bin(round(D*2^(B-1))+ 2 ^ B*(D<0),B)

我們用數學表達式總結一下如何將小數定點化

q = (int) (x * 2^n)x = (float)q/2^n 其中n代表實際的數中,小數點后保留的位數

假設q1,q2,q3表達的值分別為x1,x2,x3
q3 = q1 + q2 若 x3 = x1 + x2

q3 = q1 - q2 若 x3 = x1 - x2

q3 = q1 * q2 / 2^n若 x3 = x1 * x2

q3 = q1 * 2^n / q2若 x3 = x1 / x2

對于加減法到比較簡單,對于乘除法,我們對/ 2 ^ n和* 2^n可以簡單的用移位來計算。所以定點小數的運算比浮點小數要快的多。

用Q12來計算2.1 * 2.2,先把2.1 2.2轉換為Q12定點小數: 2.1 * 2^12 = 8601.6 = 8602 2.2 * 2^12 = 9011.2 = 9011 (8602 * 9011) >> 12 = 18923 18923的實際值是18923/2^12 = 4.619873046875 和實際的結果 4.62相差0.000126953125,對于一般的計算已經足夠精確了。

經常有人問, fpga里小數乘法怎么搞?

如果你樂意, 按照IEEE754標準做"浮點"型運算的ip當然最好(雖然面積上不太好).
不過,很多情況下,沒有這個必要.

一般我們就用"定點"了.
你得自己"定個點", 比如用16位, 分成8位整數8位小數(后面記為"(8.8)"), 即"定點"在第8位.
那么:
1 -> 16’h0100;
1.5 -> 16’h0180;
-1.5 -> -1.5256 + 65536(補碼) -> 16’hFE80(其實就是-16’sh0180, 讓綜合器給我們算補碼去~~);
1.164 -> 1.164256 = 298 = 16’h012A

所以 signed input [15:0] a (也是"8整.8小")和 1.164相乘給 signed output [15:0] mul (也是"8整.8小"), 直接寫:
assign mul = (a * 16’sh012A) >>>8;
就行了, 當然, 你的fpga里有dsp block最好, 不然也要幾百個LE的.

總結: module fixpmul #(parameter IW = 8,parameter FW = 8 )(input signed [IW+FW-1 : 0] a,input signed [IW+FW-1 : 0] b,output signed [IW+FW-1 : 0] o );(* multstyle = "dsp" *) wire signed [IW*2+FW*2-1 : 0] long;assign long = a * b;assign o = long >>> FW; endmodule

總結

以上是生活随笔為你收集整理的FPGA实现数字信号处理的定点运算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品美女一区二区三区 | 午夜精品久久久久久久无码 | 亚洲高清在线一区 | 国产福利一区二区视频 | 人人射人人 | 久久久亚洲欧洲 | 天堂国产一区二区三区 | 99热热久久| 亚洲综合在线第一页 | 澳门久久久 | 午夜影院免费观看 | 1769国产 | 国产黄av | 欧美xxxxx高潮喷水麻豆 | 久久精品视频观看 | 亚洲乱色熟女一区二区 | 深夜激情网站 | 樱花草av| 极品新婚夜少妇真紧 | 成人在线观看www | 亚洲av片不卡无码久久 | www.亚洲高清 | 色播日韩 | 91人人澡人人爽人人精品 | 日韩欧美在线视频 | av免费播放网站 | 一区二区三区观看 | 久久影院午夜 | 国产成人精品一区二区三 | 国产视频97 | 深夜小视频在线观看 | 成人毛片视频网站 | 蜜桃91麻豆精品一二三区 | 亚洲欧美一区二区在线观看 | 亚洲av综合色区无码一区爱av | 欧洲综合视频 | 日韩在线一区视频 | 色婷婷久久久 | 欧美一级做性受免费大片免费 | 精品人妻少妇嫩草av无码 | 成人av网址大全 | 中文在线字幕免费观看 | 艳妇乳肉豪妇荡乳xxx | 99久久精品免费视频 | 18视频在线观看娇喘 | 在线看片你懂的 | 大陆熟妇丰满多毛xxxⅹ | 国产免费无码XXXXX视频 | 欧美激情精品久久久久久蜜臀 | 好吊妞精品视频 | 日韩精品一区二区视频 | 欧美超碰在线观看 | 中文字幕+乱码+中文乱码www | 国产精品一区二区麻豆 | 手机成人在线视频 | 国产精品久久久久久福利 | 91免费短视频 | 成人在线视频播放 | 色哟哟国产精品色哟哟 | 日韩精品无码一本二本三本色 | 久久99久久久久 | 超碰网址 | 亚洲香蕉中文网 | 欧美一区| 午夜极品视频 | 精品成人在线观看 | 色播放| 国产精品第一国产精品 | 久久在线免费观看 | 经典三级在线视频 | 国产二区一区 | 日日摸日日添日日躁av | 欧美男女交配 | 一区二区片 | 美女扒开粉嫩尿口 | av免费黄色| 日韩高清一级片 | 国产在线久久久 | 一区二区三区入口 | 日日噜噜噜噜久久久精品毛片 | www成人啪啪18软件 | 午夜视频网址 | 99re这里只有精品在线 | 美女被揉胸视频 | 欧美成人一级 | 玖玖精品在线视频 | 在线不卡的av | 中国久久久久 | 午夜精品极品粉嫩国产尤物 | 91精品国产高清一区二区三密臀 | 欧美成人免费播放 | 免费高清视频一区二区三区 | 久久久夜色精品亚洲 | 天堂久久一区 | 国产91在线视频 | 成人黄色网址在线观看 | 长篇h版少妇沉沦交换 | 日本狠狠操| 国产精品福利一区 |