我目前正在研究一些使用音頻轉換在激光器上傳輸消息/文件/和其他數據的代碼。我當前的代碼使用Python中binascii模塊的hexlify函數將數據轉換爲二進制,然後爲1發出一個音調,爲0發出一個不同的音調。這在理論上是有效的,儘管不是編碼/解碼的最快方式,但在測試中證明存在一些錯誤。Python中的二進制相移鍵控
產生未發現對音調,即:發射在150Hz可以變成是145-155Hz在接收端,這不是一個大問題,因爲我可以只設置在接收端的邊界更低或更高。
真正的問題是,如果我發出一個音並且它被播放,接收端的計算機可能會多次讀取它,或根本不會根據它對採樣音頻進行採樣的速率來讀取它。我試圖以它採樣的速度播放這些音調,但這非常不方便。
總之,我已經有幾次使用短消息的成功運行,但由於上述問題,這是非常不可靠和不準確的。
我已經進一步研究了這個問題,對此的解決方案看起來可能涉及BPSK或二進制相移鍵控,儘管我不知道如何實現這一點。任何建議或代碼示例將不勝感激!
我的項目代碼可以找到here但我正在處理的主要文件是二進制解碼和編碼,它是here和here。我不是python的專家,所以請原諒我,如果我說的是錯誤的,我的代碼不是最好的,或者如果我忽略了一些基本的東西。
謝謝! :-)
謝謝,這會有很大幫助! – sbrichards