999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于STM32F103C8T6單片機(jī)DSP庫的音樂頻譜

2020-05-16 09:15:56謝志平
軟件 2020年4期
關(guān)鍵詞:單片機(jī)信號

謝志平

(廣東省技師學(xué)院,廣東 惠州 516100)

0 引言

任何周期函數(shù),都可以看作是不同振幅,不同相位正弦波的疊加。利用C語言編程的FFT算法[2]可以把對波形采樣回來的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,一個模擬信號,假設(shè)對其以某個采樣率采樣了N個數(shù)據(jù),經(jīng)過FFT換算以后,就可以獲得這段波形里面含有的不同頻率的特征,這就是頻譜。

對于音頻信號的采集轉(zhuǎn)換,傳統(tǒng)的51單片機(jī)的ADC轉(zhuǎn)換速度雖然可以滿足要求,C語言編程的FFT算法比較容易編寫,但帶來的缺點就是執(zhí)行效率低。而且同時要滿足ADC轉(zhuǎn)換、FFT運(yùn)算及LED屏幕的數(shù)據(jù)刷新顯示和其他附加功能時會非常困難了。使用 STM32F103單片機(jī)官方的 DSP庫[2],采用里面的256位FFT變換,用匯編語言編寫,代碼執(zhí)行效率高,使用時只要調(diào)用接口函數(shù)即可,能同時滿足多種任務(wù)運(yùn)行功能。

整個系統(tǒng)分為音頻采集與信號處理,紅外按鍵和顯示輸出部分,系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)框圖Fig. 1 System structure diagram

1 硬件電路

1.1 音頻選擇與音頻處理

通過選擇開關(guān)可以對外置麥克風(fēng)和外部輸入音源進(jìn)行采集放大。外部話筒信號采集到聲音后,經(jīng)過三極管放大后,經(jīng)過選擇開關(guān)可進(jìn)入集成運(yùn)放進(jìn)行 10倍的反相放大。經(jīng)過放大后輸入到單片機(jī)的A/D轉(zhuǎn)換端口。外部音頻輸入J1同樣可以經(jīng)過選擇開關(guān)接入到10倍的反相放大電路進(jìn)行放大。該反相放大采用的是軌至軌運(yùn)算放大器[3]GS8551。該芯片是一種微功率,低零點漂移的CMOS運(yùn)算放大器,放大器有著1.8 MHz的帶寬,軌對軌輸入和輸出,單電源提電從1.8 V到5.5 V。靜態(tài)電流低至180 μA,電路見圖2。

圖2 音頻選擇與音頻處理電路Fig.2 Audio selection and audio processing circuits

1.2 單片機(jī)外圍與顯示屏接口電路

外部輸入電源經(jīng)過穩(wěn)壓芯片進(jìn)行穩(wěn)壓,得到3.3 V電壓給單片機(jī)、紅外接收頭、ISP程序下載供電。采集到的音頻信號通過PA0口輸入到單片機(jī)內(nèi)部進(jìn)行轉(zhuǎn)換。一體化紅外接收頭采用普通的通用接收頭,用來接收來自遙控器的信號,方便對頻譜顯示效果進(jìn)行切換。全彩點陣屏采用的是HUB-75B接口的室內(nèi)全彩屏。

圖3 單片機(jī)外圍與顯示屏接口電路Fig.3 MCU peripheral interface with the display circuit

該類型顯示屏接口定義如下:

表1 全彩HUB-75B接口定義Tab.1 Full color hub-75b interface definition

2 編程算法

如果要進(jìn)行256點的轉(zhuǎn)換。首先使用定時器進(jìn)行定時(設(shè)置40 KHZ采樣率,最高能捕捉20 KHZ的信號),設(shè)置每次定時器溢出的時候自動觸發(fā)一次ADC轉(zhuǎn)換。轉(zhuǎn)換完成后的數(shù)據(jù)由 DMA[4]自動搬運(yùn)到內(nèi)存指定位置,這個采樣過程無需CPU干預(yù),提高了效率。在完成256次頻率的轉(zhuǎn)換后,等256點全部傳輸完才會進(jìn)入到 DMA的中斷,這樣保證了每個采樣點的間隔時間一致。在中斷里面將處理完成標(biāo)志置為1后再繼續(xù)轉(zhuǎn)換。

每次轉(zhuǎn)換完成的數(shù)據(jù)用 DSP進(jìn)行 FFT換算,DSP換算成的FFT輸出結(jié)果相當(dāng)于一個復(fù)數(shù),將該復(fù)數(shù)進(jìn)行求模/2處理后,就代表了該頻率點對應(yīng)上的幅度值了,然后分別送入兩個數(shù)組,一個用來做柱形效果,一個用來做漂浮點效果。

2.1 ADC采集

單片機(jī)通過ADC接口讀取音頻信號的電壓值,音樂信號的頻率范圍為 20-20 KHz。由采樣定理:為采樣頻率,為頻率分辨率,N為采樣點,所以一般情況給定了和F0時也就限制了N范圍:,信號的最高頻率為20 KHz。則FS= 4 0 KHz。為如果對信號進(jìn)行128點的采樣,分辯率為312 Hz。如果采樣點改為256,則F0= 1 56 Hz。即設(shè)置定時器溢出為0.025 ms,采樣點N通過宏定義即可在 DSP庫函數(shù)里 cr4_fft_256_stm32(FFT_OUT,F(xiàn)FT_IN,NPT)來實現(xiàn)。使用stm32cubemx[5]去配置這些硬件,生成基礎(chǔ)代碼即可完成相應(yīng)的功能。

圖4 ADC轉(zhuǎn)換流程圖Fig.4 ADC conversion flow chart

2.2 FFT算法

