單片機(jī)音樂頻譜_第1頁
單片機(jī)音樂頻譜_第2頁
單片機(jī)音樂頻譜_第3頁
單片機(jī)音樂頻譜_第4頁
單片機(jī)音樂頻譜_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

題目: 單片機(jī)LED音樂頻譜的設(shè)計(jì)院(系): 專業(yè):學(xué)生姓名: 學(xué)號: 指導(dǎo)教師: 2011年07月07日該系統(tǒng)采用增強(qiáng)型8051單片機(jī)STC12C5A60S2為主控制器,通過單片機(jī)內(nèi)置的ADC對音頻信號進(jìn)行采樣、量化,然后通過快速傅里葉變換運(yùn)算,在頻域計(jì)算出音頻信號各個(gè)頻率分量的功率,最后通過雙基色LED單元板進(jìn)行顯示。該方案具有電路結(jié)構(gòu)簡潔,開發(fā)、生產(chǎn)成本低的優(yōu)點(diǎn)。關(guān)鍵詞:單片機(jī);傅里葉;LED;TOC\o"1-5"\h\z\o"CurrentDocument".引言 1\o"CurrentDocument".方案設(shè)計(jì) 21設(shè)計(jì)要求 22總體方案設(shè)計(jì) 33總體方案組成 6\o"CurrentDocument"3.系統(tǒng)電路設(shè)計(jì) 61單片機(jī)主控電路設(shè)計(jì)主控制器 62LED顯示模塊電路設(shè)計(jì) 7.軟件設(shè)計(jì) 8軟件設(shè)計(jì)流程圖 8\o"CurrentDocument".系統(tǒng)的測試 8\o"CurrentDocument".結(jié)論 9.參考文獻(xiàn) 11.附錄 14.引言本文介紹的音樂頻譜顯示器可對mp3、手機(jī)、計(jì)算機(jī)輸出的音樂信號進(jìn)行實(shí)時(shí)的頻譜顯示。系統(tǒng)采用增強(qiáng)型8051單片機(jī)STC12C5A60S2為主控制芯片,通過單片機(jī)內(nèi)置的ADC對音頻信號進(jìn)行采樣,把連續(xù)信號離散化,然后通過快速傅里葉變換(FFT)運(yùn)算,在頻域計(jì)算出音頻信號各個(gè)頻率分量的功率,最后通過雙基色LED單元板進(jìn)行顯示。在顯示的頻率點(diǎn)不多的情況下,本系統(tǒng)比采用DSP或ARM作為主控制芯片的設(shè)計(jì)方案具有電路結(jié)構(gòu)簡潔,開發(fā)、生產(chǎn)成本低的優(yōu)點(diǎn)。.方案設(shè)計(jì)設(shè)計(jì)要求.單片機(jī)自帶AD轉(zhuǎn)換,這樣省去外圍AD電路。.控制LED隨著音樂跳動(dòng),需要理解傅里葉原理??傮w方案設(shè)計(jì)經(jīng)分析,將系統(tǒng)分為兩個(gè)部分,一個(gè)是由單片機(jī)組成的主控。另一部分是LED顯示部分,單片機(jī)對接收到的音頻進(jìn)行處理經(jīng)過傅里葉換算后在LED顯示,5V穩(wěn)壓電源給各個(gè)部分供電。該系統(tǒng)實(shí)現(xiàn)的方法有很多種,下面將列出大家最經(jīng)常用到的實(shí)現(xiàn)方案。系統(tǒng)框圖如圖1所示顯示電路音頻信號顯示電路音頻信號圖1音樂頻譜總體系統(tǒng)框圖該系統(tǒng)由音頻信號預(yù)處理電路、單片機(jī)STC12C5A60S2控制電路、LED頻譜顯示電路等部分組成。圖l為系統(tǒng)整體設(shè)計(jì)原理框圖。圖1系統(tǒng)整體設(shè)計(jì)原理框圖系統(tǒng)各組部分的功能:(1)音頻信號預(yù)處理電路主要對輸入的音頻進(jìn)行電壓放大和電平提升。(2)單片機(jī)STC12C5A60S2控制電路采用內(nèi)置的ADC對音頻信號進(jìn)行采樣量化,然后對量化后的音頻數(shù)據(jù)采用FFT算法計(jì)算其頻譜值,再將各頻譜值進(jìn)行32級量化。(3)LED頻譜顯示電路在單片機(jī)的控制下,負(fù)責(zé)將FFT計(jì)算得到的音頻信號的各個(gè)頻點(diǎn)的大小進(jìn)行直觀顯示。.音頻信號預(yù)處理電路圖2音頻信號預(yù)處理電路音頻信號預(yù)處理電路見圖2所示,對輸入的音頻進(jìn)行電壓放大和電平提升。手機(jī)、計(jì)算機(jī)輸出的音頻信號Vin經(jīng)過RP1進(jìn)行電壓調(diào)節(jié)后,經(jīng)集成運(yùn)放LMV358反相放大10倍(Av=-R3/R2=-10),提高系統(tǒng)的靈敏度。選用單電源供電的運(yùn)放LMV358,一方面可以簡化系統(tǒng)電源電路的設(shè)計(jì),直接采用系統(tǒng)的+5V供電即可;另一方面其輸出端靜態(tài)電壓為VCC/2,即2.5V。放大后的音頻信號和這2.5V疊加后變?yōu)橹绷麟妷盒盘枺瑵M足后面單片機(jī)內(nèi)置的ADC對輸入電壓量程的要求。另外,LMV358為軌到軌輸出運(yùn)放,它可在+5V單電源供電條件下仍具有較大的動(dòng)態(tài)輸出范圍。.單片機(jī)STC12C5A60S2控制電路STC12C5A60S2單片機(jī)是宏晶科技生產(chǎn)的新一代單時(shí)鐘/機(jī)器周期(1T)8051單片機(jī),具有高速、低功耗及超強(qiáng)抗干擾等特點(diǎn),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍;內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S)等資源[1]。特別是它帶硬件乘法/除法指令,使乘法指令執(zhí)行時(shí)間從傳統(tǒng)8051的48個(gè)晶振周期減少到4個(gè)晶振周期,使需要大量乘法運(yùn)算的FFT運(yùn)算速度得到大幅度提高。在本系統(tǒng)中,STC12C5A60S2單片機(jī)負(fù)責(zé)完成對音頻信號進(jìn)行A/D變換,然后采用FFT算法計(jì)算音頻信號頻譜,并將計(jì)算結(jié)果輸出到LED頻譜顯示電路。(1)音頻信號的A/D變換根據(jù)香農(nóng)采樣定理,一般采樣頻率至少應(yīng)為所采樣音頻信號最高頻率的2倍。由于人耳能夠感受的頻率為20Hz-20kHz,所以理論上采樣頻率最高取40kHz。本設(shè)計(jì)采用單片機(jī)STC12C5A60S2內(nèi)置的ADC對音頻信號進(jìn)行采樣、量化。STC12C5A60S2單片機(jī)的A/D轉(zhuǎn)換口在P1□(P1.0-P1.7),W8路10位的高速ADC,其輸入電壓量程為0-Vcc,轉(zhuǎn)換速度可通過ADC_CONTR特殊功能寄存器的SPEED1,SPEED0位進(jìn)行控制,速度最快可設(shè)置為每90個(gè)時(shí)鐘周期轉(zhuǎn)換一次。在外接晶振為24MHz時(shí),ADC的轉(zhuǎn)換速度可達(dá)到330KHZ,完全可滿足對音頻信號的采樣需要。(2)音頻信號頻譜值的計(jì)算我們采用快速傅里葉算法(FFT)來計(jì)算音頻信號的頻譜值。根據(jù)FFT運(yùn)算規(guī)律,如ADC以fs的采樣頻率取N個(gè)采樣點(diǎn),經(jīng)過FFT運(yùn)算之后,就可以得到N個(gè)點(diǎn)的復(fù)數(shù)序列。通常為了方便進(jìn)行FFT運(yùn)算,通常N取2的整數(shù)次方:N=2L(L為正整數(shù))。這N個(gè)點(diǎn)的FFT結(jié)果,每一個(gè)點(diǎn)就對應(yīng)著原始信號的一個(gè)頻率點(diǎn),即第n點(diǎn)所表示的頻率為f=nxfs/N,n=0,1,…,(N-1);該點(diǎn)的模值除以N/2就是對應(yīng)該頻率下原始信號的幅度(對于第1個(gè)點(diǎn)則是除以N);該點(diǎn)的相位即是對應(yīng)該頻率下原始信號的相位。由于FFT結(jié)果的對稱性,通常只使用FFT運(yùn)算后的前N/2個(gè)點(diǎn)的數(shù)值。本系統(tǒng)每隔10ms采樣一次128個(gè)點(diǎn),經(jīng)過FFT運(yùn)算后將得到128個(gè)頻率點(diǎn)。由于FFT結(jié)果的對稱性,我們選取前64個(gè)點(diǎn)進(jìn)行顯示?,F(xiàn)在FFT算法已發(fā)展出多種形式,本系統(tǒng)采用按時(shí)間抽選(DIT)的基-2FFT算法,這種算法程序相對較簡單,節(jié)省存儲單元,運(yùn)行效率較高,比較適合用單片機(jī)編程實(shí)現(xiàn)。DIT基-2FFT算法主要由倒位序運(yùn)算和多級蝶形運(yùn)算實(shí)現(xiàn)。a.倒位序運(yùn)算的實(shí)現(xiàn)DIT基-2FFT算法通常將原始數(shù)據(jù)序列倒位序存儲,運(yùn)算后的結(jié)果則按正常順序輸出。一般的數(shù)字信號處理的教材都介紹雷德(Rader)算法,通過“反向進(jìn)位加法”將原始數(shù)據(jù)序列進(jìn)行倒位序存儲[2]。雷德算法的靈活性較大,但在本系統(tǒng)中,參與運(yùn)算的數(shù)據(jù)點(diǎn)數(shù)只有128個(gè),通過預(yù)先編制倒位序查詢表,采用查表方式實(shí)現(xiàn)倒位序操作速度會(huì)更快。b.蝶形運(yùn)算的實(shí)現(xiàn)根據(jù)DIT基-2FFT算法原理,N點(diǎn)FFT運(yùn)算由log2N級,每級N/2個(gè)蝶形運(yùn)算,共(^2)log2N個(gè)蝶形運(yùn)算構(gòu)成。每個(gè)蝶形運(yùn)算結(jié)構(gòu)見圖3所示[2]。,丫’(k) \ (k)k+b)¥ ~(k+b)-1圖3蝶形運(yùn)算圖3按時(shí)間抽選蝶形運(yùn)算結(jié)構(gòu)蝶形運(yùn)算結(jié)構(gòu)圖中,m表示第m級的蝶形運(yùn)算,k為蝶形運(yùn)算第一節(jié)點(diǎn)所在行數(shù),b為蝶形運(yùn)算兩節(jié)點(diǎn)距離,b=2m-1,WNr為旋轉(zhuǎn)因子,WNr=cos(2nr/N)-jsin(2nr/N)。每個(gè)蝶形結(jié)構(gòu)完成下述基本迭代運(yùn)算[2]:式中,卬,cos(2”/N)-/sin(2fP/N)o設(shè)Xm=Rm+jIm,將式(1)轉(zhuǎn)變?yōu)閷?shí)部和虛部的表示形式,得到:由上面式(1)、式(2)可見,一個(gè)蝶形運(yùn)算需要一次復(fù)數(shù)乘法Xm-1(k+b)WNr及兩次復(fù)數(shù)加(減)法。在單片機(jī)系統(tǒng)中編程實(shí)現(xiàn)時(shí),需把復(fù)數(shù)運(yùn)算轉(zhuǎn)變?yōu)閷?shí)數(shù)運(yùn)算。心依)=1『(@+*盟人6龍0虱21Tm信乩)虱鼠2萬肉”3)兒(幻=為,(幻一X/5+b)sin(27rPTV)+*(表+/j)cos(2tt%V)(4)同理,將式(2)轉(zhuǎn)變?yōu)椋篨d)=XJ(左)4,保雨V)-茶為無拙由n(2ir/WV)(5)X《k鉆HX;(k)+茶;/+b)sin(2irBW)-X:(*+6)cqs(21r附V)(6)將sin、cos函數(shù)做成表格sin_tab[128]、cos_tab[128],直接查表可提高運(yùn)算速度。3.頻譜值的顯示系統(tǒng)中采用5*11個(gè)不同顏色的草帽LED進(jìn)行顯示,每列顯示音頻信號的一個(gè)頻率點(diǎn),每列LED點(diǎn)亮的高度表示該頻率點(diǎn)幅度的大小。整個(gè)顯示板一共有5列U,工作的時(shí)候,可以看到每列根據(jù)頻率幅度的大小在跳動(dòng)。2.3整體系統(tǒng)組成本系統(tǒng)硬件部分由單片機(jī)主控電路、LED顯示部分、音頻采集等部分組成,其中單片機(jī)主控電路有外接晶振,電源供電電路阻等部分組成。軟件部分詳細(xì)見下文。單片機(jī)全系統(tǒng)如下圖2所示。3.系統(tǒng)電路設(shè)計(jì)單片機(jī)主控電路設(shè)計(jì)單片機(jī)主控模塊包括了振落電路、音頻采集電路,同時(shí)接入了各個(gè)模塊的接口,保證了整個(gè)系統(tǒng)的靈活性。單片機(jī)是整個(gè)系統(tǒng)的控制中樞,它指揮外圍器件協(xié)調(diào)工作,從而完成特定的功能。硬件實(shí)現(xiàn)上采用模塊化設(shè)計(jì),每一模塊只實(shí)現(xiàn)一個(gè)特定功能,最后再將各個(gè)模塊搭接在一起。這種設(shè)計(jì)方法可以降低系統(tǒng)設(shè)計(jì)的復(fù)雜性??刂齐娐返暮诵钠骷怯擅绹鳤tmel公司生產(chǎn)的AT89S52單片機(jī),屬于MCS-51系列。AT89S52是一種低功耗、高性能的CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器,采用的工藝是Atmel公司的高密度非易失存儲器技術(shù);片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器;在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案;價(jià)格低廉、性能可靠、抗干擾能力強(qiáng)。因此廣泛應(yīng)用于工業(yè)控制和嵌入式系統(tǒng)中。單片機(jī)主控電路原理圖如下所示:£7UpfUI£7UpfUIri.oI-iPLn1? ¥L.L-PO.OnntJ耶4ri_z. 1:iF.lnj j'^,2PI4 PO.JPL5 P0.4PI6 Prt.5PL7 PQ.GR^T FVJRXD.TIO _EA1XD/P3.1ALEFROGN 2 PSHX]NII/PS3 P2J1X1314 72t612P15 曾.5WRZP3.fi P2.4尺EP,7 P2.3XTAL2 P2.2XTAll P2JVSS P2.037手斯63$千34E31Q3?R3]031135I1130P3.2J229P3.313NXRI5—IKP2.7P3.114nRI4—IKl'2.6P31IXR7152ftkl<—=JlKP2.5P?1625KL2P2.4!J.1K—Kt,,..—IK咫K517:MK|.1gJJ*— Jk.]&2JRLUP2.2—―JK]*>R9—'jK120,21K*—IKP2.0■SlCl2C5A(hOS2Cl2Tpf——24MEIZTY]圖4.1單片機(jī)主控電路原理圖3.23.2LED顯示模塊電路設(shè)計(jì)pr7_K|__收了Pl7/Jm.7 ?P:7 |□l尸產(chǎn)D123產(chǎn)D2S20&4U45Pi.6_KIPI6■網(wǎng)6-叫h-P3恁-FlJF,02DBDM尸尸D35尸尸D46尸尸P3.SblE■呼5■F5|■FlJF,VVJP2.7_k|DI.4P27尸再]D25尸尸4D36甩,1八K4P2. 1J1K31DI5尸產(chǎn)Flo她尸尸□r?JD4S產(chǎn)尸P2S6aRlfi卜P2?fikl十P2,r.P2.6FlFlP2.5kl__016F尸產(chǎn),iD271*2.5尸尸kl_■尸尸,04g”3|尸尸F(xiàn)l況;"尸D17尸產(chǎn)D28Fl尸尸—rD39尸尸iD5Q尸尸■P2.4-聞P24?t吐4w4也4;1P!PIP2JDT尸J□18P2JJX?029P3J1J__ fP2.D4031工工D51P2J|0Wmn□41D52P2.2P2..2尸E?吆2尸尸吐2尸尸值21尸尸D201n■1D3M24n4P2.13尸iIP21IJ?iP2.I.P2.1kL_P2.I|KJkL_彳□21I)2D43D54P2.0了.為qb匕UJ尸產(chǎn)|iP2JIJJ■IP2J.I?J也U|尸尸PI□ii:二D221 D3H$「![M4飛1n寸rnrrEJ4.軟件設(shè)計(jì)4.1軟件設(shè)計(jì)流程圖FFT倒序流程圖(一…一麗送入上gcrM=J(kHK.W)*f/FFT計(jì)算流程圖.系統(tǒng)測試制作的過程中首先遇到的問題是LED如何組裝,經(jīng)過查閱資料發(fā)現(xiàn),可以利用LED的管腳互相按照電路圖連接起來,這個(gè)時(shí)候主要是利用萬用表來測試,LED燈到底有無壞掉的。通電后,在無音頻輸入時(shí),LED應(yīng)該無閃爍跳動(dòng)現(xiàn)象。在制作完成的時(shí)候,發(fā)現(xiàn)LED燈閃爍,這個(gè)時(shí)候,在音頻輸入端接入了47P的電容,這樣就解決了這個(gè)問題。.結(jié)論本系統(tǒng)采用增強(qiáng)型8051單片機(jī)STC12C5A60S2實(shí)現(xiàn)音樂頻譜顯示,該方案硬件電路設(shè)計(jì)簡單、成本低,并具有較高的實(shí)用價(jià)值。本方案是通過ADC采樣輸入的音頻信號,ADC采樣完成以后,將數(shù)據(jù)進(jìn)行倒序排列并進(jìn)行FFT運(yùn)算,結(jié)果通過TFT液晶顯示出來。由于采用的處理器的處理能力的原因,不能做到很高的采樣頻率和很精細(xì)的頻率分辨率,要提高系統(tǒng)的頻率分辨率,就需要增加采樣點(diǎn)數(shù)??梢越柚鶳C的強(qiáng)大處理能力,將采樣的數(shù)據(jù)通過預(yù)留的串口傳送給PC,在PC上完成FFT運(yùn)算以及顯示,這就是虛擬儀器的方式,實(shí)際工作中應(yīng)用前景也非常大。10感謝老師對我們的指導(dǎo)。完成了這個(gè)實(shí)訓(xùn)任務(wù),雖然結(jié)果差強(qiáng)人意,但是還是有進(jìn)步的,有收獲的。希望以后在學(xué)習(xí)生活中能繼續(xù)好好學(xué)習(xí)。11.參考文獻(xiàn)[1]宏晶科技.STC12C5A60S2系列單片機(jī)器件手冊卬].2010.[2]程佩青.數(shù)字信號處理教程(第二版)[M].北京:清華大學(xué)出版社,2001.[3]靳桅,等.基于51系列單片機(jī)的LED顯示屏開關(guān)技術(shù)(第2版)[M].北京:北京航空航天大學(xué)出版社,2011.作者簡介:吳永德(1980—),男,講師,從事電子技術(shù)專業(yè)教學(xué)及研究。羅萍(1979—),女,講師,從事計(jì)算機(jī)技術(shù)專業(yè)教學(xué)及研究。12

