《數(shù)字信號處理實驗》課件第2章_第1頁
《數(shù)字信號處理實驗》課件第2章_第2頁
《數(shù)字信號處理實驗》課件第2章_第3頁
《數(shù)字信號處理實驗》課件第2章_第4頁
《數(shù)字信號處理實驗》課件第2章_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1.1市場與市場營銷1.2我國汽車市場的發(fā)展與現(xiàn)狀復(fù)習(xí)思考題實驗2時域離散信號的產(chǎn)生一、實驗?zāi)康?/p>

(1)了解常用的時域離散信號及其特點。

(2)掌握MATLAB產(chǎn)生常用時域離散信號的方法。二、實驗涉及的MATLAB子函數(shù)

1.axis

功能:限定圖形坐標(biāo)的范圍。

調(diào)用格式:

axis([x1,x2,y1,y2]);在橫坐標(biāo)起點為x1、終點為x2,縱坐標(biāo)起點為y1、終點為y2的范圍內(nèi)作圖。

2.length

功能:取某一變量的長度(采樣點數(shù))。

調(diào)用格式:

N=length(n);取變量n的采樣點個數(shù),賦給變量N。

3.real

功能:取某一復(fù)數(shù)的實部。

調(diào)用格式:

real(h);取復(fù)數(shù)h的實部。

x=real(h);取復(fù)數(shù)h的實部,賦給變量x。

4.imag

功能:取某一復(fù)數(shù)的虛部。

調(diào)用格式:

imag(h);取復(fù)數(shù)h的虛部。

y=imag(h);取復(fù)數(shù)h的虛部,賦給變量y。

5.sawtooth

功能:產(chǎn)生鋸齒波或三角波。

調(diào)用格式:

x=sawtooth(t);類似于sin(t),產(chǎn)生周期為2p,幅值從-1到+1的鋸齒波。

x=sawtooth(t,width);產(chǎn)生三角波,其中width(0<width≤1,為標(biāo)量)用于確定最大值的位置。當(dāng)width=0.5時,可產(chǎn)生一對稱的標(biāo)準三角波;當(dāng)width=1時,將產(chǎn)生鋸齒波。

6.square

功能:產(chǎn)生矩形波。

調(diào)用格式:

x=square(t);類似于sin(t),產(chǎn)生周期為2p,幅值為±1的方波。

x=square(t,duty);產(chǎn)生指定周期的矩形波,其中duty用于指定脈沖寬度與整個周期的比例。

7.sinc

功能:產(chǎn)生sinc函數(shù)波形。

調(diào)用格式:

x=sinc(t);可用于計算下列函數(shù):

這個函數(shù)是寬度為2p,幅度為1的矩形脈沖的連續(xù)逆傅里葉變換,即

8.diric

功能:產(chǎn)生dirichlet或周期sinc函數(shù)。

調(diào)用格式:

y=diric(x,n);式中,n必須為正整數(shù),y為相應(yīng)的x元素的dirichlet函數(shù),即

dirichlet函數(shù)是周期信號,當(dāng)n為奇數(shù)時,周期為2p;當(dāng)n為偶數(shù)時,周期為4p。

9.rand

功能:產(chǎn)生rand隨機信號。

調(diào)用格式:

x=rand(n,m);用于產(chǎn)生一組具有n行m列的隨機信號。三、實驗原理

1.時域離散信號的概念

在時間軸的離散點上取值的信號,稱為離散時間信號。通常,離散時間信號用x(n)表示,其幅度可以在某一范圍內(nèi)連續(xù)取值。

由于信號處理所使用的設(shè)備和裝置主要是計算機或?qū)S玫男盘柼幚硇酒?,均以有限的位?shù)來表示信號的幅度,因此,信號的幅度也必須“量化”,即取離散值。我們把時間和幅度上均取離散值的信號稱為時域離散信號或數(shù)字信號。在MATLAB語言中,時域的離散信號可以通過編寫程序直接生成,也可以通過對連續(xù)信號等間隔抽樣獲得。

另外,抽樣得到的離散信號只有在一定的抽樣條件下,才能反映原連續(xù)時間信號的基本特征。這個問題留待實驗15再進行詳細的研究。本實驗均選用滿足抽樣條件的樣點數(shù)值。

