android音頻通訊(三)——雙向通訊(A2B協議)之手機接收

來源:互聯網
上載者:User

轉載請註明文章出處和作者!

出處:http://blog.csdn.net/xl19862005

作者:大熊(Xandy)

 

寫在最前:

        自從發布android音頻通訊的兩篇部落格之後,有很多同仁和有意向合作的人士聯絡過我,在這裡首先深表感謝與支援!但也有一部分朋友希望提供源碼和相應的技術資料等等,在這裡我要說說我個人對國內目前IT行業的一些風氣及看法。

       任何一項技術的出現與發展都有一個過程,然而在這個過程的背後卻是技術人員無數個日日夜夜的艱辛付出(如果這項技術完全是您自主研發的,而不是copy!),然而在國內IT行業就有相當一部分公司和技術人員總是希望從別人那裡獲得免費的午餐,而不是借鑒別人的思路與提示再經過自己的努力做出自己的產品,所以每當看到有同行留言或給我發信件說能不能提供源碼之類的文字,就讓我感到心寒,隱約中感覺到這些人都帶著一種浮躁的心情,恨不得天上掉餡餅、一夜就能爆富!也許帶著這種心情,中國再過100年也造不出國產的飛機發動機!

 

……扯遠了,回到正題!

 

前面兩篇我介紹了FSK資訊的調製與解調,單片機端的調製解調都是比較簡單的,搞過串口通訊之類的我相信一看就懂了,這裡就不多提了,關於手機端的解調,應該是大多數人比較頭疼的,因為受到手機的限制(手機能夠接受到的音頻資料只能是通過MIC),對送入的調製訊號無法像單片機端那樣可以通過操作單片機的IO和片內資源很容易就把調製訊號解調出來,對於手機這端經過MIC採樣之後將是一大堆一大堆的資料(AD值),如何在這麼一大堆看似雜亂無章的資料裡提取出來我們的碼元呢?

這裡我提一項技術——DSP

DSP(數字訊號處理)在近現代中才發展起來的,特別是香農提出的採樣定理:

如果訊號是帶限的,並且採樣頻率高於訊號頻寬的一倍,那麼,原來的連續訊號可以從採樣樣本中完全重建出來。

為數字通訊奠定了理論基礎,及後來出來的一系列編碼、解碼(信源編碼、通道編碼)技術,才有了我們現在可隨時隨地上網聊天(GSM、CDMA等)

有了這些論理基礎,我們的音頻通訊,手機端的接收也就不成問題了

在我的設計中,單片機端用1250HZ及1250*2HZ兩種頻率來調製我的bit 0與1,下面是經過FFT變換之後得到幅頻特性曲線圖

在這裡我用的採樣率是8000,進行64點FFT運算,標示的是傳輸0x55的前半位元組,怎麼看出呢?

(8000/64)*10 = 1250 ——> 0

(8000/64)*20 = 2500 ——> 1

(8000/64)*10 = 1250 ——> 0

(8000/64)*20 = 2500 ——> 1

 

可以看出每個圖中的一個高脈衝(幅度最大點)就是我們傳送資料時的調製頻率,只要合理處理這些FFT變換之後的頻譜資料,就可以解調出來我們在單片機端發送的碼元了!

 

可能有眼尖的人會問,你不是說的64點FFT變換嗎,怎麼裡都是32點的資料?那麼請作出這樣疑問的人補補FFT變換的相關的一些知識吧,我相信維基百科(BS
baidu,一搜一堆廣告),會比我

講得更詳細清楚!

 

是手機版音頻分析儀:

我這裡只是一個拋磚引玉的小文章,希望能給你一些提示與指引,如果希望提供原始碼的還請繞道!謝謝。

 

如果有希望合作的可以給我發訊息!

最後上一張圖,是DEMO板,已經實現雙向通訊,目前支援的手機有:

MOTO裡程碑2

魅族M9

三星 Galaxy SIII I939D

 

我定義的音頻通訊協定(就叫它A2B:audio to baud協議吧)一些效能指標如下:

速率:    0.3~6kbps 最佳工作速率2kbps-4kbps

誤碼率:1/10000(需要進一步測試,各個手機不太一樣)

 

其它的後續陸續測試更新!

 

最新變種版調製解調 apk

http://download.csdn.net/download/xl19862005/5333232

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.