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

正文內(nèi)容

dsp課程設(shè)計---dtmf信號的產(chǎn)生及檢測-預(yù)覽頁

2025-02-09 02:57 上一頁面

下一頁面
 

【正文】 MF編碼在屏幕上顯示。每組分別包括4個頻率,分別抽出一個頻率進行組合就可以組成16種DTMF編碼,分別記作0~*、A、B、C、D。DSP只要裝載相應(yīng)的系數(shù)和初始條件,就可以只用兩個振蕩器產(chǎn)生所需的八種音頻信號。該式初值為 , 。 將兩種方案進行比較后,我們認(rèn)為,使用正弦振蕩器計算法這種方法計算時所需的計算量小,但是由于使用了迭代的方法產(chǎn)生樣點值,所以當(dāng)前時刻的輸出序列需要反饋到輸入端。 直接使用sin函數(shù)產(chǎn)生正弦波的方法,其計算時所需的計算量與方案一相當(dāng),并且也能達到誤差要求。由于采樣頻率為8000Hz,所以DSP有足夠的計算時間,可以使用查詢模式通過D/A轉(zhuǎn)換器輸出DTMF信號。100ms內(nèi)其他時間為靜音,以便區(qū)別連續(xù)的兩個按鍵信號。2. DTMF信號的檢測DTMF檢測是對進入解碼端的信號進行檢測,并把雙音頻信號轉(zhuǎn)換成對應(yīng)的數(shù)字信息。任務(wù)一:在輸入信號中提取頻譜信息DTMF 解碼時在輸入信號中搜索出有效的行頻和列頻。Goertzel 算法實質(zhì)是一個兩極點的IIR 濾波器,其算法原理框圖如圖32所示。DFT計算可以等價為:在實際的DTMF檢測中,只需DFT的幅度(本算法為平方幅度)信息就足夠了,因此在Goertzel濾波器中,當(dāng)N點(相當(dāng)于DFT數(shù)據(jù)塊的長度)樣值輸入濾波器后,濾波器輸出偽DFT值vk(n),由vk(n)即可確定頻譜的幅度平方。 當(dāng)?shù)玫筋l譜的幅度平方之后,將幅度平方與門限作比較。同時,為了防止重復(fù)檢測,下一個判決必須在檢測到靜音信號后才能有效。 //判決子程序sendHANDLE hHandset。 //定義num,用于查詢頻率表int count=0。f32 x,y。 //定義字符型數(shù)組telephonenumber//用于存放鍵入的字符float freq[16][2]={ 941,1336, //定義16行2列的二維數(shù)組,第一列用于 697,1209,//存放行頻,第二列用于存放列頻 697,1336, 697,1477, 770,1209, 770,1336, 770,1477, 852,1209, 852,1336, 852,1477, 697,1633, 770,1633, 852,1633, 941,1633, 941,1209, 941,1477 }。 //LED0亮 delay(1000)。//LED2亮 delay(1000)。 //A/D工作在15bit模式 codec_ain_gain(hHandset, CODEC_AIN_6dB)。 //gets函數(shù),用于將鍵入的字符存入數(shù)組 j=0。//查表得列頻,并賦給y for(k=0。//將float型強行轉(zhuǎn)化為s16型 //后400個點為靜音信號,存入buffer buffer[k+400]=0。 while(1) { while (!MCBSP_XRDY(HANDSET_CODEC)) {}。 count++。 send(j)。k400。 out_buffer[k+400]=buffer[k]。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。 i++) { for(j=0。 //codec句柄變量float buffer[256]。int k=0。 //延時子程序delayvoid DTMF_detect(void)。 delay(1000)。 delay(1000)。 //設(shè)置輸入增益為6dB codec_ain_gain(hHandset, CODEC_AIN_6dB)。//等待A/D轉(zhuǎn)換器輸出數(shù)據(jù)data=*(volatile u16*)DRR1_ADDR(HANDSET_CODEC)。 //當(dāng)采集滿256個樣點值后,調(diào)用DTMF_detect對采集 DTMF_detect()。 //k=f*N/fs,N為DFT數(shù)據(jù)塊的長度,這里取N=205,k的計算結(jié)果取整數(shù) w[0]=2*cos(2*pi*18/205)。 //f=941Hz,k=24w[4]=2*cos(2*pi*31/205)。 //f=1633Hz,k=42 for(i=0。 // vk(n1)=0 for(j=0。 //對vk(n2)的值進行更新 a[i][1]=a[i][2]。i8。 //將列頻信號的編號賦給x } } i=2。 y==5) i=0。 else if(x==0 amp。amp。 y==4) i=4。 else if(x==1 amp。amp。 y==5) i=8。 else if(x==0 amp。amp。 y==7) printf(The DTMF signal is C\n)。 else if(x==3 amp。amp。 for(i=0。 j++)。char num_2[16]。amp。 y==5) { i=2。 } else if(x==1 amp。amp。 y==6) { i=6。 } else if(x==2 amp。amp。 y==5) { i=0。A39。 y==7) { num_1[m]=39。amp。 } else if(x==3 amp。m++ 。*39。 y==6) { num_1[m]=39。i39。 n++。n16。這樣就能夠保證接收到相同信號時只進行一次輸出。)結(jié)果與結(jié)果分析:,發(fā)送端的LED燈循環(huán)亮三次,證明程序正常運行。Buffer size 為需要觀察的樣點數(shù)目,在這里設(shè)為200,得實驗結(jié)果如下: 由于發(fā)送的DTMF信號是兩個正弦信號的疊加,實驗所得波形很好地驗證了這一點。當(dāng)取樣點數(shù)大于800時,即可分辨出靜音信號和音頻信號。由實驗結(jié)果可知,兩個尖峰的頻率分別在950Hz和1500Hz左右,這與‘’的行頻和列頻是一致的。可以得知,在接收端信號的頻率發(fā)生了偏移,接收的效果沒有達到理想的狀態(tài)。經(jīng)過反復(fù)測試,我們終于發(fā)現(xiàn)增大存放鍵入字符的數(shù)組telephonenumber的容量就可以解決這一問題。六、 參考文獻(1)高海林、錢滿義.DSP技術(shù)及其應(yīng)用講義.2005年10月(2) TMS320C54x DSP Reference Set Volume 1: CPU and Peripherals.SPRU131G Texas Instrument Inc,2001(3) DTMF Tone Generation and Detection:An Implementation Using the TMS320C54x. SPRA096a , 34
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1