2.用MATLAB生成離散信號須注意的問題

1)有關(guān)數(shù)組與下標(biāo)

MATLAB中處理的數(shù)組,將下標(biāo)放在變量后面的小擴號內(nèi),且約定從1開始遞增。例如x=[5,4,3,2,1,0],表示x(1)=5,x(2)=4,x(3)=3,x(4)=2,x(5)=1,x(6)=0。

要表示一個下標(biāo)不由1開始的數(shù)組x(n),一般應(yīng)采用兩個矢量,如:

n=[-3:5];

x=[1,-1,3,2,0,-2,-1,2,1];

這表示了一個含9個采樣點的矢量。n為一組時間矢量,對應(yīng)x有:x(-3)=1,x(-2)=-1,x(-1)=3,…,x(5)=1,如圖2-1所示。

圖2-1基本的離散時間序列

2)信號的圖形繪制

從本質(zhì)上講,MATLAB及其任何計算機語言處理的信號都是離散信號。當(dāng)我們把信號的樣點值取得足夠密,作圖時采用特殊的指令,就可以把信號處理成連續(xù)信號。

在MATLAB中,離散信號與連續(xù)信號有時在程序編寫上是一致的,只是在作圖時選用不同的繪圖函數(shù)。

連續(xù)信號作圖使用plot函數(shù),繪制線性圖;離散信號作圖則使用stem函數(shù),繪制脈沖桿圖。

3.常用的時域離散信號及其程序

常用的時域離散信號主要有單位抽樣序列、單位階躍序列、實指數(shù)序列、復(fù)指數(shù)序列、正(余)弦序列、鋸齒波序列、矩形波序列以及隨機序列等典型信號。

有些信號的生成方法不止一種,下面對常用的時域離散信號進行介紹。

1)單位抽樣序列

單位抽樣序列的表示式為

下面的例2-1、例2-2介紹了兩種不同的產(chǎn)生d(n)信號的方法。d(n-k)的求解在實驗3中討論。

例2-1

用MATLAB的關(guān)系運算式來產(chǎn)生單位抽樣序列d(n)。

MATLAB程序如下:

n1=-5;n2=5;n0=0;%在起點為n1、終點為n2的范圍內(nèi),于n0處產(chǎn)生沖激

n=n1:n2;%生成離散信號的時間序列

x=[n==n0];%生成離散信號x(n)

stem(n,x,¢filled¢);%繪制脈沖桿圖,且圓點處用實心圓表示

axis([n1,n2,0,1.1*max(x)]);%確定橫坐標(biāo)和縱坐標(biāo)的取值范圍

title(¢單位脈沖序列¢);

xlabel(¢時間(n)¢);ylabel(¢幅度x(n)¢);

運行結(jié)果如圖2-2所示。

圖2-2例2-1、例2-2生成的d(n)

例2-2

用zeros函數(shù)和抽樣點直接賦值來產(chǎn)生單位抽樣序列d(n)。

MATLAB程序如下(運行結(jié)果同圖2-2):

n1=-5;n2=5;k=0;%位移為k

n=n1:n2;

nt=length(n);%求樣點n的個數(shù)

nk=abs(k-n1)+1;%確定k在n序列中的位置

x=zeros(1,nt);%對所有樣點置0

x(nk)=1;%對抽樣點置1

下面作圖部分的程序同例2-1。2)單位階躍序列

單位階躍序列的表示式為

下面用兩種不同的方法產(chǎn)生單位階躍序列u(n)。u(n-k)的求解在實驗3中討論。

例2-3

用MATLAB的關(guān)系運算式來產(chǎn)生單位階躍序列u(n)。

MATLAB程序如下:

n1=-2;n2=8;n0=0;

n=n1:n2; %生成離散信號的時間序列

x=[n>=n0]; %生成離散信號x(n)

stem(n,x,¢filled¢);

axis([n1,n2,0,1.1*max(x)]);

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

xlabel(¢時間(n)¢);ylabel(¢幅度x(n)¢);

運行結(jié)果如圖2-3所示。

圖2-3例2-3、例2-4生成的u(n)

例2-4

用zeros和ones函數(shù)來產(chǎn)生單位階躍序列u(n)。

