用matlab编程简单电子琴,基于MATLAB的数字信号发生器及简易电子琴设计论文.doc...
基于MATLAB的數(shù)字信號(hào)發(fā)生器及簡(jiǎn)易電子琴設(shè)計(jì)論文
基于MATLAB的數(shù)字信號(hào)發(fā)生器及簡(jiǎn)易電子琴設(shè)計(jì)
摘 要
數(shù)字信號(hào)發(fā)生器是一種基于軟硬件結(jié)合實(shí)現(xiàn)的函數(shù)波形產(chǎn)生儀器。在工程實(shí)踐中需要檢測(cè)和分析的各種復(fù)雜信號(hào)均可分解成各種簡(jiǎn)單信號(hào)之和,而這些簡(jiǎn)單信號(hào)皆可由數(shù)字信號(hào)發(fā)生器模擬產(chǎn)生,因此它在工程分析和實(shí)驗(yàn)教學(xué)中有著廣泛的應(yīng)用。MATLAB是一個(gè)數(shù)據(jù)分析和處理功能十分強(qiáng)大的工程實(shí)用軟件,它的數(shù)據(jù)采集工具箱為實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出提供了十分方便的函數(shù)和命令,在數(shù)字信號(hào)處理方面方便實(shí)用。本文介紹了一種使用MATLAB建立一個(gè)簡(jiǎn)單數(shù)字信號(hào)發(fā)生器的基本流程,并詳細(xì)敘述了簡(jiǎn)單波形(正弦波、方波、三角波、鋸齒波、白噪聲、脈沖、階躍、斜坡)信號(hào)的具體實(shí)現(xiàn)方法。最后,利用簡(jiǎn)單的正弦波信號(hào)和PC的聲卡設(shè)計(jì)了一個(gè)簡(jiǎn)易電子琴。
關(guān)鍵字:MATLAB,數(shù)字信號(hào)發(fā)生器,簡(jiǎn)易電子琴
概述
隨著計(jì)算機(jī)技術(shù)和測(cè)試技術(shù)的不斷發(fā)展,傳統(tǒng)的測(cè)試儀器正向虛擬化方向發(fā)展,特別是在試驗(yàn)教學(xué)領(lǐng)域。虛擬儀器作為現(xiàn)代儀器技術(shù)和計(jì)算機(jī)技術(shù)深層次結(jié)合的產(chǎn)物,更是得到了廣泛應(yīng)用。信號(hào)發(fā)生器原本是模擬電子技術(shù)發(fā)展的產(chǎn)物,但本文設(shè)計(jì)出的數(shù)字信號(hào)發(fā)生器是基于計(jì)算機(jī)軟硬件實(shí)現(xiàn)的數(shù)字信號(hào)發(fā)生器,是一種虛擬儀器。
設(shè)計(jì)原理
常用的數(shù)字信號(hào)發(fā)生器一般可產(chǎn)生正弦信號(hào)、方波信號(hào)、三角波信號(hào)、鋸齒波信號(hào)、白噪聲信號(hào)、脈沖信號(hào)、階躍信號(hào)、斜坡信號(hào)等。此時(shí)的數(shù)字信號(hào)又可稱為離散信號(hào),即時(shí)間為離散變量的信號(hào)。它只在離散時(shí)間上給出函數(shù)值,是時(shí)間上不連續(xù)的“序列”。離散時(shí)間的間隔是均勻的,以表示。的值由信號(hào)的采樣頻率決定。為保證采樣后信號(hào)能真實(shí)地保留原始模擬信號(hào)信息,信號(hào)采樣頻率必須至少為原信號(hào)中最高頻率成分的2倍。這是采樣的基本法則,稱為采樣定理。本文為了使產(chǎn)生的數(shù)字信號(hào)更接近原始的模擬信號(hào),采用的采樣頻率為原始信號(hào)頻率的30倍。
MATLAB程序提供了常用的各種基本信號(hào)的生成函數(shù)。本設(shè)計(jì)需模擬的八種信號(hào)大部分都直接使用了MATLAB提供的函數(shù),只有少數(shù)幾個(gè)信號(hào)沒(méi)有調(diào)用函數(shù),直接編寫(xiě)的。為了模擬信號(hào)發(fā)生器的設(shè)置,本設(shè)計(jì)也將常用信號(hào)的幅值、頻率、相位設(shè)計(jì)成可調(diào)的。
正弦信號(hào)的實(shí)現(xiàn)
正弦波信號(hào)的數(shù)學(xué)表達(dá)式如下式(2.1)所示,
(2.1)
其中:為幅值;為頻率;為相位。
在MATLAB中,將時(shí)間變量離散化并構(gòu)造成一個(gè)一維數(shù)組,如下式(2.2)所示,
(2.2)
其中:為采樣頻率。
相應(yīng)的正弦波信號(hào)的數(shù)字信號(hào)表達(dá)式如下式(2.3)所示,
(2.3)
幅值、頻率、相位參數(shù)可以由用戶界面上的滑動(dòng)條或編輯框輸入。在分別得到與的離散值后,用plot作圖函數(shù)即可獲得波形顯示。
方波信號(hào)的實(shí)現(xiàn)
在MATLAB中,可以用函數(shù)直接生成一個(gè)方波信號(hào),其函數(shù)原型為,該函數(shù)可生成一個(gè)周期為,峰值為,占空比為的方波,的默認(rèn)值為50%。
利用該函數(shù),可得到幅值、頻率、相位可調(diào)的方波信號(hào)函數(shù)如下式(2.4)所示,
(2.4)
三角波信號(hào)的實(shí)現(xiàn)
在MATLAB中,可以用函數(shù)直接生成一個(gè)三角波信號(hào),其函數(shù)原型為,該函數(shù)可生成一個(gè)周期為,峰值為,最大值出現(xiàn)在位置的三角波。
利用該函數(shù),可得到幅值、頻率、相位可調(diào)的三角波信號(hào)函數(shù)如下式(2.5)所示,
(2.5)
鋸齒波信號(hào)的實(shí)現(xiàn)
將上述2.3節(jié)中函數(shù)中的參數(shù)值設(shè)為1,即可得到鋸齒波。利用該函數(shù)得到的幅值、頻率、相位可調(diào)的鋸齒波信號(hào)函數(shù)如下式(2.6)所示,
(2.6)
白噪聲信號(hào)的實(shí)現(xiàn)
白噪聲是指功率譜密度在整個(gè)頻域內(nèi)均勻分布的噪聲。白噪聲的實(shí)現(xiàn)可借助于MATLAB中的函數(shù),它的功能是產(chǎn)生一個(gè)均值為0,標(biāo)準(zhǔn)差為1的隨機(jī)數(shù)列或矩陣,該函數(shù)有多種調(diào)用形式,下式(2.7)即可得到一個(gè)均值為0,標(biāo)準(zhǔn)差為的維的隨機(jī)矩陣。
(2.7)
其中,為幅值;。
脈沖信號(hào)的實(shí)現(xiàn)
考慮到脈沖信號(hào)與方波信號(hào)波形相似,故以方波信號(hào)函數(shù)函數(shù)為基礎(chǔ),將函數(shù)值加1,即可得到最大值為2,最小值為0的脈沖波形,原函數(shù)的參數(shù)可以用來(lái)調(diào)節(jié)脈沖的寬度。
利用該函數(shù),得到的幅值、頻率、相位可調(diào)的脈沖信號(hào)函數(shù)如下式(2.8)所示,
(2.8)
階躍信號(hào)的實(shí)現(xiàn)
階躍信號(hào)的數(shù)學(xué)表達(dá)式如下式(2.9)所示,
(2.9)
將上式用MATLAB程序語(yǔ)言轉(zhuǎn)換一下,即可得階躍信號(hào)函數(shù)如下式(2.10)所示,
(2.10)
斜坡信號(hào)的實(shí)現(xiàn)
斜坡信號(hào)的數(shù)學(xué)表達(dá)式如下式(2.11)所示,
(2.11)
其中,為斜坡的斜率。將上式中的時(shí)間離散化后,即可得到斜坡信號(hào)的數(shù)字
總結(jié)
以上是生活随笔為你收集整理的用matlab编程简单电子琴,基于MATLAB的数字信号发生器及简易电子琴设计论文.doc...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 用符号方法求下列极限或导数matlab,
- 下一篇: oracle multi read,解读