利用聲音發送和接收數據的方法和裝置制造方法
【專利摘要】本發明公開了一種利用聲音發送數據的方法,包括:使用連續三個不同頻率的聲音頻率脈沖作為數據包的頭部;使用至少兩個不同頻率的聲音頻率脈沖作為載頻傳送需要發送的數據內容,并且不同頻率的聲音頻率脈沖之間采用過渡算法使其相位連續;使用預定頻率的聲音頻率脈沖代表數據包尾部;將得到的數據包乘以一個最小值不小于0的余弦信號,其中最小值落在數據包中的頻率脈沖交接處;發送數據包。本發明還公開了相應的利用聲音接收數據的方法,以及利用聲音發送和接收數據的裝置。采用本發明,能夠取得傳送效果好、有廣播特性、傳送距離大、傳送準確率高等有益技術效果。同時相比于其他同類的產品還具有無頻譜泄露,聲音悅耳、婉轉動聽等優點,帶來了更好的用戶體驗。
【專利說明】利用聲音發送和接收數據的方法和裝置
【技術領域】
[0001] 本發明的實施例總體上涉及一種發送和接收數據的方法和裝置。具體地說,本發 明的實施例涉及一種利用聲音發送和接收數據的方法和裝置。
【背景技術】
[0002] 在現有的便攜式移動通信設備中,存在一些利用聲音信號傳送各種文件的應用程 序。
[0003] 利用聲音信號傳送數據的一個好處來自于聲音的廣播特性,使用戶能夠同時傳送 數據給周圍的多個其他用戶。利用聲音信號傳送數據的另一個好處是趣味性,用戶在傳送 數據的同時能夠聽見聲音,獲得了良好的用戶體驗。此外,由于可以聽見傳送數據的聲音, 用戶不必查看移動設備就可以得知數據是否開始傳送以及是否傳送完畢。
[0004] 但是,現有的利用聲音傳送數據的應用存在以下一些問題。
[0005] 首先,傳送數據的聲音載頻頻譜不連續的問題,并且存在頻譜泄露,降低了數據傳 送的準確率,也影響了聲音載頻的音調,導致不良的用戶體驗。
[0006] 其次,數據傳送的效果隨著接收雙方距離的增加而明顯變差,使利用聲音傳送數 據的方法受到了局限。
【發明內容】
[0007] 有鑒于此,本發明的目的之一在于解決現有技術中所存在的上述問題。
[0008] 根據本發明的一個方面,提出了一種利用聲音發送數據的方法,包括:使用連續三 個不同頻率的聲音頻率脈沖作為數據包的頭部;使用至少兩個不同頻率的聲音頻率脈沖作 為載頻傳送需要發送的數據內容,并且不同頻率的聲音頻率脈沖之間采用過渡算法使其相 位連續;使用預定頻率的聲音頻率脈沖代表數據包尾部;將得到的數據包乘以一個最小值 不小于〇的余弦信號,其中最小值落在數據包中的頻率脈沖交接處;將最終的數據包處理 結果寫入音頻文件并播放。
[0009] 根據本發明的另一個方面,提出了一種利用聲音接收數據的方法,包括:如果依序 偵測到數據包頭部三個聲音頻率脈沖中的任意兩個頻率脈沖,即表示檢測到數據包頭部; 檢測所有的載頻能量值以及數據包尾部頻率脈沖的能量值,比較得到載頻能量最大值對應 的載頻,將其表示為當前傳送的數據,從而得到傳送的數據;如果代表數據包尾部的聲音頻 率脈沖能量最大,則停止數據解碼,結束數據包的接收。
[0010] 根據本發明的另一個方面,一種利用聲音發送數據的裝置,包括:頭部產生單元, 用于使用連續三個不同頻率的聲音頻率脈沖作為數據包的頭部;數據編碼單元,用于使用 至少兩個不同頻率的聲音頻率脈沖作為載頻傳送需要發送的數據內容;頻率脈沖平滑單 元,用于使不同的聲音頻率脈沖之間采用過渡算法使其相位連續;尾部產生單元,用于使用 預定的聲音頻率脈沖代表數據包尾部;頻譜泄漏消除單元,用于將得到的數據包乘以一個 最小值不小于0的余弦信號,其中最小值落在數據包中的頻率脈沖交接處;發送單元,用于 將最終的數據包處理結果寫入音頻文件并播放。
[0011] 根據本發明的另一個方面,提出了一種利用聲音接收數據的裝置,包括:頭部檢測 單元,用于依序偵測到數據包頭部三個聲音頻率脈沖中的任意兩個頻率脈沖,即表示檢測 到數據包頭部;數據檢測單元,用于檢測所有的載頻能量值以及數據包尾部頻率脈沖的能 量值,比較得到載頻能量最大值對應的載頻,將其表示為當前傳送的數據,從而得到傳送的 數據;如果代表數據包尾部的聲音頻率脈沖能量最大,則停止數據解碼,結束數據包的接 收。
[0012] 采用本發明提供的利用聲音傳送數據的方法和裝置,具有傳送效果好、有廣播特 性、傳送距離大、傳送準確率高等有益技術效果。同時相比于其他同類的產品還具有無頻譜 泄露,聲音悅耳、婉轉動聽等優點,帶來了更好的用戶體驗。
【專利附圖】
【附圖說明】
[0013] 圖1示出根據本發明的利用聲音發送數據的方法的流程圖。
[0014] 圖2示出根據本發明的利用聲音接收數據的方法的流程圖。
[0015] 圖3示出根據本發明的利用聲音發送數據的裝置的結構框圖。
[0016] 圖4示出根據本發明的利用聲音發送數據的裝置的主體產生單元的結構框圖。
[0017] 圖5示出根據本發明的利用聲音接收數據的裝置的結構框圖。
[0018] 圖6示出根據本發明實現的聲音載頻的頻譜圖。
【具體實施方式】
[0019] 下面,將結合附圖來詳細描述本發明的實施例。在以下描述中,一些具體的實施例 僅用于描述的目的,而不應當理解為對本發明的限制,這些實施例只是本發明的示例。
[0020] 圖1示出了本發明的利用聲音發送數據的方法的流程圖。
[0021] 在步驟101,使用連續三個不同頻率的聲音頻率脈沖作為數據包的頭部,這里用戶 可自己定義三個頻率具體頻率值。
[0022] 在一個實施例中,作為頭部的三個聲音頻率脈沖,可以屬于后面用來傳送數據載 頻頻率脈沖中的三個。在另一個實施例中,為了在接收方更準確地檢測出數據包的頭部,作 為頭部的三個聲音頻率脈沖與載頻聲音頻率脈沖具有不同的頻率。
[0023] 在步驟102,使用至少兩個不同頻率的聲音頻率脈沖作為載頻傳送需要發送的數 據內容,并且不同頻率的聲音頻率脈沖之間采用過渡算法使其相位連續。
[0024] 在一個實施例中,將需要傳送的信息,添加糾錯碼、協議等,糾錯碼和協議的種類 可以根據用戶需求而選擇,此處不再贅述,最終轉變為需要傳送的源數據。
[0025] 在一個實施例中,作為載頻的聲音頻率脈沖的數量為2"個,其中n為大于或等于1 的正整數。在一個優選的實施例中,采用鋼琴音作為傳送數據的聲音載頻脈沖。
[0026] 在一個優選的實施例中,選擇16個聲音頻率脈沖用于傳送數據的頻點,每次傳送 其中的一個頻率脈沖,每16個聲音頻率脈沖表示一個16進制的數據。將需要傳送的信息, 按照字節讀取,由于一個字節是8位,16進制數據是4位的,可以將一個8位,分為兩個四 位,先低位后高位,編碼為對應的頻率值。
[0027] 在一個實施例中,不同頻率的聲音頻率脈沖之間采用過渡算法使其相位連續。在 一個實施例中,使聲音頻率脈沖從上一個頻率脈沖至下一個頻率脈沖的變化部分是二次曲 線的一部分。在一個實施例中,上一個頻率脈沖至下一個頻率脈沖的變化部分是本次聲音 頻率脈沖的前四分之一時長。通過將頻率脈沖之間的變化變得連續,也可以消除頻譜泄露 的一部分。
[0028] 在另一個實施例中,對于每個要傳送的聲音頻率脈沖,為了讓其在與上次傳送的 頻率脈沖過渡平滑,且無頻譜泄露,可以采用以下的編碼方法。
[0029] 在當前采樣率情況下,上次的傳送頻率,一次跳過的相角為mul_temp,這次的為 mul,當前頻率的編碼方法為(參閱說明書最后附帶的代碼部分):
[0030] 初始的四分之一時長,為過渡部分頻率的編碼。頻率變化從上次傳送的頻率逐漸 變為至這次傳送的頻率,變化規律為其變化部分是二次曲線的一部分,其中mul值對應的 頻率是二次曲線的定點,mul_temp對應的頻率為經過的一個點,通過二次曲線規律,計算 出當前處于的相位值mulcurrent。具體每個點i的編碼方法如以下代碼,編碼結果存在 signal數組中,fi [0]在每次編碼完數據后,會跳至下一個相位,size為一次編碼時長中一 共需要編碼的點數。
[0031] 在步驟103,使用預定頻率的聲音頻率脈沖代表數據包尾部。和數據包頭部類似, 編碼一個指定的頻率脈沖,可以持續2個脈沖以上,表示到達待發送的數據包的結尾。
[0032] 在一個實施例中,為了在接收方更準確地檢測出數據包的尾部,作為尾部的聲音 頻率脈沖與載頻聲音頻率脈沖具有不同的頻率。
[0033] 在一個實施例中,本發明中使用的聲音頻率脈沖屬于人耳能夠聽見的頻率脈沖范 圍;在另一個實施例中,本發明中使用的聲音頻率脈沖也可以不屬于人耳能夠聽見的頻率 脈沖范圍。
[0034] 在步驟104,將得到的數據包乘以一個最小值不小于0的余弦信號,其中最小值落 在數據包中的頻率脈沖交接處。經過步驟104,進一步消除了頻譜泄露。
[0035] 在步驟105,發送得到的數據包,發送的方法可以是將最終的數據包處理結果寫入 音頻文件并播放。
[0036] 在一個實施例中,將最終的數據寫入一個signal數組中,然后再寫入音頻文件。
[0037] 圖2示出了本發明利用聲音接收數據的方法的流程圖。
[0038] 在步驟201,處于偵聽狀態中的接收終端如果依序偵測到數據包頭部三個聲音頻 率脈沖中的任意兩個頻率脈沖,即表示檢測到數據包頭部。
[0039] 在一個實施例中,在數據包頭部3個聲音頻率脈沖中,依序偵測到其中任意兩個 頻率脈沖,即表示找到了數據包的頭部。并且對其中一個聲音頻率脈沖信號,細分十份,找 到聲音頻率脈沖變化的交接處,從而定位數據開始的部位。
[0040] 在步驟202,檢測所有的載頻能量值以及數據包尾部頻率脈沖的能量值,比較得到 載頻能量最大值對應的載頻,將其表示為當前傳輸的數據,從而得到傳輸的數據。
[0041] 在一個優選的實施例中,采用戈澤爾(Goertzel)算法檢測所有的載頻脈沖能量 值和數據包尾部的頻率脈沖,比較得到載頻能量最大值對應的載頻脈沖,將其表示為當前 傳送的數據。從而得到傳送的數據。
[0042] 在步驟203,如果數據包尾部的聲音頻率脈沖能量最大,則停止數據解碼,結束數 據包的接收。
[0043] 在一個實施例中,數據還需要經過消除糾錯碼,信息協議等,得到實際傳送的內 容。
[0044] 圖3示出了本發明的一種利用聲音發送數據的裝置300。
[0045] 如圖3所示,利用聲音發送數據的裝置300包括頭部產生單元310,頭部產生單元 310用于使用連續三個不同頻率的聲音頻率脈沖作為數據包的頭部,這里用戶可自己定義 三個頻率具體頻率值。
[0046] 在一個實施例中,作為頭部的三個聲音頻率脈沖,可以屬于后面用來傳送數據載 頻頻率脈沖中的三個。在另一個實施例中,為了在接收方更準確地檢測出數據包的頭部,作 為頭部的三個聲音頻率脈沖與載頻聲音頻率脈沖具有不同的頻率。
[0047] 利用聲音發送數據的裝置300還包括主體產生單元320,主體產生單元320用于產 生待發送的數據包主體。
[0048] 如圖4所示,主體產生單元320又包括數據編碼單元321和頻率脈沖平滑單元 322。
[0049] 數據編碼單元321用于使用至少兩個不同頻率的聲音頻率脈沖作為載頻傳輸需 要發送的數據內容。
[0050] 在一個實施例中,將需要傳送的信息,添加糾錯碼、協議等,糾錯碼和協議的種類 可以根據用戶需求而選擇,此處不再贅述,最終轉變為需要傳送的源數據。
[0051] 在一個實施例中,作為載頻的聲音頻率脈沖的數量為2"個,其中n為大于或等于1 的正整數。在一個優選的實施例中,采用鋼琴音作為傳送數據的聲音載頻脈沖。
[0052] 在一個優選的實施例中,選擇16個聲音頻率脈沖用于傳送數據的頻點,每次傳送 其中的一個頻率脈沖,每16個聲音頻率脈沖表示一個16進制的數據。將需要傳送的信息, 按照字節讀取,由于一個字節是8位,16進制數據是4位的,可以將一個8位,分為兩個四 位,先低位后高位,編碼為對應的頻率值。
[0053] 頻率脈沖平滑單元322用于使不同的聲音頻率脈沖之間采用過渡算法使其相位 連續。在一個實施例中,頻率脈沖平滑單元322使聲音頻率脈沖從上一個頻率脈沖至下一 個頻率脈沖的變化部分是二次曲線的一部分。在一個實施例中,頻率脈沖平滑單元322使 上一個頻率脈沖至下一個頻率脈沖的變化部分是本次聲音頻率脈沖的前四分之一時長。頻 率脈沖平滑單元322通過將頻率脈沖之間的變化變得連續,也可以消除頻譜泄露的一部 分。
[0054] 利用聲音發送數據的裝置300還包括尾部產生單元330,尾部產生單元330用于使 用預定的聲音頻率脈沖代表數據包尾部。和數據包頭部類似,編碼一個指定的頻率脈沖,可 以持續2個脈沖以上,表示到達待發送的數據包的結尾。
[0055] 在一個實施例中,為了在接收方更準確地檢測出數據包的尾部,作為尾部的聲音 頻率脈沖與載頻聲音頻率脈沖具有不同的頻率。
[0056] 繼續參考圖3,利用聲音發送數據的裝置300還包括頻譜泄露消除單元340,頻譜 泄露消除單元340用于將得到的數據包乘以一個最小值不小于0的余弦信號,其中最小值 落在數據包中的頻率脈沖交接處。經過頻譜泄露消除單元340的操作,進一步消除了頻譜 泄露。
[0057] 利用聲音發送數據的裝置300還包括發送單元350,發送單元350用于將數據包發 送,發送的方法可以是將最終的數據包處理結果寫入音頻文件并播放。
[0058] 圖5示出了本發明的一種利用聲音接收數據的裝置500。
[0059] 如圖5所示,利用聲音接收數據的裝置500包括頭部檢測單元510和數據檢測單 元 520。
[0060] 頭部檢測單元510用于依序偵測到數據包頭部三個聲音頻率脈沖中的任意兩個 頻率脈沖,即表示檢測到數據包頭部。
[0061] 在一個實施例中,頭部檢測單元510在數據包頭部3個聲音頻率脈沖中,依序偵測 到其中任意兩個頻率脈沖,即表示找到了數據包的頭部。并且對其中一個聲音頻率脈沖信 號,細分十份,找到聲音頻率脈沖變化的交接處,從而定位數據開始的部位。
[0062] 數據檢測單元520用于檢測所有的載頻能量值以及數據包尾部頻率脈沖的能量 值,比較得到載頻能量最大值對應的載頻,將其表示為當前傳輸的數據,從而得到傳輸的數 據;如果代表數據包尾部的聲音頻率脈沖能量最大,則停止數據解碼,結束數據包的接收。
[0063] 在一個優選的實施例中,數據檢測單元520采用戈澤爾(Goertzel)算法檢測所有 的載頻脈沖能量值和數據包尾部的頻率脈沖,比較得到載頻能量最大值對應的載頻脈沖, 將其表示為當前傳送的數據。從而得到傳送的數據。
[0064] 圖6是根據本發明實現的聲音載頻的頻譜圖,從圖中可以看出,本發明實現的聲 音頻率脈沖頻譜光滑,無頻譜泄露。如果用來調制的聲音頻率脈沖是人耳可以感知的頻譜 范圍,聲音大約是悅耳的鳥鳴聲,或吹水的聲音。
[0065] 以下是在便攜式移動通信設備中用于實現本發明中將數據調制到聲音載頻脈沖 的過程的代碼。
[0066]
【權利要求】
1. 一種利用聲音發送數據的方法,包括: 使用連續三個不同頻率的聲音頻率脈沖作為數據包的頭部; 使用至少兩個不同頻率的聲音頻率脈沖作為載頻傳送需要發送的數據內容,并且不同 頻率的聲音頻率脈沖之間采用過渡算法使其相位連續; 使用預定頻率的聲音頻率脈沖代表數據包尾部; 將得到的數據包乘以一個最小值不小于0的余弦信號,其中最小值落在數據包中的頻 率脈沖交接處;以及 發送所述數據包。
2. 根據權利要求1所述的方法,其中作為載頻的聲音頻率脈沖的數量為2"個,其中n 為大于或等于1的正整數。
3. 根據權利要求1所述的方法,其中所述過渡算法包括:使聲音頻率脈沖從上一個頻 率脈沖至下一個頻率脈沖的變化部分是二次曲線的一部分。
4. 根據權利要求3所述的方法,其中所述變化部分是本次聲音頻率脈沖的前四分之一 時長。
5. 根據權利要求1所述的方法,其中發送所述數據包包括:將最終的數據包處理結果 寫入音頻文件并播放。
6. 根據權利要求1所述的方法,其中所述數據內容在調制到載頻前經過糾錯算法處 理。
7. 根據權利要求1所述的方法,其中代表所述數據包頭部的三個聲音頻率脈沖以及代 表所述數據包尾部的聲音頻率脈沖與載頻聲音頻率脈沖具有不同的頻率。
8. 根據權利要求1所述的方法,其中聲音頻率脈沖屬于人耳能夠聽見的頻率脈沖范 圍。
9. 根據權利要求8所述的方法,其中采用鋼琴音作為所述聲音頻率脈沖。
10. 根據權利要求1所述的方法,其中聲音頻率脈沖不屬于人耳能夠聽見的頻率脈沖 范圍。
11. 一種利用聲音接收數據的方法,包括: 如果依序偵測到數據包頭部三個聲音頻率脈沖中的任意兩個頻率脈沖,即表示檢測到 數據包頭部; 檢測所有的載頻能量值以及數據包尾部頻率脈沖的能量值,比較得到載頻能量最大值 對應的載頻,將其表示為當前傳送的數據,從而得到傳送的數據;以及 如果代表數據包尾部的聲音頻率脈沖能量最大,則停止數據解碼,結束數據包的接收。
12. 根據權利要求11所述的方法,其中檢測數據包頭部的步驟還包括:對其中一個頻 率脈沖信號,細分十份,找到頻率脈沖變化的交接處,從而定位數據開始的部位。
13. 根據權利要求11所述的方法,其中檢測聲音頻率脈沖的能量值采用戈澤爾 (Goertzel)算法。
14. 根據權利要求11所述的方法,其中將得到的數據進行消除糾錯碼,得到實際傳送 的數據內容。
15. -種利用聲音發送數據的裝置,包括: 頭部產生單元,用于使用連續三個不同頻率的聲音頻率脈沖作為數據包的頭部; 數據編碼單元,用于使用至少兩個不同頻率的聲音頻率脈沖作為載頻傳送需要發送的 數據內容; 頻率脈沖平滑單元,用于使不同的聲音頻率脈沖之間采用過渡算法使其相位連續; 尾部產生單元,用于使用預定的聲音頻率脈沖代表數據包尾部; 頻譜泄漏消除單元,用于將得到的數據包乘以一個最小值不小于0的余弦信號,其中 最小值落在數據包中的頻率脈沖交接處;以及 發送單元,用于發送所述數據包。
16. 根據權利要求15所述的裝置,其中作為載頻的聲音頻率脈沖數為2n個,其中n為 大于或等于1的正整數。
17. 根據權利要求15所述的裝置,其中所述過渡算法包括:使聲音頻率脈沖從上一個 頻率脈沖至下一個頻率脈沖的變化部分是二次曲線的一部分。
18. 根據杈利要求17所述的裝置,其中所述變化部分是本次聲音頻率脈沖的前四分之 一時長。
19. 根據權利要求15所述的裝置,其中所述發送單元將最終的數據包處理結果寫入音 頻文件并播放。
20. 根據權利要求15所述的裝置,其中所述數據內容在調制到載頻前經過糾錯算法處 理。
21. 根據權利要求15所述的裝置,其中代表所述數據包頭部的三個聲音頻率脈沖以及 代表所述數據包尾部的聲音頻率脈沖與載頻聲音頻率脈沖具有不同的頻率。
22. 根據權利要求15所述的裝置,其中所述聲音頻率脈沖屬于人耳能夠聽見的頻率脈 沖范圍。
23. 根據權利要求22所述的裝置,其中采用鋼琴音作為所述聲音頻率脈沖。
24. 根據權利要求15所述的裝置,其中所述聲音頻率脈沖不屬于人耳能夠聽見的頻率 脈沖范圍。
25. -種利用聲音接收數據的裝置,包括: 頭部檢測單元,用于依序偵測到數據包頭部三個聲音頻率脈沖中的任意兩個頻率脈 沖,即表示檢測到數據包頭部;以及 數據檢測單元,用于檢測所有的載頻能量值以及數據包尾部頻率脈沖的能量值,比較 得到載頻能量最大值對應的載頻,將其表示為當前傳送的數據,從而得到傳送的數據;如果 代表數據包尾部的聲音頻率脈沖能量最大,則停止數據解碼,結束數據包的接收。
26. 根據權利要求25所述的裝置,其中檢測數據包頭部的步驟還包括:對其中一個頻 率脈沖信號,細分十份,找到頻率脈沖變化的交接處,從而定位數據開始的部位。
27. 根據權利要求25所述的裝置,其中檢測聲音頻率脈沖的能量值采用戈澤爾 (Goertzel)算法。
28. 根據權利要求25所述的裝置,其中將得到的數據進行消除糾錯碼,得到實際傳送 的數據內容。
【文檔編號】H04B11/00GK104378124SQ201310361848
【公開日】2015年2月25日 申請日期:2013年8月16日 優先權日:2013年8月16日
【發明者】朱寶, 陳健, 劉瑋 申請人:北京千橡網景科技發展有限公司