



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、STM32F103 12-15 元左右本文將以一個(gè)實(shí)例來介紹如何使用STM32提供的DSP庫函數(shù)進(jìn)行FFT1.FFT運(yùn)算效率使用STM32官方提供的DSP庫進(jìn)行FFT,雖然在使用上有些不靈活(因?yàn)?它 是基4的FFT,所以FFT的點(diǎn)數(shù)必須是45),但其執(zhí)行效率確實(shí)非常高效,看圖1所 示的FFT運(yùn)算效率測(cè)試數(shù)據(jù)便可見一斑。該數(shù)據(jù)來自STM32 DSP庫使用文檔。6.2.2 Fast Fourier tr-ansform (FFTfTabFe 14. Comp rex radiicFTT (ASM TunCL)24 MMz449 MHi1 wait72 MHE2 wait states0state
2、cycle couiilUniecycle CDiinltimecycle counttimepcintfi3647O.IE ms4475OOWg雪越16.076 ms356 points2* 0390.878 ms0.S2 ms31 5570 437 ms1001B04 j Mina1143&C2八2陽153 930E138 msFFT. coeffic cents inmemoryTabte 16t Comp lox radx 4( IfkNt FFT,coeffIMtnu in RAMFFT(ASM fund.24 MHzC wsh stare44 MHz1 wait state
3、72 MHz2 wAit statescycle c£>urittimocycle con ntlimecveN CDU Mltrme54 pc Kits36470.16ms4 0250.0&4 ms4 7640.066 ms2$ pointsii砂0嵌電ms直刪mi賢曲t024 pdcnlfiW1004.1741C2O572t26127 31 B1 768 rTte圖1 FFT運(yùn)算效率測(cè)試數(shù)據(jù)由圖1可見,在STM32F10X系列處理器上,如果使用72M的系統(tǒng)主頻,進(jìn)行 64點(diǎn)的FFT運(yùn)算,僅僅需要0.078ms而已。如果是進(jìn)行1024點(diǎn)的FFT運(yùn)算,也才 需要 2.1
4、38ms。2如何使用STM32提供的DSP庫函數(shù)2.1下載STM32的DSP庫大家可以從網(wǎng)上搜索下載得到STM32的DSP庫,這里提供一個(gè)下載的地址:2.2添加DSP庫到自己的工程項(xiàng)目中下載得到STM32的DSP庫之后,就可以將其添加到自己的工程項(xiàng)目中了。其 中,inc文件夾下的stm32_dsp.h和tableJft.h兩個(gè)文件是必須添加的。stm32_dsp.h是STM32的DSP庫的頭文件。src文件夾下的文件可以有選擇的添加(用到那個(gè)添加那個(gè)即可)。因?yàn)槲抑挥?到了 256點(diǎn)的FFT,所以這里我只添加了 cr4_fft_256_stm32.s文件。添加完成后 的項(xiàng)目框架如圖2所示。I!
5、 ? J Target I:> Source- Group 1 卄 STWi3F!0)c4* : rriiin.eF/SYSTEM倒citlay盂*jTix1 2345678910c也 uAart-Cjdd 呼 h 口UEdJTb叩 HARDWAREQ£DAP LibraryJ t#bJetLh力 cr4.Kt2S6.4tm32rS圖2項(xiàng)目框架2.3模擬采樣數(shù)據(jù)根據(jù)采樣定理,采樣頻率必須是被采樣信號(hào)最高頻率的2倍。這里,我要采集 的是音頻信號(hào),音頻信號(hào)的頻率范圍是20Hz到20KHZ,所以我使用的采用頻率是 44800Hz。那么在進(jìn)行256點(diǎn)FFT時(shí),將得到44800Hz /
6、256 = 175Hz的頻 率分辨 率。為了驗(yàn)證FFT運(yùn)算結(jié)果的正確性,這里我模擬了一組采樣數(shù)據(jù),并將該采樣數(shù)據(jù)存放到了 long類型的IBuflnArray數(shù)組中,且該數(shù)組中每個(gè)元素的高16位存儲(chǔ)采樣數(shù)據(jù)的實(shí)部,低16位存儲(chǔ)采樣數(shù)據(jù)的虛部(總是為0)。為什么要這樣做呢?是因?yàn)楹竺嬉{(diào)用 STM32的DSP庫函數(shù),需要傳入的 參數(shù)規(guī)定了必須是這樣的數(shù)據(jù)格式。下面是具體的實(shí)現(xiàn)代碼:1/*2 函數(shù)名稱:InitBuflnArray ()3函數(shù)功能:模擬采樣數(shù)據(jù),采樣數(shù)據(jù)中包含3種頻率正弦波(350Hz,8400Hz18725Hz)4參數(shù)說明:5備 注:在IBuflnArray數(shù)組中,每個(gè)數(shù)據(jù)的高1
7、6位存儲(chǔ)采樣數(shù)據(jù)的實(shí)部,6低16位存儲(chǔ)采樣數(shù)據(jù)的虛部(總是為0)7作者:博客園依舊淡然()8*9 void InitBuflnArray ()1112unsigned float fx;short i;13for (i= 0; ivNPT; i+)1415fx =1500* sin (PI2*i*350.0 / Fs) +162700 * sin (PI2 * i *8400.0 / Fs) +174000 * sin (PI2 * i *18725.0/Fs);18IBufl nArrayi = (sig nedshort )fx) «1920其中,NPT是采樣點(diǎn)數(shù)256, PI2
8、是2n(BJ 6.28318530717959 , Fs是采 樣頻 率44800??梢钥吹讲蓸訑?shù)據(jù)中包含了 3種頻率的正弦波,分別為350Hz, 8400Hz 和 18725Hz。24調(diào)用DSP庫函數(shù)進(jìn)行FFT進(jìn)行256點(diǎn)的FFT,只需要調(diào)用STM32 DSP庫函數(shù)中的cr4_fft_256_stm32()函 數(shù)即可。該函數(shù)的原型為:void cr4_fft_256_stm32(void *pssOUT, void *psslN, uin t16_t Nbi n);其中'參數(shù)pssOUT表示FFT輸出數(shù)組指針,參數(shù)pssIN表示要進(jìn)行FFT運(yùn)算 的輸入數(shù)組指針,參數(shù)Nbin表示了點(diǎn)數(shù)。
9、至于該函數(shù)的具體實(shí)現(xiàn),因?yàn)槭怯脜R編語 言編寫的,我也不懂,這里就不妄談了。下面是具體的調(diào)用實(shí)例:cr4_fft_256_stm32(IBuf Out Array, IBufl n Array, NPT);其中,參數(shù)IBufOutArray同樣是一個(gè)long類型的數(shù)組、參數(shù)IBuflnArray就 是 存放模擬采樣數(shù)據(jù)的采樣數(shù)組,NPT為采樣點(diǎn)數(shù)256。調(diào)用該函數(shù)之后'在IBufOutArray數(shù)組中就存放了進(jìn)行FFT運(yùn)算之后的結(jié)果數(shù) 據(jù)。該數(shù)組中每個(gè)元素的數(shù)據(jù)格式為;高16位存儲(chǔ)虛部,低16位存儲(chǔ)實(shí)部。2.5計(jì) 算各次諧波幅值得到FFT運(yùn)算之后的結(jié)果數(shù)據(jù)之后,就可以計(jì)算各次諧波的幅值了
10、。下面是具 體的實(shí)現(xiàn)代碼:1/if*2 函數(shù)名稱:GetPowerMag()3函數(shù)功能:計(jì)算各次諧波幅值4參數(shù)說明:5備注:先將IBufOutArray分解成實(shí)部(X)和虛部(Y),然后計(jì)算幅值(sqrt(X*X+Y*Y)6作者:博客園依舊淡然()7*/8 void GetPowerMag()9 10 signed short IX,IY;11 float X,Y,Mag;12 unsigned short i;13 for (i= 0; ivNPT/ 2; i+)14 16) » 16;16);32768;32768;long )(Mag *long )(Mag *32768)65
11、536)15 IX = (IBufOutArrayi «16 IY = (IBufOutArrayi »17 X = NPT * ( float) IX)/18 Y = NPT * (float )IY) /19 Mag = sqrt(X *X + Y * Y) / NPT;20 if (i =0)21 IBufMagArrayi = (un sig ned22 else23 IBufMagArrayi = (un sig ned24 25其中,數(shù)組IBufMagArray存儲(chǔ)了各次諧波的幅值。2.6實(shí)驗(yàn)結(jié)果通過串口,我們可以將IBufMagArray數(shù)組中各次諧波的幅值(即各個(gè)頻率
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)康復(fù)醫(yī)療服務(wù)行業(yè)市場(chǎng)規(guī)模測(cè)算邏輯模型
- 2025年度南京地區(qū)建筑勞務(wù)派遣合作協(xié)議書
- 2025年度安防技術(shù)研發(fā)合伙人股份協(xié)議
- 二零二五年度荒山承包合同(生態(tài)修復(fù)與水源保護(hù))
- 便利店裝修施工合同范本
- 2025年度簽待崗協(xié)議對(duì)員工職業(yè)生涯規(guī)劃指導(dǎo)手冊(cè)
- 2025年度平房房屋出租合同(含周邊商業(yè)合作權(quán)益)
- 2025年湖南體育職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫完整
- 2025年湖南商務(wù)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫必考題
- 2024年三季度報(bào)重慶地區(qū)A股主營(yíng)業(yè)務(wù)收入增長(zhǎng)率排名前十大上市公司
- 2025-2025年七年級(jí)英語下冊(cè)教學(xué)計(jì)劃
- 酒店客房管理手冊(cè)
- 基坑支護(hù)及土方開挖施工方案
- 國(guó)家安全教育(臨沂職業(yè)學(xué)院)知到智慧樹答案
- 公司安全生產(chǎn)事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)工作制度
- 《室內(nèi)設(shè)計(jì)公共空間》課件
- BD FACSCalibur流式細(xì)胞儀操作手冊(cè)
- 投資合作協(xié)議范本:投資合作協(xié)議書范本
- 外研版一年級(jí)上冊(cè)新交際英語(2024)Unit 6 Colour單元整體教學(xué)設(shè)計(jì)
- 抖音基礎(chǔ)課程培訓(xùn)
- 新員工培訓(xùn):廉潔從業(yè)
評(píng)論
0/150
提交評(píng)論