宋 璐,宋燕燕,馮艷平
(1.陜西中醫(yī)學(xué)院 醫(yī)學(xué)技術(shù)系,陜西 咸陽 712046;2.解放軍信息工程大學(xué) 河南 鄭州 450001;3.鄭州職業(yè)技術(shù)學(xué)院 河南 鄭州 450121)
簡諧振動的合成,是研究聲波、光波和電磁波合成的基礎(chǔ)[1],所以它是大學(xué)物理教學(xué)中一個重要的內(nèi)容。而在理論教學(xué)中,學(xué)生很難理解簡諧振動的合成過程,需要進行課堂演示。而對于傳統(tǒng)的物理演示裝置來說,雖然能夠直觀的顯示簡諧振動的合成過程,但一般體積較大,精度低,演示內(nèi)容有限。文獻[2]提出了一種采用單片機為核心的簡諧振動合成實驗儀,利用直接數(shù)字合成芯片產(chǎn)生正弦信號,解決了模擬函數(shù)頻率不準,相位無法確定的問題,但由于成本高,利用率低,不能隨時在課堂上演示,應(yīng)用范圍大受限制。文獻[3]提出了一種通過計算機模擬實現(xiàn)多種簡諧振動合成的方法,改進了傳統(tǒng)的演示形式,但由于需要使用C語言編程來實現(xiàn),對使用者的編程能力要求較高,移植性和可操作性差,參數(shù)修改復(fù)雜,不利用學(xué)生單獨操作。
為此,設(shè)計了基于MATLAB GUI的程序,不僅能夠?qū)崿F(xiàn)不同種類的多個簡諧振動的合成,并且由于引入了基于MATLAB的GUI(圖形用戶界面),使操作性大大提高,可以任意修改合成類型和振動參數(shù),使得實驗結(jié)果準確直觀,使用方便,可移植性高,有助于學(xué)生對各種振動合成的理解。
假設(shè)質(zhì)點在同一直線上同時進行多個同頻率的簡諧振動,振動方程為:

其中,i=1,2…n 則合振動方程為[4]:

式中,

分別為振動的振幅和初相位。
由式(2)可知,多個同方向同頻率簡諧振動可合成為一個同頻率的簡諧振動,其軌跡為余弦或正弦曲線。
如果兩個同方向簡諧振動的頻率不同,利用旋轉(zhuǎn)矢量法分析兩個旋轉(zhuǎn)矢量間的夾角或相位差將隨時間變化,因而它們的合矢量也將隨時間而變化,合振動不再是簡諧振動。
當兩個同方向的簡諧振動頻率十分接近時,就會產(chǎn)生拍現(xiàn)象[5],拍頻為兩個分振動頻率之差。
兩個相互垂直同頻率的簡諧振動合成時,合振動為一橢圓,橢圓的性質(zhì)由兩個分振動的相位差Δφ來決定。如果兩個簡諧振動的頻率之間成整數(shù)比,那么它們的合振動就是有一定規(guī)律的穩(wěn)定閉合曲線,稱為李薩如圖形[6]。
美國MathWorks公司推出的MATLAB是一套具備高性能的數(shù)值計算和可視化軟件。由于MATLAB可以將矩陣運算、圖形顯示、信號處理以及數(shù)值分析集于一體,構(gòu)造出的用戶環(huán)境使用方便、界面友好,因此MATLAB收到眾多科研工作者的歡迎[7]。
這里以同方向同頻率簡諧振動的合成為例,利用MATLAB的.m文件編程實現(xiàn)了振動合成的仿真。假設(shè)兩路振動參數(shù)為:振動1振幅為 1 V,頻率100 Hz,初相位 π/6 rad;振動2振幅為2 V,頻率100 Hz,初相位π/3 rad,設(shè)計的程序如下:

運行后,兩個同方向同頻率簡諧振動的合成結(jié)果如圖1所示。

