亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Matlab模糊控制器HDL代碼的自動(dòng)生成

        2012-06-01 02:54:44諸葛俊貴
        電子科技 2012年1期
        關(guān)鍵詞:模糊控制液位代碼

        諸葛俊貴

        (上海師范大學(xué)精密機(jī)電系統(tǒng)與控制工程研究室,上海 201418)

        經(jīng)典和現(xiàn)代控制理論都是建立在被控對象具有精確數(shù)學(xué)模型的基礎(chǔ)上,而實(shí)際應(yīng)用中的許多系統(tǒng)很難用精確的數(shù)學(xué)模型來描述,難以建模,無法確定控制過程的傳遞函數(shù)和狀態(tài)方程[1]。而模糊控制在處理這類問題上具有明顯優(yōu)勢,尤其對那些控制精度要求不高和需要緊跟環(huán)境變化的系統(tǒng)。

        隨著FPGA技術(shù)的快速發(fā)展,F(xiàn)PGA在智能電子產(chǎn)品、智能家居、智能交通等領(lǐng)域得到了廣泛應(yīng)用。但在FPGA上直接實(shí)現(xiàn)模糊控制算法比較困難,由于Matlab的強(qiáng)大功能,可以借助Matlab的Simulink、Fuzzy Logic和HDL Coder等工具間接快速地自動(dòng)生成模糊控制器的HDL代碼。

        1 Fuzzy Logic工具箱設(shè)計(jì)模糊控制器

        實(shí)驗(yàn)?zāi)康氖且獙⒃O(shè)計(jì)的模糊控制器用Matlab自動(dòng)生成 HDL代碼,以用于 FPGA中。由于用 Fuzzy Logic設(shè)計(jì)的模糊控制器tank.fis嵌入到Simulink中的Fuzzy Controller元件中不能自動(dòng)生成HDL代碼,故采用Lookup Table來設(shè)計(jì)模糊控制器以便用Matlab內(nèi)嵌的HDL Coder自動(dòng)生成HDL代碼。

        實(shí)驗(yàn)按照Demos中的舉例Water Level Control in a Tank來設(shè)計(jì)模糊控制器的,這是一個(gè)標(biāo)準(zhǔn)二維mamdani模糊控制器。其輸入變量有兩個(gè)分量,偏差e和偏差變化率rate=de/dt,一個(gè)輸出量u。偏差e為給定液位與實(shí)際輸出液位的偏差,命名為level,偏差變化率就是偏差隨時(shí)間的變化率,輸出量為閥門的開度,這里為valve,該模糊控制器有5條控制規(guī)則。

        對于輸入變量level有3個(gè)模糊子集high、okay和low覆蓋在模糊論域[-1,1]上,輸入變量rate同樣有3個(gè)模糊子集negative、none和positive覆蓋在模糊論域[-0.1,0.1]上,輸出變量valve則有5個(gè)模糊子集close_fast、close_slow、no_change、open_slow 和 open_fast覆蓋在模糊論域[-1,1]上。

        2 用查找表設(shè)計(jì)模糊控制器的步驟

        2.1 制作輸入輸出變量的隸屬度矢量表

        首先,從圖2看出兩輸入變量level和rate的隸屬函數(shù)都是高斯函數(shù)且high、okay和low參數(shù)分別為[0.3 -1]、[0.3 0]和[0.3 1],而 negative、none和positive的參數(shù)分別為[0.03 -0.1]、[0.03 0]和[0.03 0.1],輸出變量valve為三角形函數(shù),它們的參

        表5 水箱液位模糊控制器查找表

        下面用一組數(shù)據(jù)的計(jì)算說明表5的制定[2]。設(shè)偏差level=-1,變化率rate=-0.1,由表1和表2可以查出:

        式(1)表示level=-1時(shí),其模糊語言值為high(1),括號中的值為其隸屬度。同理,可以查出:

        由以上兩式語言值按表4可得出規(guī)則:if level is high(1)and rate is negative(1)then valve is close-fast(1)。規(guī)則中valve的語言值隸屬度是根據(jù)規(guī)則前件及規(guī)則蘊(yùn)涵均采用“取小”操作運(yùn)算得到的。即規(guī)則中high和negative的隸屬度均為1,兩者取小,所以后件valve隸屬度也為1。

        然后反模糊化,從圖1可以看出輸出隸屬度函數(shù)為對稱三角形,故采用中心值平均法進(jìn)行反模糊化運(yùn)算較簡單。模糊控制器輸出的精確值為

        圖1 輸出隸屬函數(shù)曲線

        將valve=-0.9的值填寫到控制查找表中l(wèi)evel=-1與rate=-0.1的交叉點(diǎn),依次類推,共需計(jì)算出11×11=121個(gè)數(shù)據(jù),完成水箱液位模糊控制器查找表的制定。

        3 控制器查找表的狀態(tài)機(jī)實(shí)現(xiàn)

        在Matlab主界面左下角單擊Start按鈕,依次選擇Simulink-Stateflow-New Chart,在彈出的模型文件編輯窗中雙擊Chart。對輸入的數(shù)據(jù)先判斷對應(yīng)列的值,再查找對應(yīng)行,輸出查找結(jié)果,其中嵌入了一個(gè)eM函數(shù)odata=df(idata),在狀態(tài)流程圖的每一步都調(diào)用了該函數(shù),該函數(shù)的功能是將輸入數(shù)據(jù)轉(zhuǎn)換為有符號、16位字長、小數(shù)部分長為8位的定點(diǎn)數(shù)輸出。

        給Chart模塊添加兩個(gè)數(shù)據(jù)輸入一個(gè)數(shù)據(jù)輸出,分別命名為col、row和tab_out,再從庫中找到in和out模塊,拖入到模型文件編輯器,其中有兩個(gè)in,一個(gè)out,將兩個(gè)in和一個(gè)out與Chart模塊的兩個(gè)輸入端和一個(gè)輸出端連接,然后選中所有模塊,右鍵Creat Subsystem,生成子系統(tǒng)。

        最后將生成的子系統(tǒng)替換掉原來sltank.mdl文件中的Fuzzy Controller模塊,連好線后注意在子系統(tǒng)的兩個(gè)輸入和輸出端都要添加covert數(shù)據(jù)類型轉(zhuǎn)換模塊,輸入端轉(zhuǎn)換器將double轉(zhuǎn)換為sfix16_En8,輸出轉(zhuǎn)換器則相反,否則數(shù)據(jù)類型不匹配運(yùn)行出錯(cuò)。

        將修改后的模型另存為mysltank.mdl并運(yùn)行,結(jié)果表明與原舉例中效果一樣,而且穩(wěn)定。

        4 在Matlab中自動(dòng)生成HDL代碼

        在 Matlab 命令窗口中輸入 hdlsetup('mysltank'),打開模型文件mysltank.mdl在窗口菜單Simulation中選中Configuration Parameters,在彈出的窗口中左下角點(diǎn)擊HDL Coder,在右邊generate HDL for下拉菜單選擇Mysltank/Subsystem1,在右下角點(diǎn)擊Apply,再單擊Run Compatibility Checker,檢測兼容性通過,最后單擊Generate自動(dòng)生成HDL代碼,在Matlab命令窗口中點(diǎn)擊運(yùn)行生成的鏈接就可打開生成的HDL代碼。

        5 結(jié)束語

        以水箱液位模糊控制為例,詳細(xì)討論了利用Matlab進(jìn)行模糊控制器的設(shè)計(jì)和模糊控制器算法HDL代碼的自動(dòng)生成技術(shù)。該技術(shù)可以用于快速生成模糊控制器算法的 HDL代碼,生成的代碼可以移植到FPGA控制系統(tǒng)。

        [1]石磊,陳亞娜.模糊控制器的設(shè)計(jì)研究[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2007(6):108-110.

        [2]席愛民.模糊控制技術(shù)[M].西安:西安電子科技大學(xué)出版社,2008.

        [3]陳靜,周志鋒.基于Nios處理的模糊控制器設(shè)計(jì)[J].電子科技,2006,19(6):8 -10.

        [4]王史春.基于模糊控制算法實(shí)現(xiàn)信號燈智能研究[J].電子科技,2009,22(11):32 -35,56.

        [5]黃明慧,王海娟.數(shù)字下變頻的一種新型設(shè)計(jì)方法[J].電子科技,2010,23(11):55 -58.

        猜你喜歡
        模糊控制液位代碼
        基于STM32燃?xì)鉄崴仩t液位控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        石油儲罐液位開關(guān)的應(yīng)用分析
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        T-S模糊控制綜述與展望
        基于模糊控制的PLC在溫度控制中的應(yīng)用
        電子制作(2016年21期)2016-05-17 03:53:01
        基于模糊控制的恒壓供水系統(tǒng)的研究
        用于光伏MPPT中的模糊控制占空比擾動(dòng)法
        国产一区二区不卡老阿姨| 国产熟女露脸91麻豆| 亚洲成a人片在线观看无码专区| 国产精品免费观看久久| 亚洲AV成人片色在线观看高潮| 亚洲国产精品亚洲高清| 日本午夜剧场日本东京热| 少妇粉嫩小泬喷水视频| 日本在线观看| 亚洲人成网站www| 开心五月骚婷婷综合网| 乱色精品无码一区二区国产盗 | 久久综合九色综合网站| 妺妺窝人体色www聚色窝韩国| 中文字幕日本五十路熟女| 天天躁夜夜躁狠狠躁婷婷| 国产熟女露脸大叫高潮| 五月婷婷影视| 视频一区精品中文字幕| 粉嫩av国产一区二区三区 | 最新亚洲人成网站在线| av在线手机中文字幕| 日本道免费一区二区三区日韩精品 | 日本最新一区二区三区免费看| 成人在线观看av毛片| 久久久久久无码av成人影院| 香蕉视频一级片| 久久亚洲精精品中文字幕早川悠里| 亚洲av网一区二区三区| 国语自产偷拍精品视频偷| 麻豆密入视频在线观看| 一区二区三区观看视频在线| 国产精品无码久久综合网| 天天爱天天做天天爽| 久久国产精品一区二区| 日韩少妇人妻中文字幕| 福利体验试看120秒| 色婷婷久久免费网站| 久久精品熟女亚洲av麻豆永永| 亚洲伊人一本大道中文字幕 | 国产精品毛片99久久久久|