ADC采集到的數(shù)據(jù)產(chǎn)生中斷后,就可以直接轉(zhuǎn)換了,通過單片機(jī)內(nèi)部的DSP進(jìn)行運(yùn)算處理,運(yùn)行DSP庫里的FFT算法函數(shù)[6]即可完成轉(zhuǎn)換。DSP官方庫里的FFT算法有三個函數(shù)庫分別為:

cr4_fft_64_stm32.s/cr4_fft_256_stm32.s/cr4_fft_1024_stm32.s。

以256點為例,F(xiàn)FT算法的過程為:首先STM32庫中給出的FFT函數(shù)格式如下:

Void cr4_fft_1024_stm32(FFT_OUT, FFT_IN, NPT);

其中,NPT為采樣點,通過修改宏定義來修改NPT代表的值,此處為256;FFT_OUT和FFT_IN均是長度為NPT的32位長整型的數(shù)組,高16位為實部,低 16位為虛部,F(xiàn)FT_OUT [NPT]用于保存FFT之后的輸出值;FFT_IN[NPT]用于保存輸入的數(shù)值。

對原始數(shù)據(jù)進(jìn)行FFT之后,需要對輸出數(shù)據(jù)進(jìn)行處理。設(shè)置一個循環(huán)語句,將要采集的頻率范圍包含在里面,去掉直流分量。將FFT_OUT [NPT]32位的值分別賦予兩個變量,一個是實部,一個是虛部。再將其求均方根后除以2就是該頻率點對應(yīng)的信號幅度值。

2.3 LED數(shù)據(jù)刷新顯示

得到了信號的幅度值后,再將這個幅度值進(jìn)行轉(zhuǎn)換成LED適合的顯示方式就形成了頻譜效果。點陣的分辨率比較高時,為了提高系統(tǒng)的運(yùn)行效率,采用定時器中斷掃描顯示的方法來完成頻譜的刷新顯示。

3 系統(tǒng)測試

利用函數(shù)信號發(fā)生器,輸出接上揚(yáng)聲器,將函數(shù)信號發(fā)生器產(chǎn)生正弦波,幅度調(diào)到合適的值,從0 Hz到20 KHz開始測試,利用MIC輸入采集聲音,調(diào)節(jié)音量電位器,達(dá)到合適的靈敏度,顯示屏頻譜顯示基本可以做到準(zhǔn)確地跟蹤,在 LED顯示模式上,改變顯示刷新方式,通過紅外遙控器上的功能按鍵做相應(yīng)的設(shè)置,可以進(jìn)行不同的顯示方式,增加多種效果。

4 結(jié)語

通過使用 STC8系列單片機(jī)單周期指令的速度優(yōu)勢和內(nèi)部強(qiáng)大的ADC轉(zhuǎn)換功能并結(jié)合FFT算法。完成對音樂信號的頻譜采集并通過 LED全彩顯示屏進(jìn)行顯示,能對普通的聲音信號進(jìn)行簡單的頻譜分析。同時,對日常生活音影設(shè)備增加了美感。

猜你喜歡
單片機(jī)信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于單片機(jī)的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
孩子停止長個的信號
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計
電子制作(2017年19期)2017-02-02 07:08:27
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 狠狠做深爱婷婷综合一区| 欧洲欧美人成免费全部视频 | 国产成人精品一区二区| 狼友av永久网站免费观看| 米奇精品一区二区三区| 国产精品高清国产三级囯产AV| 中文字幕久久精品波多野结| 特黄日韩免费一区二区三区| 日韩毛片免费观看| 日韩国产综合精选| 亚洲成a人片77777在线播放| 国产在线八区| 国产无码精品在线播放| 日本一本正道综合久久dvd | 日韩在线中文| 五月六月伊人狠狠丁香网| 无码福利日韩神码福利片| 色噜噜在线观看| 亚洲美女久久| 欧美a级完整在线观看| 欧美一级专区免费大片| 国产美女视频黄a视频全免费网站| 国产一级精品毛片基地| 久久久国产精品无码专区| 67194亚洲无码| 91成人免费观看| 毛片免费视频| 韩日无码在线不卡| 高清无码一本到东京热| 久久成人免费| 直接黄91麻豆网站| 国产一区二区三区精品欧美日韩| 人人艹人人爽| 亚洲人精品亚洲人成在线| 欧美一级夜夜爽| 亚洲精品中文字幕午夜| 青青青伊人色综合久久| 亚洲欧美精品一中文字幕| 91欧美在线| 狠狠做深爱婷婷综合一区| 精品国产网| 欧美精品亚洲二区| 久久无码av一区二区三区| 综合网久久| 国产成人高清精品免费5388| 五月激情婷婷综合| 激情亚洲天堂| 成年人福利视频| 国产人人乐人人爱| 国产成人综合网| 亚洲国产精品无码AV| 国产亚洲高清在线精品99| 精品无码一区二区三区在线视频| 亚洲精品片911| 91精品久久久无码中文字幕vr| 国产毛片高清一级国语| 无码精品一区二区久久久| 国产高清在线丝袜精品一区| 高清久久精品亚洲日韩Av| 久草热视频在线| 久久这里只有精品66| 免费看久久精品99| 欧美在线导航| 丝袜高跟美脚国产1区| 特级aaaaaaaaa毛片免费视频| 91精选国产大片| 日韩在线播放欧美字幕| 超清无码熟妇人妻AV在线绿巨人| 超薄丝袜足j国产在线视频| 伊大人香蕉久久网欧美| 久久久久无码精品| 久久国产精品影院| 国产资源站| 五月婷婷欧美| 欧美国产日韩另类| 久久伊伊香蕉综合精品| 日韩黄色在线| 好吊色妇女免费视频免费| 亚洲性影院| 亚洲第一成年人网站| 国产微拍一区| 国产麻豆精品在线观看|