用FPGA實(shí)現(xiàn)音頻采樣率的轉(zhuǎn)換
顯然,用FPGA實(shí)現(xiàn)音頻頻率的采樣率轉(zhuǎn)換器存在以下問題:
1. 算法問題:
a. 可能的最高信噪比
b. 原始信號(hào)所載信息的可能最小變化
c. 算法的有效描述,因?yàn)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/FPGA">FPGA中的資源消耗在很大程度上取決于描述的質(zhì)量
d. 量化
2. 實(shí)現(xiàn)問題:
a. 邏輯正確的算法實(shí)現(xiàn)
b. FPGA資源限制
c. 速度優(yōu)化實(shí)現(xiàn)
d. 延遲
轉(zhuǎn)換需要較高的時(shí)鐘速度,因?yàn)榫唧w實(shí)現(xiàn)取決于對(duì)轉(zhuǎn)換信號(hào)的足夠過采樣。FPGA系統(tǒng)時(shí)鐘頻率與待轉(zhuǎn)換信號(hào)的頻率差異必須相應(yīng)較大。
FDA 工具可幫助生成和驗(yàn)證各種FIR和IIR濾波器。該工具是Simulink信號(hào)處理工具箱的組成部分,Synplify DSP就是使用此工具箱實(shí)現(xiàn)濾波器結(jié)構(gòu)
對(duì)于CD質(zhì)量的音頻信號(hào),還要求信噪比不得低于100dB。專業(yè)應(yīng)用甚至需要大于 120dB的音頻信號(hào)。就信號(hào)質(zhì)量而言,其他低頻信號(hào)(如控制電路算法)遠(yuǎn)不如音頻信號(hào)那樣苛刻。
算法
多相FIR濾波器結(jié)構(gòu)需要轉(zhuǎn)換采樣率(異步重采樣)。算法包括兩步,第一步是頻率過采樣,第二步是線性插值,這是從給定頻率生成不同頻率時(shí)需要的。這兩個(gè)頻率相互異步。
以單步方式進(jìn)行信號(hào)重采樣所需資源較多,因?yàn)闉V波器會(huì)較復(fù)雜。這種實(shí)現(xiàn)需要數(shù)百萬(wàn)次乘法運(yùn)算。這樣的描述效率很低的,應(yīng)當(dāng)加以避免。如果線性插值在第二步實(shí)現(xiàn),那么結(jié)構(gòu)就會(huì)簡(jiǎn)單得多(圖3)。
圖3:分兩步實(shí)現(xiàn)采樣率轉(zhuǎn)換器(一、過采樣;二、線性插值)以提高效率。
高效地描述過采樣(第一步)是讓 FPGA實(shí)現(xiàn)節(jié)省資源的唯一方法。如果用若干級(jí)聯(lián)級(jí)而非單一運(yùn)算步驟來實(shí)現(xiàn)這部分電路,所需運(yùn)算數(shù)量就會(huì)大大減少。
在算法實(shí)現(xiàn)時(shí),必須確定執(zhí)行運(yùn)算的目標(biāo)架構(gòu)(DSP或FPGA)。與具有固定架構(gòu)的數(shù)字信號(hào)處理器不同,F(xiàn)PGA可實(shí)現(xiàn)任何架構(gòu)。不過,當(dāng)實(shí)現(xiàn)大量單獨(dú)的乘法運(yùn)算時(shí),F(xiàn)PGA最終會(huì)受到器件尺寸的限制。
所需乘法器的數(shù)量將隨著濾波器抽頭的增加而增加。每個(gè)抽頭都需要使用一個(gè)DSP模塊或乘法器。當(dāng)級(jí)聯(lián)重采樣電路時(shí),各濾波器必須執(zhí)行復(fù)雜程度很低的功能。從理論上講,單獨(dú)的級(jí)越多,濾波器的實(shí)現(xiàn)就越好。
評(píng)論