信號與系統(tǒng)實驗(MATLAB西電版)實驗2常用離散時間信號的實現(xiàn)課件_第1頁
信號與系統(tǒng)實驗(MATLAB西電版)實驗2常用離散時間信號的實現(xiàn)課件_第2頁
信號與系統(tǒng)實驗(MATLAB西電版)實驗2常用離散時間信號的實現(xiàn)課件_第3頁
信號與系統(tǒng)實驗(MATLAB西電版)實驗2常用離散時間信號的實現(xiàn)課件_第4頁
信號與系統(tǒng)實驗(MATLAB西電版)實驗2常用離散時間信號的實現(xiàn)課件_第5頁
已閱讀5頁,還剩79頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、實驗目的二、實驗原理三、涉及的MATLAB函數(shù)四、實驗內容與方法五、實驗要求六、思考題一、實驗目的一、實驗目的

(1)了解離散時間信號的特點;

(2)掌握離散時間信號表示的向量法和符號法;

(3)熟悉stem函數(shù)的應用;

(4)會用MATLAB語言表示常用基本離散信號。

一、實驗目的

(1)了解離散時間信號的特點;

二、實驗原理

信號是隨時間變化的物理量。離散信號是只在某些不連續(xù)的時間點上有信號值,其它時間點上信號沒有定義的一類信號。離散信號一般可以利用模數(shù)轉換由連續(xù)信號而得到。計算機所能處理的只是離散信號。二、實驗原理

信號是隨時間變化的物理量。離散信號是只在信號與系統(tǒng)實驗(MATLAB西電版)實驗2常用離散時間信號的實現(xiàn)課件信號與系統(tǒng)實驗(MATLAB西電版)實驗2常用離散時間信號的實現(xiàn)課件1)離散時間信號

MATLAB程序:

k1=-3;k2=3;k=k1:k2;

f=[1,3,-3,2,3,-4,1];

stem(k,f,′filled′);

axis([-4,4,-5,5]);

title(′離散時間信號′)

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的離散時間信號如圖2.1所示。1)離散時間信號

MATLAB程序:

k1=-3;圖2.1數(shù)值法生成的離散時間信號圖2.1數(shù)值法生成的離散時間信號2)單位脈沖序列

MATLAB程序:

k1=-3;k2=6;k=k1:k2;

n=3;%單位脈沖出現(xiàn)的位置

f=[(k-n)==0];

stem(k,f,′filled′);title(′單位脈沖序列′)

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的單位脈沖序列如圖2.2所示。2)單位脈沖序列

MATLAB程序:

k1=-3;圖2.2數(shù)值法生成的單位脈沖序列圖2.2數(shù)值法生成的單位脈沖序列3)單位階躍序列

MATLAB程序:

k0=0;%單位階躍開始出現(xiàn)的位置

k1=-3;k2=6;k=k1:k0-1;

n=length(k);

k3=-k0:k2;

n3=length(k3);

3)單位階躍序列

MATLAB程序:

k0=0;u=zeros(1,n);

u3=ones(1,n3);

stem(k,u,′filled′);

holdon;

stem(k3,u3,′filled′);

holdoff;

axis([k1,k2,-0.2,1.5]);

title(′單位階躍序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的單位階躍序列如圖2.3所示。u=zeros(1,n);

u3=ones(1,n3);圖2.3數(shù)值法生成的單位階躍序列圖2.3數(shù)值法生成的單位階躍序列4)復指數(shù)序列

MATLAB程序:

clf;

c=-(1/12)+(pi/6)*i;

K=2;

n=0:40;

x=K*exp(c*n);

subplot(2,1,1);

4)復指數(shù)序列

MATLAB程序:

clf;stem(n,real(x));

ylabel(′幅值f(k)′);

title(′實部′);

subplot(2,1,2);

stem(n,imag(x));

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

title(′虛部′);

