




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用1 120222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用3 3( )1* (1)2* (2)y nay nay n00012cos, 21,2/saaff0( 1)0, ( 2)sinyyA 20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用4 420222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用5 520222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用6 6開始DSK板初始化設置D/A轉換器的分辨率為15位及轉換速率8000Hz計算各鍵
2、行頻系數(shù)及初始條件計算各鍵列頻系數(shù)及初始條件取出發(fā)送的DTMF按鍵號碼轉換為數(shù)組下標查表得到鍵值的行頻列頻系數(shù)和初始值DTMF編碼流程20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用7 7計算本次輸出的樣點值(行頻+列頻)更新行頻列頻的初值,計算下一個樣點值樣點數(shù)轉換為Q15格式如果D/A準備好發(fā)送數(shù)據(jù)則將樣點值寫入DTMF樣點數(shù)是否發(fā)送完成?發(fā)送400點靜音樣點0至D/ADTMF編碼流程#include #include #include #include void delay(s16 period);HANDLE hHandset;/CODEC句柄變量s16 dat
3、a;s16 buffer400;/輸出緩沖區(qū),用于圖形窗口觀察輸出信號#define PI 3.1415926float fs=8000;s16 tele_number16=1,2,3,4,5,6,7,8,9,0,A,B,C,D,*,#float dtmf_freq162=941,1336,/鍵值0對應的行頻和列頻697,1209,697,1336,941,1663,941,1209,941,1447/鍵值#對應的行頻和列頻;f32 row_freq162=0;/行頻系數(shù)及初始條件f32 column_freq162=0;/列頻系數(shù)及初始條件f32 ax1,ay1;/行頻列頻的系數(shù)f32 x_
4、n,x_n_1,x_n_2;/行頻的二階差分方程樣點f32 y_n,y_n_1,y_n_2; /列頻頻的二階差分方程樣點f32 z_n;/雙音多頻樣點void main()/DTMF發(fā)送主程序s16 cnt=2;f32 f0;s16 num;s16 i=0,n=0;if(brd_init(100) /初始化DSK板return;while(cnt-)/發(fā)光二極管閃爍兩次,表明程序運行正常brd_led_toggle(BRD_LED0);delay(1000);brd_led_toggle(BRD_LED1);delay(1000);brd_led_toggle(BRD_LED1);delay(
5、1000);20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用1111hHndset=codec_open(HANDSET_CODEC);/打開CODEC,獲得句柄code_dac_mode(hHandset,CODEC_DAC_15BIT);/D/A工作在15-bit模式code_aout_gain(hHandset,CODEC_AOUT_MINUS_6dB ) ;/增益為-6dB code_sample_rate(hHandset,SR_8000); /D/A轉換速率為/計算各鍵值的行頻系數(shù)COS(2*PI*F0/FS)和初始條件SIN(2*PI*F0/FS)for(
6、i=0;i16;i+)f0=dtmf_freqi0;row_freqi0=cos(2*PI*f0/fs);row_freqi1=sin(2*PI*f0/fs); /計算各鍵值的列頻系數(shù)COS(2*PI*F0/FS)和初始條件SIN(2*PI*F0/FS)for(i=0;i16;i+)f0=dtmf_freqi1;column_freqi0=cos(2*PI*f0/fs);column_freqi1=sin(2*PI*f0/fs);20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用1212/循環(huán)發(fā)送DTMF按鍵緩沖區(qū)中的鍵值while(1)for(i=0;i16;i+)nu
7、m=tele_numberi;/取出當前要發(fā)送的DTMF按鍵號碼20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用1313switch(num)/將DTMF按鍵號轉換為數(shù)組下標case0:num=0;break;case1:num=1;break;case*:num=14;break;case#:num=15;break;ax1=row_freqnum0;/行頻系數(shù)x_n_2=row_freqnum1;/行頻的初始條件,x(-2)ay1=column_freqnum0;/列頻系數(shù)y_n_2=column_freqnum1;/列頻的初始條件,y(-2)x_n_1=0;y_n
8、_1=0;/輸出DTMF信號,持續(xù)時間為50msn=0;cnt=400;20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用1414while(cnt-)/計算本次輸出的樣點值x_n=2*ax1*x_n_1-x_n_2;/行頻樣點值y_n=2*ax1*y_n_1-y_n_2;/列頻樣點值z_n=x_n+y_n;/DTMF信號樣點值x_n_2=x_n_1;/更新x_n_1=x_n;y_n_2=y_n_1;y_n_1=y_n;data=16384.0*z_n;/將樣點數(shù)轉換為整數(shù)/等待D/A轉換器準備好發(fā)送while(!MCBSP_XRDY(HANDEST_CODEC);*(v
9、olatile u16*)DXR1_ADDR(HANDSET_CODEC)=data;buffern=data;n+;20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用1515cnt=400;/輸出靜音符號,持續(xù)時間為50mswhile(cnt-)while(!MCBSP_XRDY(HANDEST_CODEC);*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=0;voiddelay(s16 period)int i,j;for(i=0;iperiod;i+)for(j=0;j1;j+)20222022年年6 6月月8 8日日DSPDSP技
10、術及應用技術及應用16162/1121( )1 2cos(2/)jk NezH zk N zz20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用171720222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用181822222|( )|()|()(1)2cos()()(1)kkkkkkX kyNvNvNvN vNN20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用1919開始DSK板初始化設置D/A轉換器的分辨率為15位及轉換速率為8000Hz讀樣點除以16384后存入數(shù)據(jù)接收緩沖區(qū)A/D轉換器輸出數(shù)據(jù)準備好?否是20222022年年
11、6 6月月8 8日日DSPDSP技術及應用技術及應用2020調(diào)用DTMF檢測判決程序初始化Vk(n-1),Vk(n-2),重新開始檢測是否接收到125個DTMF樣點?否是計算行頻和列頻共8個頻率的Vk(n)20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用2121開始計算 頻譜的平方幅度搜索幅度大于門限的行頻和列頻是否已檢測到靜音信號?否是2|( )|X n是否有兩個幅度達標的頻率?如果沒有檢測到任何頻率置檢測到靜音標志否是20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用2222置已檢測到DTMF信號標志返回DTMF鍵值判決DTMF鍵值存儲,存滿2
12、56個鍵之后顯示20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用2323#include #include #include #include #include #include HANDLE hHandset;float buffer125;/DTMF樣點緩沖區(qū)float pi=3.1415926s16 data;int k=0; /vk(n)=2*coef*vk(n-1)-vk(n-2)+x(n),coef為w8,x(n)為 buffer256 /vk(n-2)為ai0, vk(n-1)為ai1, vk(n)為ai2 loat w8,a83; float amp8;
13、/頻譜的平方幅度int i,j,x,y;int dtmf_flag=0; /DTMF檢測進程,0為檢測到靜音符號,1為檢測到1次DTMFint detect_result256=0;/緩存DTMF檢測結果20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用2424int l=0;void delay(int period);void dtmf_detect(void);void main()/主程序/初始化各行頻列頻的系數(shù)w0=2*cos(2*pi*11/125);w1=2*cos(2*pi*12/125);w2=2*cos(2*pi*13/125);w3=2*cos(2*
14、pi*15/125);w4=2*cos(2*pi*19/125);w5=2*cos(2*pi*21/125);w6=2*cos(2*pi*23/125);w7=2*cos(2*pi*26/125);/初始化vk(n-1),vk(n-2)for(i=0;i8;i+);ai0=0;20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用2525aj1=0;if(brd_init(100)return;while(cnt-)/發(fā)光二級管閃爍兩次,表明程序正常運行brd_led_toggle(BRD_LED0);delay(1000);brd_led_toggle(BRD_LED1);
15、delay(1000);brd_led_toggle(BRD_LED2);delay(1000);hHandset=code_open(HANDSET_CODEC);/獲得句柄codec_ade_mode(hHandset,CODEC_ADC_15BIT);/ADC為15bit模式codec_ain_gain(hHandset,CODEC_AIN_0dB);/輸入增益為0dB20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用2626codec_sample_rate(hHandset,SR_8000);/取樣率為8000while(1)/等待A/D轉換器輸出數(shù)據(jù)準備好wh
16、ile(!MCBSP_RRDY(HANDSET_CODEC);data=*(volatile u16*)DRR1_ADDR(HANDSET_CODEC);bufferk=data/16384.0;/增益控制,防止后續(xù)溢出for(i=0;i8;i+)/計算vk(n)-ai2/計算vk(n),vk(n-1),vk(n-2)ai2=wi*ai1-ai0+bufferk;ai0=ai1;ai1=ai2;k+;if(k=125)/讀取125個樣點,15ms時間k=0;dtmf_detect();/調(diào)用檢測判決函數(shù)20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用2727for(i=
17、0;i18;i+)/初始化vk(n-1),vk(n-2)ai0=0;ai1=0;void dtmf_detect(void)/計算頻譜的平方幅度for(i=0;i8;i+)ampi=ai1*ai1+ai0*ai0-wi*ai1*ai0;/printf(“the amplitude%dis%f.rn”,i,ampi );j=0;20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用2828j=0;for(i=0;i1500)j+;if(j=1)x=i;else if(j=2)y=i;/如果在靜音之后檢測到兩個幅度達到門限的頻率,則進行判決i=-1;if(demf_flag=0)
18、if(j=2)20222022年年6 6月月8 8日日DSPDSP技術及應用技術及應用2929if(j=2)if(x=0&y=4)i=1;else if(x=0&y=5)i=2;else if(x=0&y=6)else if(x=2&y=7)i=C;else if(x=3&y=7)i=D;if(i!=-1)detect_resultl=i;l+;if(l=256)for(l=0;l,256;l+)/顯示判決結果printf(“the DTMF signal is%c.rn”,detect_resultl;dtmf_flag+;/已經(jīng)檢測到一次DTMF信號else if(j=0)dtmf_flag=0;/檢測到靜音信號void delay(int per
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家庭農(nóng)場運輸協(xié)議書范本
- 電梯合作協(xié)議書范本
- 家庭戰(zhàn)火離婚協(xié)議書范本
- 離婚財產(chǎn)分割協(xié)議樣本合理分配資產(chǎn)
- 歐洲旅游團導游派遣及培訓服務合同
- 項目眾籌協(xié)議書范本
- 車輛贈與及保險理賠責任劃分合同
- 新能源產(chǎn)業(yè)股份低價轉讓與政策優(yōu)惠對接協(xié)議
- 房屋補償分配協(xié)議書范本
- 離婚財產(chǎn)分割變更協(xié)議重新起訴狀
- 2025年中科院心理咨詢師培訓考試復習題庫-上(單選題)
- ?;壈踩逃?/a>
- 《數(shù)據(jù)類型概述》課件
- 植物細胞的分子生物學研究-深度研究
- 兒童專注力訓練300題可打印
- DeepSeek零基礎到精通手冊(保姆級教程)
- 2025年度工業(yè)園區(qū)物業(yè)管理及服務收費標準及細則
- 2024-2030年中國橋梁管理與養(yǎng)護市場調(diào)查研究及發(fā)展趨勢分析報告
- 《施工現(xiàn)場安全用電》課件
- 小學四年級下冊四則混合運算及簡便運算
- 國家開放大學本科《商務英語4》一平臺機考真題及答案(第四套)
評論
0/150
提交評論