無線設備間時間同步的方法、無線設備和無線通信系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種無線設備間時間同步的方法、無線設備和無線通信系統(tǒng)。所述方法包括:獲取第一無線設備與第二無線設備單次同步操作的時間差,對所述單次同步操作對應的時間差進行有效性過濾,提取出有效的時間差數(shù)據(jù);對設定時間段內的多個單次同步操作對應的有效的時間差數(shù)據(jù)進行平滑處理,獲得第二無線設備相對于第一無線設備在所述設定時間段內的平均時間差;每隔所述設定時間段根據(jù)獲得的所述平均時間差調整第二無線設備的系統(tǒng)時間,以使得第二無線設備與第一無線設備時間同步。本發(fā)明的技術方案,以不依賴硬件的方式實現(xiàn)無線設備間高精度的時間同步。
【專利說明】無線設備間時間同步的方法、無線設備和無線通信系統(tǒng)
【技術領域】
[0001] 本發(fā)明涉及無線通信【技術領域】,特別涉及一種無線設備間時間同步方法、無線設 備和無線通信系統(tǒng)。
【背景技術】
[0002] 隨著人們對無線音箱的音質的需求越來越高,已不滿足于藍牙傳輸有損的音頻數(shù) 據(jù),基于WiFi的無損音頻傳輸系統(tǒng)隨之誕生。
[0003] 在某些通過WiFi或WiFi-Direct連接的音響系統(tǒng)中,若每個音箱只播放一個聲 道,音箱與音箱之間的播放同步就顯得極為重要。舉例來說,在一個音樂播放系統(tǒng)中,有兩 個音箱。通過設置使音箱1播放一首立體聲音樂的左聲道,音箱2播放同一首立體聲音樂 的右聲道,如果兩音箱播放的時間差大于5ms,人耳可明顯感受到播放不同步,大大影響聽 音樂的體驗。
[0004] 現(xiàn)有方案可采用硬件及軟件兩類實現(xiàn)方式,使用硬件實現(xiàn)高精度時間同步,可'以 達到較高的精度,但成本過高;而現(xiàn)有使用軟件實現(xiàn)的方案,雖然成本低,但時間同步精度 較差。
【發(fā)明內容】
[0005] 有鑒于此,本發(fā)明提供了一種無線設備間時間同步的方法、無線設備和無線通信 系統(tǒng),以不依賴硬件的方式實現(xiàn)無線設備間高精度的時間同步。
[0006] 為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:
[0007] 本發(fā)明公開的一種無線設備間時間同步的方法,所述方法包括:
[0008] 通過在第一無線設備和第二無線設備的單次同步操作中,獲取到的第一無線設備 和第二無線設備收發(fā)相應數(shù)據(jù)包的時間,計算該單次同步操作對應的第二無線設備相對于 第一無線設備的時間差;
[0009] 對所述單次同步操作對應的時間差進行有效性過濾,提取出有效的時間差數(shù)據(jù);
[0010] 對設定時間段內的多個單次同步操作對應的有效的時間差數(shù)據(jù)進行平滑處理,獲 得第二無線設備相對于第一無線設備在所述設定時間段內的平均時間差;
[0011] 每隔所述設定時間段根據(jù)獲得的所述平均時間差調整第二無線設備的系統(tǒng)時間, 以使得第二無線設備與第一無線設備時間同步。
[0012] 在上述方法中,所述通過在第一無線設備和第二無線設備的單次同步操作中,獲 取到的第一無線設備和第二無線設備收發(fā)相應數(shù)據(jù)包的時間,計算該單次同步操作對應的 第二無線設備相對于第一無線設備的時間差包括:
[0013] 第一無線設備以預定的時間間隔廣播或組播進行同步的請求包,所述請求包中攜 帶請求包序號、發(fā)送請求包的本地系統(tǒng)時間TS1 ;
[0014] 第二無線設備接收所述請求包并廣播或組播發(fā)送應答包,所述應答包中攜帶第二 無線設備自身的客戶端ID,同時第二無線設備記錄下所述請求包序號、接收到所述請求包 的本地系統(tǒng)時間TC1、發(fā)送所述應答包的本地系統(tǒng)時間TC2和所述請求包中的所述TS1 ;
[0015] 第一無線設備接收到所述應答包后發(fā)送回應包,所述回應包中攜帶所回應的第二 無線設備的客戶端ID和接收到所述應答包的本地系統(tǒng)時間TS2 ;
[0016] 第二無線設備根據(jù)自身的ID校驗所述回應包,如果所述回應包中攜帶的無線設 備的ID與自身的客戶端ID-致,則記錄下所述回應包中的所述TS2 ;
[0017] 第二無線設備根據(jù)同一請求包序號下的所述TC1、所述TC2、所述TS1和所述TS2, 計算第二無線設備相對于第一無線設備的單次同步操作的時間差。
[0018] 在上述方法中,所述根據(jù)同一請求包序號下的所述TC1、所述TC2、所述TS1和所述 TS2,計算第二無線設備相對于第一無線設備的單次同步操作的時間差包括:
[0019] 基于下述公式,根據(jù)所述TC1、TC2、TS1和TS2計算第一無線設備相對于第二無線 設備的單次同步操作的時間差,以及單次同步操作下第一無線設備與第二無線設備間數(shù)據(jù) 包的平均傳輸時間:
[0020] Ttrans = (TC1+TS2-TS1-TC2)/2
[0021] Tdiff = (TCl-TS2-TSl+TC2)/2
[0022] 其中,Tdiff為單次同步操作的時間差,Ttrans為單次同步操作的平均傳輸時間。
[0023] 在上述方法中,所述對所述單次同步操作對應的時間差進行有效性過濾包括:
[0024]確定某單次同步操作過程中出現(xiàn)數(shù)據(jù)包丟失或異常時,則過濾掉該單次同步操作 的時間差數(shù)據(jù)。
[0025]其中,所述確定某單次同步操作過程中出現(xiàn)數(shù)據(jù)包丟失或異常包括:
[0026]第二無線設備根據(jù)自身的客戶端ID校驗所述回應包,如果所述回應包中攜帶的 ID與自身的客戶端ID不一致,確定所述單次同步操作過程中出現(xiàn)數(shù)據(jù)包異常;或者,
[0027]第二無線設備判斷在允許的時間范圍內沒有接收到相應的請求包序號下的請求 包或應答包時,確定所述單次同步操作過程中出現(xiàn)數(shù)據(jù)包丟失。
[0028]在上述方法中,所述對所述單次同步操作對應的時間差進行有效性過濾包括: [0029]選取第一無線設備和第二無線設備之間數(shù)據(jù)包的平均傳輸時間的閾值;
[0030]若某單次同步操作的平均傳輸時間超過所述閾值,則過濾掉該單次同步操作的時 間差數(shù)據(jù)。
[0031]在上述方法中,所述對設定時間段內的多個單次同步操作對應的有效的時間差數(shù) 據(jù)進行平滑處理包括:
[0032]根據(jù)每個單次同步操作的同步時間和該單次同步操作對應的時間差數(shù)據(jù),采用最 小二乘曲線擬合的方式進行平滑處理;
[0033]或者,對設定時間段內的多個單次同步操作對應的有效的時間差數(shù)據(jù)求均值。
[0034]在上述方法中,所述根據(jù)獲得的所述平均時間差調整第二無線設備的系統(tǒng)時間包 括:
[0035]、使用Linux操作系統(tǒng)的時鐘調節(jié)命令acUtimex,根據(jù)獲得的所述平均時間差對第 二無線設備的系統(tǒng)時鐘或系統(tǒng)時鐘的計數(shù)器進行調整。
[0036]本發(fā)明公開的一種無線設備,包括:
[0037]單次同步計算單元,用于通過在第一無線設備和自身的單次同步操作中,獲取到 的第一無線設備和自身收發(fā)相應數(shù)據(jù)包的時間,計算該單次同步操作對應的自身相對于第 一無線設備的時間差;
[0038] 過濾單元,用于對所述單次同步操作對應的時間差進行有效性過濾,提取出有效 的時間差數(shù)據(jù);
[0039] 平滑單元,用于對設定時間段內的多個單次同步操作對應的有效的時間差數(shù)據(jù)進 行平滑處理,獲得自身相對于所述第一無線設備在所述設定時間段內的平均時間差;
[0040] 時間調整單元,用于每隔所述設定時間段根據(jù)獲得的所述平均時間差調整自身的 系統(tǒng)時間,以使得自身與所述第一無線設備時間同步。
[0041] 在上述無線設備中,所述單次同步計算單元包括:
[0042] 請求接收模塊,用于接收第一無線設備以預定的時間間隔廣播或組播進行同步的 請求包,所述請求包中攜帶請求包序號、發(fā)送請求包的本地系統(tǒng)時間TS1 ;
[0043] 應答發(fā)送模塊,用于向所述第一無線設備廣播或組播發(fā)送應答包,所述應答包中 攜帶自身的ID,同時記錄下所述請求包序號、接收到請求包的本地系統(tǒng)時間TC1、發(fā)送應答 包的本地系統(tǒng)時間TC2和所述TS1 ;
[0044] 回應校驗模塊,用于根據(jù)自身所屬無線設備的客戶端ID校驗所述第一無線設備 發(fā)送的回應包,所述回應包中攜帶無線設備的ID和所述第一無線設備接收到所述應答包 的本地系統(tǒng)時間TS2,如果所述回應包中攜帶的ID與自身所屬無線設備的客戶端ID -致, 則記錄下所述TS2 ;
[0045] 同步計算模塊,用于根據(jù)同一請求包序號下的所述TC1、所述TC2、所述TS1和所述 TS2,計算自身所屬的無線設備相對于第一無線設備的單次同步操作的時間差;
[0046] 其中,所述同步計算模塊,具體用于基于下述公式,根據(jù)所述TCI、TC2、TS1和TS2 計算第一無線設備相對于自身所屬的無線設備的單次同步操作的時間差,以及單次同步操 作下第一無線設備與自身所屬的無線設備間數(shù)據(jù)包的平均傳輸時間:
[0047] Ttrans = (TCl+TS2-TSl-TC2)/2
[0048] Tdiff = (TCl-TS2-TSl+TC2)/2
[0049] 其中,Tdiff為單次同步操作的時間差,Ttrans為單次同步操作的平均傳輸時間。
[0050] 在上述無線設備中,所述過濾單元,具體用于確定某單次同步操作過程中出現(xiàn)數(shù) 據(jù)包丟失或異常時,則過濾掉該單次同步操作的時間差數(shù)據(jù);以及,選取第一無線設備和自 身所屬無線設備之間數(shù)據(jù)包的平均傳輸時間的閾值,若某單次同步操作的平均傳輸時間超 過所述閾值,則過濾掉該單次同步操作的時間差數(shù)據(jù)。
[0051] 在上述無線設備中,所述平滑單元,具體用于根據(jù)每個單次同步操作的同步時間 和該單次同步操作對應的時間差數(shù)據(jù),采用最小二乘曲線擬合的方式進行平滑處理;或者, 對設定時間段內的多個單次同步操作對應的有效的時間差數(shù)據(jù)求均值。
[0052] 本發(fā)明公開的一種無線通信系統(tǒng),所述系統(tǒng)包括:用于提供音頻源第一無線設備、 一個或多個作為無線音箱的第二無線設備,其中第一無線設備與第二無線設備通過 WIFI 或WIFI直連建立連接;所述第二無線設備為上述的無線設備。
[0053] 本發(fā)明的技術效果是:
[0054]本發(fā)明公開的無線設備間時間同步方法、無線設備和無線通信系統(tǒng),無需增加額 外的硬件,通過對獲得的單次同步操作的時間差數(shù)據(jù),進行有效性過濾以剔除不良的數(shù)據(jù), 并對設定時間段內的有效性過濾后的多個單次同步操作的時間差數(shù)據(jù)進行平滑處理,能夠 得到精度較尚的設定時間段內的平均時間差,從而每隔設定時間段根據(jù)獲得的平均時間差 數(shù)據(jù)對待同步的無線設備的系統(tǒng)時間進行調整,可以將無線設備間的系統(tǒng)時間差同步至低 于lms,實現(xiàn)無線設備間高精度的時間同步。
[0055]進一步的,本發(fā)明公開的無線設備間時間同步方法、無線設備和無線通信系統(tǒng),通 過使用廣播或組播方式交互數(shù)據(jù)包,能夠避免在單次同步操作中,重傳數(shù)據(jù)包造成的平均 傳輸時間的誤差,從而能夠基于平均傳輸時間準確地剔除掉無效的時間差數(shù)據(jù),保證了單 次同步操作的時間差的精度。
【專利附圖】
【附圖說明】
[0056]圖1是本發(fā)明實施例中的一種無線設備間時間同步方法的流程圖;
[0057]圖2是本發(fā)明實施例中的獲得第二無線設備相對于第一無線設備的單次同步操 作對應的時間差的流程圖;
[0058]圖3是本發(fā)明給出的在一次單次同步操作中數(shù)據(jù)包交互過程的示意圖;
[0059]圖4是本發(fā)明給出的在多次單次同步操作中數(shù)據(jù)包交互過程的示意圖;
[0060]圖5是將本發(fā)明一個具體實施例的數(shù)值對繪制在直角坐標系中的示意圖;
[0061]圖6是將根據(jù)圖5中的數(shù)值對得到的最小二乘法數(shù)值線也繪制在直角坐標系中的 示意圖;
[0062]圖7是本發(fā)明實施例中的一種無線設備的結構示意圖;
[0063]圖8本發(fā)明實施例中的單次同步計算單元的組成示意圖;
[0064]圖9是本發(fā)明實施例中的無線通信系統(tǒng)的組成示意圖。
【具體實施方式】
[0065]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方 式作進一步地詳細描述。
[0066]在下述描述中,第一無線設備作為時間同步的主設備,該主設備可以為 Server (服務器),提供時間同步的時間源。第二無線設備作為時間同步的從設備,該從設 備可以為Cl ient (客戶端),需要得到本地系統(tǒng)時間與Server系統(tǒng)時間的時間差,從而調整 本地系統(tǒng)時間或調整本地系統(tǒng)時間計數(shù)器,以與Server的系統(tǒng)時間保持同步。在一個無線 通信系統(tǒng)中,Server與一個或多個Client通過WIFI或WIFI-Direct (WIFI直連)建立連 接。
[0067] 圖1是本發(fā)明實施例中的一種無線設備間時間同步方法的流程圖。如圖1所示, 該方法包括:
[0068] 步驟S11,通過在第一無線設備和第二無線設備的單次同步操作中,獲取到的第一 無線設備和第二無線設備收發(fā)相應數(shù)據(jù)包的時間,計算該單次同步操作對應的第二無線設 備相對于第一無線設備的時間差。
[0069] 在本發(fā)明的一個實施例中,如圖2所示,步驟S11獲得第二無線設備相對于第一無 線設備的單次同步操作對應的時間差具體包括:
[0070] 步驟S101,第一無線設備以預定的時間間隔不間斷的廣播或組播進行同步的請求 包,所述請求包中攜帶請求包序號、發(fā)送請求包的本地系統(tǒng)時間TS1。
[0071] 第一無線設備Server不間斷的廣播或組播進行同步的請求包,請求包中必須包 含數(shù)據(jù)包序號(以避免丟包的影響)、當前的系統(tǒng)時間TS1。
[OO72]步驟S102,第二無線設備接收該請求包并廣播或組播發(fā)送應答包(ACK),應答包 中攜帶第二無線設備自身的Client ID(客戶端ID),同時第二無線設備記錄下請求包序 號、接收到請求包的本地系統(tǒng)時間TC1、發(fā)送應答包的本地系統(tǒng)時間TC2和請求包中的上述 當前的系統(tǒng)時間TS1。
[0073]第二無線設備Client在本地系統(tǒng)時間TC1接收到Server廣播的數(shù)據(jù)包,保存TS1 和TC1,隨后以廣播或組播方式向Server發(fā)送ACK,ACK包中需包含 client iD,client ID 用來區(qū)分不同的Client端,同時Client需保存發(fā)送ACK包的本地時間TC2。
[0074]步驟Sl〇3,第一無線設備接收到應答包后發(fā)送回應包,回應包中攜帶所回應的第 二無線設備的ID和接收到應答包的本地系統(tǒng)時間TS2。
[0075]第一無線設備Server端接收到ACK包,保存接收到ACK包時的系統(tǒng)時間TS2 ;隨 后f TS2及ACK包中的Client ID發(fā)送到Client端,此處并不限制采用何種傳輸方式,可 以采用廣播或組播方式,也可以采用非廣播和組播的方式。
[0076]步驟S104,第二無線設備根據(jù)自身的client ID校驗所述回應包,如果回應包中 攜帶的ID與自身的Client ID -致,則記錄下回應包中的所述TS2。
[0077]第二無線設備Client收到Server發(fā)送的回應數(shù)據(jù)包后,校驗Client ID是否正 確,若真,則保存TS2 ;否則丟掉回應數(shù)據(jù)包。
[0078]上述步驟S101-S104為一次同步操作,若中間任意一次數(shù)據(jù)丟失或異常,則結束 本次同步操作,從S101重新執(zhí)行,開始下一次同步操作。
[0079]根據(jù)上述說明,上述一次單次同步操作中數(shù)據(jù)包交互過程的示意圖如圖3所示, 可見本實施例中的第一無線設備和第二無線設備的單次同步操作包括:1)第二無線設備 接收第一無線設備發(fā)送的用于同步的請求包;2)第二無線設備根據(jù)該請求包向第一無線 設備發(fā)送應答包;3)第二無線設備接收第一無線設備根據(jù)該應答包返回的回應包。
[00S0] 周期性重復上述步驟S101-S104,其多個單次同步操作中數(shù)據(jù)包交互過程如圖4 所示,在圖4所示的場景中,在設定時間段內包括N個單次同步操作。
[0081] 步驟S105,第二無線設備根據(jù)同一請求包序號下的上述TC1、TC2、TS1和TS2,計算 第二無線設備相對于第一無線設備的單次同步操作的時間差。
[0082] 具體地,第二無線設備根據(jù)時間傳輸下述等式:
[0083] TCI = TSl+Tdiff+Ttransl (1)
[0084] TS2+Tdiff = TC2+Ttrans2 (2)
[0085] 其中,Tdiff為單次同步操作的時間差,Ttransl為單次同步操作下請求包的傳輸 時間,Ttrans2為單次同步操作下應答包的傳輸時間。
[0086] 合理假設通訊路徑是對稱的,即Ttransl = Ttrans2,得到單次同步操作的平均傳 輸時間Ttrans和單次同步操作的時間差Tdiff :
[0087] Ttrans = (TC1+TS2-TS卜TC2)/2 ;
[0088] Tdiff = (TCl-TS2-TSl+TC2)/2〇
[0089] 需要說明的是,影響Tdiff精度有兩種因素,第一種因素是從Server傳輸?shù)?Client的時間與從Client傳輸?shù)絊erver的時間不同,而使用WiFi或WIFI-Direct進行 傳輸會加劇此因素的不良影響。第二種因素是對不采用廣播和組播的場景,數(shù)據(jù)包如果丟 失,通常情況下會引起重傳,而重傳包中的時間信息,例如步驟S11中從Server到Client 數(shù)據(jù)包中TS1,并沒有被更新,這樣會加劇第一種因素引起的影響。所以在本發(fā)明的上述步 驟S11和S12中的數(shù)據(jù)包都使用廣播或組播進行交互,以避免在一次同步操作中,重傳數(shù)據(jù) 造成的傳輸時間的誤差。
[0090] 步驟S12,對所述單次同步操作對應的時間差進行有效性過濾,提取出有效的時間 差數(shù)據(jù)。
[0091] 為減少對上述Tdiff精度的影響,需要進行一定的算法,過濾不良數(shù)據(jù),以提高得 到的時間差精度。
[0092] 對單次同步操作的時間差進行有效性過濾的情形一:
[0093] 確定某單次同步操作過程中出現(xiàn)數(shù)據(jù)包丟失或異常時,則過濾掉該單次同步操作 的時間差數(shù)據(jù)。其中,確定某單次同步操作過程中出現(xiàn)數(shù)據(jù)包丟失或異常包括:
[0094] 第二無線設備根據(jù)自身的客戶端ID校驗所述回應包,如果所述回應包中攜帶的 ID與自身的客戶端ID不一致,確定所述單次同步操作過程中出現(xiàn)數(shù)據(jù)包異常;或者,
[0095] 第二無線設備判斷在允許的時間范圍內沒有接收到相應的請求包序號下的請求 包或應答包時,確定所述單次同步操作過程中出現(xiàn)數(shù)據(jù)包丟失。
[0096] 對單次同步操作的時間差進行有效性過濾的情形二:
[0097]選取第一無線設備和第二無線設備之間數(shù)據(jù)包的平均傳輸時間的閾值;若某單次 同步操作的平均傳輸時間超過所述閾值,則過濾掉該單次同步操作的時間差數(shù)據(jù)。
[0098] 這是因為:如果在一次同步操作過程中數(shù)據(jù)包丟失或異常,將得不到有效的單次 同步操作的時間差,對這次同步操作得到的數(shù)據(jù)應當排除;另外,由于主從設備時間差的存 在,無法得到真實的Trans 1及Trans2,進而也就無法算出單次同步操作的時間差Tdif f,但 可通過計算單次同步操作的平均傳輸時間Ttrans,如果平均傳輸時間Ttrans過大,通常情 況都是由于單向傳輸時間過大引起的,因此可根據(jù)單次同步操作對應的平均傳輸時間對該 單次同步操作的時間差數(shù)據(jù)Tdiff進行過濾。
[0099] 步驟S13,對設定時間段內的多個單次同步操作對應的有效的時間差數(shù)據(jù)進行平 滑處理,獲得第二無線設備相對于第一無線設備在所述設定時間段內的平均時間差。
[0100] 經(jīng)過過濾后的數(shù)據(jù)可以進行下一步的主從設備的時間差計算,但因無線網(wǎng)絡傳輸 時間不確定性的影響,需要對設定時間段內的多次單次同步操作的時間差Tdiff進行平滑 處理。因不同的設備具有不同的計算能力,可采用不同的算法進行處理。
[0101] 一種平滑處理實現(xiàn)方法:最小二乘法。
[0102] 根據(jù)每個單次同步操作的同步時間和該單次同步操作對應的時間差數(shù)據(jù),采用最 小二乘曲線擬合的方式進行平滑處理。
[0103] 具體地,利用最小二乘法公式Y = a+b*X,其中Y為單次同步操作的時間差,X為該 單次同步操作對應的同步時間。
[0104] 根據(jù)設定時間段內的有效性過濾后的多次單次同步操作的時間差π及對應的時 間點)Ci的數(shù)值對,通過如下公式得到a與b的值,其中m為數(shù)值對的個數(shù):
[0105]
【權利要求】
1. 一種無線設備間時間同步的方法,其特征在于,所述方法包括: 通過在第一無線設備和第二無線設備的單次同步操作中,獲取到的第一無線設備和第 二無線設備收發(fā)相應數(shù)據(jù)包的時間,計算該單次同步操作對應的第二無線設備相對于第一 無線設備的時間差; 對所述單次同步操作對應的時間差進行有效性過濾,提取出有效的時間差數(shù)據(jù); 對設定時間段內的多個單次同步操作對應的有效的時間差數(shù)據(jù)進行平滑處理,獲得第 二無線設備相對于第一無線設備在所述設定時間段內的平均時間差; 每隔所述設定時間段根據(jù)獲得的所述平均時間差調整第二無線設備的系統(tǒng)時間,以使 得第二無線設備與第一無線設備時間同步。
2. 如權利要求1所述的方法,其特征在于,所述通過在第一無線設備和第二無線設備 的單次同步操作中,獲取到的第一無線設備和第二無線設備收發(fā)相應數(shù)據(jù)包的時間,計算 該單次同步操作對應的第二無線設備相對于第一無線設備的時間差包括: 第一無線設備以預定的時間間隔廣播或組播進行同步的請求包,所述請求包中攜帶請 求包序號、發(fā)送請求包的本地系統(tǒng)時間TS1 ; 第二無線設備接收所述請求包并廣播或組播發(fā)送應答包,所述應答包中攜帶第二無線 設備自身的客戶端ID,同時第二無線設備記錄下所述請求包序號、接收到所述請求包的本 地系統(tǒng)時間TC1、發(fā)送所述應答包的本地系統(tǒng)時間TC2和所述請求包中的所述TS1 ; 第一無線設備接收到所述應答包后發(fā)送回應包,所述回應包中攜帶所回應的第二無線 設備的客戶端ID和接收到所述應答包的本地系統(tǒng)時間TS2 ; 第二無線設備根據(jù)自身的ID校驗所述回應包,如果所述回應包中攜帶的無線設備的 ID與自身的客戶端ID-致,則記錄下所述回應包中的所述TS2 ; 第二無線設備根據(jù)同一請求包序號下的所述TC1、所述TC2、所述TS1和所述TS2,計算 第二無線設備相對于第一無線設備的單次同步操作的時間差。
3. 如權利要求2所述的方法,其特征在于,所述根據(jù)同一請求包序號下的所述TC1、所 述TC2、所述TS1和所述TS2,計算第二無線設備相對于第一無線設備的單次同步操作的時 間差包括: 基于下述公式,根據(jù)所述TCI、TC2、TS1和TS2計算第一無線設備相對于第二無線設備 的單次同步操作的時間差,以及單次同步操作下第一無線設備與第二無線設備間數(shù)據(jù)包的 平均傳輸時間: Ttrans = (TC1+TS2-TS1-TC2)/2 Tdiff = (TCl-TS2-TSl+TC2)/2 其中,Tdiff為單次同步操作的時間差,Ttrans為單次同步操作的平均傳輸時間。
4. 如權利要求1-3任一項所述的方法,其特征在于,所述對所述單次同步操作對應的 時間差進行有效性過濾包括: 確定某單次同步操作過程中出現(xiàn)數(shù)據(jù)包丟失或異常時,則過濾掉該單次同步操作的時 間差數(shù)據(jù)。
5. 如權利要求4所述的方法,其特征在于,所述確定某單次同步操作過程中出現(xiàn)數(shù)據(jù) 包丟失或異常包括: 第二無線設備根據(jù)自身的客戶端ID校驗所述回應包,如果所述回應包中攜帶的ID與 自身的客戶端ID不一致,確定所述單次同步操作過程中出現(xiàn)數(shù)據(jù)包異常;或者, 第二無線設備判斷在允許的時間范圍內沒有接收到相應的請求包序號下的請求包或 應答包時,確定所述單次同步操作過程中出現(xiàn)數(shù)據(jù)包丟失。
6. 如權利要求1-3任一項所述的方法,其特征在于,所述對所述單次同步操作對應的 時間差進行有效性過濾包括: 選取第一無線設備和第二無線設備之間數(shù)據(jù)包的平均傳輸時間的閾值; 若某單次同步操作的平均傳輸時間超過所述閾值,則過濾掉該單次同步操作的時間差 數(shù)據(jù)。
7. 如權利要求1-3任一項所述的方法,其特征在于,所述對設定時間段內的多個單次 同步操作對應的有效的時間差數(shù)據(jù)進行平滑處理包括: 根據(jù)每個單次同步操作的同步時間和該單次同步操作對應的時間差數(shù)據(jù),采用最小二 乘曲線擬合的方式進行平滑處理; 或者,對設定時間段內的多個單次同步操作對應的有效的時間差數(shù)據(jù)求均值。
8. 如權利要求1-3任一項所述的方法,其特征在于,所述根據(jù)獲得的所述平均時間差 調整第二無線設備的系統(tǒng)時間包括: 使用Linux操作系統(tǒng)的時鐘調節(jié)命令adjtimex,根據(jù)獲得的所述平均時間差對第二無 線設備的系統(tǒng)時鐘或系統(tǒng)時鐘的計數(shù)器進行調整。
9. 一種無線設備,其特征在于,包括: 單次同步計算單元,用于通過在第一無線設備和自身的單次同步操作中,獲取到的第 一無線設備和自身收發(fā)相應數(shù)據(jù)包的時間,計算該單次同步操作對應的自身相對于第一無 線設備的時間差; 過濾單元,用于對所述單次同步操作對應的時間差進行有效性過濾,提取出有效的時 間差數(shù)據(jù); 平滑單元,用于對設定時間段內的多個單次同步操作對應的有效的時間差數(shù)據(jù)進行平 滑處理,獲得自身相對于所述第一無線設備在所述設定時間段內的平均時間差; 時間調整單元,用于每隔所述設定時間段根據(jù)獲得的所述平均時間差調整自身的系統(tǒng) 時間,以使得自身與所述第一無線設備時間同步。
10. 如權利要求9所述的無線設備,其特征在于,所述單次同步計算單元包括: 請求接收模塊,用于接收第一無線設備以預定的時間間隔廣播或組播進行同步的請求 包,所述請求包中攜帶請求包序號、發(fā)送請求包的本地系統(tǒng)時間TS1 ; 應答發(fā)送模塊,用于向所述第一無線設備廣播或組播發(fā)送應答包,所述應答包中攜帶 自身的ID,同時記錄下所述請求包序號、接收到請求包的本地系統(tǒng)時間TC1、發(fā)送應答包的 本地系統(tǒng)時間TC2和所述TS1 ; 回應校驗模塊,用于根據(jù)自身所屬無線設備的客戶端ID校驗所述第一無線設備發(fā)送 的回應包,所述回應包中攜帶無線設備的ID和所述第一無線設備接收到所述應答包的本 地系統(tǒng)時間TS2,如果所述回應包中攜帶的ID與自身所屬無線設備的客戶端ID -致,則記 錄下所述TS2 ; 同步計算模塊,用于根據(jù)同一請求包序號下的所述TC1、所述TC2、所述TS1和所述TS2, 計算自身所屬的無線設備相對于第一無線設備的單次同步操作的時間差; 其中,所述同步計算模塊,具體用于基于下述公式,根據(jù)所述TCI、TC2、TS1和TS2計算 第一無線設備相對于自身所屬的無線設備的單次同步操作的時間差,以及單次同步操作下 第一無線設備與自身所屬的無線設備間數(shù)據(jù)包的平均傳輸時間: Ttrans = (TC1+TS2-TS1-TC2)/2 Tdiff = (TCl-TS2-TSl+TC2)/2 其中,Tdiff為單次同步操作的時間差,Ttrans為單次同步操作的平均傳輸時間。
11. 如權利要求9-10任一項所述的無線設備,其特征在于, 所述過濾單元,具體用于確定某單次同步操作過程中出現(xiàn)數(shù)據(jù)包丟失或異常時,則過 濾掉該單次同步操作的時間差數(shù)據(jù);以及,選取第一無線設備和自身所屬無線設備之間數(shù) 據(jù)包的平均傳輸時間的閾值,若某單次同步操作的平均傳輸時間超過所述閾值,則過濾掉 該單次同步操作的時間差數(shù)據(jù); 所述平滑單元,具體用于根據(jù)每個單次同步操作的同步時間和該單次同步操作對應的 時間差數(shù)據(jù),采用最小二乘曲線擬合的方式進行平滑處理;或者,對設定時間段內的多個單 次同步操作對應的有效的時間差數(shù)據(jù)求均值。
12. -種無線通信系統(tǒng),其特征在于,所述系統(tǒng)包括:用于提供音頻源第一無線設備、 一個或多個作為無線音箱的第二無線設備,其中第一無線設備與第二無線設備通過WIFI 或WIFI直連建立連接;所述第二無線設備為權利要求9-11任一項所述的無線設備。
【文檔編號】H04W56/00GK104244399SQ201410469644
【公開日】2014年12月24日 申請日期:2014年9月15日 優(yōu)先權日:2014年9月15日
【發(fā)明者】高強, 姜斌斌, 王重樂, 曾小波 申請人:歌爾聲學股份有限公司