楊佩
摘 要:設(shè)計(jì)了一種基于FFT算法的聲光三維顯示裝置。該裝置通過FFT快速傅里葉變換算法來對(duì)語音信號(hào)進(jìn)行頻譜分析,并將頻譜分析結(jié)果以三維視覺效果呈現(xiàn)。該裝置可以大大提高傳統(tǒng)二維頻譜顯示器的顯示能力和觀察效果,為使用者帶來立體化的動(dòng)態(tài)視聽效果,可廣泛應(yīng)用于舞臺(tái)表演、教育教學(xué)和大眾娛樂等領(lǐng)域。
關(guān)鍵詞:FFT算法; 聲光; 三維顯示; 語音信號(hào); 頻譜分析
中圖分類號(hào): TP391.4
文獻(xiàn)標(biāo)志碼: A
Abstract:This paper studies an acousto-optic three-dimensional display device. The device uses Fast Fourier Transform (FFT) algorithm to analyze the spectrum of speech signals, and presents the spectrum analysis results in three-dimensional visual effect. This device can greatly improve the display ability and observation effect compared with traditional two-dimensional spectrum display equipment, and bring people a full range of audio-visual enjoyment. Also, it can be widely used in stage performances, education, teaching and public entertainment and other fields.
Key words:FFT algorithm; Acousto-optic; Three-dimensional display; Speech signals; Spectrum analysis
0 引言
FFT(快速傅里葉變換)算法可以對(duì)音頻信號(hào)進(jìn)行時(shí)域到頻域的轉(zhuǎn)化,該方法可以方便地對(duì)音頻信號(hào)進(jìn)行定量分析。對(duì)語音信號(hào)進(jìn)行這樣的頻譜分析可以獲得其各個(gè)頻率成分的幅值分布和能量分布,從而得到語音信號(hào)主要幅度和能量分布的頻域值。本文設(shè)計(jì)的聲光三維顯示裝置通過對(duì)音頻信號(hào)的頻譜分析,可以以圖示化的方式顯示語音信號(hào),聲音越強(qiáng),顯示的幅度也越大。該裝置可應(yīng)用于舞臺(tái)表演、教學(xué)演示、大眾娛樂等方面需要使用的聲光設(shè)備,并可擴(kuò)展應(yīng)用至音樂品質(zhì)分析、語音識(shí)別、信號(hào)源輸出信號(hào)品質(zhì)分析等領(lǐng)域的相關(guān)研究[1-2]。
隨著科學(xué)技術(shù)的不斷發(fā)展,3D電影已逐漸被市場(chǎng)接受,超級(jí)英雄電影《復(fù)仇者聯(lián)盟4》中大氣磅礴的 3D視覺效果讓人身臨其境,給觀影者帶來震撼的視覺效果和強(qiáng)烈的真實(shí)感。但目前用于語音頻譜分析的顯示設(shè)備甚至3D電影的顯示屏幕通常采用的都是X,Y坐標(biāo)二維圖形的平面顯示形式,其只能在單一的二維平面上播放顯示內(nèi)容,且觀眾僅能在屏幕前方觀看顯示內(nèi)容,立體感差、視聽互動(dòng)效果不強(qiáng)。隨著實(shí)際需求的不斷變化及視聽多元化要求的提高,人們對(duì)于可視化設(shè)備的顯示效果也有了更高的追求。本文設(shè)計(jì)的聲光三維顯示裝置具有立體的三維顯示效果,采用普通的觀看方法就能給人以強(qiáng)烈的立體感,并可以在任意角度觀看語音信號(hào)頻譜變化情況。語音播放加三維立體顯示效果將便于人們更詳細(xì)的觀察語音信號(hào)的頻譜分析結(jié)果,并大大提高人們的視聽享受體驗(yàn)效果[3]。
本文設(shè)計(jì)的聲光三維顯示裝置是基于FFT算法來對(duì)語音信號(hào)進(jìn)行頻譜分析的,F(xiàn)FT算法是將離散傅立葉變換算法進(jìn)行高效化、計(jì)算機(jī)化的一種改進(jìn)算法,它可以將一個(gè)時(shí)域信號(hào)快速變換到頻域,采用該算法能大大減少原離散傅里葉變換的計(jì)算量,并節(jié)省計(jì)算機(jī)所需計(jì)算存儲(chǔ)空間,對(duì)于同一音頻信號(hào),對(duì)其采樣的點(diǎn)數(shù)越多,F(xiàn)FT算法提高計(jì)算效率和減小存儲(chǔ)量的效果就越突出。因此采用FFT算法可以對(duì)大數(shù)據(jù)量的語音信號(hào)進(jìn)行高效的頻譜分析,是本聲光三維顯示裝置的核心運(yùn)算方法。
FFT算法之所以能夠大大節(jié)省計(jì)算量,其原因是通過奇偶分解運(yùn)算及復(fù)數(shù)的折半引理,使得將長(zhǎng)序列的 DFT可以僅由若干個(gè)底層的分解值來組合表示。它很好的利用了離散傅里葉變換的虛、實(shí)、奇、偶特性,巧妙的對(duì)DFT算法改進(jìn),獲得了極佳的計(jì)算效果。FFT是一種DFT的高效算法,兩者的運(yùn)算結(jié)果完全相同,均為序列X[m]的頻譜,但FFT的運(yùn)算速度比DFT要快得多,是適用于計(jì)算機(jī)程序運(yùn)行的低計(jì)算成本方法。
2 三維顯示模塊的硬件設(shè)計(jì)
目前用于舞臺(tái)表演、視聽娛樂、教育教學(xué)等領(lǐng)域的顯示裝置通常為二維顯示屏,其只能在單一的二維平面上播放顯示內(nèi)容,且觀眾僅能在屏幕前方觀看顯示內(nèi)容,立體感差、視聽互動(dòng)效果不強(qiáng)。如果將應(yīng)用于視聽領(lǐng)域中的二維顯示屏升級(jí)為三維顯示屏,它將能在視覺上給人以強(qiáng)烈的立體感,提升視聽效果,且能夠在360度內(nèi)的任意方向進(jìn)行觀看,帶給人們具有未來感的3D科技體驗(yàn)。
2.1 三維顯示屏的工作原理
本設(shè)計(jì)中的三維顯示裝置為由若干個(gè)單位3D光立方體LED模塊組成的大小可控的顯示屏。該3D顯示屏通過單片機(jī)控制顯示屏中不同LED的點(diǎn)亮位置和順序,來呈現(xiàn)所要顯示的內(nèi)容。
在控制原理方面,采用的是利用視覺暫留的動(dòng)態(tài)掃描技術(shù)。人眼的掃描速度慢,具有視覺暫留現(xiàn)象,當(dāng)設(shè)置合適的顯示屏掃描時(shí)間時(shí),就可使一系列低維靜態(tài)畫面呈現(xiàn)多維整體顯示效果,從而最終實(shí)現(xiàn)所要顯示的畫面內(nèi)容。每一個(gè)低維靜態(tài)畫面可稱為一幀圖像,當(dāng)播放幀速高于24幀/秒時(shí),人眼將無法區(qū)分各個(gè)低維圖像的時(shí)間間隔,此時(shí)看起來將是相對(duì)靜止的穩(wěn)定畫面。該動(dòng)態(tài)掃描顯示方法極大減少了LED燈的同時(shí)點(diǎn)亮個(gè)數(shù),具有重大的節(jié)能意義,是目前被廣為使用的主流顯示技術(shù)[4]。
2.2 控制平臺(tái)
為了便于外部接口靈活配置的需求,我們采用三維立方體模塊式的結(jié)構(gòu)形式,控制平臺(tái)采用的是微型單片機(jī)開發(fā)系統(tǒng)。該系統(tǒng)搭載了運(yùn)行速度比較快速的新型單片機(jī)STC15F2K60S2,除此之外,控制平臺(tái)還應(yīng)用了一些其他的裝置,例如:SD卡,數(shù)據(jù)鎖存器74HC573等,因此,它可以開發(fā)復(fù)雜的邏輯控制系統(tǒng),本聲光三維顯示系統(tǒng)的控制平臺(tái)使用微型單片機(jī)處理系統(tǒng)是最優(yōu)的選擇[5]。
2.3 三維光立方顯示模塊
所設(shè)計(jì)的聲光三維顯示系統(tǒng)由若干個(gè)的三維光立方模塊組成。當(dāng)使用8*8*8的光立方模塊時(shí),每個(gè)模塊都有8層平二維顯示平面,每層二維平面又由8*8個(gè)像素?zé)酎c(diǎn)組成,一共包含512個(gè)LED像素點(diǎn)。制作時(shí)令每個(gè)LED燈之間都間隔一定距離,可以做到很好的通透性,從而利用立方體的空間特性,實(shí)現(xiàn)較好的3D顯示效果。
對(duì)于單個(gè)三維光立方模塊而言,將8層中每一層的64個(gè)LED燈陰極串接在一起,將與層垂直方向的8層中相同位置的8個(gè)LED燈的陽極串接在一起,陰極連三極管開關(guān),三極管基極由單片機(jī)控制,并用程序控制其導(dǎo)通與否;陽極則連接鎖存器,由8個(gè)74HC573鎖存器進(jìn)行通斷控制。單個(gè)三維光立方模塊的硬件電路結(jié)構(gòu)圖,如圖5所示。
3D光立方模塊的驅(qū)動(dòng)掃描方式分為層掃描和列掃描兩種方式。產(chǎn)生層掃描信號(hào)的是層驅(qū)動(dòng)電路,單片機(jī)程序進(jìn)行FFT運(yùn)算后輸出層掃描信號(hào),由74HC138譯碼器譯碼,它控制層LED燈共陰極連接的三極管開關(guān)。3D光立方模塊顯示的三維圖像可分解為8層子圖像,每層圖像相應(yīng)的像素信息由列掃描電路發(fā)送到LED列線上,每層LED燈連接的8個(gè)74HC573鎖存器進(jìn)行數(shù)據(jù)處理,并控制將數(shù)據(jù)由74HC573傳遞給LED燈控制它們的亮滅。
3D光立方的掃描方式有兩種可選方案:一種是完成每一層掃描后即輸出一次信號(hào);另一種是完成全部 8 層掃描后再輸出信號(hào)。由于顯示時(shí)要考慮很多重要因素,比如掃描的均勻性、連貫性以及人眼的視覺暫留效應(yīng),故第一種方案是最優(yōu)選擇。
另外,考慮到發(fā)光效果,我們要在掃描層前,先利用74HC573的鎖定功能鎖存控制值,當(dāng)全面掃描完成后,再使能74HC573輸出控制值。
2.4 音頻解碼輸出模塊
語音信號(hào)輸出模塊我們采用了兩路輸出信號(hào)的方式。有兩種實(shí)現(xiàn)方案可供語音FFT計(jì)算選擇:一種是語音信號(hào)計(jì)算模塊再單獨(dú)使用額外的DSP芯片控制,此時(shí)系統(tǒng)將為雙CPU控制模式;另一種是語音信號(hào)計(jì)算模塊仍使用原單片機(jī)控制和計(jì)算,此時(shí)系統(tǒng)仍為單CPU控制模式。由于雙CPU模式接口程序復(fù)雜,且系統(tǒng)的總體成本也比較高,故此處采用單CPU模式,僅使用若干個(gè)雙蓮花音頻接口來實(shí)現(xiàn)FFT計(jì)算和音樂播放的多重效果。
另外,系統(tǒng)中采用了SD卡來存儲(chǔ)語音信號(hào)信息以解決音頻數(shù)據(jù)量大的問題。為實(shí)現(xiàn)大數(shù)據(jù)量的讀寫和存儲(chǔ),系統(tǒng)使用SPI總線協(xié)議讀取SD卡中的數(shù)據(jù),并移植了FAT16文件系統(tǒng)輔助播放。當(dāng)播放諸如音樂這樣的語音信號(hào)時(shí),先讀取SD卡中的音樂文件數(shù)據(jù),并將數(shù)據(jù)傳輸?shù)絉AM中,再依次傳送給單片機(jī)控制模塊進(jìn)行FFT計(jì)算和顯示。
3 軟件設(shè)計(jì)
本系統(tǒng)采中的STC15單片機(jī)主要負(fù)責(zé)FFT算法處理、模式切換、三維光立方模塊掃描以及顯示功能,并由雙蓮花音頻插頭實(shí)現(xiàn)語音信號(hào)的音箱播放。系統(tǒng)上電運(yùn)行后,單片機(jī)先執(zhí)行各功能模塊的初始化工作,并加載相應(yīng)的程序數(shù)據(jù),然后對(duì)語音信號(hào)進(jìn)行采樣和FFT運(yùn)算。系統(tǒng)可同時(shí)實(shí)現(xiàn)語音信號(hào)播放、顯示模式控制等功能,通過單片機(jī)程序中的算法對(duì)信號(hào)分析計(jì)算后,對(duì)光立方進(jìn)行行列掃描驅(qū)動(dòng)實(shí)現(xiàn)動(dòng)態(tài)顯示效果??刂瞥绦虻墓ぷ髁鞒虉D如圖6所示。
系統(tǒng)進(jìn)行3D光立方模塊的行列掃描時(shí),其主要控制過程如下所示:
(1) 關(guān)閉74HC573的使能;
(2) 從第1層開始到第8層,逐層對(duì)光立方模塊每層的64列分別進(jìn)行賦值;
(3) 打開74HC573使能并輸出數(shù)據(jù);
(4) 使用譯碼器控制1到8層的層選通。
4 系統(tǒng)的硬件測(cè)試
4.1 各元件可靠性的測(cè)試
在系統(tǒng)制作之前,先利用常見的5 V充電寶供電來驗(yàn)證每個(gè)LED燈的好壞。驗(yàn)證時(shí)將充電寶的正負(fù)極接面包板的電源和地列,然后分別將LED的長(zhǎng)腳(陽極)和短腳(陰極)跨插在面包板的插孔中,再在LED燈的一側(cè)串接220歐姆的限流電阻,最后利用面包線將LED燈和電阻連接到面包板對(duì)應(yīng)的電源和地列,觀察LED是否能正常發(fā)光。這里要特別強(qiáng)調(diào)限流電阻阻值的計(jì)算方法,其兩端電壓為電源電壓減去LED燈導(dǎo)通電壓的差值,其理想電流應(yīng)為令LED燈具有足夠亮度的額定電流值,用限流電阻兩端電壓值除以其理想電流值,即可得到測(cè)試用限流電阻的阻值。如果不經(jīng)計(jì)算隨意選用限流電阻,當(dāng)其阻值較大時(shí),測(cè)試電路中電流將較小,將導(dǎo)致LED亮度低甚至不亮,使測(cè)試結(jié)果出現(xiàn)誤判;當(dāng)限流電阻阻值較小時(shí),測(cè)試電路中電流將較大,如果電流值遠(yuǎn)超LED額定電流值,可能會(huì)導(dǎo)致LED燈被燒壞。
在實(shí)際焊接制作過程中,還應(yīng)隨時(shí)根據(jù)硬件仿真圖檢查各個(gè)元件的連接關(guān)系是否正確,檢驗(yàn)具有不同極性的器件(如二極管、三極管)和集成電路芯片各引腳的連接位置和連接關(guān)系是否正確,排除錯(cuò)接、短接等情況。在完成整體電路各元件及連接關(guān)系的可靠性檢查,并確認(rèn)電路無誤后,就可以進(jìn)行下面的靜態(tài)檢測(cè)與測(cè)試環(huán)節(jié)了。
4.2 顯示測(cè)試
先斷開系統(tǒng)的信號(hào)輸入端,僅打開系統(tǒng)的5 v電源開關(guān),用萬用表測(cè)量電路中各關(guān)鍵測(cè)試點(diǎn)的電壓值和電流值,并判斷這些電壓值和電流值是否處于合理的設(shè)計(jì)值范圍,排除短路、斷路等異常情況。
當(dāng)確定系統(tǒng)電路上電能夠正常工作后,在系統(tǒng)電路的輸入端接入語音信號(hào),并觀察3D光立方的FFT頻譜顯示效果,并用示波器接語音信號(hào)的輸入端和單片機(jī)的信號(hào)輸出端,觀察輸入、輸出信號(hào)的波形,判斷信號(hào)參數(shù)和電路性能指標(biāo)是否符合設(shè)計(jì)要求和預(yù)設(shè)計(jì)算結(jié)果。如果發(fā)現(xiàn)3D光立方顯示頻譜有誤,則應(yīng)對(duì)電路故障進(jìn)行深入分析并做出相應(yīng)修改,直到排除故障令電路能夠正確顯示為止。很多情況下,3D光立方的頻譜顯示結(jié)果不正確,是因?yàn)橥饨缭肼暩蓴_疊加到輸出信號(hào)上所致。
4.3 測(cè)試中的注意事項(xiàng)
(1) 要規(guī)范使用萬用表等測(cè)量?jī)x器的接地端,測(cè)量?jī)x器的接地端需與電路系統(tǒng)的接地端共地使用。
(2) 為防止輸入端的噪聲干擾,信號(hào)輸入引線最好采用屏蔽導(dǎo)線,屏蔽導(dǎo)線的外圈金屬屏蔽層需接公共地線。另外,在高頻系統(tǒng)中,還要注意消除導(dǎo)線和底板中分布電容和寄生電容的影響,要盡量使PCB板上各元件間的連線距離短且寬度大。當(dāng)使用示波器測(cè)量電路參數(shù)時(shí),應(yīng)使用示波器的夾子探頭連接測(cè)試點(diǎn),來降低或消除分布電容的不利影響。
(3) 合理選擇電路中的測(cè)量位置,認(rèn)真觀察并記錄測(cè)試過程,包括測(cè)試條件、故障現(xiàn)象、測(cè)試數(shù)據(jù)、輸出波形、信號(hào)相位等。當(dāng)輸出顯示不合理或遇到電路故障時(shí),要仔細(xì)分析原因,查找問題所在。
5 總結(jié)
基于我國(guó)如今越來越大的舞臺(tái)娛樂、教育教學(xué)等商用聲光設(shè)備市場(chǎng),并考慮到滿足人們不斷提高的視聽享受需求,本文研究設(shè)計(jì)了一種基于FFT算法的聲光三維顯示裝置。該裝置通過FFT快速傅里葉算法來對(duì)語音信號(hào)進(jìn)行頻譜分析,并將頻譜分析結(jié)果以三維視覺效果呈現(xiàn)。該設(shè)備將可以大大提高傳統(tǒng)二維頻譜顯示器的顯示能力和觀察效果,為使用者帶來多層次的感官體驗(yàn)效果,這種新鮮的科技美學(xué)必將具有廣泛的實(shí)際應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 陳學(xué),徐建華,葉甜春,等. 基于FFT的微弱GPS信號(hào)捕獲算法[J]. 微電子學(xué)與計(jì)算機(jī),2010,27(3):98-101.
[2] 桑紅石,高偉. 高效可配置浮點(diǎn)FFT處理器設(shè)計(jì)[J]. 微電子學(xué)與計(jì)算機(jī),2012,29(4):36-40.
[3] 梁銘林. LED顯示技術(shù)的應(yīng)用[J]. 智能建筑,2010(3):42-45.
[4] 蘇珊,肖英,李行杰. 基于STC單片機(jī)的8×8×8 LED光立方系統(tǒng)設(shè)計(jì)[J]. 吉首大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,34(6):33-36.
[5] 王甲琛,高明成. 基于IAP15F2K61S2單片機(jī)的3D光立方設(shè)計(jì)[J]. 山東冶金,2014,36(6):77-78.
(收稿日期: 2019.09.29)