用數(shù)值法生成的復指數(shù)序列如圖2.4所示。stem(n,real(x));

ylabel(′幅值f圖2.4數(shù)值法生成的復指數(shù)序列圖2.4數(shù)值法生成的復指數(shù)序列5)指數(shù)序列

MATLAB程序:

clf;

k1=-1;k2=10;

k=k1:k2;

a=-0.6;

5)指數(shù)序列

MATLAB程序:

clf;

A=1;

f=A*a.^k;

stem(k,f,′filled′);

title(′指數(shù)序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的指數(shù)序列如圖2.5所示。A=1;

f=A*a.^k;

stem(k,f,′f圖2.5數(shù)值法生成的指數(shù)序列圖2.5數(shù)值法生成的指數(shù)序列6)正弦序列

MATLAB程序:

clf;

k1=-20;k2=20;

k=k1:k2;

f=sin(k*pi/6);

stem(k,f,′filled′);

title(′正弦序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的正弦序列如圖2.6所示。6)正弦序列

MATLAB程序:

clf;

圖2.6數(shù)值法生成的正弦序列圖2.6數(shù)值法生成的正弦序列7)單位斜坡序列

MATLAB程序:

clf;

k1=-1;k2=20;

k0=0;

n=[k1:k2];

ifk0>=k2

x=zeros(1,length(n));

elseif(k0<k2)&(k0>k1)

7)單位斜坡序列

MATLAB程序:

clf;x=[zeros(1,k0-k1),[0:k2-k0]];

else

x=(k1-k0)+[0:k2-k1];

end

stem(n,x);

title(′單位斜坡序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的單位斜坡序列如圖2.7所示。x=[zeros(1,k0-k1),[0:k2-k0]];圖2.7數(shù)值法生成的單位斜坡序列圖2.7數(shù)值法生成的單位斜坡序列8)隨機序列

MATLAB程序:

clf;

R=51;

d=0.8*(rand(R,1)-0.5);

m=0:R-1;

stem(m,d′,′b′);

title(′隨機序列′);

xlabel(′k′);ylabel(′f(k)′);

用數(shù)值法生成的隨機序列如圖2.8所示。8)隨機序列

MATLAB程序:

clf;

圖2.8數(shù)值法生成的隨機序列圖2.8數(shù)值法生成的隨機序列9)掃頻正弦序列

MATLAB程序:

n=0:100;

a=pi/2/100;

b=0;arg=a*n.*n+b*n;

x=cos(arg);

clf;stem(n,x);

axis([0,100,-1.5,1.5]);

grid;axis;title(′掃頻正弦序列′);

xlabel(′k′);ylabel(′f(k)′);

用數(shù)值法生成的掃頻正弦序列如圖2.9所示。9)掃頻正弦序列

MATLAB程序:

n=0:1圖2.9數(shù)值法生成的掃頻正弦序列圖2.9數(shù)值法生成的掃頻正弦序列10)幅值調制序列

MATLAB程序:

clf;

n=0:100;

m=0.4;fH=0.1;fL=0.01;

xH=sin(2*pi*fH*n);

10)幅值調制序列

MATLAB程序:

clfxL=sin(2*pi*fL*n);

y=(1+m*xL).*xH;

stem(n,y);grid;

title(′幅值調制序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的幅值調制序列如圖2.10所示。xL=sin(2*pi*fL*n);

y=(1+m*xL圖2.10數(shù)值法生成的幅值調制序列圖2.10數(shù)值法生成的幅值調制序列11)信號平滑

MATLAB程序:

clf;

R=51;

d=0.8*(rand(1,R)-0.5);%隨機噪聲

m=0:R-1;

s=2*m.*(0.9.^m);%正常信號

x=s+d;%加噪聲后的信號

11)信號平滑

MATLAB程序:

clf;

xL=sin(2*pi*fL*n);

y=(1+m*xL).*xH;

stem(n,y);grid;

