999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MATLAB與VB.NET混合編程方法在伺服機構動態(tài)測試中的應用

2013-06-01 12:39:00施金花張鑫彬李文頂
機電工程技術 2013年4期
關鍵詞:程序信號

施金花,王 斌,張鑫彬,李文頂

(上海航天技術研究院第803研究所,上海 200233)

0 前言

伺服機構工作需要有一定的供油壓力,由于液壓泵供油能力有限,采用平常的連續(xù)頻率掃描測試方法無法保證伺服機構正常工作,現(xiàn)多采用逐個加不同頻率的正弦波信號,待一個頻率的信號結束后伺服機構回歸零位,供油壓力恢復正常時再給定下一個頻率的正弦波信號。伺服機構存在零偏,功放電流限制等非線性因素,在工程應用中根據(jù)各頻率點的輸入信號和反饋信號計算出幅值和相位。由于對反饋信號采用濾波處理會降低反饋的幅值,所以本文將各頻率點的反饋信號直接擬合成一階正弦函數(shù)形式,再根據(jù)輸入信號計算出幅值和相位以及零偏。在VB.NET 軟件測試程序中,編寫反饋信號的擬合函數(shù)顯然費時費力,而MATLAB 具有強大的計算功能,并且具有專門的曲線擬合工具箱。為提高程序的效率和質(zhì)量,本文將MATLAB擬合函數(shù)以COM組件的形式實現(xiàn)供VB.NET調(diào)用。

1 混合編程的方法

VB與MATLAB混合編程的方法有多種,包括應用ActiveX 技術、應用DDE 技術以及使用MatrixVB 等,但是這些技術都不能脫離MATLAB 運行環(huán)境[1]。為了使混合編程方法能夠脫離MATLAB運行環(huán)境,也能夠供其他編程語言調(diào)用,本文采用生成COM 組件的方法供VB.NET 調(diào)用,從下文可以看出此方法生成過程簡單,并且便于模塊化。

2 MATLAB模擬輸入輸出曲線

測試伺服機構幅頻特性需要不同頻率的正弦信號,模擬幅值為1 V,頻率為4 Hz 的三個正弦波輸入信號及其得到的反饋信號,如圖1所示。

圖1 一個頻率段內(nèi)伺服機構輸入和反饋信號

從圖1 可以看出,伺服機構反饋信號受伺服機構本身非線性特性、采集卡、電氣干擾等影響,輸出曲線并不是非常光滑,在讀取反饋信號幅值以及相位滯后時會有較大偏差,因此需要對反饋信號進行光滑處理。采用濾波的方法可以使反饋信號趨于平滑,但同時會使幅值產(chǎn)生衰減,對結果分析會產(chǎn)生大的偏差。本文將反饋信號擬合成一階正弦函數(shù)的形式得出幅值,再與原信號相比得出相位滯后。

3 擬合函數(shù)的實現(xiàn)

圖1所示函數(shù)為分段函數(shù),需用VB.NET將中間的反饋信號提取出來進行擬合,提取出的曲線如圖2所示,然后與原信號相比得出幅值和相位。

圖2 提取的輸入和反饋信號

MATLAB 擬合函數(shù)非常簡單,可以用短短幾行語句實現(xiàn),語句如下:

myfit 函數(shù)是將反饋信號擬合成a sin(ωx+φ)+a0的形式。由于MATLAB函數(shù)在計算中有虛數(shù)的概念,所以需將返回值轉(zhuǎn)換成實數(shù)以便VB.NET調(diào)用。將圖2所示反饋信號曲線擬合后得到的曲線如圖3(a)所示,從圖3 可以看出,擬合曲線幅值與反饋曲線一致性相對較好,相位相對比實際反饋曲線超前,究其原因是由于反饋信號在第一個波形還未達到穩(wěn)定時就對其進行了擬合,導致擬合出的相位超前。至此可以改進算法,從第二個波形開始擬合,擬合出的曲線如圖3(b)所示,不難看出圖3(b)擬合效果要比圖3(a)好很多,表1 給出了擬合曲線幅頻特性的相位值與精準值的比較。

4 COM組件的生成

將上述MATLAB函數(shù)保存為myfit.m文件,利用deploytool 命令生成工程名為fupin.prj、類名為Class fupin、函數(shù)名為myfit 的通用COM 組件,當函數(shù)編譯正確后會在相對路徑的distrib 文件出現(xiàn)名為fupin_1_0.dll 的文件,至此COM 組件就成功生成。

5 VB.NET調(diào)用過程中注意的問題

5.1 COM組件的調(diào)用

點擊“項目”菜單,選擇“添加引用”,通過“瀏覽”選擇生成的fupin.dll。這樣COM組件就添加到程序中。

5.2 VB.NET 數(shù)組與MATLAB數(shù)組關系

