www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 模擬 > 模擬
[導(dǎo)讀]提出一種采用現(xiàn)場(chǎng)可編程門陣列器件FPGA實(shí)現(xiàn)音頻處理芯片的方案。首先對(duì)FIR濾波器的算法進(jìn)行了改良,然后采用VHDL語(yǔ)言對(duì)音頻處理芯片的每個(gè)模塊分別設(shè)計(jì)。最后通過(guò)計(jì)算機(jī)軟件對(duì)該芯片進(jìn)行仿真,給出仿真波形和仿真結(jié)果,證明本芯片的設(shè)計(jì)達(dá)到了預(yù)期要求。

1 引言

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

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

本文提出了一種基于FPGA音頻處理芯片的硬件電路實(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表示(精度小于104):

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(n)=2-1(...2-1(2-1(2-1u1+u2)+u3)+...)+u16)

uj=xj(1)+ xj(2)+……+ xj(rj)

其中1≤j≤16, xj(i)∈{x(n-k)}, 1≤i≤rj

由前面的系數(shù),可以得到:

U1 = x(n-6)-x(n-7); U2 = -x(n)+x(n-5);

U3 = -x(n-3)-x(n-7); U4 = x(n)+x(n-4);

U5 = -x(n-1)-x(n-6); U6 = -x(n-2);

U7 = x(n)+x(n-5); U8 = x(n-3)-x(n-4)+x(n-7);

U5 = -x(n-1)-x(n-6); U10 = 0;

U11 = x(n-5); U12 = x(n-2)-x(n-4);

U13 = x(n-1)+x(n-3); U14 = -x(n)-x(n-2);

U15 = x(n-1); U16 = x(n);

按照這個(gè)算法,先求U1的值,然后將結(jié)果右移一位,再將結(jié)果與U2的值相加,依此類推,即可得到y(tǒng)(n)。我們使用若干次加法和16次移位操作即可完成FIR濾波,算法的復(fù)雜度和功耗都大大地降低。

3 音頻處理芯片的設(shè)計(jì)

3.1 結(jié)構(gòu)概述

在整個(gè)音頻處理芯片的結(jié)構(gòu)中,我們沒(méi)有采用任何乘法器,取而代之的是一個(gè)加法器和移位器。加法器的結(jié)果輸出到移位器,移位器的輸出再反饋到加法器的輸入端,循環(huán)運(yùn)算實(shí)現(xiàn)濾波器的功能。

考慮7階的FIR濾波器,需要對(duì)x進(jìn)行8次采樣,所以輸入的數(shù)據(jù)都應(yīng)該保存在一個(gè)8*16的DataRAM之中(16bit的采樣精度)。系數(shù)RAM(ProgramRAM)的大小取決于操作的個(gè)數(shù),在上面提到的算法中,一共有28個(gè)操作,所以ProgramRAM的大小不能小于28,在這里我們使用了一個(gè)32*6的ProgramRAM,以滿足算法需要。

考慮到音頻處理芯片的可擴(kuò)展性,我們?cè)谝纛l處理芯片外設(shè)置一個(gè)EEPROM用來(lái)存放系數(shù),當(dāng)芯片啟動(dòng)的時(shí)候,從EEPROM中將數(shù)據(jù)轉(zhuǎn)存到ProgramRAM中,以適應(yīng)不同F(xiàn)IR濾波器的系數(shù),極大地增強(qiáng)了音頻處理芯片的可編程性。

音頻處理芯片的模塊主要包括EEPROM, ProgramRAM, DataRAM,串并轉(zhuǎn)換模塊,并串轉(zhuǎn)換模塊,地址生成模塊,主控制器模塊。

3.2 尋址方式描述

在系統(tǒng)啟動(dòng)時(shí),附加的EEPROM儲(chǔ)存的系統(tǒng)參數(shù)值,包括輸入信號(hào)在DataRAM中的地址值和相應(yīng)的標(biāo)志位(32*6bit) ,依次讀入ProgramRAM中去。

其中,Zero,Sign,Shift分別為操作控制

Zero表示不加任何操作數(shù)

Sign表示加上負(fù)的操作數(shù)

Shift表示移位操作

而Virtual Address表示操作數(shù)的虛擬地址。

NO

 

Zero

Sign

Shift

Virtual Address

1