title(′幅值調制序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的幅值調制序列如圖2.10所示。xL=sin(2*pi*fL*n);

y=(1+m*xLsubplot(2,1,1);

plot(m,d,′r-′,m,s,′g--′,m,x,′b-.′);

title(′信號平滑′)

xlabel(′n′);ylabel(′f(n)′);

legend(′d[n]′,′s[n]′,′x[n]′);

subplot(2,1,1);

plot(m,d,′r-x1=[00x];x2=[0x0];x3=[x00];

y=(x1+x2+x3)/3;

subplot(2,1,2);

plot(m,y(2:R+1),′r-′,m,s,′g--′);

legend(′y[n]′,′s[n]′);

xlabel(′n′);ylabel(′f(n)′);

信號平滑結果如圖2.11所示。x1=[00x];x2=[0x0];x3=[x圖2.11信號平滑圖2.11信號平滑12)滑動平均

MATLAB程序:

n=0:100;

s1=cos(2*pi*0.05*n);%低頻信號

s2=cos(2*pi*0.47*n);%高頻信號

x=s1+s2;混合信號

M=input(′濾波器長度=′);

num=ones(1,M);

y=filter(num,1,x)/M;

clf;

subplot(2,2,1);

12)滑動平均

MATLAB程序:

n=0:100;plot(n,s1);

axis([0,100,-2,2]);

xlabel(′時間n′);ylabel(′幅值′);

title(′信號#1′);

subplot(2,2,2);

plot(n,s2);

axis([0,100,-2,2]);

xlabel(′時間n′);ylabel(′幅值′);

title(′信號#2′);

subplot(2,2,3);

plot(n,x);

plot(n,s1);

axis([0,100,-2,2axis([0,100,-2,2]);

xlabel(′時間n′);ylabel(′幅值′);

title(′輸入信號′);

subplot(2,2,4);

plot(n,y);

axis([0,100,-2,2]);

xlabel(′時間n′);ylabel(′幅值′);

title(′輸出信號′);

axis;

信號的滑動平均如圖2.12所示。axis([0,100,-2,2]);

xlabel(′圖2.12信號的滑動平均圖2.12信號的滑動平均2.程序設計實驗

(1)編制程序,生成如下信號:

5exp(-k),3sin(k),u(k-3),u(k+5),r(k-4),r(k+3),

u(k-3)+r(k+7),sin(k),sin(2k),sin(3k),δ(k-1),δ(k+5),cos(3k)+sin(2k)等。

(2)尋找一些函數(shù),編制程序生成信號。2.程序設計實驗

(1)編制程序,生成如下信號五、實驗要求

(1)在計算機中輸入程序,驗證實驗結果,并將實驗結果存入指定存儲區(qū)域。

(2)對于程序設計實驗,要求通過對驗證性實驗的練習,自行編制完整的實驗程序,實現(xiàn)對信號的模擬,并得出實驗結果。

(3)在實驗報告中寫出完整的自編程序,并給出實驗結果。五、實驗要求

(1)在計算機中輸入程序,驗證實驗結果六、思考題

(1)單位沖激函數(shù)與單位脈沖函數(shù)有什么區(qū)別?

(2)信號的時域分解有哪幾種方法?六、思考題

(1)單位沖激函數(shù)與單位脈沖函數(shù)有什么區(qū)一、實驗目的二、實驗原理三、涉及的MATLAB函數(shù)四、實驗內容與方法五、實驗要求六、思考題一、實驗目的一、實驗目的

(1)了解離散時間信號的特點;

(2)掌握離散時間信號表示的向量法和符號法;

(3)熟悉stem函數(shù)的應用;

(4)會用MATLAB語言表示常用基本離散信號。

一、實驗目的

(1)了解離散時間信號的特點;

二、實驗原理

信號是隨時間變化的物理量。離散信號是只在某些不連續(xù)的時間點上有信號值,其它時間點上信號沒有定義的一類信號。離散信號一般可以利用模數(shù)轉換由連續(xù)信號而得到。計算機所能處理的只是離散信號。二、實驗原理

信號是隨時間變化的物理量。離散信號是只在信號與系統(tǒng)實驗(MATLAB西電版)實驗2常用離散時間信號的實現(xiàn)課件信號與系統(tǒng)實驗(MATLAB西電版)實驗2常用離散時間信號的實現(xiàn)課件1)離散時間信號

MATLAB程序:

k1=-3;k2=3;k=k1:k2;

f=[1,3,-3,2,3,-4,1];

stem(k,f,′filled′);

axis([-4,4,-5,5]);

title(′離散時間信號′)

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的離散時間信號如圖2.1所示。1)離散時間信號

MATLAB程序:

k1=-3;圖2.1數(shù)值法生成的離散時間信號圖2.1數(shù)值法生成的離散時間信號2)單位脈沖序列

MATLAB程序:

k1=-3;k2=6;k=k1:k2;

n=3;%單位脈沖出現(xiàn)的位置

f=[(k-n)==0];

stem(k,f,′filled′);title(′單位脈沖序列′)

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的單位脈沖序列如圖2.2所示。2)單位脈沖序列

MATLAB程序:

k1=-3;圖2.2數(shù)值法生成的單位脈沖序列圖2.2數(shù)值法生成的單位脈沖序列3)單位階躍序列

MATLAB程序:

k0=0;%單位階躍開始出現(xiàn)的位置

k1=-3;k2=6;k=k1:k0-1;

n=length(k);

k3=-k0:k2;

n3=length(k3);

3)單位階躍序列

MATLAB程序:

k0=0;u=zeros(1,n);

u3=ones(1,n3);

stem(k,u,′filled′);

holdon;

stem(k3,u3,′filled′);

holdoff;

axis([k1,k2,-0.2,1.5]);

title(′單位階躍序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的單位階躍序列如圖2.3所示。u=zeros(1,n);

u3=ones(1,n3);圖2.3數(shù)值法生成的單位階躍序列圖2.3數(shù)值法生成的單位階躍序列4)復指數(shù)序列

MATLAB程序:

clf;

c=-(1/12)+(pi/6)*i;

K=2;

n=0:40;

x=K*exp(c*n);

subplot(2,1,1);

4)復指數(shù)序列

