freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的音頻信號(hào)分析儀設(shè)計(jì)含完整程序(參考版)

2024-11-14 16:01本頁面
  

【正文】 go。 ADS_PEN=IORD_ALTERA_AVALON_PIO_DATA(ADS_PEN_PIO_BASE)。t++) { xa+=read_once(CMD_RDX)。 for(t=0。 delay_us(5000)。 goto LOOP。 ADS_PEN=IORD_ALTERA_AVALON_PIO_DATA(ADS_PEN_PIO_BASE)。t++) { ya+=read_once(CMD_RDY)。 for(t=0。 delay_us(5000)。 while(1) { LOOP: ADS_PEN=IORD_ALTERA_AVALON_PIO_DATA(ADS_PEN_PIO_BASE)。 start_spi()。 alt_u16 i,y=0。 uint xa。 alt_u8 t。 extern uint Point_Y。 DisplayGB2312_32(7,0xf800,0x07ff,6,0)。 DisplayGB2312_32(5,0xf800,0x07ff,5,0)。 DisplayGB2312_32(3,0xf800,0x07ff,4,0)。 DrawRectangle(128,0,232,65,0x07ff)。 DisplayGB2312_32(6,0xf800,0x07ff,2,1)。 DisplayGB2312_32(4,0xf800,0x07ff,1,1)。 DisplayGB2312_32(0,0xf800,0x07ff,0,1)。 DisplayGB2312_32(17,0xF800,0xffff,5,7)。 DisplayGB2312_32(15,0xF800,0xffff,5,9)。 DisplayGB2312_32(13,0xF800,0xffff,4,7)。 DisplayGB2312_32(18,0xF800,0xffff,4,9)。 DisplayGB2312_32(11,0xF800,0xffff,3,6)。 DisplayGB2312_32(9,0xF800,0xffff,3,8)。 alt_busy_sleep(1000000)。 alt_busy_sleep(1000000)。 init_button_pio()。 IOWR_ALTERA_AVALON_PIO_DATA(ADC_CLR_PIO_BASE,0)。 alt_irq_register(ADC_END_PIO_IRQ,edge_capture_ptr,handle_button_interrupts)。 IOWR_ALTERA_AVALON_PIO_IRQ_MASK(ADC_END_PIO_BASE,0x1)。 } } static void init_button_pio() { void* edge_capture_ptr = (void*) amp。 IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,0)。 if(t==512) { t=0。 IOWR_ALTERA_AVALON_PIO_EDGE_CAP(ADC_END_PIO_BASE,0)。 *edge_capture_ptr=IORD_ALTERA_AVALON_PIO_EDGE_CAP(ADC_END_PIO_BASE)。 uchar x_q[256]。 unsigned char const s[]=124569。 float cos_datax[2048]。 float cos_datas[2048]。 alt_u8 n。 alt_u8 flag=0。 alt_u16 t=0。本次設(shè)計(jì)是對(duì)我四年所學(xué)知識(shí)的一次綜合性檢測(cè)和考驗(yàn),無論是動(dòng)手能力還是理論知識(shí)運(yùn)用能力都得到了提高,同時(shí)加深了我對(duì)網(wǎng)絡(luò)資源認(rèn)識(shí),大大提高了查閱資料的能力和效率,使我有充足的時(shí)間投入到電路設(shè)計(jì)當(dāng)中。 基于 FPGA 的音 頻信號(hào)分析儀 29 6 結(jié)束語 本次畢業(yè)設(shè)計(jì)是在 2020 年全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽 A題《音頻信號(hào)分析儀》的基礎(chǔ)上進(jìn)行的設(shè)計(jì)制作的,基本完成了系統(tǒng)設(shè)計(jì)的要求。當(dāng)取樣時(shí)間不為周期信號(hào)整數(shù)倍時(shí)經(jīng) FFT后其頻率分量將泄漏。 ○2項(xiàng)誤差由 A/D 量化的誤差 ,以及通道噪聲引入。 上述誤差中 ○1項(xiàng)誤差主要由計(jì)算引入?!?FFT 運(yùn)算頻譜泄露誤差 。 表 3 單個(gè)頻率分量測(cè)量結(jié)果 電壓峰峰值 頻率 實(shí)際功率 測(cè)量功率 誤差 10K % 基于 FPGA 的音 頻信號(hào)分析儀 28 1K % 100 % 1V 10k % 1V 100 % 100mV 1k % 100mV 100 % 誤差分析 本系統(tǒng)誤差 ,經(jīng)分析可見由以下幾部分組成 :○ 1 數(shù)據(jù)后期處理計(jì)算誤差 。 基于 FPGA 的音 頻信號(hào)分析儀 27 32674815U1op071KR11KR21KR3+5v5v500R4v1 v210uFC2GNDC110uFC4C3GNDGND 圖 20 號(hào)疊加電路 兩路信號(hào)總功率測(cè)量 由于實(shí)驗(yàn)室提供的能夠模仿音頻信號(hào)的且能方便測(cè)量的信號(hào)只有正弦信號(hào),所以我們用信號(hào)發(fā)生器產(chǎn)生的兩路信號(hào)通過疊加電路,然后進(jìn)行測(cè)量,發(fā)現(xiàn)總功率相對(duì)誤差的絕對(duì)值都小于 5%。 ( 3)系統(tǒng)整體聯(lián)調(diào) 在各模塊調(diào)試通過后將各模塊按系統(tǒng)電路圖正 確組裝,將各模塊程序進(jìn)行合理綜合,調(diào)試系統(tǒng)直到系統(tǒng)功能實(shí)現(xiàn)。 ( 2)系統(tǒng)電源電路的調(diào)試 電源對(duì)系統(tǒng)的重要性是不言而喻的,一個(gè)系統(tǒng)的電源不僅要很穩(wěn)定,同時(shí)電源的紋波也要非常小。在處理低頻信號(hào)的系統(tǒng)中,電源的噪聲對(duì)系統(tǒng)的影響比較大,高頻干擾一般比較小,所以每個(gè)模塊的電源端都要加電容濾掉電源噪聲。最后對(duì)整個(gè)系統(tǒng)進(jìn)行調(diào)試直至滿足設(shè)計(jì)要求。 ③ 第 L 級(jí)的 2L1 個(gè)碟形因子 WPN 中的 P,可表示為: p=j*2mL 其中 j=0, 1, 2, ...,( 2L11) 基于 FPGA 的音 頻信號(hào)分析儀 26 5 系統(tǒng)調(diào)試與測(cè)試結(jié)果 系統(tǒng)調(diào)試 在完成本系統(tǒng)的過程中,我是按照模塊化的思想來制作和調(diào)試的,這樣大大地提高了系統(tǒng)制作效率,同時(shí)也給調(diào)試帶來了很大的方便。 幾個(gè)要注意的數(shù)據(jù): ① 在第 L 級(jí)中,每個(gè)碟形的兩個(gè)輸入端相距 b=2L1 個(gè)點(diǎn)。 可以得出結(jié)論:在每一級(jí)中,第三層循環(huán)完成 N/2L 個(gè)碟形計(jì)算;第二層循基于 FPGA 的音 頻信號(hào)分析儀 25 環(huán)使第三層循環(huán)進(jìn)行 2L1 次,因此,第二層循環(huán)完成時(shí),共進(jìn)行 2L1*N/2L=N/2個(gè)碟形計(jì)算。 第二層循環(huán):由于第 L 級(jí)有 2L1 個(gè)蝶形因子(乘數(shù)),第二層循環(huán)根據(jù)乘數(shù)進(jìn)行控制,保證對(duì)于每一個(gè)蝶形因子第三層循環(huán)要執(zhí)行一次,這樣,第三層循環(huán)在第二層循環(huán)控制下,每一級(jí)要進(jìn)行 2L1 次循環(huán) 計(jì)算。 DITFFT 的基本思想是用 3 層循環(huán)完成全部運(yùn)算 (N 點(diǎn) FFT)。 dataI[k+b]=TI+temp*sin_tab[p]dataI[k+b]*cos_tab[p]。 dataI[k]=dataI[k]dataR[k+b]*sin_tab[p]+dataI[k+b]*cos_tab[p]。 temp=dataR[k+b]。 TR=dataR[k]。 通過以上分析,我們只要將式( 1)、( 2)、( 3)、( 4)轉(zhuǎn)換成 C 語言語句即可。 ② 經(jīng)過式( 3)后, XR(K+B)的值已變化,而式( 4)中要用到該位置上的上一級(jí)值,所以在執(zhí)行式( 3)前要先將上一級(jí)的值 XR’(K+B)保存。繼續(xù)分解得到下列兩式 : XR(K)= XR’(K)+ XR’(K+B) cos( 2πP/N) + XI’(K+B) sin (2πP/N) ( 1) XI(K)= XI’(K)XR’(K+B) sin( 2πP/N) +XI’(K+B)cos (2πP/N) ( 2) 基于 FPGA 的音 頻信號(hào)分析儀 24 需要注意的是 : XR(K)、 XR’(K)的存儲(chǔ)位置相同 ,所 以經(jīng)過( 1)、( 2)后,該位置上的值已經(jīng)改變,而下面求 X(K+B)要用到 X’(K),因此在編程時(shí)要注意保存 XR’(K)和 XI’(K)到 TR 和 TI 兩個(gè)臨時(shí)變量中。 實(shí)數(shù)蝶形運(yùn)算算法 圖 19 蝶形圖 蝶形公式: X(K) = X’(K) + X’(K+B)WPN X(K+B) = X’(K) X’(K+B) WPN 其中 WPN= cos( 2πP/N) jsin( 2πP/N)。0x01。0x01。0x01。0x01。0x01。0x01。0x01。程序段如下(假設(shè) 128 點(diǎn) FFT): int b0=b1=b2=b3=b4=b5=6=0。假設(shè)一開始,數(shù)據(jù)在數(shù)組 floatdataR[128]中,我們將下標(biāo) i 表示為( b6b5b4b3b2b1b0) b,倒位序存放就是將原來第 i 個(gè)位置的元素存放到第( b0b1b2b3b4b5b6) b 的位置上去 .由于 C 語言的位操作能力很強(qiáng),可以分別提取出 b b b b b b b0,再重新組合成 b0、 bb b b b b6,即是倒位序的位置??梢?,從頻譜分析出來的幅度是正確的。 基于 FPGA 的音 頻信號(hào)分析儀 22 圖 17 原始信號(hào)的波形圖 圖 18 原始信號(hào)經(jīng)過 FFT后的波形圖 基于 FPGA 的音 頻信號(hào)分析儀 23 從上圖中可以看到,在第 1點(diǎn)、第 51點(diǎn)、和第 76點(diǎn)附近有比較大的值,經(jīng)過FFT后三點(diǎn)的幅值分別為 51 192和 256,三點(diǎn)附近的數(shù)據(jù)的幅值都近似為零。按照上面的分析, Fn=(n1)*Fs/N,每?jī)蓚€(gè)點(diǎn)之間的間距就是 1Hz,第 n個(gè)點(diǎn)的頻率就是 n1。用數(shù)學(xué)表達(dá)式就是如下: S=2+*cos(2*pi*50*tpi*30/180)+2*cos(2*pi*75*t+pi*90/180) 式中 cos參數(shù)為弧度,所以 30度 和 90度要分別換算成弧度。由于 FFT結(jié)果的對(duì)稱性,通常我們只使用前半部分的結(jié)果,即小于采樣頻率一半的結(jié)果 。 假設(shè) FFT之后某點(diǎn) n用復(fù)數(shù) a+bi表示,那么這個(gè)復(fù)數(shù)的模就是 22An a b??,相位就是 Pn=atan2(b,a)。如果要提高頻率分辨力,則必須增加采樣點(diǎn)數(shù),也即采樣時(shí)間。由上面的公式可以看出, Fn所能分辨到頻率為 Fs/N,如果采樣頻率 Fs為 1024Hz,采樣點(diǎn)數(shù)為 1024點(diǎn),則可以分辨到 1Hz。第一個(gè)點(diǎn)表示直流分量(即 0Hz),而最后一個(gè)點(diǎn) N的再下一個(gè)點(diǎn)(實(shí)際上這個(gè)點(diǎn)是不存在的,這里是假設(shè)的第 N+1個(gè)點(diǎn),也可以看作是將第一個(gè)點(diǎn)分做兩半分,另一半移到最后)則表示采樣頻率 Fs,這中間被 N1個(gè)點(diǎn)平均分成 N等份,基于 FPGA 的音 頻信號(hào)分析儀 21 每個(gè)點(diǎn)的頻率依次增加。 而第一個(gè)點(diǎn)就是直流分量,它的模值就是直流分量的 N倍。這個(gè)點(diǎn)的模值,就是該頻率值下的幅度特性。那么 FFT之后結(jié)果就是一個(gè)為 N點(diǎn)的復(fù)數(shù)。為了方便進(jìn)行 FFT運(yùn)算,通常 N取2的整數(shù)次方。 基于 FPGA 的音 頻信號(hào)分析儀 20 圖 16 觸摸屏的觸摸識(shí)別流程圖 FFT 算法的 C語言實(shí)現(xiàn) FFT 的 MATLAB 仿真與分析 信號(hào)經(jīng)過 ADC采樣后得到的數(shù)字信號(hào),就可以做 FFT變換了。如果兩次都為高,則發(fā)送控制字節(jié)返回到開始繼續(xù)判斷 PENIRQ是否為低。最后判斷 PENIRQ是否為高,如果為高,再判斷一次。轉(zhuǎn)換結(jié)束后 ,內(nèi)部振蕩電路被關(guān)閉 ,DOUT 變?yōu)楦唠娖?,此時(shí)即可讀取轉(zhuǎn)換數(shù)據(jù)。當(dāng)串行時(shí)鐘頻率小于 100kHz 或大 基于 FPGA 的音 頻信號(hào)分析儀 19 時(shí) ,應(yīng)選擇內(nèi)部時(shí)鐘模式。 將 CS/SHDN 設(shè)置為低電平可啟動(dòng) A/D 轉(zhuǎn)換過程 ,在 CS/SHDN 的下降沿 ,內(nèi)部采樣 /保持電路將進(jìn)入采樣模式 ,此時(shí)如果 SCLK為高電平 ,則選擇內(nèi)部時(shí)鐘模式 。輸出數(shù)據(jù)中包含的一個(gè)通道標(biāo)志位 CHID,用以確定該數(shù)據(jù)為哪一通道轉(zhuǎn)換得到。 MAX144 的兩個(gè)模擬輸入通道 CH0 與 CH1 可連接到兩個(gè)不同的信號(hào)源上。 圖 1
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1