日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]提出一種采用現(xiàn)場可編程門陣列器件FPGA實現(xiàn)音頻處理芯片的方案。首先對FIR濾波器的算法進行了改良,然后采用VHDL語言對音頻處理芯片的每個模塊分別設計。最后通過計算機軟件對該芯片進行仿真,給出仿真波形和仿真結果,證明本芯片的設計達到了預期要求。

1 引言

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

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

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

2 算法研究與改良

2.1 普通FIR濾波算法

   N階FIR濾波器可以用下面的線性卷積表示:[4]

 

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

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

2.2 改良濾波算法

首先,將濾波的系數(shù)h(k)用二進制表示法(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時濾波器的輸出值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的負k次冪,所以我們可以把具有相同系數(shù)的x(n)合并起來。

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);

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

3 音頻處理芯片的設計

3.1 結構概述

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

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

考慮到音頻處理芯片的可擴展性,我們在音頻處理芯片外設置一個EEPROM用來存放系數(shù),當芯片啟動的時候,從EEPROM中將數(shù)據(jù)轉存到ProgramRAM中,以適應不同F(xiàn)IR濾波器的系數(shù),極大地增強了音頻處理芯片的可編程性。

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

3.2 尋址方式描述

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

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

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

Sign表示加上負的操作數(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其他值相對于x(n-7)的地址,所以可以得出操作數(shù)在DataRAM中實際的地址:

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ù)設置:C1= x(n-6)=000001

C2=-x(n-7)=011000

※最低的三位表示存儲地址

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

※第5位表示符號位,控制加減運算。C1(5)為0表示加, C2(5)為1表示減

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

3.3 端口描述

信號/端口

類型

寬度

功能

Clk

輸入

1

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

Reset

輸入

1

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

Load

輸入

1

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

Data_Clk

輸入

1

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

Data_in

輸入

1

采樣信號的串行輸入

FrameSync

輸入

1

Date_in信號的幀控制信號

Data_out

輸出

1

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

CoeffData

輸入

6

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

CoeffAddress

輸出

5

EEPROM地址信號

CoeffEnable

輸出

1

EEPROM使能信號

3.4 模塊設計

3.4.1 EEPROM [5]

·EEPROM用來存儲系統(tǒng)參數(shù)

·EEPROM是32*6bit的存儲陣列

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

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

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

3.4.2 ProgramRAM [6]

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

·ProgramRAM是32*6bit的存儲陣列

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

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

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

·Serial2Parallel接收來自ADC的串行數(shù)據(jù)、數(shù)據(jù)時鐘和幀同步信號

·Serial2Parallel將串行輸入信號轉化為16bit的并行信號

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

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

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

Parallel2Serial將并行信號轉化為串行信號

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

Parallel2Serial的輸出是DataOut

3.4.5主控制器模塊(Main Controller)

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

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

3.4.6 地址生成模塊(AddressGen)

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

·BaseAddress實際上是一個計數(shù)器,IncreaseBase信號控制加1,產(chǎn)生寫地址

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

4 音頻處理芯片的仿真

4.1 仿真波形

4.2 仿真結果

通過程序,對一組輸入序列進行了仿真結果比較,所獲得的結果如表1所示。

1:仿真結果比較

輸入

期望值

仿真結果

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

通過表1可以看出音頻處理芯片達到了預期的設計目標,效果良好。

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

5 結束語

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

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

作為全球豪華汽車巨頭,寶馬在未來的電動汽車上也開始加大投資,這一次他們是多方下注,英國牛津的工廠還是戰(zhàn)略核心,日前又透露說在中國投資上百億生產(chǎn)電動車,今晚寶馬公司又宣布在美國投資17億美元,約合人民幣123億元。

關鍵字: 寶馬 芯片 供應商

周四美股交易時段,受到“臺積電預期明年半導體行業(yè)可能衰退”的消息影響,包括英偉達、英特爾、阿斯麥等頭部公司均以大跌開盤,但在隨后兩個小時內(nèi)紛紛暴力拉漲,多家千億美元市值的巨頭較開盤低點向上漲幅竟能達到10%。

關鍵字: 臺積電 半導體 芯片

在需求不振和出口受限等多重因素的影響下,全球半導體廠商正在經(jīng)歷行業(yè)低迷期。主要芯片廠商和設備供應商今年以來股價集體腰斬。

關鍵字: 芯片 廠商 半導體

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

關鍵字: 芯片 華為 半導體

北京時間10月18日消息,富士康周二表示,希望有一天能夠為特斯拉公司生產(chǎn)汽車。眼下,富士康正在加大電動汽車的制造力度,以實現(xiàn)業(yè)務多元化。

關鍵字: 富士康 芯片 半導體 特斯拉

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

關鍵字: 倪光南 RISC-V 半導體 芯片

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

關鍵字: 新能源 汽車 芯片

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

關鍵字: 智能化 汽車 芯片

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

關鍵字: 智能化 汽車 芯片

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

關鍵字: 運營商 5G網(wǎng)絡 芯片

數(shù)字電源

15504 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