<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 光電顯示 > 設計應用 > 基于人工免疫系統(tǒng)和ZigBee的智能家居燈光控制系統(tǒng)的設計(二)

          基于人工免疫系統(tǒng)和ZigBee的智能家居燈光控制系統(tǒng)的設計(二)

          作者: 時間:2012-08-11 來源:網(wǎng)絡 收藏

          4 的實現(xiàn)

          4. 1 抗原和抗體的編碼

          抗原和抗體具有相似的結構,抗原由用戶或中央處理單元產(chǎn)生,抗體在骨髓中形成。為了便于計算和匹配,本文選用了二進制的編碼方式對抗原和抗體進行編碼。抗原的編碼如表1 所示。其中,自然光照度的編碼采用如下方法: 二進制的數(shù)據(jù)共12位,由低位到高位,每四位分別代表十進制中的個位、十位和百位; 如表1 所示,二進制中的低4 位0101 代表十進制中的個位5。

          4.jpg

          抗體的抗體決定基同抗原具有相同的結構,高度匹配的一對抗原和抗體,它們的抗體決定基和抗原的編碼形式是互補的,但抗體決定基中的自然光照度編碼方法同抗原中自然光照度的方法一致。照度編碼區(qū)中相關燈具照度的編碼的前4 位代表了相關燈具的編號,后12 位的編碼方法同抗原中自然光照度的方法一致。抗體的獨特型編碼形式與其抗體決定基的編碼形式一致,表2 列出了同表1 抗原高度匹配的抗體的編碼,因獨特型同抗體決定基編碼一致,表中并未列出獨特型的編碼。

          基于人工免疫系統(tǒng)和ZigBee的智能家居燈光控制系統(tǒng)的設計(二)

          4. 2 親合度的計算方法

          4. 2. 1 骨髓中的匹配方法

          在骨髓中,B 細胞將經(jīng)歷耐受期,采用海明距離法計算記憶B 細胞前三個屬性與抗原前三個屬性的匹配程度。匹配度采用下式計算

          基于人工免疫系統(tǒng)和ZigBee的智能家居燈光控制系統(tǒng)的設計(二)

          L 是抗原前三個屬性的二進制編碼的總位數(shù),即L =12。只有當D = 12 時,即記憶B 細胞前三個屬性與抗原前三個屬性完全匹配時,當前記憶B 細胞才可以作為成熟B 細胞被排出骨髓,進入免疫反應區(qū),成為免疫反應區(qū)中的抗體。

          為保證骨髓內(nèi)保存的都是用戶的最新設置,當用戶改變某一情況下的設置時,最新設置將作為新的記憶B 細胞儲存在骨髓中,同時消滅與其相似的原有記憶B 細胞。相似度仍采用如式1 所示的海明距離法確定,此時匹配對象是新的B 細胞的抗體決定基和原有B 細胞的獨特型,L 為獨特型的二進制編碼的總位數(shù),即L = 24。只有當D = 0 時,即新的B 細胞的抗體決定基同原有B 細胞的獨特型完全相同時,骨髓才認定二者相似,消滅原有記憶B 細胞,儲存新的記憶B 細胞。

          4. 2. 2 免疫反應區(qū)中親合度的計算方法

          由于在骨髓中已經(jīng)完成了用戶名、房屋類型及場景模式的匹配,因此只將成熟B 細胞的部分抗體送入免疫反應區(qū)進行匹配,部分抗體包括抗體決定基中的第四個屬性自然光照度和照度編碼區(qū)。用于在免疫反應區(qū)中計算親合度的兩部分分別是抗體和抗原中的自然光照度部分,親合度由公式2 計算得出。

          基于人工免疫系統(tǒng)和ZigBee的智能家居燈光控制系統(tǒng)的設計(二)

          ( 1) 確定當前抗原類型,判斷抗原是由用戶切換照明模式還是由自然光較大變化引起的。如果是由用戶引起的,繼續(xù)向下執(zhí)行,若是由自然光變化引起的,則轉至( 3) 。

          ( 2) 將抗原輸入至骨髓,記憶B 細胞經(jīng)歷耐受期,耐受成功后,將所有成熟B 細胞輸入至免疫反應區(qū)。若不成功,則說明此時系統(tǒng)處于初始階段,記憶B 細胞庫中并未存有用戶針對此種照明模式的抗體,此時轉至( 4)

          ( 3) 計算免疫反應區(qū)中的所有抗體與抗原的親合度,選擇親合度最大的抗體作為最優(yōu)抗體輸出至中央處理單元,然后轉至( 5) 。

          ( 4) 系統(tǒng)針對用戶的不同需求及燈具的分布特點,默認存有一些抗體,這些抗體并不包含自然光照度,只包括抗體決定基的前三個屬性和照度編碼區(qū),默認抗體存儲在骨髓內(nèi)的一個特殊區(qū)域。當抗原在骨髓內(nèi)耐受失敗后,則自動與默認抗體匹配,并將默認抗體作為最優(yōu)抗體輸出至中央處理單元。

          ( 5) 中央處理單元解碼最優(yōu)抗體,并將相關燈具的照度設置發(fā)送至各燈具控制終端。

          骨髓中的記憶B 細胞庫是由用戶通過遙控器或免疫控制器設置完成的并不斷地進行更新。如果用戶對當前的照明設置不滿意,可通過遙控器或免疫控制器進行調(diào)整,系統(tǒng)自動將調(diào)整結果放入骨髓中的記憶B 細胞庫,并消滅相似的記憶B 細胞。

          5 仿真實驗

          為了驗證該系統(tǒng)的可行性,我們利用MATLAB進行了仿真實驗。實驗模擬了用戶在起居室中看電視的場景,通過輸入不同抗原,驗證系統(tǒng)的穩(wěn)定性和可行性。實驗結果顯示該系統(tǒng)可快速穩(wěn)定地處理各種抗原,輸出結果理想。下面結合具體實驗結果闡述實驗過程。

          人們在看電視時,視力高度集中在電視屏幕上,且持續(xù)時間也較長。由于電視屏幕放射出紫外線和微量的x 射線,人眼吸收之后,視力會下降; 電視屏幕上的亮度很高,如果室內(nèi)的照明全部關閉的話,屏幕上的亮度與周圍環(huán)境的亮度之比可達幾十至幾百倍,這樣會產(chǎn)生較嚴重的眩光,易出現(xiàn)視覺疲勞現(xiàn)象,因此室內(nèi)應保持適當?shù)恼彰鳌4送?,燈具與電視機間要有正確的位置,燈具不能在看電視的視野范圍內(nèi),否則會產(chǎn)生嚴重的眩光。燈具也不能在屏幕上產(chǎn)生亮斑,這也是被人們所厭惡的。

          針對上述問題,模擬了如下場景,電視置于起居室內(nèi)西墻處,電視周邊對稱放置6 個燈具,南、北兩側各3 個,由南至北燈具序號依次為1 ~ 6,燈具安裝既不在觀看視野內(nèi),也不會在電視屏幕上產(chǎn)生亮斑,南面有飄窗,自然光可通過該窗射入。為更好檢測系統(tǒng)性能,測試了多個場景,其中4 個主要場景的測試結果如圖4 所示。

          5.jpg

          當沒有自然光照射時,系統(tǒng)默認分配給各燈具的照度分配如圖4 ( a) 所示。當自然光照度變?yōu)?0Lux時,用戶利用遙控器對燈具進行了調(diào)整,以便符合自己的習慣,系統(tǒng)將調(diào)整的結果存入骨髓記憶B 細胞庫中。當自然光照度再次變?yōu)?0Lux 或相近數(shù)值時,系統(tǒng)自動產(chǎn)生抗原,并將與其匹配的符合用戶習慣的抗體輸出,此時輸出抗體與系統(tǒng)默認抗體的比較如圖4( b) 所示。如果用戶對當前輸出抗體不滿意,可自主進行調(diào)整,系統(tǒng)會自動記住用戶調(diào)整的結果,當下次出現(xiàn)當前情況的時候,系統(tǒng)會自動輸出用戶改變習慣后的結果,用戶改變習慣前后的輸出結果如圖4( c) 所示。當用戶需要切換場景模式時,系統(tǒng)可輕松完成,圖4 ( d) 展示了用戶將場景模式切換為閱讀模式時,系統(tǒng)輸出的符合用戶習慣的結果。

          6 結論

          經(jīng)過仿真驗證,該系統(tǒng)穩(wěn)定可行,可以滿足用戶對于各種照明模式的需求,并且充分利用外界自然光,可以達到用最小的能耗實現(xiàn)最好效果的目的。同時,該系統(tǒng)的控制對象可自主擴展,比如只需在抗原、抗體中加入電動百葉窗的相關參數(shù),即可實現(xiàn)系統(tǒng)對百葉窗的控制,系統(tǒng)具有良好的擴展性。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();