x(n-6)

0

0

0

001

2

-x(n-7)

0

1

1

000

3

-x(n)

0

1

0

111

4

x(n-5)

0

0

1

010

5

-x(n-3)

0

1

0

100

6

-x(n-7)

0

1

1

000

7

x(n)

0

0

0

111

8

x(n-4)

0

0

1

011

9

-x(n-1)

0

1

0

110

10

-x(n-6)

0

1

1

001

11

-x(n-2)

0

1

1

101

12

x(n)

0

0

0

111

13

x(n-5)

0

0

1

010

14

x(n-3)

0

0

0

100

15

-x(n-4)

0

1

0

011

16

x(n-7)

0

0

1

000

17

-x(n-1)

0

1

0

110

18

-x(n-6)

0

1

1

001

19

0

1

0

1

000

20

x(n-5)

0

0

1

010

21

x(n-2)

0

0

0

101

22

-x(n-4)

0

1

1

011

23

x(n-1)

0

0

0

110

24

x(n-3)

0

0

1

100

25

-x(n)

0

1

0

111

26

-x(n-2)

0

1

1

101

27

x(n-1)

0

0

1

110

28

x(n)

0

0

1

111

 

Base Address總是指向DataRAM中最早寫入的值所在的地址,也就是x(n-7)的地址,而Virtual Address其他值相對(duì)于x(n-7)的地址,所以可以得出操作數(shù)在DataRAM中實(shí)際的地址:

Physical Address=BaseAddress+VirtualAddress

y(n)=2-1(...2-1(2-1(2-1u1+u2)+u3)+...)+u16)中的u1為例

U1 = x(n-6) - x(n-7);

參數(shù)設(shè)置:C1= x(n-6)=000001

C2=-x(n-7)=011000

※最低的三位表示存儲(chǔ)地址

※第4位表示移位標(biāo)志,C2(4)為1表示計(jì)算出U1以后要右移得到2-1* U1

※第5位表示符號(hào)位,控制加減運(yùn)算。C1(5)為0表示加, C2(5)為1表示減

※最高位,也就是第6位在Un=0時(shí)為1,這里只有C19(6)1

3.3 端口描述

信號(hào)/端口

類型

寬度

功能

Clk

輸入

1

系統(tǒng)時(shí)鐘,16MHz

Reset

輸入

1

系統(tǒng)重置,異步低有效。

Load

輸入

1

系統(tǒng)啟動(dòng)時(shí),將數(shù)據(jù)從EPROM中轉(zhuǎn)存到ProgramRam

Data_Clk

輸入

1

數(shù)據(jù)時(shí)鐘, ADC送入

Data_in

輸入

1

采樣信號(hào)的串行輸入

FrameSync

輸入

1

Date_in信號(hào)的幀控制信號(hào)

Data_out

輸出

1

數(shù)據(jù)串行輸出

CoeffData

輸入

6

來(lái)自EEPROM的并行數(shù)據(jù)

CoeffAddress

輸出

5

EEPROM地址信號(hào)

CoeffEnable

輸出

1

EEPROM使能信號(hào)

3.4 模塊設(shè)計(jì)

3.4.1 EEPROM [5]

·EEPROM用來(lái)存儲(chǔ)系統(tǒng)參數(shù)

·EEPROM是32*6bit的存儲(chǔ)陣列

·EEPROM的輸入是Enable,Address(4 downto 0)

·EEPROM的輸出是CoeffData(5 downto 0)

·EEPROM的首單元存放了操作的個(gè)數(shù);例如,首單元存放"011100"表示一共有28個(gè)操作。

3.4.2 ProgramRAM [6]

·ProgramRAM接收EEPROM中的系統(tǒng)參數(shù)

·ProgramRAM是32*6bit的存儲(chǔ)陣列

·ProgramRAM的輸入是Write,Read,DataIn(5 downto 0),Address(4 downto 0)

·ProgramRAM的輸出是Zero,Sign,Shift,DataAddr(2 downto 0)

3.4.3串并轉(zhuǎn)換模塊[7] (Serial2Parallel)

·Serial2Parallel接收來(lái)自ADC的串行數(shù)據(jù)、數(shù)據(jù)時(shí)鐘和幀同步信號(hào)

·Serial2Parallel將串行輸入信號(hào)轉(zhuǎn)化為16bit的并行信號(hào)