在VB.NET 中如果用一維數(shù)組變量存取反饋時間和反饋信號的值,則在MATLAB編寫function函數(shù)時應注意將輸入形參進行轉(zhuǎn)置后進行計算,因為MATLAB 軟件在數(shù)組存儲上是列優(yōu)先原則,會將VB.NET 的一維向量看成是一維列向量進行處理。

圖3 反饋曲線與擬合曲線比較

表1 擬合曲線幅頻相位與標準值比較

6 VB.NET主要程序

上述程序是反饋信號從第二個波形開始將一維數(shù)組變量array1 存儲反饋時間,一維數(shù)組變量arrayy 存儲反饋信號,應注意array1 向量與arrayy向量的長度相等。輸出的幅值、相位及零偏分別存入變量A,fai,a0中。

7 VB.NET程序結果

本程序運行結果如圖4 所示,實際的伺服機構測試程序中在不同正弦波輸入頻率下反復調(diào)用COM 組件函數(shù),可以得到在不同頻率下的幅頻值與相位。可見此擬合函數(shù)具有通用性,此外也方便其他程序(如C++、Labview等)調(diào)用。

圖4 VB.NET運行結果

8 結論

利用MATLAB 科學計算能力強的特點,可以將一些復雜的科學計算過程用MATLAB 輕松實現(xiàn),同時將這些過程生成通用COM 組件模塊供VB.NET 調(diào)用,可以省去VB.NET 編寫復雜函數(shù)的繁瑣過程,令編程效率大幅提高。本文實現(xiàn)了兩者混合編程,可以同時發(fā)揮MATLAB 計算能力強和VB.NET 編程界面快捷友好的特點,收到了良好的效果。同時生成的COM組件便于模塊化,可以為其他程序調(diào)用。這對其它科學計算要求高的測試軟件提供了實際意義。

[1]馮莉.VB 與Matlab 的混合編程方法[J].兵工自動化,2005,24(5):110-113.

[2]冀剛.MATLAB 7.3 與.NET 新接口技術[J].電腦知識與技術,2008(03):548-550.

猜你喜歡
程序信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
孩子停止長個的信號
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
基于LabVIEW的力加載信號采集與PID控制
創(chuàng)衛(wèi)暗訪程序有待改進
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: av一区二区人妻无码| 欧洲高清无码在线| 激情乱人伦| 一本大道香蕉久中文在线播放| 免费无码又爽又刺激高| 国产精鲁鲁网在线视频| 综合久久五月天| 国产在线专区| 精品成人免费自拍视频| 欧美精品影院| 亚洲欧美成人在线视频| 在线无码九区| 国产经典三级在线| 韩日免费小视频| 欧美在线一二区| 国产精品男人的天堂| 日韩精品免费一线在线观看 | 久久亚洲国产视频| 国产欧美自拍视频| 亚洲色无码专线精品观看| 免费国产不卡午夜福在线观看| 免费观看无遮挡www的小视频| 亚洲色图狠狠干| 风韵丰满熟妇啪啪区老熟熟女| 色妞www精品视频一级下载| 国产视频a| 亚洲永久视频| 久久黄色毛片| 在线免费观看AV| 欧美午夜精品| 国产精品久久久久久久久久98| 亚洲综合18p| 99中文字幕亚洲一区二区| 2021国产v亚洲v天堂无码| 国产精品yjizz视频网一二区| 华人在线亚洲欧美精品| 国产精品yjizz视频网一二区| 91久久大香线蕉| 久久精品人人做人人爽| 国产特一级毛片| 91久久精品国产| 亚洲一区二区视频在线观看| 很黄的网站在线观看| 欧美在线视频不卡| 免费无码AV片在线观看中文| 国产免费久久精品99re丫丫一| 色综合婷婷| 国产欧美日韩另类精彩视频| 在线五月婷婷| 欧美精品v欧洲精品| 5555国产在线观看| 国产精品无码一区二区桃花视频| 亚洲第一黄色网址| 91丝袜在线观看| 91蝌蚪视频在线观看| 97视频在线精品国自产拍| 99精品视频九九精品| 欧美激情伊人| 久久 午夜福利 张柏芝| 国产成人h在线观看网站站| 国产麻豆va精品视频| 久久公开视频| 国产激情影院| 少妇高潮惨叫久久久久久| 国产精品一区二区不卡的视频| 国产女人水多毛片18| 国产成人精品男人的天堂| 亚洲无卡视频| 妇女自拍偷自拍亚洲精品| 国产九九精品视频| 99视频在线观看免费| 日韩无码黄色网站| 国产乱子伦手机在线| 精品自窥自偷在线看| 在线视频亚洲色图| 欧美不卡二区| 在线观看网站国产| 亚洲香蕉久久| av在线5g无码天天| 久久香蕉国产线看观看式| 免费看a级毛片| 色有码无码视频|