李圣普,王小輝
?
基于高頻音訊的信息推廣系統(tǒng)研究
李圣普,王小輝
摘 要:提出利用人耳聽覺特性以聲音為傳輸媒介,在高頻中埋藏要傳送的資訊,并實(shí)際應(yīng)用在行動裝置上,讓使用者可以使用揚(yáng)聲器循環(huán)播放聲音訊號,達(dá)到消費(fèi)者靠近店家即可收到該店家的消費(fèi)資訊的目的。在傳送端使用18kHz 左右的音頻,配合RS code、preamble encoder和PSK傳遞信號,并在接收端使用 preamble detection、PLL、RS decoder 解出訊號,讓整個系統(tǒng)最后實(shí)現(xiàn)在iOS裝置上,實(shí)驗(yàn)結(jié)果證實(shí)系統(tǒng)可以成功傳遞商家信息。
關(guān)鍵詞:高頻;聲音信號;商家信息;廣播系統(tǒng)
平頂山,467002
王小輝(1980-),女(漢族),河南滑縣人,平頂山學(xué)院,計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,講師,碩士,研究方向:人工智能及應(yīng)用,平頂山,467002
隨著智能機(jī)的普及,如何能在消費(fèi)場所感知消費(fèi)者的位置是否位于商家附近,進(jìn)而提供商家最新消費(fèi)信息至消費(fèi)者手機(jī)上的方法,是現(xiàn)今熱門的研究點(diǎn)。如圖1所示:

圖1 情景示意圖
情境假設(shè),消費(fèi)者的智能設(shè)備安裝由賣場提供的特定應(yīng)用,當(dāng)靠近一個商家時,行動裝置可以立刻收到該商家的消費(fèi)資訊。
因?yàn)槭褂靡话愕膿P(yáng)聲設(shè)備就可以將信號推播,所以此系統(tǒng)可利用一般商家已有的揚(yáng)聲設(shè)備,傳送人耳不易察覺的高頻音訊訊號,并在其上承載商家特定的消費(fèi)信息,消費(fèi)者利用智能終端上已有的麥克風(fēng)接收與解碼此高頻音訊訊號。最后在手機(jī)上即時顯示消費(fèi)信息通知,達(dá)到為此商家即時傳遞特定消費(fèi)信息的目的。
以下進(jìn)一步說明完成此高頻音訊行動資訊廣播系統(tǒng),所需考慮的各種系統(tǒng)規(guī)格。
1.1 頻帶選擇
為能利用人耳不易察覺的音訊訊號傳遞消費(fèi)資訊,文中將調(diào)查人耳的聽覺特性與背景環(huán)境噪音分布情形。首先綜合各聽覺研究文獻(xiàn)的結(jié)論,找出人耳對各種頻率的頻率響應(yīng)?;旧先硕钊菀捉邮艿姆秶?~4 kHz左右,而在16 KHz以上,人耳的敏感度就急劇降低。 然后到賣場用頻譜分析儀實(shí)際測量環(huán)境雜訊,發(fā)現(xiàn)大部份的賣場噪音皆分布在低頻帶部分,尤其是與人耳最易感知的2~4 kHz重疊。因此,根據(jù)上述調(diào)查結(jié)果,進(jìn)一步以實(shí)際音訊訊號與環(huán)境雜訊,進(jìn)行不同頻帶的人耳聽覺測試。最后選擇以16~20 kHz 的頻帶,作為主要音訊通訊訊號的載波頻帶。
1.2 封包方式
考慮連續(xù)傳送封包,必須在每個封包的開頭加上一段preamble,如圖2所示:

圖2 preamble 示意圖
如此接收端可以依據(jù)該訊號作時序同步。
1.3調(diào)變方式選擇
調(diào)變系統(tǒng)采用PSK作為基本架構(gòu),其中考慮PSK是因?yàn)樗男芡ǔ1萢mplitude shift keying (ASK)和 frequency shift keying (FSK)好。佐證資料PSK、ASK 與 FSK 編碼方式與其效能比較,如圖3所示:

