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)暗訪程序有待改進
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 无码一区二区三区视频在线播放| 久久久久久久97| 成人免费网站在线观看| 全部免费特黄特色大片视频| 一本大道在线一本久道| 色有码无码视频| 亚洲欧美日韩成人在线| 波多野结衣一二三| 97免费在线观看视频| 香蕉eeww99国产在线观看| www.youjizz.com久久| 日本人妻丰满熟妇区| 欧美啪啪精品| 99ri精品视频在线观看播放| 黄色网站不卡无码| 波多野结衣在线一区二区| 亚洲一区二区黄色| 国产国产人成免费视频77777 | 视频国产精品丝袜第一页| 国产免费自拍视频| 国产九九精品视频| 久久久久九九精品影院| 成人福利视频网| 久久国产热| 中文字幕 91| 亚洲bt欧美bt精品| 亚洲视频影院| 日韩天堂视频| 日本午夜三级| 国产一级裸网站| 国产亚洲欧美日韩在线观看一区二区| 四虎永久在线| a级毛片在线免费| 99成人在线观看| 亚洲欧美日韩精品专区| 色悠久久久| 亚洲狼网站狼狼鲁亚洲下载| 国产一区三区二区中文在线| 人妻无码中文字幕一区二区三区| 在线观看精品国产入口| 久久婷婷六月| 97国产在线视频| 天天综合网色| 免费观看欧美性一级| 浮力影院国产第一页| 亚洲成人在线免费| 亚洲区一区| 成人亚洲国产| 国产免费精彩视频| 1769国产精品免费视频| 天天做天天爱夜夜爽毛片毛片| 日韩欧美国产另类| 啊嗯不日本网站| 亚洲最大福利网站| 国产黄网永久免费| 久久精品波多野结衣| 国产精品成人免费视频99| 黄色a一级视频| 国产一级视频久久| 亚洲国产成人无码AV在线影院L| 日本a∨在线观看| 人妻中文字幕无码久久一区| 久久精品国产电影| 免费中文字幕在在线不卡| 国内精品视频| 91年精品国产福利线观看久久 | 亚洲欧美日韩另类在线一| 免费无码AV片在线观看国产| 精品久久久久久久久久久| 亚洲一级毛片在线观播放| 99热最新网址| 国产va欧美va在线观看| 四虎永久免费网站| 欧美一级一级做性视频| 国产一区二区丝袜高跟鞋| 视频一区视频二区中文精品| 韩国v欧美v亚洲v日本v| 免费精品一区二区h| 成人免费午夜视频| 精品伊人久久久久7777人| 国产丝袜无码精品| 国产欧美日韩视频一区二区三区|