附錄:電路圖:程序:#include<stc12c5a60s2.h>〃"stc12c5620ad.h"#include<intrins.h>#defineLongToBin(n)(((n>>21)&0x80)|((n>>18)&0x40)|((n>>15)&0x20)|((n>>12)&0x10)|((n>>9)&0x08)|((n>>6)&0x04)|((n>>3)&0x02)|((n)&0x01))#defineBIN(n)LongToBin(0x##n##)#defineucharunsignedchar#defineuintunsignedintdefineSAMPLE_NUM64defineNUM_2_LOG6defineFFT_OUT_MIN3ucharcodeBRTable[SAMPLE_NUM]={0,32,16,48,8,40,24,56,4,36,20,52,12,44,28,60,2,34,18,50,10,42,26,58,6,38,22,54,14,46,30,62,1,33,17,49,9,41,25,57,5,37,21,53,13,45,29,61,3,35,19,51,11,43,27,59,7,39,23,55,15,47,31,63);charcodesin_tabb[SAMPLE_NUM]={0,12,25,37,49,60,71,81,90,98,106,112,117,122,125,126,127,126,125,122,117,112,106,98,90,81,71,60,49,37,25,12,0,-12,-25,-37,-49,-60,-71,-81,-90,-98,-106,-112,-117,-122,-125,-126,-127,-126,-125,-122,-117,-112,-106,-98,-90,-81,-71,-60,-49,-37,-25,-12);charcodecos_tabb[SAMPLE_NUM]={127,126,125,122,117,112,106,98,90,81,71,60,49,37,25,12,0,-12,-25,-37,-49,-60,-71,-81,-90,-98,-106,-112,-117,-122,-125,-126,-127,-126,-125,-122,-117,-112,-106,-98,-90,-81,-71,-60,-49,-37,-25,-1132,0,12,25,37,49,60,71,81,90,98,106,112,117,122,125,126);uchara[21];ucharkeep,keepnum,anum,timernum,timernum2,lednum3,Ltime;//用于分離/*加入數(shù)組用于顯示相應(yīng)led燈數(shù)目*/ucharlednum□二{0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//0-7的顯示數(shù)組P2組控制intxdataFftReal[SAMPLE_NUM];intxdataFftImage[SAMPLE_NUM];sbitp30=P3八0;sbitp31=P31;sbitp32=P3”;sbitp33=P3八3;sbitp34=P3N;sbitp35=P3八5;//9-11的led控制sbitp36=P3^6;sbitp37=P3";voidtimerinit()//定時(shí)器初始化函數(shù){TMOD=0x01;TH0=(65536-6000)/256;TL0=(65536-6000)%256;EA=1;ET0=1;TR0=1;)voiddisp(){timernum++;if(timernum==6)timernum=1;P2=0;//顯示前先關(guān)閉P3=P3&0x1f;switch(timernum){case1:anum=a[0];p34=0;p33=1;p32=1;p31=1;p30=1;break;case2:anum=a[1];p34=1;p33=0;p32=1;p31=1;p30=1;break;case3:anum=a[2];p34=1;p33=1;p32=0;p31=1;p30=1;break;case4:anum=a[3];p34=1;p33=1;p32=1;p31=0;p30=1;break;case5:anum=a[4];p34=1;p33=1;p32=1;p31=1;p30=0;break;)//anum=a[10];/*修改可以改變光柱高度(anum值分開幾個(gè)部分用定時(shí)器區(qū)分顯示)(a口內(nèi)逐加)*/if(anum<=8){P2=lednum[anum];P3=P3&0xff;}//屏蔽高三位1f14//else{P2=0xff;P3=lednum2[anum-9];}if(anum==9){P2=0xff;p35=1;p36=0;p37=0;}if(anum=10){P2=0xff;p35=1;p36=1;p37=0;}if(anum==11){P2=0xff;p35=1;p36=1;p37=1;})ucharSTC_ADC() //?。「鶕?jù)數(shù)據(jù)手冊寫一個(gè)ad讀取函數(shù){uchari;ADC_RES=0;ADC_RESL=0;ADC_CONTR=BIN(10001000);i=3;while(i--);while(1){if(ADC_CONTR&BIN(10000)){break;))ADC_CONTR=BIN(10000000);return(ADC_RESL<<2);)shortsqrt_16(unsignedlongM){unsignedintN,i;unsignedlongtmp,ttp;if(M==0)return0;N=0;tmp=(M>>30);M<<=2;if(tmp>1){N++;tmp-二N;)for(i=15;i>0;i--){15N<<=1;tmp<<=2;tmp+=(M>>30);ttp=N;ttp=(ttp<<1)+1;M<<=2;if(tmp>=ttp)(tmp-=ttp;N++;))returnN;)voidFFT()(registeruchari,bb,j,k,p,max;registershortTR,TI,temp;unsignedlongulReal;unsignedlongulImage;for(i=0;i<SAMPLE_NUM;i++) 〃此處可以加入自動(dòng)增益(FftReal[BRTable[i]]=STC_ADC()<<keep;〃使顯示保持在一定范圍內(nèi)FftImage[i]=0;)keepnum=FftReal[2]/32;〃提取等級數(shù)if((7<keepnum)&&(keepnum<=8)){keep=1;}elseif((4<keepnum)&&(keepnum<=6)){keep=2;}elseif((2<keepnum)&&(keepnum<=4)){keep=3;}else{keep=5;}for(i=1;i<=NUM_2_LOG;i++){bb=1;bb<<=(i-1);for(j=0;j<=bb-1;j++)16p=1;p<<=(NUM_2_LOG-i);p=P*j;for(k=j;k<SAMPLE_NUM;k=k+2*bb){TR=FftReal[k];TI=FftImage[k];temp=FftReal[k+bb];FftReal[k]=FftReal[k]+((FftReal[k

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論