圖3 調(diào)變系統(tǒng)比較圖
在文中,依據(jù)上述設(shè)計(jì),提出一個基于高頻音訊通訊系統(tǒng)的特定消費(fèi)信息傳遞系統(tǒng)。圖4為這套系統(tǒng)的傳送端架構(gòu)。以下將逐一介紹此系統(tǒng)重點(diǎn)的方塊圖的功能和原理。
2.1 傳送端
一開始會先把所想傳送的商家資訊(網(wǎng)址),如
http://getlife.com.cn/mall/index,轉(zhuǎn)換成 ASCII 碼,由二進(jìn)位碼組成如圖4所示:

圖4 傳送端架構(gòu)
2.1.1 RS code
錯誤更正碼可用來保護(hù)數(shù)位資料,主要目的就是在最小成本頻寬內(nèi)降低錯誤率。在已知的錯誤更正碼中,RS (Reed-Solomon) code 對突發(fā)性的錯誤有很強(qiáng)的更正能力,主要功用是用來糾正隨機(jī)雜訊(random noise)所造成的錯誤,此種錯誤的發(fā)生通常是零散的。雖然 RS code 能夠糾錯 t個未知錯誤(error),不過需要犧牲2t個冗余資料(redundant data)。另外,設(shè)定每筆資料(symbol)的位元數(shù)為 m,因此m 一組 code word 的長度(包括冗余資料)最多為 n=2 -1。
2.1.2 Preamble
Preamble是具有與白雜訊類似的自相關(guān)性質(zhì)的0和1所構(gòu)成的編碼序列,此序列出現(xiàn)0 與1的機(jī)率各為50%,在所要傳的資料開頭加上 PN code,可讓接收端知道資料的起始點(diǎn)。選用PN code 作為 preamble 的原因是它與所傳的資料最不相像,這樣接收端在搜尋頭部時就不會出現(xiàn)錯誤 。
PSK 調(diào)變與 Root raised cosine filter
PSK調(diào)變選擇使用QPSK,理想的QPSK訊號表示如公式(1):


需要選擇一個波形來傳送symbol,最理想的波形是raised cosine[3],第一可限制頻寬,因?yàn)榭梢岳玫念l寬有限,使用 raised cosine 作為傳送波型的頻寬公式如公式(2):這里RS為符號傳送速率,α為降滾系數(shù),介于0到1之間,所以,可以借助這兩個參數(shù)的調(diào)整來決定頻寬大小。第二可對抗符號間干擾(ISI),將符號的最高點(diǎn)與第二個符號零點(diǎn)重疊,這樣一來干擾可以減到最小。不同的α所描繪出的raised cosine的時域與頻域圖,如圖5、圖6所示:

圖5 raised cosine 時域波形

圖6 raised cosine 頻域波形
2.2 接收端
接收端的架構(gòu)圖如圖7所示:

圖7 接收端架構(gòu)
將把收到的Audio訊號經(jīng)過PSK解調(diào),preamble偵測同步,再做PLL同步頻率與相位,最后經(jīng)過 RS decoder 解出所傳的商家資訊,如:http://getlife.com.cn/mall/index。以下逐一介紹各個模塊功能與原理。
2.2.1 Preamble detector
因?yàn)榭梢允孪戎?preamble 是什么,所以可以事先在接收端把 preamble 波形記錄下來,偵測 preamble的起始點(diǎn)有兩種方法,一種是single sliding window ,選定一個視窗的長度,對視窗內(nèi)的取樣點(diǎn)做自相關(guān)運(yùn)算,然后藉由mn的大小判斷是否達(dá)到門檻值,如公式(3):

這里n是資料的bin,k=0到L-1是preamble資料的長度。
判斷mn是否有達(dá)到訂定的門檻值,必須先知道雜訊的能量,而雜訊能量無法事先得知,所以用另一種偵測preamble 的方法,double sliding window,示意圖如圖8所示:

