初級發燒視音頻DIY項目

编程知识 更新时间:2023-04-30 00:30:52

初級發燒視音頻DIY

前言

項目分為三部件,開發時間暫定一年。三個月了,總規劃還沒完成。不過,我通常是用“想象力”打通所有軟硬件細節後、才會動手佈PCB板的;規劃完成大半,現今終於開始有時間學習C語言、linux操作系統。

一、“飛雞2號多功能“板磚”

“飛雞2號多功能“板磚”、PCB尺寸200100mm:7寸LCD + RK3399核心模塊(初級視頻發燒4K高清、2GHZ六核64位的2A72 + 4A53,linux)+STM32MP157核心模塊(初級音頻發燒、3核32位的2A7和M4)+專用測量部件(未定、估計是雙核+FPGA,音響元件和性能測量,支持20GSPS示波器功能、插值到200GSPS)”,後兩項需要自己編寫操作系統了、沒辦法(linux太大,而又需要實時和精細調控)。就這樣配置,我還擔心做音頻發燒時“不夠力”,估計最後會用到百種以上的4星甚至5星難度算法(所有的核都要參與);自己編寫操作系統、因有linux參照,也只能算3.5星級難度。4K高清也就不到18GBPS,而一個示波器功能不插值、8位就到160GBPS,不容易啊;可以簡化的情形我必定會簡化的、沒辦法。以前我最多佈過2層PCB板,這次全用4層板;學習AD佈板軟件半個多月、才建立幾個元件,一氣之下刪除卸掉;後來、試用嘉立創的EDA,很爽。是故,外購別人的核心模塊、省時省力。規劃“雞2”也是幾經艱辛,先是購買幾種linux開發板、熟悉其介紹和開發套路;RK3399等等開發板、雖然性能強悍,但要求有基礎水平才行,自己一個C語言小白要打通關節極為不容易。不過,1個月的尋找、最終還是找到了“正點原子”的I.MX6U-ALPHA linux开发板,資料充足、有視頻,我小白算是知道了如何玩。“飛雞3號:1600W純數字功放電源PFC+LLC”將使用32位核的單片機STM32H750VBT6(3星難度。可接MCU LCD屏、WIFI,以後也可以擴充為16KW、160KW的音響或雙向太陽能充放逆變電源)。這項目對我而言,挑戰性太多、應該很好玩。

二、飛雞1號十二路1600W純數字直推功放“半條煙”

“飛雞1號十二路1600W純數字直推功放“半條煙”、PCB尺寸88208mm:支持十多種數字直推(DAC解碼自己設計算法)功放電路實驗,支持32位PCM或DSD1024解碼。”從去年12月份開始方案構思和規劃到今天約三個月了,“飛雞1”(二星級難度)算是完善的、可以佈PCB板的產品。“雞1”是硬件為主、軟件算法在“雞2”實現。作為初入音響業的小白,是註定要交學費;為少走彎路,我購買了20多台或板級的各種數字功放、模擬功放,有電子管純膽的、甲類的、前膽後石的、MOS管的、天逸AT2300的7.1.4模擬七路230W等等,數字功放有D類的4600W的IRS2092,還有TI的D類TPA3255的、3251的、3221的、還有T類的等等,貴的幾千元、便宜的100多。音箱自然是買了好多套,從喇叭、空箱到近萬元的成品音箱(最大的十八吋喇叭),我估計能組裝出20多套來;音響設備還是要搭配使用才行,主觀性強。

总结