圖1 同方向同頻率簡諧振動的合成Fig.1 Synthesis of harmonic vibration with the same direction and frequency
可以看出,兩個同方向同頻率簡諧振動的合成結(jié)果仍然是一個簡諧振動。根據(jù)計算,得到合振動振幅為2.909 3 V,初相位φ=50.103 9°,與理論計算結(jié)果一致。
但當用戶需要頻繁修改仿真參數(shù)時,利用這種方法實現(xiàn)仿真的過程就會變得比較繁瑣,并且對于毫無編程經(jīng)驗的學(xué)生來說也無法單獨完成。所以,如果能開發(fā)出基于GUI的圖形界面程序的話,無須用戶面對復(fù)雜的代碼,只需輸入基本參數(shù),就能實現(xiàn)各種情況下的振動合成,將會是件很有意義的事情。
為了能夠簡化用戶操作,方便不熟悉MATLAB的學(xué)生使用,采用了基于MATLAB的圖形用戶界面GUI,通過生成的包含GUI初始化和組件界面布局控制代碼M文件,將用戶需要的結(jié)果顯示出來。
在MATLAB的命令窗口輸入GUIDE命令或者點擊工具欄中的GUIDE圖標,打開空白的布局編輯器,選擇新建一個默認的.fig文件,根據(jù)自己的需要設(shè)計GUI界面。設(shè)計好的振動合成系統(tǒng)界面如圖2所示。

圖2 基于GUI的振動合成系統(tǒng)Fig.2 Harmonic vibration synthesis system based on GUI
首先可以根據(jù)需要選擇待合成振動的數(shù)目和合成模式,再分別輸入分振動的各個參數(shù),如果輸入有誤,可以通過點擊數(shù)據(jù)清空按鈕重新輸入,若沒有問題,可直接點擊合成按鈕。
選擇合振動個數(shù)3個,模式為同方向,分別輸入三路振動參數(shù)如圖2所示,點擊合成按鈕,合成結(jié)果如圖3所示。

圖3 同方向不同頻率簡諧振動的合成Fig.3 Synthesis of harmonic vibration with the same direction and different frequency
根據(jù)圖3可以看出,同方向不同頻率,但頻率相互接近的三路振動合成以后不再是簡諧振動,而是出現(xiàn)了拍頻現(xiàn)象,與理論分析相符。
或者可以選擇合振動個數(shù)為2個,合成模式為相互垂直,分別輸入兩路振動參數(shù),其中振動1振幅為1 V,頻率500Hz,初相位 0 rad;振動 2振幅為 1 V,頻率 300Hz,初相位0 rad,點擊合成按鈕,合成的李薩如圖形如圖4(a)所示;若頻率分別改為500 Hz和400 Hz,合成的李薩如圖形如圖4(b)所示。

圖4 同方向相互垂直簡諧振動的合成Fig.4 Synthesis of harmonic vibration with the same direction perpendicular to each other
可以看出,當頻率之比為無理數(shù)時,其合成的為一不閉合曲線,而當它們的頻率之比為有理數(shù)時,得到的是一閉合曲線。
其他情況下的仿真過程與上述類似,這里就不再一一贅述了。從以上的分析可以看出,加入了GUI界面的設(shè)計后,仿真的操作過程明顯得到了簡化,振動合成系統(tǒng)效果良好,結(jié)果直觀清晰。
利用MATLAB作為仿真平臺,基于GUI設(shè)計的振動合成系統(tǒng),能夠顯示不同頻率的多個簡諧振動的合成,具有形象、生動、直觀的特點,使不具備MATLAB知識的學(xué)生也可以輕松使用。通過對計算機的操作,易于使用戶掌握其具體內(nèi)容和性質(zhì),還可以將理論和實踐結(jié)合起來,達到加深其理解的目的。
[1]黃賢群.利用計算機軟件演示簡諧振動的合成[J].韓山師范學(xué)院學(xué)報,2012,33(6):30-34.
[2]吳俊,張毓麟,晏世雷,等.多倍頻簡諧振動合成試驗儀[J].物理實驗,2008,28(7):16-18.
[3]朱云,朱利軍,陳健.任意方向簡諧振動合成的計算機模擬[J].江蘇教育學(xué)院學(xué)報,2006,23(1):21-24.
[4]藍海江.多個簡諧振動的合成 [J].廣西科學(xué)院學(xué)報,2009,25(1):22-25.
[5]宋璐,馮艷平,衛(wèi)亞博.基于MATLAB GUI的拍頻實現(xiàn)方法的研究[J].大學(xué)物理實驗,2012,25(3):98-99,114.
[6]候君玲,邵建華,周恭勤.物理學(xué)[M].北京:科學(xué)出版社,2009.
[7]尹君馳,劉克毅.基于MATLAB的PID控制系統(tǒng)參數(shù)調(diào)節(jié)[J].電子測試,2014,25(3):98-99,114.