第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將 PLL 頻率計(jì)算中的整數(shù)舍入誤差降至最低

將 PLL 頻率計(jì)算中的整數(shù)舍入誤差降至最低

Go
郎朗坤 2022-08-30 21:55:28
在特定的STM32微控制器上,系統(tǒng)時(shí)鐘由PLL驅(qū)動(dòng),其頻率由以下公式給出:FF := (S/M * (N + K/8192)) / PS是 PLL 輸入源頻率(或 64 MHz)。1 - 64000000其他因素、、和是用戶可以修改以校準(zhǔn)頻率的參數(shù)。根據(jù)我使用的 SDK 中的位掩碼判斷,每個(gè)位掩碼的值可以限制為 、 、 和 的最大值。MNKPM < 64N < 512K < 8192P < 128不幸的是,我的目標(biāo)固件不支持FPU,因此浮點(diǎn)算術(shù)已經(jīng)出來(lái)了。相反,我需要使用純整數(shù)算術(shù)進(jìn)行計(jì)算。F我試圖重新排列給定的公式,并牢記3個(gè)目標(biāo):擴(kuò)展和分布所有乘法因子最小化每個(gè)分母中的因子數(shù)最大限度地減少執(zhí)行的除法總數(shù)如果兩個(gè)表達(dá)式具有相同數(shù)量的除法,請(qǐng)選擇其分母具有最小最大值的表達(dá)式(在前面的段落中標(biāo)識(shí))但是,我每次嘗試擴(kuò)展和重新排列表達(dá)式都會(huì)產(chǎn)生比原始公式更大的錯(cuò)誤,因?yàn)樗畛跏侵鹱种鹁浔硎镜?。為了測(cè)試公式的不同排列和比較錯(cuò)誤,我寫(xiě)了一個(gè)小的Go程序,你可以在這里在線運(yùn)行。是否可以改進(jìn)此公式,以便在使用整數(shù)算術(shù)時(shí)將誤差降至最低?另外,我上面列出的任何目標(biāo)是否不正確或無(wú)用?
查看完整描述

2 回答

?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

我拿走了你的程序(你的第一個(gè)括號(hào)是多余的,所以我刪除了):


 S            K

--- * ( N + ------ )

 M           8192

--------------------

        P

并運(yùn)行了QuickMath [1],我得到了這個(gè):


S * (8192 * N + K)

------------------

   8192 * M * P

或在 Go 代碼中:


S * (8192 * N + K) / (8192 * M * P)

因此,它確實(shí)減少了除法的數(shù)量。您可以通過(guò)拉出下限常量來(lái)進(jìn)一步改進(jìn)它:


S * (8192 * N + K) / (M * P) >> 13

https://quickmath.com


查看完整回答
反對(duì) 回復(fù) 2022-08-30
?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

通過(guò)@StevenPerry來(lái)查看答案,我意識(shí)到大多數(shù)誤差是由我們必須表示的有限精度引起的 。然后,此錯(cuò)誤會(huì)傳播到其他因素和紅利中。K/8192

然而,推遲這種除法通常會(huì)導(dǎo)致整數(shù)溢出,然后再達(dá)到它。因此,不幸的是,我發(fā)現(xiàn)的解決方案取決于將這些操作數(shù)擴(kuò)大到64位。

結(jié)果與其他答案具有相同的形式,但必須強(qiáng)調(diào)的是,將操作數(shù)擴(kuò)大到64位至關(guān)重要。在 Go 源代碼中,如下所示:

var S, N, M, P, K uint32
...
F := uint32(uint64(S) * uint64(8192*N+K) / uint64(8192*M*P))

若要查看所有這三個(gè)表達(dá)式的準(zhǔn)確性,請(qǐng)?jiān)?Go Playground 上自行運(yùn)行代碼。


查看完整回答
反對(duì) 回復(fù) 2022-08-30
  • 2 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)