1、模擬功放要夠重、夠份量才行,不是貴的就好;接12寸同軸音箱、1千多元的前膽後石(1200元)或MOS管模擬功放(1474元)就比幾百元的2*350W老款模擬功放差。 2、七千多的12寸同軸音箱跟1千多的8寸音箱相比,我“木耳朵”聽不出好在哪裡,是故、超過2千的音箱購買時需慎重。 3、模擬功放比D類數字功放柔和,似乎中高頻D類數字功放解析度好一點(或說數碼聲多了些,點還不夠密)。 4、耳朵收貨評價(只是評測小部分的功放、推12寸同軸音箱):初級發燒的只有一台:老陳膽機(電子管)。高級保真:2*350W老款P3500模擬功放(650元),天逸AT2300的7.1.4模擬功放7*230W(6580元)。中級保真、中上:4*600W的IRS2092(TXA、788元),TPA3251(2*175W、348元);中下:前膽後石模擬功放,MOS管模擬功放,雙TPA3255(1200W2.1、458元)(該功放設計不合理,改裝前只能算垃圾貨、無法堅持聽半小時,更換部分電容後才可以)。從中級保真到發燒初級,我是聽不出很大差別的。是故,估計信噪比不到11位(66dB)的D類數字功放,以其低成本、小體積也可以做為大眾商品了。

普通的數字直推PWM開環功放,估計也就最多做到9位的信噪比,跟PWM的分辨率關係並非主要。我一開始的思路也認為提高PWM佔空比分辨率就可以做得更好效果,理論上PWM開關頻率400KHZ時、要達到24位分辨率需要400KHZ2^24 ~= 6.7THZ,去哪找如此高的時鐘信號和定時器?就算可以有400MHZ的FPGA、再加上256級延遲線選擇器,也就佔空比分辨率最多做到18位,可以到達初級發燒水準了。於是,我購買3套FPGA開發板準備用來學習開發。半個月後的某天才忽然想到,為何TI等大公司不用直接PWM數字開環功放方案、而是先DAC轉為模擬再三角波比較產生PWM?人家有實力、技術、資金,幾十年前就開始做數字功放。這才開始認真比對PWM電路原理,哦、原來是MOS管開關速度作怪;400KHZ(2500ns),如果死區時間約50ns,那PWM精度最多只是2%、再高分辨率也沒用。模擬電路是很神奇的,不象數字電路那樣“非真即假”;而是“可真可假、亦真亦假、或真或假、真真假假”的連續世界,模擬電路理論只佔一半、另一半要靠“經驗、摸機、時間打磨”,要靠“感覺、想象力、意念”去設計,模擬電路的設計是非常仔細的、變數太多需考慮的地方就多,我感覺“錘子”是好工具。模擬三角波帶負反饋比較產生PWM的D類數字功放,這裡不深究了;最多10位信噪比、只能算中級保真水平,加其它手段微調(減少死區時間等等)、衝頂也就高級保真,不是我的目標。另一條路只有加多核高級CPU(帶DSP、FPU)來對死區做算法糾偏、Y+Y=正,發燒是不計成本的;我是初級發燒小白,還是得計算成本的。那也得MOS管半橋驅動測量死區,不同廠家不同批次不同溫度下的MOS管開關參數不一樣的,ns級的開關參數、示波器需到達ps級。ADC12DJ5200RF 使用具有多达 16 个串行通道的高速 JESD204C 输出接口,支持高达 17.16Gbps 的线路速率;可配置为双通道、5.2GSPS ADC 或单通道、10.4GSPS ADC。不說幾千一片的價格,就16路1GBPS(千兆)差分輸出通道的匹配IC就不好找、只能FPGA了。一個5G採樣示波器功能就頭大幾分了,要用到200G以上的採樣率呢?呵呵、這問題卡了我一個多星期,當然、是可以用不同相位多週期重複測量方式來降低採樣率;但高速測量真不好弄,光速約3^8米/s,或說電子信號1ns走0.3米,或說1ps(皮秒)走0.3毫米,得設計延遲線高速選擇器(或者FPGA產生不同相移的採樣信號)。
單純PWM輸出是不行的,還得擴頻來提高信噪比的,還需要其它手段;但不管算法如何複雜,那都是與“雞2”CPU的高速性能相關,是相對容易的數字電路。“雞1”有8路功放用於各類變種PWM實驗,每2路功放只有3cm
8.8cm的佈板空間、每路功放都有可控電源以作各種保護。我更看好的是“雞1”中的另外4路“畫法功放”實驗電路,其中2路支持24位PCM、不經數字濾波,音頻帶寬可達200KHZ以上;其實,每路功放電路通道上都是沒有任何隔直電容的,最終全橋(H橋)功率輸出。我一開始也考慮用R-2R DAC,可做32位DAC時、需要太多IO線;雖然R-2R DAC簡單高速,可以用一致性很好的貼片排阻 + 串聯小貼片電阻來校準精度,但我最終還是放棄該方案。變種PWM和畫法功放電路的區別在於MOS管驅動部分(解碼算法在雞2中實現,一種畫筆驅動,另一種PWM的差分IC開環驅動),畫法功放電路是高速畫筆電路(約每秒2百萬點畫出音頻波形)+高速運放反饋驅動電路(約500MHZ帶寬)+甲類H橋功率輸出+墨水供應器(就是為提高甲類功放效率的超前飄蕩可控電源(中低音頻曲線超前驅動))。還有2路畫法功放實驗電路是DSD1024畫筆,分辨率可到32位,但音頻帶寬只到35KHZ。