MATLAB程序如下(運行結(jié)果同圖2-3):

n1=-2;n2=8;k=0;

n=n1:n2;

nt=length(n);%求樣點n的個數(shù)

nk=abs(k-n1)+1;%確定k在n序列中的位置

%生成離散信號x(n)。對前nk-1點置0,從nk點至n2點置1

x=[zeros(1,nk-1),ones(1,nt-nk+1)];

下面作圖部分的程序同例2-3。

3)實指數(shù)序列

實指數(shù)序列的表示式為

x(n)=an

其中a為實數(shù)

當(dāng)|a|<1時,x(n)的幅度隨n的增大而減小,序列逐漸收斂;當(dāng)|a|>1時,x(n)的幅度隨n的增大而增大,序列逐漸發(fā)散。

例2-5

編寫產(chǎn)生a=1/2和a=2實指數(shù)連續(xù)信號和離散序列的程序。

MATLAB程序如下:

n1=-10;n2=10;a1=0.5;a2=2;

na1=n1:0;x1=a1.^na1;

na2=0:n2;x2=a2.^na2;

subplot(2,2,1),plot(na1,x1);

title(¢實指數(shù)原信號(a<1)¢);

subplot(2,2,3),stem(na1,x1,¢filled¢);

title(¢實指數(shù)序列(a<1)¢);

subplot(2,2,2),plot(na2,x2);

title(¢實指數(shù)原信號(a>1)¢);

subplot(2,2,4),stem(na2,x2,¢filled¢);

title(¢實指數(shù)序列(a>1)¢);

運行結(jié)果如圖2-4所示。圖2-4例2-5生成|a|<1和|a|>1的實指數(shù)連續(xù)信號與離散序列

4)復(fù)指數(shù)序列

復(fù)指數(shù)序列的表示式為

當(dāng)w=0時,x(n)為實指數(shù)序列;當(dāng)s=0時,x(n)為虛指數(shù)序列,即

ejwn=cos(wn)+jsin(wn)

由上式可知,其實部為余弦序列,虛部為正弦序列。

例2-6

編寫產(chǎn)生s=-0.1、w=0.6復(fù)指數(shù)連續(xù)信號與離散序列的程序。

MATLAB程序如下:

n1=30;a=-0.1;w=0.6;

n=0:n1;

x=exp((a+j*w)*n);

subplot(2,2,1),plot(n,real(x));

title(¢復(fù)指數(shù)原信號的實部¢);

subplot(2,2,3),stem(n,real(x),¢filled¢);

title(¢復(fù)指數(shù)序列的實部¢);

subplot(2,2,2),plot(n,imag(x));

title(¢復(fù)指數(shù)原信號的虛部¢);

subplot(2,2,4),stem(n,imag(x),¢filled¢);

title(¢復(fù)指數(shù)序列的虛部¢);

運行結(jié)果如圖2-5所示。

圖2-5例2-6復(fù)指數(shù)連續(xù)信號與離散序列的實部和虛部

5)正(余)弦序列

正(余)弦序列的表示式為

x(n)=Umsin(w0n+q)

連續(xù)時間信號與離散時間信號的聯(lián)系可由下例程序清楚地反映出來。

例2-7

已知一時域周期性正弦信號的頻率為1Hz,振幅值幅度為1V。在窗口上顯示2個周期的信號波形,并對該信號的一個周期進行32點采樣獲得離散信號。試顯示原連續(xù)信號和其采樣獲得的離散信號波形。

MATLAB程序如下:

f=1;Um=1;nt=2;;%輸入信號頻率、振幅和 顯示周期數(shù)

N=32;T=1/f; %N為信號一個周期的采樣 點數(shù),T為信號周期

dt=T/N; %采樣時間間隔

n=0:nt*N-1;%建立離散信號的時間序列

tn=n*dt; %確定時間序列樣點在時間軸上的位 置

x=Um*sin(2*f*pi*tn);

subplot(2,1,1);plot(tn,x);%顯示原連續(xù)信號

axis([0nt*T1.1*min(x)1.1*max(x)]);%限定橫坐標(biāo)和 縱坐標(biāo)的顯示范圍

ylabel(¢x(t)¢);

