資源描述:
《數(shù)字信號處理matlab實驗報告》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。
1、實驗報告課程名稱:數(shù)字信號處理實驗專業(yè)班級:姓名:學號:實驗名稱數(shù)字信號處理實驗地點實驗時間實驗成績一、實驗目的及任務l學會運用MATLAB表示的常用離散時間信號;l學會運用MATLAB實現(xiàn)離散時間信號的基本運算。二、實驗內(nèi)容與步驟一、離散時間信號在MATLAB中的表示離散時間信號是指在離散時刻才有定義的信號,簡稱離散信號,或者序列。離散序列通常用來表示,自變量必須是整數(shù)。離散時間信號的波形繪制在MATLAB中一般用stem函數(shù)。stem函數(shù)的基本用法和plot函數(shù)一樣,它繪制的波形圖的每個樣本點上有一個小圓圈,默認是空心的。如果要實心,需使用參數(shù)“fi
2、ll”、“filled”,或者參數(shù)“.”。由于MATLAB中矩陣元素的個數(shù)有限,所以MATLAB只能表示一定時間范圍內(nèi)有限長度的序列;而對于無限序列,也只能在一定時間范圍內(nèi)表示出來。類似于連續(xù)時間信號,離散時間信號也有一些典型的離散時間信號。1.單位取樣序列單位取樣序列,也稱為單位沖激序列,定義為(12-1)要注意,單位沖激序列不是單位沖激函數(shù)的簡單離散抽樣,它在n=0處是取確定的值1。在MATLAB中,沖激序列可以通過編寫以下的impDT.m文件來實現(xiàn),即functiony=impDT(n)y=(n==0);%當參數(shù)為0時沖激為1,否則為0調(diào)用該函數(shù)時
3、n必須為整數(shù)或整數(shù)向量。2.單位階躍序列單位階躍序列定義為(12-2)在MATLAB中,沖激序列可以通過編寫uDT.m文件來實現(xiàn),即functiony=uDT(n)y=n>=0;%當參數(shù)為非負時輸出1調(diào)用該函數(shù)時n也同樣必須為整數(shù)或整數(shù)向量。3.矩形序列矩形序列定義為(12-3)矩形序列有一個重要的參數(shù),就是序列寬度N。與之間的關系為因此,用MATLAB表示矩形序列可利用上面所講的uDT函數(shù)。4.單邊指數(shù)序列單邊指數(shù)序列定義為(12-4)5.正弦序列正弦序列定義為(12-5)其中,是正弦序列的數(shù)字域頻率;為初相。與連續(xù)的正弦信號不同,正弦序列的自變量n必
4、須為整數(shù)??梢宰C明,只有當為有理數(shù)時,正弦序列具有周期性。圖2-5正弦序列6.復指數(shù)序列復指數(shù)序列定義為(2-6)當時,得到虛指數(shù)序列,式中是正弦序列的數(shù)字域頻率。由歐拉公式知,復指數(shù)序列可進一步表示為(2-7)與連續(xù)復指數(shù)信號一樣,我們將復指數(shù)序列實部和虛部的波形分開討論,得出如下結(jié)論:(1)當時,復指數(shù)序列的實部和虛部分別是按指數(shù)規(guī)律增長的正弦振蕩序列;(2)當時,復指數(shù)序列的實部和虛部分別是按指數(shù)規(guī)律衰減的正弦振蕩序列;(3)當時,復指數(shù)序列即為虛指數(shù)序列,其實部和虛部分別是等幅的正弦振蕩序列。二、離散時間信號的基本運算對離散時間序列實行基本運算可
5、得到新的序列,這些基本運算主要包括加、減、乘、除、移位、反折等。兩個序列的加減乘除是對應離散樣點值的加減乘除,因此,可通過MATLAB的點乘和點除、序列移位和反折來實現(xiàn),與連續(xù)時間信號處理方法基本一樣。實驗步驟:試用MATLAB命令分別繪出下列各序列的波形圖。(1)(2)(3)(4)n=0:20;a1=1/2;a2=2;a3=-1/2;a4=-2;x1=a1.^n;x2=a2.^n;x3=a3.^n;x4=a4.^n;subplot(2,2,1)stem(n,x1,'fill'),gridonxlabel('n'),title('x(n)=(1/2)^n
6、')subplot(2,2,2)stem(n,x2,'fill'),gridonxlabel('n'),title('x(n)=2^n')subplot(223)stem(n,x2,'fill'),gridonxlabel('n'),title('x(n)=(-1/2)^n')subplot(224)stem(n,x2,'fill'),gridonxlabel('n'),title('x(n)=(-2)^n')(5)n=1:20;a=2;x=a1.^(n-1);stem(n,x1,'fill'),gridonxlabel('n'),title('x(n)
7、=(2)^(n-1)')(6)n=0:20a=1/2;x=a2.^(n-1);stem(n,x2,'fill'),gridonxlabel('n'),title('x(n)=(1/2)^(n-1)')1.試用MATLAB分別繪出下列各序列的波形圖。(1)n=0:30;x=sin(pi/5*n);stem(n,x,'fill'),xlabel('n'),gridontitle('x(n)=sin(pi/5*n)')axis([0,30,-2,2]);(2)n=0:30;x=sin(pi/10*n-pi/5);stem(n,x,'fill'),xlabel(
8、'n'),gridontitle('x(n)=sin(pi/5*n-pi/5)'