序列的matlab實(shí)現(xiàn)樣本_第1頁
序列的matlab實(shí)現(xiàn)樣本_第2頁
序列的matlab實(shí)現(xiàn)樣本_第3頁
序列的matlab實(shí)現(xiàn)樣本_第4頁
序列的matlab實(shí)現(xiàn)樣本_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

離散信號(hào)時(shí)域分析的MATLAB實(shí)現(xiàn)—、實(shí)驗(yàn)?zāi)康氖煜ATLAB編程方法、常用語句和可視化繪圖技術(shù);掌握序列時(shí)域運(yùn)算的MATLAB編程方法。二、實(shí)驗(yàn)原理在用MATLAB表示離散信號(hào)并將其可視化時(shí),由于矩陣元素個(gè)數(shù)是有限的,因此無法表示無限長(zhǎng)序列;另外,離散信號(hào)無法進(jìn)行符號(hào)運(yùn)算。在MATLAB中,繪制離散序列波形圖的專用命令為stem()。其格式有:stem(k,f)在圖形窗11中,繪制出樣值頂部為空心圓的序列Rk)波形圖。stem(虬在圖形窗11中,繪制出樣值頂部為實(shí)心圓的序列Rk)波形圖。下面介紹離散序列的MATLAB表示、基本運(yùn)算(相加、相乘、平移、反轉(zhuǎn)、尺度變換)、卷積和的實(shí)現(xiàn)及其圖形顯示方法。單位序列邳)單位序列的定義:必)=a必)=ak=o

[0,k手0卜.面為繪制&k?k。)波形圖的子程序:functionimpseq(kl.k2,k0)%單位序列5(k?k0),k0為時(shí)移量

