【第18章 就叫你小零吧】
------------------------------------------
羅安又從塑料袋裡翻出一副耳機,
全部拆開,露出裡麵的動圈單元和一塊指甲蓋大小的ANC降噪芯片。
用鑷子小心地撬下那塊ANC芯片,
“主動降噪的原理跟剛才那套振動抵消差不多,用麥克風采集環境噪音,芯片算出反相信號,”
“讓喇叭發出一個跟噪音波形相反的聲波,兩個聲波在耳道口相遇,波峰對波穀,互相抵消。”
王胖子哦了一聲,拖了個長音:“懂了!跟床墊那個一個路子。”
“對。”
胖子又問:“耳機本身不就帶降噪功能嗎?”
他把那塊ANC芯片在指間翻了個麵,上麵的型號已經磨得看不清了,
“市麵上這些降噪耳機用的都是固定算法,針對的是飛機引擎和空調這種穩態噪音。”
“破碎錘不一樣,它的頻率一直在漂,三十到五十赫茲之間來回跳,固定的濾波模板跟不上。”
他把芯片放在一邊,從塑料袋裡又拿出一個Arduino Uno開發板,
一個微型麥克風模塊,還有幾根杜邦線。
麥克風模塊隻有指甲蓋大小,上麵焊著一顆駐極體麥克風和一顆前置放大器。
“這個貼在床頭,先采集環境噪音,把破碎錘的頻率特征提取出來,然後實時算反相波形。”
王胖子看著羅安把麥克風模塊焊上引線,打了個哈欠,往床上一躺。
彈簧被他的體重壓得吱嘎一聲,床墊穩穩當當,沒有再嗡嗡嗡地抖。
“哎!”
他翻了個身,手腳攤開呈“大”字形,整個人陷進床墊裡,
“真舒坦......。”
他又翻了個身,把臉埋進枕頭裡悶悶地說了句什麼,然後抬起頭來補了一句,
“安哥,你繼續弄,我先享受一下。”
“你別睡著了。”
“不會不會,我就躺會兒。”
話音剛落,打鼾的節奏已經從枕頭方向傳來。
羅安微微搖了搖頭,把麥克風模塊用雙麵膠貼在床頭欄杆上,位置對著窗戶方向。
引線走床頭櫃後麵接入模擬輸入口。
耳機單元從外殼裡拆出來,保留原有的動圈喇叭,
但把ANC芯片的輸入和輸出引腳用杜邦線好。
然後是算法。
他打開筆記本電腦,新建了一個LMS自適應濾波算法的底層框架。
核心邏輯不複雜,麥克風采集環境噪音作為參考信號,算法提取頻率模板,
對每一幀采樣數據做卷積運算,實時生成一個反向的補償信號輸出到耳機喇叭。
關鍵在於延遲,采樣、運算、輸出的總延遲必須控製在采樣周期的十分之一以內。
如果反相慢半拍,波峰沒對準波穀,兩列波就同步疊加,音量翻倍。
寫完第一版代碼,編譯,上傳。
程序開始運行。
耳機貼在羅安耳朵上。
第一秒,什麼都沒發生,破碎錘還在窗外噠噠噠。
第二秒,耳朵裡突然炸開一聲尖銳的蜂鳴,
像有人在他耳孔裡吹哨子,又尖又刺。
羅安把耳機從耳朵上拿開,拇指抵在嘴邊咬了一下。
屏幕上算法的誤差曲線正在劇烈振蕩,
“反相跟不上,變成了同相疊加......。”
他把算法的延遲補償模塊調出來,在采樣頻率後麵加了一個延時補償變量,
“兩個辦法,一是提高采樣率,讓每一幀的時間窗口縮短。”
“二是加入延時補償,讓反相波形提前半個周期的偏移量輸出。”
ᴏᴏᴘ.ᴛᴡ 呈現最新的小說章節
他在采樣率一欄把默認的四萬赫茲改成二十萬赫茲,
然後在延遲補償參數裡輸入了一個以微秒為單位的值。
重新編譯,上傳。
這次他把耳機貼回耳朵時,先把音量旋鈕擰到了最低。
慢慢往回調。
耳機裡,破碎錘的噠噠聲正在變小,低頻的衝擊感先開始消退,
,聲嘶景背的淡極圈一下留隻後最,音顫屬金的擊撞杆釺是後然
。見不聽乎幾,小很,噪底的身本統係是那
:眼開睜,秒十概大了聽眼閉安羅
”。定搞“
。邊床到走來起站他
。定穩奏節,勻均聲鼾子胖王
”。子胖“
:句一了囔嘟地糊含,開睜沒睛眼,下兩唧吧唇嘴,拍一了斷聲鼾的子胖王
”……鐘分五睡再我,媽……“
”。父義你是我,在不媽你“
”?了完搞你哥安“:睛眼揉了揉,來起坐地糊糊迷迷,身個了翻地難艱子胖王
”。試試上戴,了完搞“
,塞耳的多不差式款器聽助跟成造改被過接聲一了’哦‘子胖王
。頭枕進陷勺腦後,倒一上床往新重後上戴
。了靜安界世個整
”。靜安好的真,了害厲個這你哥安,槽臥……“
,眨了眨又,板花天向看睛眼著瞪子胖王
”。靜安巨,了沒都音聲麼什“
。上戴、了摘、塞耳上戴又,來傳音聲噠噠噠,了摘塞耳把子胖王
”。唄套一整我給也。哥安“
。慕羨的臉滿,安羅向看頭扭他
”。裝你幫家你去我,套兩買去你,單清個你給我“
。單清套一了寫刷刷刷筆紙出拿就安羅著說
”。著拿“
,來傳口門從音聲,了跑就煙溜一,兜褲進揣折兩了折條紙過接子胖王
”。蹄豬燉天今媽我,家我去上晚,買去就在現我,哥安“
”。了鹹太次上,油醬點放少說媽你跟“
”!敢不我,說她跟己自你“