MATLAB程序:

clf;stem(n,real(x));

ylabel(′幅值f(k)′);

title(′實部′);

subplot(2,1,2);

stem(n,imag(x));

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

title(′虛部′);

用數(shù)值法生成的復指數(shù)序列如圖2.4所示。stem(n,real(x));

ylabel(′幅值f圖2.4數(shù)值法生成的復指數(shù)序列圖2.4數(shù)值法生成的復指數(shù)序列5)指數(shù)序列

MATLAB程序:

clf;

k1=-1;k2=10;

k=k1:k2;

a=-0.6;

5)指數(shù)序列

MATLAB程序:

clf;

A=1;

f=A*a.^k;

stem(k,f,′filled′);

title(′指數(shù)序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的指數(shù)序列如圖2.5所示。A=1;

f=A*a.^k;

stem(k,f,′f圖2.5數(shù)值法生成的指數(shù)序列圖2.5數(shù)值法生成的指數(shù)序列6)正弦序列

MATLAB程序:

clf;

k1=-20;k2=20;

k=k1:k2;

f=sin(k*pi/6);

stem(k,f,′filled′);

title(′正弦序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的正弦序列如圖2.6所示。6)正弦序列

MATLAB程序:

clf;

圖2.6數(shù)值法生成的正弦序列圖2.6數(shù)值法生成的正弦序列7)單位斜坡序列

MATLAB程序:

clf;

k1=-1;k2=20;

k0=0;

n=[k1:k2];

ifk0>=k2

x=zeros(1,length(n));

