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

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

式中,

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

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

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

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

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