subplot(2,1,2);stem(tn,x);%顯示經(jīng)采樣的信號

axis([0nt*T1.1*min(x)1.1*max(x)]);

ylabel(¢x(n)¢);

結(jié)果如圖2-6所示。

圖2-6時域連續(xù)的正弦信號與經(jīng)采樣獲得的離散序列

6)鋸齒波(三角波)序列

將sawtooth表示式中的t轉(zhuǎn)換成n,且n取整數(shù),則可以獲得鋸齒波或三角波序列。

例2-8

一個連續(xù)的周期性鋸齒波信號頻率為10Hz,信號幅度在-1V到+1V之間,在窗口上顯示3個周期的信號波形,用FS=150Hz的頻率對連續(xù)信號進行采樣。試顯示原連續(xù)信號和其采樣獲得的離散信號波形。

MATLAB程序如下:

f=10;Um=1;nt=3;%輸入信號頻率、振幅和 顯示周期個數(shù)

Fs=150;N=Fs/f; %輸入采樣頻率,求采樣點數(shù)N

T=1/f; %T為信號的周期

dt=T/N; %采樣時間間隔

n=0:nt*N-1; %建立離散信號的時間序列

tn=n*dt;%確定時間序列樣點在時間軸上的位置

x=Um*sawtooth(2*f*pi*tn); %產(chǎn)生時域信號

作圖部分的程序參考例2-7。

結(jié)果如圖2-7所示。

注意:直接用sawtooth子函數(shù)產(chǎn)生的信號波形,其幅度在-1~+1之間,因此本例在程序上不用做任何處理。

圖2-7周期性鋸齒波信號與其經(jīng)采樣獲得的離散序列

7)矩形波序列

將square表示式中的t轉(zhuǎn)換成n,且n取整數(shù),則可以獲得矩形信號序列。

例2-9

一個連續(xù)的周期性矩形波信號頻率為5kHz,信號幅度在0~2V之間,脈沖寬度與周期的比例為1∶4,且要求在窗口上顯示其2個周期的信號波形,并對信號的一個周期進行16點采樣來獲得離散信號。試顯示原連續(xù)信號和其采樣獲得的離散信號波形。

MATLAB程序如下:

f=5000;nt=2;

N=16;T=1/f;

dt=T/N;

n=0:nt*N-1;

tn=n*dt;

x=square(2*f*pi*tn,25)+1;%產(chǎn)生時域信號,且幅 度在0~2V之間

作圖部分的程序參考例2-7。

結(jié)果如圖2-8所示。

注意:直接用square子函數(shù)產(chǎn)生的信號波形,其幅度在-1~+1之間。為使信號幅度改變?yōu)?~2V之間,在程序上做了處理。

圖2-8周期性矩形波信號與其經(jīng)采樣獲得的離散序列

8)sinc函數(shù)

將sinc表示式中的t轉(zhuǎn)換成n,且n取整數(shù),則可以獲得sinc信號序列。

例2-10

MATLAB程序如下:

n=-20:20

f=sinc(n/4);

subplot(2,1,1),plot(n,f);

subplot(2,1,2),stem(n,f);

結(jié)果如圖2-10所示。

9)diric函數(shù)

例2-11

求n分別為7和8時的diric函數(shù)曲線。

MATLAB程序如下:

n1=7;n2=8;

x=[0:1/pi:4*pi];

y1=diric(x,n1);

y2=diric(x,n2);

subplot(2,2,1),plot(x,y1,¢k¢);

subplot(2,2,2),stem(x,y1,¢k¢);

subplot(2,2,3),plot(x,y2,¢k¢);

subplot(2,2,4),stem(x,y2,¢k¢);

結(jié)果如圖2-10所示。

圖2-10n分別為奇數(shù)(7)和偶數(shù)(8)時,diric函數(shù)曲線及其離散序列

10)rand函數(shù)

在實際系統(tǒng)的研究和處理中,常常需要產(chǎn)生隨機信號。MATLAB提供的rand函數(shù)可以為我們生成隨機信號。

例2-12

試生成一組41點構(gòu)成的連續(xù)隨機信號和與之相應(yīng)的隨機序列。

MATLAB程序如下:

tn=0:4

溫馨提示

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

評論

0/150

提交評論