DSD1024的音頻碼流速度49.152MBPS(48khz採樣率時),輸出是無法直推功放的、還需1位∑-Δ调制器回復成模擬信號,再模擬功放或數字D類功放推動音箱。我也想過DSD1024直推高速運放+積分電容方案,需要正負恆流源和高頻開關,不容易。我花了十多天的想象力去學習“∑-Δ调制器原理”和“深入淺出通信原理”,也就半通。抄二段:【对于一个Nbit ADC,SNR可由公式:SNR=6.02N+1.76dB得到。为了改善SNR和更为精确地再现输入信号,对于传统ADC来讲,必须增加位数。如果将采样频率提高一个过采样系数k,即采样频率为Kfs,再来讨论同样的问题。FFT分析显示噪声基线降低了,SNR值未变,但噪声能量分散到一个更宽的频率范围。∑-△转换器正是利用了这一原理,具体方法是紧接着1bit ADC之后进行数字滤波。大部分噪声被数字滤波器滤掉,这样,RMS噪声就降低了,从而一个低分辨率ADC, ∑-△转换器也可获得宽动态范围。一个1bit ADC的SNR为7.78dB(6.02+1.76),每4倍过采样将使SNR增加6dB,SNR每增加6dB等效于分辨率增加1bit。这样,采用1bit ADC进行64倍过采样就能获得4bit分辨率;而要获得16bit分辨率就必须进行415倍过采样,这是不切实际的。∑-△转换器采用噪声成形技术消除了这种局限,每4倍过采样系数可增加高于6dB的信噪比。∑-△调制器包含1个差分放大器、1个积分器、1个比较器以及1个由1bit DAC(1个简单的开关,可以将差分放人器的反相输入接到正或负参考电压)构成的反馈环。反馈DAC的作用是使积分器的平均输出电压接近于比较器的参考电平。调制器输出中“1”的密度将正比于输入信号,如果输入电压上升,比较器必须产生更多数量的“1”,反之亦然。积分器用来对误差电压求和,对于输入信号表现为一个低通滤波器,而对于量化噪声则表现为高通滤波。这样,大部分量化噪声就被推向更高的频段。和前面的简单过采样相比,总的噪声功率没有改变,但噪声的分布发生了变化。现在,如果对噪声成型后的∑-△调制器输出进行数字滤波,将有可能移走比简单过采样中更多的噪声。这种调制器(一阶)在每两倍的过采样率下可提供9dB的SNR改善。在∑-△调制器中采用更多的积分与求和环节,可以提供更高阶数的量化噪声成形。例如,一个二阶∑-△调制器在每两倍的过采样率可改善SNR 15dB。图2显示了∑-△调制器的阶数、过采样率和能够获得的SNR三者之问的关系。∑-△调制器以采样速率输出1bit数据流,频率可高达MHz量级。数字滤波和抽取的目的是从该数据流中提取出有用的信息,并将数据速率降低到可用的水平。∑-△ADC 中的数字滤波器对1bit数据流求平均,移去带外量化噪声并改善ADC的分辨率。数字滤波器决定了信号带宽、建立时间和阻带抑制。∑-△转换器中广泛采用的滤波器拓扑是SINC3,一种具有低通特性的滤波器。这种滤波器的一个主要优点是具有陷波特性,可以将陷波点设在和电力线相同的频率,抑制其干扰。陷波点直接相关于输出数据速率(转换时间的倒数)。SINC3滤波器的建立时间三倍于转换时问。例如,陷波点设在50Hz时(60Hz数据速率),建立时间为3/60Hz=50ms。有些应用要求更快的建立时间,而对分辨率的要求较低。。。。Σ-ΔADC不是对信号的幅度进行直接编码,而是根据前一次采样值与后一次采样值之差(增量)进行量化编码,通常采用一位量化器,利用过采样和∑-Δ调制技术来获得极高的分辨率。Σ-ΔADC由非常简单的模拟电路和十分复杂的数字信号处理电路构成。∑-ΔADC三大关键技术:过采样,噪声整形,数字滤波和采样抽取。正弦波采样信号经过FFT变换,频率分布于DC到fs/2间。过采样:用高采样率提高分辨率。K每增加4倍,SNR提高6dB,相当于ENOB增加1bit。噪声整形:与过采样相比,相同的过采样比K,可提供更高的分辨率。】