·Serial2Parallel的輸入是DataClk,DataIn,F(xiàn)rameSync

·Serial2Parallel的輸出是DataOut(15 downto 0),DataOutSync

3.4.4并串轉(zhuǎn)換輸出模塊[7] (Parallel2Serial)

Parallel2Serial將并行信號(hào)轉(zhuǎn)化為串行信號(hào)

Parallel2Serial的輸入是DataIn(15 downto 0),DataClk,F(xiàn)rameSync

Parallel2Serial的輸出是DataOut

3.4.5主控制器模塊(Main Controller)

·主控制器模塊是整個(gè)設(shè)計(jì)的核心,它協(xié)調(diào)控制著其他各個(gè)模塊的工作

·主控制器模塊是根據(jù)操作流程圖設(shè)計(jì)的一個(gè)狀態(tài)機(jī)

3.4.6 地址生成模塊(AddressGen)

·PhysicalAddress實(shí)際上是一個(gè)加法器,將VirtualAddress與BaseAddress相加產(chǎn)生讀地址

·BaseAddress實(shí)際上是一個(gè)計(jì)數(shù)器,IncreaseBase信號(hào)控制加1,產(chǎn)生寫地址

·MUX選擇讀地址或者是寫地址到DataRAM

4 音頻處理芯片的仿真

4.1 仿真波形

4.2 仿真結(jié)果

通過(guò)程序,對(duì)一組輸入序列進(jìn)行了仿真結(jié)果比較,所獲得的結(jié)果如表1所示。

1:仿真結(jié)果比較

輸入

期望值

仿真結(jié)果

01d7

00b1

00B1

01ef

014B

014B

02AF

016e

016E

024f

01a1

01A1

0093

00bc

00BD

00e7

0070

0070

0029

005e

005E

ff55

ffb6

FFB6

fe99

ff52

FF52

fec9

ff28

FF28

0025

ffc7

FFC7

00f7

0074

0074

通過(guò)表1可以看出音頻處理芯片達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo),效果良好。

可以看到,期望值和仿真結(jié)果在最后一位會(huì)有±1的誤差,這是由于我們采用的移位算法將最后一位移出時(shí)不進(jìn)行四舍五入造成的。經(jīng)過(guò)計(jì)算,這種誤差不會(huì)影響FIR的精度。

5 結(jié)束語(yǔ)

本文設(shè)計(jì)的音頻處理芯片主要實(shí)現(xiàn)FIR濾波器功能,可以滿足較為簡(jiǎn)單的語(yǔ)音信號(hào)處理的需要。用POT系數(shù)表示方法來(lái)表示系統(tǒng)參數(shù),用一個(gè)加法器和一個(gè)移位寄存器實(shí)現(xiàn)乘法器的功能,這樣在面積功耗上就有相當(dāng)大的優(yōu)勢(shì)。設(shè)計(jì)過(guò)程是采用自頂向下的設(shè)計(jì)方法。最終的仿真結(jié)果符合預(yù)期的要求

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在半導(dǎo)體制造中,《國(guó)際器件和系統(tǒng)路線圖》將5nm工藝定義為繼7nm節(jié)點(diǎn)之后的MOSFET 技術(shù)節(jié)點(diǎn)。截至2019年,三星電子和臺(tái)積電已開始5nm節(jié)點(diǎn)的有限風(fēng)險(xiǎn)生產(chǎn),并計(jì)劃在2020年開始批量生產(chǎn)。

關(guān)鍵字: 芯片 華為 半導(dǎo)體

北京時(shí)間10月18日消息,富士康周二表示,希望有一天能夠?yàn)樘厮估旧a(chǎn)汽車。眼下,富士康正在加大電動(dòng)汽車的制造力度,以實(shí)現(xiàn)業(yè)務(wù)多元化。

關(guān)鍵字: 富士康 芯片 半導(dǎo)體 特斯拉

近日,中國(guó)工程院院士倪光南在數(shù)字世界??闹赋?,一直以來(lái),我國(guó)芯片產(chǎn)業(yè)在“主流 CPU”架構(gòu)上受制于人,在數(shù)字經(jīng)濟(jì)時(shí)代,建議我國(guó)積極抓住時(shí)代機(jī)遇,聚焦開源RISC-V架構(gòu),以全球視野積極謀劃我國(guó)芯片產(chǎn)業(yè)發(fā)展。

