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

正文內(nèi)容

dsp課程設計---dtmf信號的產(chǎn)生及檢測-wenkub.com

2025-01-13 02:57 本頁面
   

【正文】 上機調(diào)試時的另外一個問題就是每次接收到的第一個信號總是上次發(fā)送的最后一個信號。在調(diào)試程序時,我們終于明白了什么叫做“紙上得來終覺淺,絕知此事要躬行”。: 由實驗結果可知接收到的信號與發(fā)送的信號一致,所以可以驗證程序能夠正常接收。設置的具體含義如下,F(xiàn)FTMagnitude是指觀察頻域波形,out_buffer是發(fā)送程序的輸出緩沖區(qū),其數(shù)據(jù)類型為是s16,所以下面應該相應設定為16bit signed integer。由于發(fā)送一個字符,需要發(fā)送400個音頻信號和400個靜音信號。2.要觀測發(fā)送端信號的時域波形,需要對CCS軟件的Graph Property Dialog的參數(shù)進行如下圖所示的設置。:調(diào)試步驟:1. 啟動CCS軟件;2. 新建工程;3. 向工程中添加源文件、cmd文件、庫文件和頭文件;4. 編譯并運行程序;5. 待運行無錯后,并點擊run,開始在DSK板中運行程序。 } } 由上述程序可以很容易看出,我們對于接收程序的輸出進行了判別控制,將接收到信號先存入數(shù)組num_1[m],再對數(shù)組num_1[m]中的元素進行比較。 //若兩者不相同,則將元素存入num_2[n] n++。} if(m==1) { num_2[0]=num_1[0]。m++。} else if(x==3 amp。amp。 y==7) { num_1[m]=39。C39。m++ 。} else if(x==1 amp。amp。 } else if(x==3 amp。 y==5) { i=8。amp。 } else if(x==1 amp。 y==4) { i=4。amp。 } else if(x==0 amp。int n=0。我希望能夠對程序進行改進,使發(fā)送端每發(fā)送一個信號,接收端只對接收到的DTMF信號進行一次輸出。 i++) { for(j=0。 } if(i!=2) { printf(The DTMF signal is %d.\r\n ,i)。 y==4) printf(The DTMF signal is *\n)。amp。 else if(x==2 amp。 y==7) printf(The DTMF signal is A\n)。amp。 else if(x==2 amp。 y==6) i=6。amp。 else if(x==1 amp。 y==5) i=2。amp。 { if(x==3 amp。 if(j==1) //第一個大于門限的是行頻信號 x=i。//計算的值 } j=0。j++) { a[i][2]=w[i]*a[i][1]a[i][0]+buffer[j]。i++) { a[i][0]=0。 //f=1336Hz,k=34w[6]=2*cos(2*pi*37/205)。 //f=770Hz,k=20 w[2]=2*cos(2*pi*22/205)。//數(shù)組w[8]用于存放的系數(shù) float result[8]。將A/D的輸出存入數(shù)組test buffer[k++]=data/。 //設置取樣頻率為8000Hz codec_sample_rate(hHandset,SR_8000)。//設置D/A工作在15bit模式 codec_dac_mode(hHandset, CODEC_DAC_15BIT)。 delay(1000)。 //控制燈閃爍的次數(shù)為3次,如果燈循環(huán) //亮三次,則程序運行正常 if(brd_init(100)) //初始化DSK板 return。 //緩存DTMF檢測結果int l=0。s16 test[256]。 j++)。 for(i=0。39。*39。D39。039。C39。B39。A39。939。839。739。639。539。439。339。239。139。 out_buffer[k]=buffer[k]。 //查表得行頻,并賦給x y=freq[num][1]/fs。 j++。 i++。 //將float型強行轉化為s16型 } i=0。k++) { //前400個點為音頻信號,存入buffer buffer[k]=(*sin(2*pi*y*k)+*sin(2*pi*x*k))*16384。 //調(diào)用send函數(shù)對發(fā)送的第一個字符進行判定 x=freq[num][0]/fs。 //模擬輸出增益為 //12dBcodec_sample_rate(hHandset,SR_8000)。 //設置DAC的工作參數(shù) codec_dac_mode(hHandset, CODEC_DAC_15BIT)。//LED1亮 delay(1000)。 //t=3控制亮燈的次數(shù)為3次 if(brd_init(100)) //初始化DSK板 { return。 //定義fs為抽樣頻率8000Hzfloat pi=。 //定義k,用于控制采樣點數(shù)int i。 //輸出緩沖區(qū),數(shù)據(jù)類型為S16 float buffer[800]。 開始DSK板初始化對D\A轉換和輸入輸出增益進行設置調(diào)用gets()函數(shù)鍵入要輸入的字符調(diào)用send()判決函數(shù)對要發(fā)送的字符進行判定,返回num根據(jù)num,查表得要發(fā)送的行頻列頻將要發(fā)送的音頻信號和400個點的靜音信號存入buffer采足樣點值后發(fā)送,將每個信號發(fā)送20次結束16個信號是否發(fā)完是否圖41 信號產(chǎn)生流程圖DTMF信號產(chǎn)生程序如下:include //程序頭文件include include include include include void delay(int period)。所以,門限的設定至關重要。任務二:檢查檢測結果的有效性嚴格來講,DTMF信號的有效性檢驗應該包括幾項內(nèi)容,在此不一一贅述。該算法利用二極點的IIR濾波器計算離散傅立葉變換值,能夠快速高效地提取輸入信號的頻譜信息。通過FFT 可以計算得到信號所有譜線,了解信號整個頻域信息,而對于DTMF 信號只需關心其8 個行頻/列頻及其二次諧波信息即可,二次諧波的信息用于將DTMF 信號與聲音信號區(qū)別開。在輸入信號中檢測DTMF 信號,需要在輸入的數(shù)據(jù)信號流中連續(xù)地搜索DTMF 信號頻譜的存在。根據(jù)這樣的設計,音頻信號的持續(xù)時間為50ms,在45ms和55ms之間,滿足CCITT的規(guī)定。由于1秒采樣8000個點,則每個數(shù)字采樣800個點。 綜上所述,我們使用方案二來產(chǎn)生DTMF信號。同時,當前時刻的輸出序列也會影響下一時刻和下兩個時刻的輸出。方案二:使用sin函數(shù)產(chǎn)生正弦波直接利用sin函數(shù)生成離散的正弦值,其生成DTMF信號的方程為:y[t]=sin(t*2*pi*f1/fs)+sin(t*2*pi*f2/fs)其中t為采樣序數(shù),
點擊復制文檔內(nèi)容
范文總結相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1