按照磚家理論“在通常的 ∑∆调制器中, 得到的 NTF 的基本形式为:NTF(z) = ( 1 - z^-1 )^L。其中, L 为传递函数的阶数, 代表对量化噪声进行L 阶整形, L=0时表示量化噪声不进行整形。 噪声传递函数 NTF 的频率响应为:NTF(f)= ( 2 sin ( PI f / fs ) )^L。
过采样率为 OSR 、 L 阶噪声整形以及 N 位量化时最大信噪比为:
SNRmax(dB) = 6.02N + 1.76 + ( 20L + 10 )log(OSR)- 20LlogPI + 10log ( 2L + 1))”
假設L=6階算法、OSR = 1024,N = 1位DSD1024 DAC,那SNRmax(dB) = 350 dB。
這也太嚇人了,這還沒說N = 8位等多位情形、豈非更嚇人。所以說,理論的東西到了“模擬”就會變形。其實,吹噓說有多少位的信噪比沒意義,還是取決於IC製造工藝和IC的本底噪音。簡單按照24位
6dB = 144dB的信噪比、有可能嗎?看下CS4398資料的指標,120 dB 動態範圍(只敢說相當於20位、後面4位是不算數的),-107 dB THD+N(我不清楚是什麼?大概也是信噪比之類吧,等效為17位)。呵呵,磚家們所說的不需要全懂的,我只關心實際算法。“想象力”去分析,老磚門無非是說開關頻率或說採樣頻率不要吊死在一個高頻點,應有一堆高頻點、這樣噪音信號就分散在一堆頻點中,變小許多倍、也將噪音信號推高了;從而,信噪比大為提高,之後、一個低通濾波就OK了。這不就是擴頻吧,還七拐八拐的,啊、磚家就是磚家。問題是,低通濾波頻點設在哪,48KHZ?不行、音頻帶寬有折疊,高頻會相移,還得一通算法補償,還是設到96KHZ以上吧。

更多推荐

初級發燒視音頻DIY項目

本文发布于:2023-04-22 07:50:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/448c8cebe9f577ef0eb1b7b4f4ffc2e7.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:初級發燒視音頻   DIY   項目

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 95416文章数
  • 24060阅读数
  • 0评论数