新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的音頻處理芯片的設(shè)計(jì)

基于FPGA的音頻處理芯片的設(shè)計(jì)

作者: 時(shí)間:2010-08-27 來(lái)源:網(wǎng)絡(luò) 收藏

1 引言
隨著數(shù)字技術(shù)日益廣泛的應(yīng)用,以現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array)[1]為代表的ASIC[2]器件得到了迅速的普及和發(fā)展,器件的集成度和速度都在高速增長(zhǎng)。既具有門陣列的高邏輯密度和高可靠性,又具有可編程邏輯器件的用戶可編程性,可以減少系統(tǒng)的和維護(hù)的風(fēng)險(xiǎn),降低產(chǎn)品成本,縮短周期。

本文引用地址:http://butianyuan.cn/article/166625.htm

目前,信號(hào)技術(shù)、通信技術(shù)和多媒體技術(shù)的迅猛發(fā)展都得益于DSP[3]技術(shù)的廣泛應(yīng)用。但是對(duì)于便攜式和家用的語(yǔ)音系統(tǒng)而言,一般的DSP方案并不理想。首先DSP的成本以及開(kāi)發(fā)成本在現(xiàn)階段仍然是比較高的,尤其是成本,遠(yuǎn)遠(yuǎn)不及大批量ASIC芯片成本之低。其次便攜式的設(shè)備對(duì)體積要求十分苛刻,限制了一部分DSP芯片的使用,而體積正是ASIC芯片的優(yōu)點(diǎn)之一。

本文提出了一種芯片的硬件電路實(shí)現(xiàn)方案。由于對(duì)FIR濾波器的算法進(jìn)行了改良,所以很大程度上減小了芯片的體積和降低了芯片的功耗。

2 算法研究與改良
2.1 普通FIR濾波算法
   N階FIR濾波器可以用下面的線性卷積表示:[4]

x(n)是輸入的序列,而y(n)是經(jīng)過(guò)濾波后輸出的序列,h(k)是N階濾波器的系數(shù)。

簡(jiǎn)單的實(shí)現(xiàn)這個(gè)算法,需要N+1次的乘法和N次的加法。所以至少需要一個(gè)硬件乘法器和一個(gè)定點(diǎn)或者浮點(diǎn)加法器來(lái)實(shí)現(xiàn)這個(gè)功能。由于音頻芯片只需要做線性卷積,所以我們不需要采用乘法器的結(jié)構(gòu)。一般來(lái)說(shuō),由于乘法器龐大的結(jié)構(gòu),占用了芯片上的大部分面積,消耗用了大部分功率。而不使用乘法器的結(jié)構(gòu)將會(huì)節(jié)約可觀的芯片面積和功耗。為了實(shí)現(xiàn)這種結(jié)構(gòu),我們需要改良FIR濾波算法。

2.2 改良濾波算法
首先,將濾波的系數(shù)h(k)用二進(jìn)制表示法(POT,Power of Two)表示:

例如:h(k)=0.1172=2-3-2-7-2-16

我們給出7階濾波器的一組系數(shù),使用POT表示(精度小于10-4):

h(0) = 0.3761 = 2-1-2-3+2-10+2-13-2-15

h(1) = 0.3083 = 2-2+2-4-2-8-2-12

h(2) = -0.9424*10-1 = -2-3+2-5-2-11

h(3) = 0.6439*10-1 = 2-4+2-9-2-14

h(4) = -0.3308*10-1 = -2-5-2-9+2-13

h(5) = 0.1663*10-1 = 2-6+2-10+2-15

h(6) = -0.4135*10-2 = -2-8-2-12+2-16

h(7) = 0.1877*10-2 = 2-9-2-14-2-16

n=7時(shí)濾波器的輸出值y如下:

y = (2-1-2-3+2-10+2-13-2-15) * x(7)

+(2-2+2-4-2-8-2-12) * x(6)

+(-2-3+2-5-2-11) * x(5)

+(2-4+2-9-2-14) * x(4)

+(-2-5-2-9+2-13) * x(3)

+(2-6+2-10+2-15) * x(2)

+(-2-8-2-12+2-16) * x(1)

+(2-9-2-14-2-16) * x(0)

很明顯,x(n)的系數(shù)全部都是2的負(fù)k次冪,所以我們可以把具有相同系數(shù)的x(n)合并起來(lái)。


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