




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程名稱:計(jì)算機(jī)輔助分析大作業(yè)設(shè)計(jì)題目: 虛擬信號(hào)發(fā)生器 院 系: 專 業(yè): 年 級(jí): 姓 名: 指導(dǎo)教師: 西南交通大學(xué)峨眉校區(qū)2011 年 5 月 20 日1、 原理分析 該虛擬信號(hào)發(fā)生器的設(shè)計(jì)由GUI界面及其對(duì)應(yīng)的程序組成。信號(hào)發(fā)生器又稱信號(hào)源或振蕩器,在生產(chǎn)實(shí)踐和科技領(lǐng)域中有著廣泛地應(yīng)用。各種波形曲線均可以用三角函數(shù)方程式來(lái)表示。能夠產(chǎn)生多種波形,如三角波、鋸齒波、方波、正弦波的電路被稱為函數(shù)信號(hào)發(fā)生器。函數(shù)信號(hào)發(fā)生器在電路實(shí)驗(yàn)和設(shè)備檢測(cè)中具有十分廣泛的用途。本文設(shè)計(jì)了一種可以產(chǎn)生正弦波、方波、三角波、鋸齒波的虛擬信號(hào)發(fā)生器。1、 建立圖形用戶界面圖形用戶界面(Graphical Us
2、er Interface,簡(jiǎn)稱GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。具體步驟如下:1) 在Command 里面輸入 GUIDE 或者從菜單里面,或者從快捷按鈕均可進(jìn)入GUIDE,然后新建一個(gè)GUI,進(jìn)入布局編輯器。2) 為GUI添加控件:編輯框(Edit Text)控件、靜態(tài)文本(Static Text)、 滾動(dòng)條(Slider)控件、按鈕(Push Button)控件 、坐標(biāo)軸(Axes)控件、面板(Panel)控件,并按照自己的想象擺放GHI控件,即做布局設(shè)計(jì)。3) 設(shè)置控件的屬性 圖1 對(duì)象瀏覽器控件主要屬性列表:控件名稱StringT
3、ag按鈕(Push Button)控件 正弦波pushbuttonZHENGXIAN方波pushbutton2FANGBO三角波pushbutton4SANJIAO鋸齒波pushbutton3JUCHIBO清除Pushbutton5滾動(dòng)條(Slider)控件SlidersliderxiangweiSlidersliderpinlvSlidersliderfuzhi編輯框(Edit Text)控件默認(rèn)editpinlv默認(rèn)editfuzhi默認(rèn)editxiangwei靜態(tài)文本(Static Text)頻率Text1幅值Text2相位Text3注:其余屬性中,大小位置就不敘述了,其他默認(rèn)
4、,或者在m文件中有設(shè)置4) 為各個(gè)控件添加回調(diào)函數(shù),然后保存或者運(yùn)行它,自動(dòng)生成FIG文件和M文件5) 在M文件對(duì)應(yīng)回調(diào)函數(shù)中編程界面外觀:圖2 GUI界面2、 GUI程序設(shè)計(jì)1)正弦按鈕的Callback函數(shù):global p1;%GLOBAL Define global variable.global p2;global p3;global p4;p2=0;p3=0;p4=0;p1=get(handles.pushbuttonZHENGXIAN,'value');%獲取正弦按鈕的當(dāng)前值并賦給p1while p1=1j=get(handles.sliderfuzhi,'
5、;value');%獲取幅值滾動(dòng)條的值,并且賦給jk=get(handles.sliderpinlv,'value');l=get(handles.sliderxiangwei,'value');set(handles.editfuzhi,'string',num2str(j);%修改editfuzhi 的值為滾動(dòng)條當(dāng)前的值set(handles.editpinlv,'string',num2str(k);set(handles.editxiangwei,'string',num2str(l);A=str2
6、num(get(handles.editfuzhi,'string');%獲取幅值選擇框的值,并且賦給Af=str2num(get(handles.editpinlv,'string');P=str2num(get(handles.editxiangwei,'string');t=0:0.001:8*pi;y=A*sin(2*pi*f*t+P*2*pi);plot(t,y);axis(0,8*pi,-1.2,1.2); grid on;break;end2) 方波按鈕的Callback函數(shù):global p1;global p2;global p
7、3;global p4;p1=0;p3=0;p4=0;p2=get(handles.pushbutton2FANGBO,'value');j=get(handles.sliderfuzhi,'value');k=get(handles.sliderpinlv,'value');l=get(handles.sliderxiangwei,'value');set(handles.editfuzhi,'string',num2str(j);set(handles.editpinlv,'string',nu
8、m2str(k);set(handles.editxiangwei,'string',num2str(l);A=str2num(get(handles.editfuzhi,'string');f=str2num(get(handles.editpinlv,'string');P=str2num(get(handles.editxiangwei,'string');t=0:0.001:6; y=A*square(2*pi*f*t+4*P/f,50);plot(t,y);grid on;axis(0,6,-1.2,1.2);3) 鋸齒
9、波按鈕的Callback函數(shù):global p1;global p2;global p3;global p4;p1=0;p2=0;p4=0;p3=get(handles.pushbutton3JUCHIBO,'value');% - Executes on slider movement.j=get(handles.sliderfuzhi,'value');k=get(handles.sliderpinlv,'value');l=get(handles.sliderxiangwei,'value');set(handles.edi
10、tfuzhi,'string',num2str(j);set(handles.editpinlv,'string',num2str(k);set(handles.editxiangwei,'string',num2str(l);A=str2num(get(handles.editfuzhi,'string');f=str2num(get(handles.editpinlv,'string');P=str2num(get(handles.editxiangwei,'string');t=0:0.001
11、:20; y=A*sawtooth(pi*f*t+4*P/f,1);plot(t,y);grid on;axis(0,20,-1.2,1.2);4) 三角波按鈕的Callback函數(shù):global p1;global p2;global p3;global p4;p2=0;p3=0;p1=0;p4=get(handles.pushbutton4SANJIAO,'value');j=get(handles.sliderfuzhi,'value');k=get(handles.sliderpinlv,'value');l=get(handles.sl
12、iderxiangwei,'value');set(handles.editfuzhi,'string',num2str(j);set(handles.editpinlv,'string',num2str(k);set(handles.editxiangwei,'string',num2str(l);A=str2num(get(handles.editfuzhi,'string');f=str2num(get(handles.editpinlv,'string');P=str2num(get(han
13、dles.editxiangwei,'string');t=0:0.001:20; y=A*sawtooth(pi*f*t+4*P/f,0.5);plot(t,y);grid on;axis(0,20,-1.2,1.2);5) 滾動(dòng)條的Callback函數(shù)(各個(gè)滾動(dòng)條都一樣)global p1;global p2;global p3;global p4;j=get(handles.sliderfuzhi,'value');%獲取幅值滾動(dòng)條的值,并且賦給jk=get(handles.sliderpinlv,'value');%獲取頻率滾動(dòng)條的值,并
14、且賦給kl=get(handles.sliderxiangwei,'value');%獲取相位滾動(dòng)條的值,并且賦給lset(handles.editfuzhi,'string',num2str(j);%修改editfuzhi 的值為滾動(dòng)條當(dāng)前的值set(handles.editpinlv,'string',num2str(k);set(handles.editxiangwei,'string',num2str(l);A=str2num(get(handles.editfuzhi,'string');%獲取幅值選擇框
15、的值,并且賦給Af=str2num(get(handles.editpinlv,'string');P=str2num(get(handles.editxiangwei,'string');while 1 %一直判斷,遇到有按鍵就執(zhí)行,然后退出。if p1=1 %如果選擇了正弦波t=0:0.001:8*pi;y=A*sin(2*pi*f*t+P*2*pi);plot(t,y);grid on;axis(0,8*pi,-1.2,1.2); endif p2=1 %如果選擇了方波t=0:0.001:6; y=A*square(2*pi*f*t+4*P/f,50);p
16、lot(t,y);grid on;axis(0,6,-1.2,1.2);endif p3=1 %如果選擇了鋸齒波t=0:0.001:20; y=A*sawtooth(pi*f*t+4*P/f,1);plot(t,y);grid on;axis(0,20,-1.2,1.2);endif p4=1 %如果選擇了三角波 t=0:0.001:20; y=A*sawtooth(pi*f*t+4*P/f,0.5);plot(t,y);grid on;axis(0,20,-1.2,1.2);endbreak;end6) 清除按鈕的Callback函數(shù)t=0:pi/360:8*pi;y=0;global p1
17、;global p2;global p3;global p4;p1=0;p2=0;p3=0;p4=0;set(handles.sliderfuzhi,'value',0);set(handles.sliderpinlv,'value',0);set(handles.sliderxiangwei,'value',0);set(handles.editfuzhi,'string',num2str(0);set(handles.editpinlv,'string',num2str(0);set(handles.editxiangwei,'string',num2str(0);plot(t,y);grid on;axis(0,8*pi,-1.2,1.2); 2、 仿真結(jié)果 圖3 正弦波(對(duì)應(yīng)參數(shù)見(jiàn)圖)圖4 方波(對(duì)應(yīng)參數(shù)見(jiàn)圖)圖5 鋸齒波(對(duì)應(yīng)參數(shù)見(jiàn)圖)圖6 三角波(對(duì)應(yīng)參數(shù)見(jiàn)圖)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童除草活動(dòng)方案
- 元宵佳節(jié)特價(jià)活動(dòng)方案
- 元宵徒步行活動(dòng)方案
- 元宵登山活動(dòng)方案
- 元宵節(jié)服裝秀活動(dòng)方案
- 元宵節(jié)銀行社區(qū)活動(dòng)方案
- 元旦產(chǎn)品活動(dòng)方案
- 元旦公司砸金蛋活動(dòng)方案
- 元旦參與活動(dòng)策劃活動(dòng)方案
- 元旦套餐酒吧活動(dòng)方案
- 數(shù)據(jù)中心IDC機(jī)房運(yùn)維工程師培訓(xùn)教材
- 血液透析器課件
- 2024屆清華大學(xué)強(qiáng)基計(jì)劃數(shù)學(xué)學(xué)科筆試試題(附答案)
- 《籃球:防守?zé)o球隊(duì)員》教案(兩篇)
- 2024年高三數(shù)學(xué)復(fù)習(xí)備考策略講座
- 人教版安徽八年級(jí)下冊(cè)語(yǔ)文期末綜合模擬測(cè)試卷3
- 陜西西安地區(qū)2025屆高考?xì)v史押題試卷含解析
- 2024北京西城區(qū)初一(下)期末歷史試題及答案
- 湖南定額說(shuō)明及計(jì)算規(guī)則
- 舞臺(tái)燈具檢測(cè)報(bào)告
- 網(wǎng)絡(luò)空間安全概論智慧樹(shù)知到期末考試答案2024年
評(píng)論
0/150
提交評(píng)論