k=kl:k2;%kl,k2為序列的起止序列號(hào)k=kl:k2;%kl,k2為序列的起止序列號(hào)x=zeros(l,n);x(LkO-kl+l)=l; %在kO時(shí)刻信號(hào)賦值為1圖11-1stem(k.x/fiir)圖11-1axis([kljk2,O,l』Dtitle(,單位序列d(k?kO)')輸入如下命令,則可獲得單位序列3A.3)的波形圖,如圖11-1所示。impseq(?l,5,3)單位階躍序列加單位序列的定義:*)=卜.面為繪制4k?k。)波形圖的MATLAB子程序。functionstepseq(kl.k2,k0)%單位階躍序列,kO為時(shí)移雖k=kl:kO-l;%kljc2為序列的起止序列號(hào)kk=length(k);x=zeros(l,kk);%k0前信號(hào)賦值為0stem(k.x;fiir) %繪出kl-kO-1的波形(0值)holdon圖11-2n=k0:k2;圖11-2im=length(n);x=ones(14m);%kO后信號(hào)賦值為1steni(n5x;fiir)%繪出kO?k2的波形(1值)holdoffaxis([kl,k2.0J.l])title(,單位階躍序列)運(yùn)行如下命令,則可獲得單位序列El?3)的波形圖,如圖11-2所示。stepseq(-1,10,3)序列的相加(減1相乘運(yùn)算對(duì)序列向量/i(k).歸k)相加或相乘,可以通過補(bǔ)零的方式使/;?)、人(k)成為具有相同維數(shù)的序列向量s】(k)、5z(k),然后對(duì)Si(k)、s?(k)相加或相乘。因此,序列向量/l(k)、技k)的維數(shù)可以不同。以下函數(shù)可實(shí)現(xiàn)序列向量/l(k)、人㈤的相加或相乘運(yùn)算。function[£k]=sigadd(fl.kl,f2,k2)%實(shí)現(xiàn)序列fl.f2的相加,相減,相乘,可據(jù)實(shí)際需要作選擇%fl,kl;f2,k2是參加運(yùn)算的序列向量及其時(shí)間向量%f.k作為返回的和(差,積)序列及其時(shí)間向量%將fhf2轉(zhuǎn)換成等長(zhǎng)序列sl.s2k=niui(mm(kl)4nui(k2)):max(niax(kl)aiiax(k2));s1=zeros(1Jength(k));s2=s1;%初始化序列s1(find((k>=min(k1))&(k<=max(k1))=l))=fl;s2(find((k>=min(k2))&(k<=max(k2))==1))=f2;仁sl+s2; %序列相加%f=sl-s2;%序列相減

%f=sl.*s2;%序列相乘stem(k.f;fiir)axis([(min(min(kl),min(k2))?l),(niax(max(kl),max(k2))+l),(mm(f)-0.5),(max(f)-0.5)])例IE.己知序列.座編寫M文件求心i必。解:運(yùn)行如下M文件,可實(shí)現(xiàn).1妁,結(jié)果如圖11.1所示。kl=-l:3;fl=[.32312];k2=-l:l;kk=length(k2);f2=ones(Lkk);subplot(2,2J);stem(kl,f1 (k)f);subplot(2,2,2);stem(k2,f2,,filT);title(12(k));subplot(2,2,3);[f,k]=sigadd(fljkl,f2,k2);title(fl(k)+f2(k),)若要實(shí)現(xiàn)序列/i(k)、K(k)的相乘或相減運(yùn)算,只需將xlyunxuan(fl,kLf2,k2)子程序中的相乘或相減語句設(shè)置為有效即可O序列的平移、反轉(zhuǎn)(1)序列的平移序列的平移可以看作是將序列的時(shí)間序號(hào)向量平移,而對(duì)應(yīng)原時(shí)間序號(hào)的序列樣值不變。要將序列左移燈個(gè)單位時(shí),則將時(shí)間序號(hào)向量都減小加個(gè)單位;若要右移加個(gè)單位時(shí),則將時(shí)間序號(hào)向量都增大加個(gè)單位。實(shí)現(xiàn)序列平移的子函數(shù)如下:fiinction[x,n]=sigshift(f,k.kO) %實(shí)現(xiàn)序列平移:x(k)=Rk-kO)

n=k+2;x=f;subplot(1,2,1);stem(k,f,'fiir);title('f(k)');xlabel(k');subplot(1,2,2);stem(n,x/fiir);title(,f(k-kO),);xlabel(rkt);例11?2.己知指數(shù)序列愁,繪出川.2)的波形圖。圖11-2解:運(yùn)行如下M文件,可得如圖11.2所示的結(jié)果。圖11-2k=0:5;仁(0.5).八k; %定義序列f(k)[x,k]=sigshift(f,k,2) %調(diào)用平移子函數(shù)(2)序列的反轉(zhuǎn)序列的反轉(zhuǎn)可用MATLAB中的fliplr函數(shù)實(shí)現(xiàn)。以下是實(shí)現(xiàn)序列反轉(zhuǎn)及其結(jié)果可視化的函數(shù)。function[xji]=sigfbld(fk) %實(shí)現(xiàn)序列反轉(zhuǎn):x(k)-f(.k)x=fliplr(f);n=-flipk(k);subplot(1,2,1);stem(k.f/fiir);titlef^k)');xlabel(k);subplot。,2,2);stem(n,x/fiir);title(rf(-k)t);xlabel(,k,);序列的卷積運(yùn)算序列萬(k)、人(k)的卷枳和運(yùn)算Rk)=/l(k)杉(k),可由MATLAB的conv()函數(shù)實(shí)現(xiàn),調(diào)用格式為:f=conv(fhf2)如:已知序列:—如:已知序列:—,-,運(yùn)行如下M文件可求其卷枳和:kl=-2:2;fl=ones(ljength(k1));k2=0:3;f2=2.Ak2;f=conv(fhf2)結(jié)果為:f=1 3 7 15 15 14 12 8可見,conv()函數(shù)不需要給定/業(yè))、人(k)的非零樣值的時(shí)間序號(hào),也不返回卷積和序列Ak)的時(shí)間序號(hào);此外,conv()假定/i(k)、人(k)都是從k=0開始,這就限制了它的應(yīng)用范I乳因此,要對(duì)從任意k值開始的序列進(jìn)行卷積和運(yùn)算,同時(shí)正確標(biāo)識(shí)出函數(shù)conv()的計(jì)算結(jié)果各量/,還須構(gòu)造序列/l(k)、人(k)和/(k)的對(duì)應(yīng)序號(hào)向量。下面是求序列/l(k)、人(k)卷積和的實(shí)用函數(shù)dconv(),它可■實(shí)現(xiàn)序號(hào)向量的返回。fiinctioii[f.k]=dconv(fl.kl,f2,k2)%求卷積和:f(k)=fl(k)*f2(k)f=conv(flSI)k0=kl(l)+k2(l); %計(jì)算序列f非零樣值的起點(diǎn)位置kOk3=length(kl)+leiigth(k2)-2; %計(jì)算序列f非零樣值的寬度k=k0:k0+k3; %確定序列f非零樣值的序號(hào)向量subplot(2,2,l);stem(kl,fl「fHr);title(Tl(k),);xlabel(k);subplot(2,2,2);stem(k2,f2.'fiir);title(,f2(k)');xlabel('k');subplot(2,2,3);stem(k.f.'fiir);title('f(k)=fl(k)*f2(k),);xlabel('k');

h=get(gca,'position');h(3)=2.5*h(3);set(gca/position\h)例11-3.己知序歹U: 孑七,二'求其卷稅和。圖11-3解:運(yùn)行如下M文件圖11-3kl=-2:2;fl=0.5.*kl;%定義序列fl(k)k2=0:3;f2=2.'、k2;%定義序列f2(k)[f,k]=dconv(fl,kl,f2,k2);%求卷積和圖形結(jié)果則如圖11?3所示,文本結(jié)果如下:Columns1tluough64.0000-1.0000 -2.5000 -5.0000 -9.5000 -2.00004.0000Columns7tluough88.0000 8.0000離散信號(hào)相關(guān)函數(shù)的計(jì)算在數(shù)字信號(hào)處理中,廣泛用到信號(hào)的相關(guān)運(yùn)算。兩個(gè)序列的互相關(guān)用來度量這兩個(gè)序列的相似程度。給定兩個(gè)長(zhǎng)度相同、能量受限的序列x(k)和y(k),它們的互相關(guān)函數(shù)是另一個(gè)序列,定義為:

其中,〃稱為滯后參數(shù)。當(dāng)x(k)=y(k)時(shí),稱為x(k)的自相關(guān)函數(shù),它提供了序列位置不同基準(zhǔn)情況下自相似程度的度量。由于信號(hào)的自相關(guān)函數(shù)與信號(hào)的功率譜密度是一對(duì)傅里葉變換對(duì),這為信號(hào)的功率譜計(jì)算提供了另一重要途徑。由互相關(guān)的定義式可知,x(k)和y(k)的互相關(guān)函數(shù)可以由序列x(n)和y(-n)的卷枳和求得,實(shí)現(xiàn)互相關(guān)函數(shù)correlation(x,kl,y,k2)運(yùn)算的程序如下:function[Rxy.n]=conelation(x,kl5yk2)[y0,k0]=sigfold(y,k2);%y(k)反轉(zhuǎn),生成y(-k)[Rxy,n]=dcouv(x,kl,yO,kO);holdoffsubplot(3,l,l);stem(kl,x,'fill');xlabel(k');ylabel(x(k));subplot?!?2);steni(k2,y,fir);xlabel(k);ylabel(T(k));subplot(3,l,3);stemQLRxy.'flll');xlabel(,n');ylabel(Rxy(n)');例114設(shè)一必)=0235上3馬為原型序列,y(k)為x(k)加入噪聲干擾并移位后的序列:y(k)=x(k-1)+w(k)其中,w(k)為具有零均值和單位方差的高斯序列。計(jì)算序列y(k)和x(k)的互相關(guān)。解:運(yùn)行如下M文件,可得如圖11.4的結(jié)果。kl=?3:3;x=[2351-13!];%生成x(k)[y2.k2]=sigsluft(x,kl,1);%生成x(k-l)w=randn(Llength(y2));%模擬噪聲信號(hào)w(k)

kw=k2;[y,k]=sigadd(y2,k2,w,kw);%生成y(k)-x(k.1)+w(k)[Rxyai]=conelation(x,k1,y,k)%互相關(guān)運(yùn)算三.實(shí)驗(yàn)內(nèi)容與步驟1.編寫1.編寫M文件,繪制復(fù)指數(shù)序列在二^2<范圍內(nèi)町)的實(shí)部、虛部、模值和相角的波形圖。已知序列人伙)如圖H.5(A)所示,編寫M文件,繪出如下序列的波形:(1)/;(■奸2),(2)亍02同.1)。己知序列h(k)、Rk)如圖11-5所示,編寫M文件,求離散卷積和方的湖,并繪出其波形。4-編寫M文件,求如圖11-5所示序列/!(燈、技k)的互相關(guān)函數(shù)。(b)(b)圖11-5四.實(shí)驗(yàn)報(bào)告要求列出M文件和運(yùn)行結(jié)果??偨Y(jié)運(yùn)用函數(shù)stem、conv、fliplr以及相關(guān)子函數(shù)等進(jìn)行序列表示、運(yùn)算(相加、相乘、平移、反轉(zhuǎn)、卷積和、相關(guān))和可視化的實(shí)現(xiàn)方法。連續(xù)信號(hào)又稱為模擬信號(hào),其信號(hào)存在于整個(gè)時(shí)間范I韋I內(nèi),包括單位沖激信號(hào),單位階躍信號(hào),斜坡信號(hào),實(shí)指數(shù)信號(hào),正弦信號(hào),指數(shù)調(diào)制正弦信號(hào),等等。以下我們將這幾種常見的連續(xù)信號(hào)用MATLAB實(shí)現(xiàn)。1、單位沖激信號(hào)【例1】t=l/A=l/50M,單位脈沖8(t)的MATLAB實(shí)現(xiàn)程序如下:cleai-alltl=-0.5:0.001:l;K=3;nl=length(tl);u=zeios(Lnl);t2=-0.5:0.001:0;n2=length(t2);u(n2)=K;plot(tl.u)2、任意函數(shù)【例2]脈沖序列:f(n)=0.48(n-2)+0.86(n-l)+1.26(n)+1.56(n+l)+l.08(11+2)+0.76(11+3),其MATLAB實(shí)現(xiàn)程序如下:clearallt=-2:l:3;N=length(t);x=zeios(l,N);x(l)=0.4;x(2)=0.8;x(3)=1.2;x(4)=1.5;x(5)=1.0;x(6)=0.7;stem(t.x)axis([-2.23.201.7])3、 單位階躍函數(shù)【例3】單位階躍函數(shù)的MATLAB實(shí)現(xiàn)程序:clearallt=-2:0.001:3;t0=0;u=stepfun(tjO);plot(t,u)axis?4-0.21.2])4、 斜坡函數(shù)【例4】斜坡函數(shù):g(t)=3(t-l),其MATLAB實(shí)現(xiàn)程序如下:clearallt=0:0.001:3;B=3;to=l;u=stepfun(t,tO);n=length(t);fbri=l:nu(i>B*u(i)*(t(i)-tO);endplot(t,u)axis([-0.23.1-0.26.2])5、實(shí)指數(shù)函數(shù)【例5】實(shí)指數(shù)函數(shù):f(t)=3exp(0.5t),其實(shí)現(xiàn)程序:clearallt=0:0.001:3;B=3;A=3;a=0.5;u=A*exp(a*t);plot(t

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論