圖8 double sliding window
使用這個方法不再是判斷門檻值,而是直接取峰值。
2.2.2 PLL
訊號在接收端解調(diào)時,會碰到訊號的頻率與相位與接收端不一致的問題,這里參考了 Feed-forward Compensation Algorithm[4]的方法,這個方法好處是完全可以使用 DSP 的方式實(shí)現(xiàn)出來,流程如圖9所示:

圖9 頻率與相位補(bǔ)償流程圖
R(t)為接收端收到的訊號,可以表示成公式(4):

θ為相位差。在這里將低通濾波器設(shè)計(jì)成 raised cosine filter,一方面是此濾波器有低通濾波器的效果,一方面是與傳送端做匹配。訊號經(jīng)過濾波器可得到 I、Q 兩個 channel,如公式(5)、(6):

補(bǔ)償矩陣運(yùn)算式如公式(7):


接下來將x1和x2,經(jīng)過以下的運(yùn)算得到 error function,如公式(10):

到這里就可以發(fā)現(xiàn),要讓x1( t ),x2( t )近似于I( t )與Q( t ),必須使e( t )的值接近零,也就是讓θ補(bǔ)償相位接近訊號的相位差,再來利用 loop filter 來調(diào)整的值。
3.1 iOS 程式架構(gòu)及流程
APP 程式架構(gòu)上是使用 iOS SDK 里的 audio unit 的framework 來實(shí)現(xiàn)錄放音的動作,理由是audio unit是iOS里最底層的錄放音單元,較容易存取 raw data,這對于需經(jīng)常使用dsp來說,比較容易操作與實(shí)現(xiàn)。
雖然iOS的行動裝置有支援傳統(tǒng)的C語言,但如果使用傳統(tǒng)的C語言來實(shí)現(xiàn)DSP運(yùn)算,將會大大增加運(yùn)算時間,如convolution的運(yùn)算,經(jīng)過測試使用傳統(tǒng)C語言來撰寫,將一個 4096長度的陣列與257 長度陣列做摺積運(yùn)算,花費(fèi)時間大約要五秒,而使用 iOS 提供的 vdsp系列的運(yùn)算函式,運(yùn)算時間極快,而傳送端與接收端的程式計(jì)算時間分別只要一到兩秒。系統(tǒng)實(shí)作流程圖如圖10所示:
3.2載波與頻寬
頻帶的選擇是依據(jù)訊號經(jīng)由頻譜分析儀的能量來決定,因行動裝置的揚(yáng)聲器與麥克風(fēng)的取樣頻率最高可達(dá)44.1kHz,而根據(jù)調(diào)查結(jié)果人對16kHz以上的audio的敏感度就急遽下降,19kHz以上的訊號因裝置的頻率響應(yīng)能量有所衰減,所以將載波定在 18kHz。因所要傳送的符號為 raised cosine,訊號的頻寬可以依照公式(1)來決定,符號傳送速率RS選擇32/44100秒,也就是在取樣頻率 44.1kHz 的情況下,每32 個 bin 傳送一次符號,α選擇 0.5,所以訊號所占頻寬大約等于 1033Hz。
3.3 資料與傳送速率設(shè)定
要決定裝置錄放音的 buffer 大小,選擇4096bit,如果使用raised cosine 做為傳送波形,必須先將資料 upsample,upsample 多少取決于RS,所以一個buffer 可容納的資料為 4096/32=128bit,而是使用QPSK 調(diào)變方式,可傳送的資料就可達(dá)到 256bit。
因?yàn)樵趯?shí)際應(yīng)用上,要傳送的資訊只有一段網(wǎng)址或資料,依據(jù)ASCII的標(biāo)準(zhǔn),一個字元是由8個bit所編碼。preamble的大小選擇 32bit,如果再加上錯誤更正碼、保護(hù)碼等,足以將一段完整的網(wǎng)址容納在一個buffer里。
3.4實(shí)現(xiàn)結(jié)果
先測試不加保護(hù)碼的情況,利用行動裝置的錄放音設(shè)備實(shí)際播放接收,并讀取行動裝置存下來的資料來驗(yàn)證算法的正確性,傳送資料為http://getlife.com.cn/mall/index,圖11
為行動裝置解調(diào)完畢,經(jīng)過相位補(bǔ)償?shù)男亲鶊D,依照星座圖的結(jié)果,可以完整解出 http://getlife.com.cn/mall/index這段網(wǎng)址,如圖11所示:

