在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FPGA與VHDL語言實現(xiàn)音頻處理芯片設計與仿真分析

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-01-07 08:47 ? 次閱讀

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]

基于FPGA與VHDL語言實現(xiàn)音頻處理芯片設計與仿真分析

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表示(精度小于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時濾波器的輸出值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ù)的虛擬地址。

基于FPGA與VHDL語言實現(xiàn)音頻處理芯片設計與仿真分析

基于FPGA與VHDL語言實現(xiàn)音頻處理芯片設計與仿真分析

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 端口描述

基于FPGA與VHDL語言實現(xiàn)音頻處理芯片設計與仿真分析

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é)調控制著其他各個模塊的工作

·主控制器模塊是根據(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:仿真結果比較

基于FPGA與VHDL語言實現(xiàn)音頻處理芯片設計與仿真分析

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

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

5 結束語

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21759

    瀏覽量

    604368
  • 芯片
    +關注

    關注

    456

    文章

    50965

    瀏覽量

    424851
  • 濾波器
    +關注

    關注

    161

    文章

    7846

    瀏覽量

    178413
收藏 人收藏

    評論

    相關推薦

    基于FPGA的圖像邊緣檢測系統(tǒng)設計,用VHDL語言實現(xiàn)該怎么做?

    不知道有沒有大神做過:基于FPGA的圖像邊緣檢測系統(tǒng)設計,用VHDL語言實現(xiàn)
    發(fā)表于 05-10 00:22

    如何用VHDL語言實現(xiàn)幀同步的設計?

    幀同步是什么工作原理?如何用VHDL語言實現(xiàn)幀同步的設計?
    發(fā)表于 04-08 06:33

    FPGA技術如何用VHDL語言實現(xiàn)8位RISC微處理器?

    設計RISC微處理器需要遵循哪些原則?基于FPGA技術用VHDL語言實現(xiàn)的8位RISC微處理
    發(fā)表于 04-13 06:11

    如何利用VHDL語言實現(xiàn)FPGA與單片機的串口異步通信電路?

    本文介紹利用VHDL語言實現(xiàn) FPGA與單片機的串口異步通信電路。
    發(fā)表于 04-29 06:34

    如何利用FPGAVHDL語言實現(xiàn)PCM碼的解調?

    利用現(xiàn)場可編程門陣列(FPGA)和VHDL 語言實現(xiàn)了PCM碼的解調,這樣在不改變硬件電路的情況下,能夠適應PCM碼傳輸速率和幀結構變化,從而正確解調數(shù)據(jù)。
    發(fā)表于 05-07 06:58

    VHDL語言實現(xiàn)3分頻電路

    VHDL語言實現(xiàn)3分頻電路 標簽/分類: 眾所周知,分頻器是FPGA設計中使用頻率非常高的基本設計之一,盡管在目前大部分設計中,廣泛使用芯片廠家集成的鎖相
    發(fā)表于 08-21 15:28 ?5715次閱讀

    VHDL語言實現(xiàn)3分頻電路(占空比為2比1)

    VHDL語言實現(xiàn)3分頻電路(占空比為2比1) 分頻器是FPGA設計中使用頻率非常高的基本設計之一,盡管在目前大部分設計中,廣泛使用芯片廠家集成的鎖
    發(fā)表于 06-22 07:46 ?8521次閱讀

    FM收音機的解碼及控制器VHDL語言實現(xiàn)

    Xilinx FPGA工程例子源碼:FM收音機的解碼及控制器VHDL語言實現(xiàn)
    發(fā)表于 06-07 14:13 ?11次下載

    關于通過FPGAVHDL語言實現(xiàn)ALU的功能設計詳解

    目前許多FPGA的邏輯資源(LE)都已超過1萬門,使得片上可編程系統(tǒng)SOPC已經(jīng)成為可能。算術邏輯單元ALU應用廣泛,是片上可編程系統(tǒng)不可或缺的一部分。利用VHDL語言FPGA
    發(fā)表于 07-22 11:22 ?7450次閱讀
    關于通過<b class='flag-5'>FPGA</b>中<b class='flag-5'>VHDL</b><b class='flag-5'>語言實現(xiàn)</b>ALU的功能設計詳解

    使用Quartus和VHDL語言實現(xiàn)的LPC時序的工程文件

    本文檔的主要內容詳細介紹的是使用Quartus和VHDL語言實現(xiàn)的LPC時序的工程文件免費下載。
    發(fā)表于 09-18 16:49 ?20次下載
    使用Quartus和<b class='flag-5'>VHDL</b><b class='flag-5'>語言實現(xiàn)</b>的LPC時序的工程文件

    基于VHDL硬件描述語言實現(xiàn)CPSK調制的程序及仿真

    本文檔的主要內容詳細介紹的是基于VHDL硬件描述語言實現(xiàn)CPSK調制的程序及仿真
    發(fā)表于 01-19 14:34 ?11次下載
    基于<b class='flag-5'>VHDL</b>硬件描述<b class='flag-5'>語言實現(xiàn)</b>CPSK調制的程序及<b class='flag-5'>仿真</b>

    使用VHDL硬件描述語言實現(xiàn)基帶信號的MASK調制的程序與仿真

    本文檔的主要內容詳細介紹的是使用VHDL硬件描述語言實現(xiàn)基帶信號的MASK調制的程序與仿真
    發(fā)表于 01-19 14:34 ?13次下載
    使用<b class='flag-5'>VHDL</b>硬件描述<b class='flag-5'>語言實現(xiàn)</b>基帶信號的MASK調制的程序與<b class='flag-5'>仿真</b>

    使用VHDL硬件描述語言實現(xiàn)基帶信號的MFSK調制的程序與仿真

    本文檔的主要內容詳細介紹的是使用VHDL硬件描述語言實現(xiàn)基帶信號的MFSK調制的程序與仿真
    發(fā)表于 01-19 14:34 ?4次下載
    使用<b class='flag-5'>VHDL</b>硬件描述<b class='flag-5'>語言實現(xiàn)</b>基帶信號的MFSK調制的程序與<b class='flag-5'>仿真</b>

    使用VHDL硬件描述語言實現(xiàn)基帶碼發(fā)生器的程序設計與仿真

    本文檔的主要內容詳細介紹的是使用VHDL硬件描述語言實現(xiàn)基帶碼發(fā)生器的程序設計與仿真免費下載。
    發(fā)表于 01-20 13:44 ?16次下載
    使用<b class='flag-5'>VHDL</b>硬件描述<b class='flag-5'>語言實現(xiàn)</b>基帶碼發(fā)生器的程序設計與<b class='flag-5'>仿真</b>

    基于VHDL語言實現(xiàn)遠程防盜報警設計

    電子發(fā)燒友網(wǎng)站提供《基于VHDL語言實現(xiàn)遠程防盜報警設計.pdf》資料免費下載
    發(fā)表于 11-08 14:33 ?0次下載
    基于<b class='flag-5'>VHDL</b><b class='flag-5'>語言實現(xiàn)</b>遠程防盜報警設計
    主站蜘蛛池模板: 污污视频在线免费看| 卡一卡二卡三国色天香永不失联| 在线观看886影院成人影院| 丁香五婷婷| 18女人毛片水真多免费| 午夜看片在线| 久久久久女人精品毛片| 日韩亚洲人成在线综合日本| 黄色的视频网站在线观看| 亚洲一级视频在线观看| 国产叼嘿视频网站在线观看| 午夜宅男视频| 欧美天堂在线视频| 国产三级网站在线观看| 午夜影院普通| 国产午夜不卡在线观看视频666| 欧美成人性高清观看| 99视频热| 三级网址在线| 国产亚洲精品成人a在线| 午夜在线网站| 国产午夜精品久久久久九九| 亚洲a视频| 天天做天天添婷婷我也去| 免费观看成人毛片| 一级片+国产| asian极品呦女爱爱| 欧美精品一区二区三区在线播放| 天堂网最新| 国产在线视频你懂的| 天天爱综合网| 911色_911色sss在线观看| 亚洲成人黄色网址| 就去干综合| 天天操天天玩| 中文字幕在线播放一区| 亚洲成a人在线播放www| 久草视频一区| 美女视频久久| 操他射他影院| 美女性色|