關(guān)鍵字: 倪光南 RISC-V 半導(dǎo)體 芯片

新能源汽車市場(chǎng)在2022年有望達(dá)到600萬(wàn)輛規(guī)模,為芯片產(chǎn)業(yè)帶來(lái)較大的發(fā)展機(jī)遇。2022年,我國(guó)芯片供應(yīng)比去年有所緩解,但仍緊張。中期來(lái)看,部分類別芯片存在較大結(jié)構(gòu)性短缺風(fēng)險(xiǎn),預(yù)計(jì)2022年芯片產(chǎn)能缺口仍難以彌補(bǔ)。這兩年...

關(guān)鍵字: 新能源 汽車 芯片

汽車芯片和半導(dǎo)體領(lǐng)域要深度地融合,不僅僅是簡(jiǎn)單的供需關(guān)系,應(yīng)該是合作關(guān)系,把汽車芯片導(dǎo)入到整車廠的應(yīng)用。為緩解汽車產(chǎn)業(yè)“缺芯”,國(guó)內(nèi)汽車芯片產(chǎn)業(yè)正探索越來(lái)越多的方式完善生態(tài)。為了促進(jìn)汽車半導(dǎo)體產(chǎn)業(yè)的快速發(fā)展,彌補(bǔ)國(guó)內(nèi)相關(guān)...

關(guān)鍵字: 智能化 汽車 芯片

汽車“缺芯”之下,國(guó)產(chǎn)芯片的未來(lái)是一片藍(lán)海。在過(guò)去很長(zhǎng)一段時(shí)間內(nèi),“缺芯”“少魂”是我國(guó)汽車企業(yè)的短板弱項(xiàng),車規(guī)級(jí)芯片、操作系統(tǒng)的自主可控程度不高。其中,我國(guó)車規(guī)級(jí)芯片自給率小于5%,且多以低端產(chǎn)品為主,關(guān)鍵芯片均受制于...

關(guān)鍵字: 智能化 汽車 芯片

之前,美國(guó)運(yùn)營(yíng)商AT&T曾宣布,今年年底推出5G網(wǎng)絡(luò),而隨著時(shí)間的推移,2019年會(huì)有越來(lái)越多的國(guó)家和地區(qū)商用5G網(wǎng)絡(luò),在這樣的大環(huán)境下,芯片廠商提前布局也就是情理之中的事情了。

關(guān)鍵字: 運(yùn)營(yíng)商 5G網(wǎng)絡(luò) 芯片

日本車用MCU大廠瑞薩電子發(fā)布公告稱,該公司將于8月31日完全關(guān)閉滋賀工廠,并將土地轉(zhuǎn)讓給日本大坂的ARK不動(dòng)產(chǎn)株式會(huì)社。瑞薩電子曾在2018年6月宣布,滋賀工廠將在大約兩到三年內(nèi)關(guān)閉,該工廠的硅生產(chǎn)線已于2021年3月...

關(guān)鍵字: MCU ARK 芯片

目前,各式芯片自去年第4季起開始緊缺,帶動(dòng)上游晶圓代工產(chǎn)能供不應(yīng)求,聯(lián)電、力積電、世界先進(jìn)等代工廠早有不同程度的漲價(jià),以聯(lián)電、力積電漲幅最大,再加上疫情影響,產(chǎn)品制造的各個(gè)環(huán)節(jié)都面臨著極為緊張的市場(chǎng)需求。推估今年全年漲幅...

關(guān)鍵字: 工廠 芯片 晶圓代工

伴隨新能源汽車、自動(dòng)駕駛技術(shù)等的迅速發(fā)展,汽車芯片正成為業(yè)內(nèi)熱議的話題之一,要協(xié)調(diào)穩(wěn)定市場(chǎng)、確保芯片供應(yīng)。從供給上來(lái)看,要梳理關(guān)鍵領(lǐng)域芯片供需情況,引導(dǎo)國(guó)外汽車芯片企業(yè)來(lái)華投資,建立芯片及重要原材料應(yīng)急儲(chǔ)備機(jī)制。在穩(wěn)定市...

關(guān)鍵字: 新能源 汽車 芯片

模擬

31144 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