圖11 經(jīng)補(bǔ)償星座圖
3.5 實(shí)驗(yàn)環(huán)境
使用 iPhone 做為傳送端,iPad 做為接收端的模擬結(jié)果,在iPhone上設(shè)定的載波頻率是18kHz,在iPad上可以看到資料的載波在18Khz,資料的頻寬大約2kHz,接收端運(yùn)算與解調(diào)結(jié)果,在 iPad 上可以看到傳送的網(wǎng)址及網(wǎng)頁。
在文中提出了一個用高頻音頻訊號的行動資訊廣播系
統(tǒng),整個系統(tǒng)并實(shí)際實(shí)現(xiàn)在iOS裝置上,且從實(shí)驗(yàn)結(jié)果來看,此系統(tǒng)確實(shí)可以成功傳遞商家信息。并讓顧客可以用手機(jī)將信息完整解讀出來。未來本系統(tǒng)將再實(shí)行RS 保護(hù)碼,使資料量可以傳送更多,可傳送的距離更遠(yuǎn),錯誤率更低。
參考文獻(xiàn)
[1] Anil Madhavapeddy, David Scott, Alastair Tse,and Richard Sharp Audio Networking:The Forgotten Wireless Technology 2005 IEEE[C].
[2] Chuan Li, David A. Hutchins, and Roger J. Green Short-Range Ultrasonic Communications in Air Using Quadrature Modulation IEEE Transactions on Ultrasonics[C], Ferroelectrics, and Frequency Control, vol. 56, no. 10, October 2009.
[3] http://en.wikipedia.org/wiki/Raised-cosine_filter.
[4] Yinsheng LIU,Cheng TAO,Feedback compensation algorithm for BPSK/QPSK carrier synchronization[C],RADIOENGINEERING,VOL 19, NO 1,APRIL 2010.
Business Information Spreading System Based on High Frequency Sound Signal
Li Shengpu, Wang Xiaohui
(College of Computer Science and Technology, Pingdingshan University, Pingdingshan 467002, China)
Abstract:The paper proposes a new business information spreading system based on high frequency sound signal. Researching the sound transmission medium and the human ear hearing characteristics, the new business information spreading system hides spreading information in high frequency sound signal and applies on mobile devices to constantly broadcast voice signals by loudspeaker for stores. The consumers can receive consumption information of the stores if they are near. The sender uses audio around 18 KHZ, RS code, preamble encoder and PSK to pass information signal, and the receiving end uses the preamble detection, PLL and the RS to decoder signal. The whole system is finally implemented in the IOS device. The experimental results show that the system can transfer business information successfully.
Key words:High Frequency; Sound Signal; Business Information; Broadcast System
收稿日期:(2015.06.05)
作者簡介:李圣普(1983-),男(漢族),河南封丘縣人,平頂山學(xué)院,計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,講師,碩士, 研究方向:無線傳感器網(wǎng)絡(luò)及應(yīng)用,
基金項(xiàng)目:河南省重點(diǎn)科技攻關(guān)項(xiàng)目(142102210225);平頂山學(xué)院青年基金資助項(xiàng)目(PXY-QNJJ-2014007)
文章編號:1007-757X(2016)01-0030-03
中圖分類號:TP391
文獻(xiàn)標(biāo)志碼:A