宋 璐,宋燕燕,馮艷平
(1.陜西中醫(yī)學(xué)院 醫(yī)學(xué)技術(shù)系,陜西 咸陽(yáng) 712046;2.解放軍信息工程大學(xué) 河南 鄭州 450001;3.鄭州職業(yè)技術(shù)學(xué)院 河南 鄭州 450121)
簡(jiǎn)諧振動(dòng)的合成,是研究聲波、光波和電磁波合成的基礎(chǔ)[1],所以它是大學(xué)物理教學(xué)中一個(gè)重要的內(nèi)容。而在理論教學(xué)中,學(xué)生很難理解簡(jiǎn)諧振動(dòng)的合成過(guò)程,需要進(jìn)行課堂演示。而對(duì)于傳統(tǒng)的物理演示裝置來(lái)說(shuō),雖然能夠直觀的顯示簡(jiǎn)諧振動(dòng)的合成過(guò)程,但一般體積較大,精度低,演示內(nèi)容有限。文獻(xiàn)[2]提出了一種采用單片機(jī)為核心的簡(jiǎn)諧振動(dòng)合成實(shí)驗(yàn)儀,利用直接數(shù)字合成芯片產(chǎn)生正弦信號(hào),解決了模擬函數(shù)頻率不準(zhǔn),相位無(wú)法確定的問(wèn)題,但由于成本高,利用率低,不能隨時(shí)在課堂上演示,應(yīng)用范圍大受限制。文獻(xiàn)[3]提出了一種通過(guò)計(jì)算機(jī)模擬實(shí)現(xiàn)多種簡(jiǎn)諧振動(dòng)合成的方法,改進(jìn)了傳統(tǒng)的演示形式,但由于需要使用C語(yǔ)言編程來(lái)實(shí)現(xiàn),對(duì)使用者的編程能力要求較高,移植性和可操作性差,參數(shù)修改復(fù)雜,不利用學(xué)生單獨(dú)操作。
為此,設(shè)計(jì)了基于MATLAB GUI的程序,不僅能夠?qū)崿F(xiàn)不同種類(lèi)的多個(gè)簡(jiǎn)諧振動(dòng)的合成,并且由于引入了基于MATLAB的GUI(圖形用戶界面),使操作性大大提高,可以任意修改合成類(lèi)型和振動(dòng)參數(shù),使得實(shí)驗(yàn)結(jié)果準(zhǔn)確直觀,使用方便,可移植性高,有助于學(xué)生對(duì)各種振動(dòng)合成的理解。
假設(shè)質(zhì)點(diǎn)在同一直線上同時(shí)進(jìn)行多個(gè)同頻率的簡(jiǎn)諧振動(dòng),振動(dòng)方程為:
其中,i=1,2…n 則合振動(dòng)方程為[4]:
式中,
分別為振動(dòng)的振幅和初相位。
由式(2)可知,多個(gè)同方向同頻率簡(jiǎn)諧振動(dòng)可合成為一個(gè)同頻率的簡(jiǎn)諧振動(dòng),其軌跡為余弦或正弦曲線。
如果兩個(gè)同方向簡(jiǎn)諧振動(dòng)的頻率不同,利用旋轉(zhuǎn)矢量法分析兩個(gè)旋轉(zhuǎn)矢量間的夾角或相位差將隨時(shí)間變化,因而它們的合矢量也將隨時(shí)間而變化,合振動(dòng)不再是簡(jiǎn)諧振動(dòng)。
當(dāng)兩個(gè)同方向的簡(jiǎn)諧振動(dòng)頻率十分接近時(shí),就會(huì)產(chǎn)生拍現(xiàn)象[5],拍頻為兩個(gè)分振動(dòng)頻率之差。
兩個(gè)相互垂直同頻率的簡(jiǎn)諧振動(dòng)合成時(shí),合振動(dòng)為一橢圓,橢圓的性質(zhì)由兩個(gè)分振動(dòng)的相位差Δφ來(lái)決定。如果兩個(gè)簡(jiǎn)諧振動(dòng)的頻率之間成整數(shù)比,那么它們的合振動(dòng)就是有一定規(guī)律的穩(wěn)定閉合曲線,稱(chēng)為李薩如圖形[6]。
美國(guó)MathWorks公司推出的MATLAB是一套具備高性能的數(shù)值計(jì)算和可視化軟件。由于MATLAB可以將矩陣運(yùn)算、圖形顯示、信號(hào)處理以及數(shù)值分析集于一體,構(gòu)造出的用戶環(huán)境使用方便、界面友好,因此MATLAB收到眾多科研工作者的歡迎[7]。
這里以同方向同頻率簡(jiǎn)諧振動(dòng)的合成為例,利用MATLAB的.m文件編程實(shí)現(xiàn)了振動(dòng)合成的仿真。假設(shè)兩路振動(dòng)參數(shù)為:振動(dòng)1振幅為 1 V,頻率100 Hz,初相位 π/6 rad;振動(dòng)2振幅為2 V,頻率100 Hz,初相位π/3 rad,設(shè)計(jì)的程序如下:
運(yùn)行后,兩個(gè)同方向同頻率簡(jiǎn)諧振動(dòng)的合成結(jié)果如圖1所示。
圖1 同方向同頻率簡(jiǎn)諧振動(dòng)的合成Fig.1 Synthesis of harmonic vibration with the same direction and frequency
可以看出,兩個(gè)同方向同頻率簡(jiǎn)諧振動(dòng)的合成結(jié)果仍然是一個(gè)簡(jiǎn)諧振動(dòng)。根據(jù)計(jì)算,得到合振動(dòng)振幅為2.909 3 V,初相位φ=50.103 9°,與理論計(jì)算結(jié)果一致。
但當(dāng)用戶需要頻繁修改仿真參數(shù)時(shí),利用這種方法實(shí)現(xiàn)仿真的過(guò)程就會(huì)變得比較繁瑣,并且對(duì)于毫無(wú)編程經(jīng)驗(yàn)的學(xué)生來(lái)說(shuō)也無(wú)法單獨(dú)完成。所以,如果能開(kāi)發(fā)出基于GUI的圖形界面程序的話,無(wú)須用戶面對(duì)復(fù)雜的代碼,只需輸入基本參數(shù),就能實(shí)現(xiàn)各種情況下的振動(dòng)合成,將會(huì)是件很有意義的事情。
為了能夠簡(jiǎn)化用戶操作,方便不熟悉MATLAB的學(xué)生使用,采用了基于MATLAB的圖形用戶界面GUI,通過(guò)生成的包含GUI初始化和組件界面布局控制代碼M文件,將用戶需要的結(jié)果顯示出來(lái)。
在MATLAB的命令窗口輸入GUIDE命令或者點(diǎn)擊工具欄中的GUIDE圖標(biāo),打開(kāi)空白的布局編輯器,選擇新建一個(gè)默認(rèn)的.fig文件,根據(jù)自己的需要設(shè)計(jì)GUI界面。設(shè)計(jì)好的振動(dòng)合成系統(tǒng)界面如圖2所示。
圖2 基于GUI的振動(dòng)合成系統(tǒng)Fig.2 Harmonic vibration synthesis system based on GUI
首先可以根據(jù)需要選擇待合成振動(dòng)的數(shù)目和合成模式,再分別輸入分振動(dòng)的各個(gè)參數(shù),如果輸入有誤,可以通過(guò)點(diǎn)擊數(shù)據(jù)清空按鈕重新輸入,若沒(méi)有問(wèn)題,可直接點(diǎn)擊合成按鈕。
選擇合振動(dòng)個(gè)數(shù)3個(gè),模式為同方向,分別輸入三路振動(dòng)參數(shù)如圖2所示,點(diǎn)擊合成按鈕,合成結(jié)果如圖3所示。
圖3 同方向不同頻率簡(jiǎn)諧振動(dòng)的合成Fig.3 Synthesis of harmonic vibration with the same direction and different frequency
根據(jù)圖3可以看出,同方向不同頻率,但頻率相互接近的三路振動(dòng)合成以后不再是簡(jiǎn)諧振動(dòng),而是出現(xiàn)了拍頻現(xiàn)象,與理論分析相符。
或者可以選擇合振動(dòng)個(gè)數(shù)為2個(gè),合成模式為相互垂直,分別輸入兩路振動(dòng)參數(shù),其中振動(dòng)1振幅為1 V,頻率500Hz,初相位 0 rad;振動(dòng) 2振幅為 1 V,頻率 300Hz,初相位0 rad,點(diǎn)擊合成按鈕,合成的李薩如圖形如圖4(a)所示;若頻率分別改為500 Hz和400 Hz,合成的李薩如圖形如圖4(b)所示。
圖4 同方向相互垂直簡(jiǎn)諧振動(dòng)的合成Fig.4 Synthesis of harmonic vibration with the same direction perpendicular to each other
可以看出,當(dāng)頻率之比為無(wú)理數(shù)時(shí),其合成的為一不閉合曲線,而當(dāng)它們的頻率之比為有理數(shù)時(shí),得到的是一閉合曲線。
其他情況下的仿真過(guò)程與上述類(lèi)似,這里就不再一一贅述了。從以上的分析可以看出,加入了GUI界面的設(shè)計(jì)后,仿真的操作過(guò)程明顯得到了簡(jiǎn)化,振動(dòng)合成系統(tǒng)效果良好,結(jié)果直觀清晰。
利用MATLAB作為仿真平臺(tái),基于GUI設(shè)計(jì)的振動(dòng)合成系統(tǒng),能夠顯示不同頻率的多個(gè)簡(jiǎn)諧振動(dòng)的合成,具有形象、生動(dòng)、直觀的特點(diǎn),使不具備MATLAB知識(shí)的學(xué)生也可以輕松使用。通過(guò)對(duì)計(jì)算機(jī)的操作,易于使用戶掌握其具體內(nèi)容和性質(zhì),還可以將理論和實(shí)踐結(jié)合起來(lái),達(dá)到加深其理解的目的。
[1]黃賢群.利用計(jì)算機(jī)軟件演示簡(jiǎn)諧振動(dòng)的合成[J].韓山師范學(xué)院學(xué)報(bào),2012,33(6):30-34.
[2]吳俊,張毓麟,晏世雷,等.多倍頻簡(jiǎn)諧振動(dòng)合成試驗(yàn)儀[J].物理實(shí)驗(yàn),2008,28(7):16-18.
[3]朱云,朱利軍,陳健.任意方向簡(jiǎn)諧振動(dòng)合成的計(jì)算機(jī)模擬[J].江蘇教育學(xué)院學(xué)報(bào),2006,23(1):21-24.
[4]藍(lán)海江.多個(gè)簡(jiǎn)諧振動(dòng)的合成 [J].廣西科學(xué)院學(xué)報(bào),2009,25(1):22-25.
[5]宋璐,馮艷平,衛(wèi)亞博.基于MATLAB GUI的拍頻實(shí)現(xiàn)方法的研究[J].大學(xué)物理實(shí)驗(yàn),2012,25(3):98-99,114.
[6]候君玲,邵建華,周恭勤.物理學(xué)[M].北京:科學(xué)出版社,2009.
[7]尹君馳,劉克毅.基于MATLAB的PID控制系統(tǒng)參數(shù)調(diào)節(jié)[J].電子測(cè)試,2014,25(3):98-99,114.