版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、STM32音樂頻譜分析2011-12-11 03:06:03|分類:制作類| 標(biāo)簽:|舉報(bào)|字號(hào)大中小 訂閱呵呵,在昨天的基礎(chǔ)上,進(jìn)行了改進(jìn)。采樣頻率為12.3Khz,256點(diǎn)FFT視頻:TDA2822放大,然后給單片機(jī) AD 口,剩下就是軟件其實(shí)這玩意不難做,音頻信號(hào)采集,我的方法是將電腦出來的信號(hào)用上的了baidu 了下它和看它的數(shù)據(jù)手冊(cè),說起TDA2822,還是挺不錯(cuò)的一款功率放大芯片,本只想用來做信號(hào)放大用的,但 都多用來做小功率功放。呵呵,那就也做一個(gè)吧。TDA2822的典型應(yīng)用電路如下:C3亠100 yiF2INPUT1 OINPUT2 O_R210k±lC2100 uF
2、這電路很普通,沒什么特別,參數(shù)也不用調(diào)整,直接搭出來,就正常的工作。接下來就是將放大后的信號(hào)給單片機(jī),這里問題就來了,電路中C4, C5是干什么,給單片機(jī)的話要不要加?于是開始baidu,google,但沒找到合適解答,于是翻了翻模電書,里面還真講到功率放大器,TDA2822是OTL功放,輸出電容起耦合作用,因?yàn)镺TL功放在在靜態(tài)時(shí)輸出端都會(huì)有Vcc/2伏的輸出,這樣會(huì)搞壞喇叭,所以需要加個(gè)電容,隔離。單片機(jī)處理的話就不用輸出電容了。如果用示波器一看,結(jié)果就很明顯,如下圖,下面的信號(hào)是加了電容,上面是沒加。做好電路后理所當(dāng)然的準(zhǔn)備將功放輸出端接到單片機(jī)上,但突然一想,不對(duì)啊,功放我給11.1V
3、供電,那輸出不就有5V左右電壓?而STM32是 3.3V ! 不燒了才怪!幸好TDA2822工作電壓范圍在1.812V間,所以就給它3.3V行了。這樣一來基本就沒問題了GND第二個(gè)的輸出電容還是保留,作個(gè)對(duì)比。好了,接下來就是程序了。首先就得確定采樣率,就是間隔多久采一個(gè)點(diǎn)。剛開始不是很懂,用的 40kHz,也成,但要是做音頻頻譜分析沒必要那么高了。這里有些資料:音頻的頻率范圍及表現(xiàn)力度音頻的頻率范圍、音質(zhì)的評(píng)價(jià)標(biāo)準(zhǔn)一般認(rèn)為20Hz 20kHz是人耳聽覺頻帶,稱為“聲頻”。這個(gè)頻段的聲音稱為“可聞聲”,高于20kHz的稱為“超聲”,低于 20Hz的稱為“次聲“。所謂聲音的質(zhì)量,是指經(jīng)傳輸、處理
4、后音頻信號(hào)的保真度。目前,業(yè)界公認(rèn)的聲音質(zhì)量標(biāo)準(zhǔn)分為4級(jí),即:數(shù)字激光唱盤CD-DA質(zhì)量,其信號(hào)帶寬為10Hz20kHz;調(diào)頻廣播FM質(zhì)量,其信號(hào)帶寬為 20Hz15kHz;調(diào)幅廣播AM質(zhì)量,其信號(hào)帶寬為 50Hz7kHz;電話的話音質(zhì)量,其信號(hào)帶寬為200Hz3400H乙可見,數(shù)字激光唱盤的聲音質(zhì)量最高,電話的話音質(zhì)量最低。除了頻率范圍外,人們往往還用其它方法和指標(biāo)來進(jìn)一步描述不同用途的音質(zhì)標(biāo)準(zhǔn)。音頻頻率范圍一般可以分為四個(gè)頻段,即:低頻段(30150HZ);中低頻段(30 150HZ;中低頻(150500HZ;中高頻段(500 5000HZ);高頻段(5000 20kHZ)»30
5、 150HZ頻段:能夠表現(xiàn)音樂的低頻成分,使欣賞者感受到強(qiáng)勁有力的動(dòng)感。150 500HZ頻段:能夠表現(xiàn)單個(gè)打擊樂器在音樂中的表現(xiàn)力,是低頻中表達(dá)力度的部分。500 5000HZ頻段:主要表達(dá)演唱者或語言的清淅度及弦樂的表現(xiàn)力。5000 20kHZ頻段:主要表達(dá)音樂的明亮度,但過多會(huì)使聲音發(fā)破。所以我選則12kHz左右的采樣率。US.ERI-!E-S-1±| -±E-adc.cledx3264LED.Cmain.CDSPJib闆 iirstm32,c 闆 PrD_C_stm32x 園 cr4_fft_64_stm32.s >j cr4_fft_2 5 6_stm 3
6、2 *s 方 cr4_fFt_10 24_stm3 2.s 國(guó) fir_stm32,s I* iirarma_stm32.s 圍 PID_stm32下面的DSP_Lib文件夾就是ST公司提供的DSP庫(kù)。FFT, PID等都是用匯編寫的。622 Fast Fourier transform (FFT)Table 14. Complex radix 4f 16-bit FFT* coefficients in Flash memoryFFT(ASM fund.)24MHZ0 wait state48 MHz1 wait state72 MH:2 wait stacycle counttimecyc
7、le countttmecycle count64 points38470J6 ms4 4720.093 ms5 661(256 points21 0390.876 ms24 9640,52 ms31 527(1024 points100 18Q4.174 ms114 3502.382 ms153 930fTable 15- Complex radix 4t 16-bh FFT, coefficients in RAMFFT(ASM fund.)24 MHz 0 wait state4B MHz1 wait state72 MHJ2 wait stacycle counttimecycle c
8、ountttnrwcycle count64 points3 8470J6 ms4 0250.084 ms4 764(256 points21 0390.B76 ms22 1760.462 ms26 065(1024 points100 1804.174 ms102 0572.126 ms127 318將ST提供的FFT表加載到內(nèi)存中,速度是快一些,1024點(diǎn)只需1.7ms左右,我覺得效率算是蠻高了接下來就是代碼了:#include <stm32f10x lib.h>#in elude vmath.h>#i nclude "stm32_dsp.h"#i n
9、clude "table_fft.h"#include "sys.h"#include "usart.h"#i nclude "delay.h"#i nclude "timer.h"#i nclude "LED.h"#i nclude "ADC.h"#include "3264LED.h"/ FFT poi nt#defi ne NPT 256#defi ne FAST 1/指示條下落速度#defi ne SLOW50 /綠點(diǎn)下落速度#
10、defi ne STOP 35/綠點(diǎn)停頓速度u16 TableFFT;u16 AD_Cou nt=O;u16 time,time2;void powerMag(void);/計(jì)算幅值u32 Data_INNPT;/* Complex in put vector */u32 Data_OUTNPT;/* Complex output vector */u32 IBUFMAGNPT/2;/* 保存幅值*/u16 Result64;/最終結(jié)果u8 Pos64=0;/綠點(diǎn)位置u8 Dot64=0;/記錄每點(diǎn)停頓時(shí)間u32 TMP;int main( void)u16 i,k;s16 tmp;Stm32
11、_Clock_l nit(9);/系統(tǒng)時(shí)鐘設(shè)置72Mhzdelay_i nit(72);/延時(shí)初始化Timer3_l nit(5,7199);/0.6ms 中斷一次LED顯示Timer4_l nit(7,760);/約74us中斷一次,AD采集LED_I nit();LEDs_I nit();/點(diǎn)陣初始化Adc_l nit();time=time2=0;AD_Co un t=0;while/做256點(diǎn)fft 運(yùn)算cr4_fft_256_stm32(Data_OUT, Data_IN, NPT);/算幅值powerMagO;for(i=1;i<65;i+)/點(diǎn)平移,去除靜態(tài)波動(dòng)tmp=lB
12、UFMAGi/2-5;/顯示幅值為實(shí)際幅值的一半并減去5,這樣效果較好if(tmp<0)tmp=0;else if(tmp>31)tmp=31;if(tmp>=Resulti-1) if(time2>FAST) time2=0;Resulti-1=tmp;/得到每列上綠點(diǎn)的高度if(Resulti-1>=Posi-1)Doti-1=0;Posi-1=Resulti-1;/更新綠點(diǎn)高度for(i=0;i<64;i+)for(k=0;k<32;k+)/畫紅點(diǎn)if(k<Resulti) Draw_Point(i,k,RED,2);else Draw_P
13、oi nt(i,k,O,O);Draw_Poi nt(i,Posi,GREEN,2);/畫綠點(diǎn)if(time2>FAST&&Resul ti>=1) Resulti-;if(Doti>=STOP)/停頓判斷 if(time>SLOW&&Posi>=1) Posi-; Doti+;if(Doti>=250)Doti=250;if(time>SLOW)time=0;else time2+;/* Calculate powermag計(jì)算各次諧波幅值* 先將lBUFOUT分解成實(shí)部(X)和虛部(Y),然后計(jì)算幅值(sqrt(X*
14、X+Y*Y)*/void powerMag(void)s32 IX,IY;u32 i;float X,Y,Mag;for(i=0;i<65;i+) /只顯示64個(gè)點(diǎn),所以計(jì)算得到前面65個(gè)點(diǎn)的幅值就行了IX = (Data_OUTi << 16) >> 16;lY = (Data_OUTi >> 16);X =(float)IX) /64;Y=(float)lY) /64;Mag = sqrt(X*X + Y*Y)/NPT;IBUFMAGi= (u32)(Mag * 65536);void TIM4_IRQHandler(void)/ 定時(shí)器ADC1-
15、>SQR3 &二 OXFFFFFFEO;ADC1->SQR3|=2;ADC1->CR2|=1<<22;TMP=ADC1->DR;Data_INAD_Co un t=TMP<<16;AD_Cou nt+;if(AD_Cou nt>255) AD_Cou nt=O;TIM4->SR&=(1«0);4中斷服務(wù)程序約74us中斷一次/規(guī)則序列1/通道2采集/啟動(dòng)規(guī)則轉(zhuǎn)換通道/清除中斷標(biāo)志位void TIM3_IRQHa ndler(void) /u16 i;if(TIM3->SR&0X0001)oe=0;for(i=0;i<64;i+)/wr_595(SBFLi nei);for(i=0;i<64;i+)/wr_595(S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題01 利用導(dǎo)函數(shù)研究函數(shù)的切線問題(典型題型歸類訓(xùn)練) 解析版
- 2025年產(chǎn)業(yè)基金戰(zhàn)略合作協(xié)議范文(2篇)
- 2025年二手車轉(zhuǎn)讓協(xié)議不過戶(2篇)
- 2025年臨時(shí)工安全生產(chǎn)協(xié)議(三篇)
- 快遞驛站裝修合同協(xié)議書
- 兒童樂園石膏吊頂裝修協(xié)議
- 學(xué)校教室翻新承包合同
- 水上養(yǎng)殖沙石運(yùn)輸合同范本
- 寵物運(yùn)輸車輛協(xié)議
- 家禽飼料緊急配送服務(wù)協(xié)議
- Unit 6 Beautiful landscapes Integration說課稿 - 2024-2025學(xué)年譯林版英語七年級(jí)下冊(cè)
- 新版人教版七年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)教案教學(xué)設(shè)計(jì)含教學(xué)反思
- 北京市東城區(qū)2023-2024學(xué)年高二下學(xué)期期末英語試題 含解析
- 中國(guó)食物成分表2020年權(quán)威完整改進(jìn)版
- 2024年金屬非金屬礦山(地下礦山)安全管理人員考試練習(xí)題(100題)附答案
- 快消品銷售團(tuán)隊(duì)薪酬方案
- 測(cè)繪學(xué)基礎(chǔ)知識(shí)單選題100道及答案解析
- 2024公共數(shù)據(jù)授權(quán)運(yùn)營(yíng)實(shí)施方案
- 2024年國(guó)家焊工職業(yè)技能理論考試題庫(kù)(含答案)
- 人力資源居間合作協(xié)議范本
- 特魯索綜合征
評(píng)論
0/150
提交評(píng)論