elseif(k0<k2)&(k0>k1)

7)單位斜坡序列

MATLAB程序:

clf;x=[zeros(1,k0-k1),[0:k2-k0]];

else

x=(k1-k0)+[0:k2-k1];

end

stem(n,x);

title(′單位斜坡序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的單位斜坡序列如圖2.7所示。x=[zeros(1,k0-k1),[0:k2-k0]];圖2.7數(shù)值法生成的單位斜坡序列圖2.7數(shù)值法生成的單位斜坡序列8)隨機序列

MATLAB程序:

clf;

R=51;

d=0.8*(rand(R,1)-0.5);

m=0:R-1;

stem(m,d′,′b′);

title(′隨機序列′);

xlabel(′k′);ylabel(′f(k)′);

用數(shù)值法生成的隨機序列如圖2.8所示。8)隨機序列

MATLAB程序:

clf;

圖2.8數(shù)值法生成的隨機序列圖2.8數(shù)值法生成的隨機序列9)掃頻正弦序列

MATLAB程序:

n=0:100;

a=pi/2/100;

b=0;arg=a*n.*n+b*n;

x=cos(arg);

clf;stem(n,x);

axis([0,100,-1.5,1.5]);

grid;axis;title(′掃頻正弦序列′);

xlabel(′k′);ylabel(′f(k)′);

用數(shù)值法生成的掃頻正弦序列如圖2.9所示。9)掃頻正弦序列

MATLAB程序:

n=0:1圖2.9數(shù)值法生成的掃頻正弦序列圖2.9數(shù)值法生成的掃頻正弦序列10)幅值調制序列

MATLAB程序:

clf;

n=0:100;

m=0.4;fH=0.1;fL=0.01;

xH=sin(2*pi*fH*n);

10)幅值調制序列

MATLAB程序:

clfxL=sin(2*pi*fL*n);

y=(1+m*xL).*xH;

stem(n,y);grid;

title(′幅值調制序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的幅值調制序列如圖2.10所示。xL=sin(2*pi*fL*n);

y=(1+m*xL圖2.10數(shù)值法生成的幅值調制序列圖2.10數(shù)值法生成的幅值調制序列11)信號平滑

MATLAB程序:

clf;

R=51;

d=0.8*(rand(1,R)-0.5);%隨機噪聲

m=0:R-1;

s=2*m.*(0.9.^m);%正常信號

x=s+d;%加噪聲后的信號

11)信號平滑

MATLAB程序:

clf;

xL=sin(2*pi*fL*n);

y=(1+m*xL).*xH;

stem(n,y);grid;

title(′幅值調制序列′);

xlabel(′時間(k)′);ylabel(′幅值f(k)′);

用數(shù)值法生成的幅值調制序列如圖2.10所示。xL=sin(2*pi*fL*n);

y=(1+m*xLsubplot(2,1,1);

plot(m,d,′r-′,m,s,′g--′,m,x,′b-.′);

title(′信號平滑′)

xlabel(′n′);ylabel(′f(n)′);

legend(′d[n]′,′s[n]′,′x[n]′);

subplot(2,1,1);

plot(m,d,′r-x1=[00x];x2=[0x0];x3=[x00];

y=(x1+x2+x3)/3;

subplot(2,1,2);

plot(m,y(2:R+1),′r-′,m,s,′g--′);

legend(′y[n]′,′s[n]′);

xlabel(′n′);ylabel(′f(n)′);

信號平滑結果如圖2.11所示。x1=[00x];x2=[0x0];x3=[x圖2.11信號平滑圖2.11信號平滑12)滑動平均

MATLAB程序:

n=0:100;

s1=cos(2*pi*0.05*n);%低頻信號

s2=cos(2*pi*0.47*n);%高頻信號

x=s1+s2;混合信號

M=input(′濾波器長度=′);

num=ones(1,M);

y=filter(num,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論