版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、電子信息工程學(xué)院DSP技術(shù)及應(yīng)用課程設(shè)計(jì)報(bào)告 題 目:基于MATLAB的數(shù)字電子琴的設(shè)計(jì)與實(shí)現(xiàn) 專業(yè)班級(jí):通信工程專業(yè) 二一三 年 六 月 十三 日目 錄一、設(shè)計(jì)目的1二、設(shè)計(jì)要求1三、設(shè)計(jì)原理及方案2四、軟件流程2五、調(diào)試分析5六、設(shè)計(jì)總結(jié)6 七、參考文獻(xiàn)61、 設(shè)計(jì)目的1、 熟悉matlab的軟件環(huán)境,掌握信號(hào)處理的方法,能在matlab的環(huán)境下完成對(duì)信號(hào)的基本處理;2、學(xué)會(huì)使用matlab的GUI控件編輯圖形用戶界面;3、了解matlab中一些常用函數(shù)的使用及常用運(yùn)算符,并能使用函數(shù)完成基本的信號(hào)處理;2、 設(shè)計(jì)要求數(shù)字電子琴的功能是基于數(shù)字信號(hào)發(fā)生器的,通過條用數(shù)字信號(hào)發(fā)生器產(chǎn)生一系列
2、指定的頻率的聲音,從而達(dá)到虛擬的電子琴的功能。具體功能如下:1、 界面中包含do/rai/mi共7個(gè)琴鍵,鼠標(biāo)按下時(shí)即時(shí)發(fā)聲0.5秒;并可通過鍵盤敲擊按鍵進(jìn)行琴音播放;2、 可播放wav格式文件;3、 進(jìn)行圖形繪制,可選擇輸出方波、正弦波等;4、 將該正弦信號(hào)函數(shù)使用plot函數(shù)將正弦函數(shù)圖形界面展示出來;5、 根據(jù)所取的取樣的時(shí)間長度不同時(shí)每個(gè)音階發(fā)出的聲音長度不同;6、 通過每個(gè)按鍵關(guān)聯(lián)鍵盤,實(shí)現(xiàn)鍵盤彈琴功能;7、 通過一個(gè)edit窗口,關(guān)聯(lián)按鍵,是GUI界面可顯示所按下按鍵的音階;8、 通過添加播放與暫停按鈕,可對(duì)edit窗口中的音階進(jìn)行播放的暫停操作;9、 GUI右上角有幫助菜單,彈出
3、messagebox提示用戶;10、 不同音調(diào)的選擇,可選擇C調(diào),升C調(diào)等不同音調(diào);11、 通過加入不同程度的衰減和諧波分量實(shí)現(xiàn)不同音色的選擇;12、 加載本地電腦中以存儲(chǔ)好的音符文檔進(jìn)行演奏的功能;13、 當(dāng)彈奏出錯(cuò)時(shí),將剛彈奏出錯(cuò)的音符刪除的功能;14、 可以實(shí)現(xiàn)黑鍵半音功能。三、設(shè)計(jì)原理及方案1、原理圖開始產(chǎn)生數(shù)字信號(hào)檢測并接收用戶輸入:波形、幅值、頻率、初始相位初始化(歡迎界面)顯示波形保存用戶輸入音階加載音階驅(qū)動(dòng)聲卡發(fā)出聲音 圖12、原理圖說明 上圖為數(shù)字信號(hào)產(chǎn)生器的原理圖,由于不同聲音的頻率不同,因此,用MATLAB產(chǎn)生不同的頻率的信號(hào),然后加載到聲卡,即可產(chǎn)生不同的聲音(1) 初
4、始化:點(diǎn)擊其中一個(gè).M文件。進(jìn)入歡迎界面,歡迎界面,點(diǎn)擊歡迎界面中進(jìn)入程序按鈕,進(jìn)入主程序。(2) 檢測并接收用戶輸入:通過點(diǎn)擊GUI界面中預(yù)設(shè)值好的音階按鈕,對(duì)應(yīng)讓MATLAB中產(chǎn)生不同頻率的正弦單頻信號(hào)。(3) 存用戶輸入的音階:用戶輸入音階后,在GUI 窗口中會(huì)有對(duì)應(yīng)的音符顯示,點(diǎn)擊保存,即可將這些字符保存為一個(gè),txt文件。(4) 加載音階:選擇打開加載音符,點(diǎn)擊暫停播放,即可將之前保存好的音符進(jìn)行播放。(5) 產(chǎn)生數(shù)字信號(hào):對(duì)應(yīng)不同的按鍵產(chǎn)生不同的正弦數(shù)字信號(hào)。(6) 波形線束:通過不同的信號(hào),畫出不同的信號(hào)的時(shí)域與頻域圖。(7) 驅(qū)動(dòng)聲卡:發(fā)出聲音。四、軟件流程 Matlab是一個(gè)
5、具有數(shù)值分析、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等功能的工程實(shí)用軟件。本文介紹了一種使用GUI工具箱,用Matlab實(shí)現(xiàn)虛擬數(shù)字信號(hào)發(fā)生器的設(shè)計(jì)。并在此基礎(chǔ)上,利用聲卡,實(shí)現(xiàn)了簡易的數(shù)字電子琴。 具體軟件流程如下:(1)搭建GUI界面圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。Matlab環(huán)境下的圖形用戶界面(GUI)是由窗口、光標(biāo)、按鍵、菜單、文字說明等對(duì)象(Objects)構(gòu)成的一個(gè)用戶界面。用戶通過一定的方法(如鼠標(biāo)或鍵盤)選擇、激活這些圖形對(duì)象,使計(jì)算機(jī)產(chǎn)生某種動(dòng)作或變化。做好的GU
6、I界面分別如圖2、圖3所示: 圖2 圖3(2) 編寫.M文件 搭建好GUI界面后,點(diǎn)擊“保存”按鈕,系統(tǒng)將自動(dòng)生成M文件與Fig文件各一個(gè),并且M文件內(nèi)部已經(jīng)按照GUI界面中組件的類別,分別自動(dòng)生成了相應(yīng)的模塊調(diào)用函數(shù)。根據(jù)需需要,我們對(duì)生成的各個(gè)函數(shù)進(jìn)行補(bǔ)充,完成函數(shù)功能的實(shí)現(xiàn)及各個(gè)函數(shù)的調(diào)用關(guān)系。本次實(shí)驗(yàn)主要對(duì)控件的回調(diào)函數(shù)(callback)下寫入相應(yīng)的程序,該程序相當(dāng)于一個(gè)將前后面板連接起來的紐帶,在數(shù)字信號(hào)生成中作用很大。主要源程序文件如下:信號(hào)產(chǎn)生部分:global nglobal m;global yc;b=-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4
7、,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26c=b(t);f=440*2(c+m)/12);%C調(diào) D調(diào)改變mfs=10*fx=0:(1/fs):ycswitch yc case 0.25 d=-4 case 0.5 d=-2 case 1 d=-2switch n case 3 y=exp(d*x).*sin(2*pi*f*x)+0.2*exp(d*x).*sin(2*pi*f*3*x)+0.3*exp(d*x).*sin(2*pi*f*3*x)+0.4*exp(d*x).*sin(2*pi*f*4*x)+0.5*
8、exp(d*x).*sin(2*pi*f*5*x) case 1 y=sin(2*pi*f*x) case 2 y=exp(d*x).*sin(2*pi*f*x)end繪圖部分:subplot(2,1,1)plot(x,y);axis(0,yc,-2,2)xlabel(時(shí)間/s)ylabel(幅度)grid on;subplot(2,1,2)Y=abs(fft(y)plot(Y)xlabel(頻率/Hz)ylabel(幅度)grid on%axis(0,yc,-2,2);wavplay(y,fs,async);五、調(diào)試分析 在軟件設(shè)計(jì)過程中遇到了許多困難,以下選擇幾點(diǎn)主要的進(jìn)行分析說明: 1、
9、?;盏娘@示問題:由于本作品想添加?;?,創(chuàng)建了一個(gè)axes坐標(biāo),但是始終在該坐標(biāo)上無法顯示我們預(yù)設(shè)好的?;?qǐng)D片。 解決方案:在圖片顯示子函數(shù)imshow后加上要顯示的坐標(biāo),即可將圖片顯示在于設(shè)置的坐標(biāo)上。 2、音階的保存:將輸入的音符進(jìn)行保存為txt文本文件時(shí),保存時(shí)是按字符串格式保存的,再次加載時(shí),卻是按照字符進(jìn)行加載,到時(shí)要回刪一個(gè)音階時(shí),將之前所有以保存的音階會(huì)全部刪除。 解決方案:讀數(shù)據(jù)時(shí),使用大括號(hào),使數(shù)據(jù)為一個(gè)cell型數(shù)組。 3、GUI背景設(shè)置問題:為了美化界面,我們想到使用背景圖片,但是由于MATLAB中沒有該加載背景圖片的功能,因此始終無法加載圖片 解決方案:經(jīng)過上網(wǎng)搜尋方案,
10、想到在GUI界面中建一個(gè)坐標(biāo)覆蓋整個(gè)界面,然后圖片加載到該坐標(biāo)中,使bring back功能將該圖片作為背景。 4、在EDIT窗口中顯示字符問題:開始設(shè)想在一個(gè)EDIT窗口中實(shí)時(shí)顯示按下的音階,但是始終無法實(shí)現(xiàn)該功能解決方法:使用MATLAB中的set與get函數(shù),最終的以實(shí)現(xiàn)。6、 設(shè)計(jì)總結(jié) 通過本次實(shí)驗(yàn),掌握了GUI界面的搭建,對(duì)matlab中常見的函數(shù)有了深刻的認(rèn)識(shí)。在學(xué)習(xí)中發(fā)現(xiàn)matlab是個(gè)很強(qiáng)大的軟件,可惜自己對(duì)它的認(rèn)識(shí)太少,以后還得自己學(xué)習(xí)。同時(shí),這次制作數(shù)字電子琴,通過晚上查找資料,也對(duì)一些音律方面的知識(shí)有很多的認(rèn)識(shí),在實(shí)驗(yàn)過程中,存在著很多問題,在韓萍老師及何煒琨老師的悉心指導(dǎo)下,最終一個(gè)一個(gè)解決了,通過這次試驗(yàn),自己獲益匪淺。七、參考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025貴州畢節(jié)織金縣城市建設(shè)投資(集團(tuán))有限公司第一批次“人才強(qiáng)市”引才筆試歷年參考題庫附帶答案詳解
- 2025貴州中建偉業(yè)建設(shè)(集團(tuán))有限責(zé)任公司招聘筆試歷年參考題庫附帶答案詳解
- 2025福建龍巖市上杭縣殯儀館有限公司招聘申請(qǐng)加分人員情況筆試歷年參考題庫附帶答案詳解
- 2025福建上杭縣殯儀館有限公司招聘2人筆試參考題庫附帶答案詳解(3卷)
- 2025湖南新華書店集團(tuán)校園招聘163人筆試歷年參考題庫附帶答案詳解
- 中醫(yī)經(jīng)典理論培訓(xùn)制度
- 培訓(xùn)機(jī)構(gòu)出勤制度
- 2025浙江嘉興市湘家蕩發(fā)展投資集團(tuán)有限公司招聘4名筆試歷年參考題庫附帶答案詳解
- 2025浙江中通文博服務(wù)有限公司招錄12345話務(wù)人員5人筆試參考題庫附帶答案詳解(3卷)
- 2025江西吉安吉水縣八都鎮(zhèn)兩山資產(chǎn)經(jīng)營有限公司面向社會(huì)招聘1名會(huì)計(jì)筆試歷年參考題庫附帶答案詳解
- 養(yǎng)老院老人生活設(shè)施管理制度
- (2025年)林業(yè)系統(tǒng)事業(yè)單位招聘考試《林業(yè)知識(shí)》真題庫與答案
- 2026年七臺(tái)河職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫有答案解析
- 2026年直播服務(wù)合同
- 掛靠取消協(xié)議書
- 哲學(xué)史重要名詞解析大全
- 銀行借款抵押合同范本
- 辦公樓電梯間衛(wèi)生管理方案
- 新生兒休克診療指南
- DB37-T4975-2025分布式光伏直采直控技術(shù)規(guī)范
- 專題學(xué)習(xí)活動(dòng) 期末復(fù)習(xí)課件 新教材統(tǒng)編版八年級(jí)語文上冊(cè)
評(píng)論
0/150
提交評(píng)論