www涩-www黄网站-www黄色-www黄色com-国产免费拍拍视频在线观看网站-国产免费怕怕免费视频观看

如何編寫電力實時應用的運行在DSP上的高效C代碼

2013-12-12 10:46:22 電力信息化  點擊量: 評論 (0)
摘要:數字信號處理器(DSP)因其出色的處理能力,在包括電力應用在內的各個領域得到十分廣泛的應用。為了滿足電力應用的高實時性的要求,需要為DSP編寫高效的代碼。目前對DSP進行程序設計時,使用得最多的是C語
了能真正發揮register關鍵字的作用,在選擇被修飾的變量時需要作充分的考慮。
3.2.4循環嵌套問題
循環語句是程序設計中常用的語句,有時候甚至需要嵌套使用。在嵌套時有一個原則,外循環的循環次數盡量少,內循環的循環次數盡量多。因為程序在進入循環的時候需要設置一些寄存器,外循環的次數太多會使得程序多次進入內循環而帶來較大的時間開銷。例如:
for(m=0;m<10;m++)
{
for(n=0;n<1000;n++)
{
……
}
}
這段代碼的執行效率要比下面代碼的執行效率高。
for(m=0;m<1000;m++)
{
for(n=0;n<10;n++)
{
……
}
}
3.2.5 減少除法的使用
除法運算無論在浮點DSP還是定點DSP中都是比較復雜的,需要消耗比較多的指令周期【6】。因此需要盡量減少除法的使用,特別是大規模除法的使用。在某些細節上也應該注意用其他更高效的指令來取代除法。
例如,在進行除以2和除以4等除以2的冪次的操作時,用移位的方式來代替。這樣做的效果是一樣的,但是執行的時間效率卻要高很多。在很多對數據進行放大和縮小的操作中,如果縮放的倍數不需要十分精確,也完全可以用移位來代替。
3.2.6 使用查表法
查表法是一種常用的方法,在很多時候犧牲一些數據空間建立一個表,換來的是時間效率的極大提高。查表法在信道編碼中的使用尤為常見,例如Viterbi編碼。如果不使用查表的方法,Viterbi編碼需要通過對移位寄存器中的各個位進行處理,以得到編碼的結果。這個過程雖然不是很復雜,但是和查表的方法相比,其時間效率還是非常低的。如果我們建立一個表,表的下標是移位寄存器的狀態,用二進制數表示;表的內容是移位寄存器在該狀態下時Viterbi編碼器所對應的輸出。這樣就建立了編碼移位寄存器狀態和Viterbi編碼器輸出的單射關系。通過移位寄存器的狀態來查表,直接得到Viterbi編碼器的輸出。查表的方法省去了編碼的過程,大大提高了代碼的時間效率。
在上面提到的減少除法的使用時,我們介紹了一些簡單的取代除法運算的其他操作。實際上,查表的方法也是一種可以取代除法運算的方法。除以一個數,等于乘以一個數的倒數。我們可以通過事先建立倒數表的方法,來變除法為乘法。這樣的方法對被除數的范圍有一定要求,范圍不能太大。否則,要么表的規模太大,要么計算精度會下降得比較厲害。但這不失為是一種取代除法運算的很好的方法,合理得建立倒數表可以很好得解決這種存儲空間和計算精度的矛盾。
3.2.7 算法的優化
最后要提到的,實際上也最重要的就是算法的優化。精練的算法比粗糙的算法時間效率高很多
大云網官方微信售電那點事兒

責任編輯:和碩涵

免責聲明:本文僅代表作者個人觀點,與本站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
?
主站蜘蛛池模板: 免费播放欧美毛片欧美aaaaa | 九色视频在线观看免费 | 一级一片免费播放 | 欧美在线日韩在线 | 日韩亚洲欧美一区 | 91福利精品老师国产自产在线 | 性欧美精品久久久久久久 | 国产欧美日韩综合精品无毒 | 欧美一级三级 | 性欧美巨大| 萌白酱白丝护士服喷水铁牛tv | 一区二区三区四区在线视频 | 国产99久久 | 92看片淫黄大片一级 | 午夜在线亚洲男人午在线 | 日韩精品久久久毛片一区二区 | 亚洲国语 | 国产永久精品 | 中文一级国产特级毛片视频 | 国产精品吹潮在线播放 | 久久一区二区三区免费播放 | 国产高清视频免费最新在线 | 日韩三级中文 | 亚洲国产成人精品激情 | 一级一黄在线观看视频免费 | 中文国产成人精品久久水 | 欧美成人综合在线 | 亚洲欧美在线观看 | 精品国产96亚洲一区二区三区 | 国产a级特黄的片子视频 | 97精品国产手机 | 成人禁在线观看午夜亚洲 | 精品欧美一区二区三区免费观看 | 国产精品久久久久久久免费 | 偷柏自拍亚洲欧美综合在线图 | 亚洲国产成人精品久久 | 久草在线观看资源 | 精品国产欧美一区二区三区成人 | 国产成人丝袜视频在线视频 | 亚洲国产天堂久久综合网站 | 久久免费视频8 |