MATLAB實踐課題說明

2021-07-27 05:18:25 字數 3180 閱讀 6835

指導教師:

計算機與電子資訊工程系09級自動化班

一:課題要求

1) 課題名稱

訊號的基本運算系統

2) 要求

基於matlab語言,建立乙個運算系統

二:課題說明

訊號基本知識

根據訊號的時間連續或離散,通常訊號可以分為連續訊號和離散訊號兩類,連續訊號是指在連續時間範圍內定義的訊號值,訊號的幅值可以是連續數值,也可以是離散數值。當訊號幅值連續時,稱之為模擬訊號。離散訊號是指時間為離散變數的訊號。

它只在離散時間上給出函式值,是時間尚不連續的「序列」。離散時間的間隔是均勻的,通常以t表示,x(nt)表示此離散時間訊號在nt點上的值,但實際應用中一般直接以x(n)表示離散時間訊號。當訊號的幅值也離散化時,則此時的離散訊號又稱為數碼訊號。

訊號的基本運算

在數字訊號處理中,訊號的基本運算包括訊號的延遲,訊號的相加,訊號相乘,訊號的翻褶,及訊號的和與積,訊號的能量等基本運算操作,同時任何一種運算都將產生新的訊號。

三:訊號運算系統的建立

1) 訊號的延遲

給定離散訊號x(n),若訊號y(n)定義為y(n)= x(n-k),那麼, y(n)是訊號x(n)在時間軸上右移3個抽樣週期後得到的新序列。

例為正弦序列y(n)=sin(100n)右移3個抽樣週期後所得的新序列。其matlab實現程式為:

clear all;

n=32;

w=100;

k=3;

x1=zeros(1,k);

xn=0:n-1;

x2=sin(100*xn);

figure(1)

stem(xn,x2)

x=[x1 x2];

%axis([-1 n 1.1 1.1])

n=n+k;

xn=0:n-1;

figure(2)

stem(xn,x)

%axis([-1 n 1.1 1.1])

執行結果

2) 訊號相加

若訊號x(n)=x1(n)+x2(n),那麼訊號x(n)就是訊號x1(n)和x2(n)相加形成的新序列

值得注意的是,當序列x1(n)和x2(n)的長度不等或位置不對應時,首先應使兩序列位置對齊,然後通過zeros函式左右補零使其長度相等後再逐點相加。

其matlab實現程式為:

clear all

n1=0:3;

l1=length(n1);

x1=[2 0.5 0.9 1];

figure(1)

stem(n1,x1)

axis([-1 8 0 2.1])

n2=0:7;

x2=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7];

figure(2)

stem(n2,x2)

axis([-1 8 0 0.8])

n=0:7;

x1=[x1 zeros(1,8-length(n1))];

x2=[zeros(1,8-length(n2)),x2];

x=x1+x2;

figure(3)

stem(n,x)

axis([-1 8 0 2.1])

3) 訊號相乘

訊號相乘是樣本與樣本之間的點乘運算,是指兩訊號對應時間上的相乘,在matlab中可用「.*」來實現,但是在訊號序列相乘之前,應對其做與相加運算一樣的操作,即當序列x1(n)和x2(n)的長度不等或位置不對應時,首先應使兩序列位置對齊,然後通過zeros函式左右補零使其長度相等後再逐點相加。

訊號序列x1(n)和x2(n)相乘所得訊號x(n)的表示式如下:

x(n)= x1(n)x2(n);

其matlab實現程式為:

clear all

n1=0:3;

x1=[2 0.5 0.9 1];

figure(1)

stem(n1,x1)

axis([-1 8 0 2.1])

n2=0:7;

x2=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7];

figure(2)

stem(n2,x2)

axis([-1 8 0 0.8])

n=0:7;

x1=[x1 zeros(1,8-length(n1))];

x2=[zeros(1,8-length(n2)),x2];

x=x1.*x2;

figure(3)

stem(n,x)

axis([-1 8 0 0.35])

4) 訊號的翻褶

序列翻褶的數學描述為:y(n)=x(-n).序列翻褶的matla可由函式fliplr來實現。該函式的功能將行向量左右翻轉,其呼叫格式為:

y= fliplr(x).

其matlab實現程式為:

n=0:10;

x=3*exp(-0.2*n);

y=fliplr(x);

n1=-fliplr(n);

n2=-fliplr(-(n-3));

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

xlabel('n'),ylabel('x(n)');

subplot(2,1,2);stem(n1,y);

xlabel('n'),ylabel('y(n)=x(-n)');

執行結果

5) 訊號能量

訊號按時間函式的可積性,可分為能量訊號、功率訊號。若訊號能量e有限,則稱為能量訊號。 訊號能量的數學定義為:

matlab實現為e=sum(x.*conj(x))或者e=sum(abs(x).^2)

6) 訊號和

對於n點訊號x(n),其和的定義為:

其matlab實現用函式sum。

7) 訊號積

對於n點訊號x(n),其定義為:

其matlab實現用函式prod.

8) 訊號乘以標量

訊號與標量值相乘的表示式如下:

y(n)=c*x(n)

三:實踐設計感想:

通過matlab實踐作業的完成,對已經熟悉的matlab基本知識又做了一次鞏固複習,同時在此基礎上又有了進一步的理解和應用能力的提高;由於實踐要球的難度高於課本和平時的練習,督促我們查閱資料和相關教材,使得自身對於這乙個軟體的使用和駕馭能力有了乙個全新的提高;隨著實踐作業完成及其深入,我對訊號系統的也逐步加深,對訊號基本運算系統的基本理論知識及其在實際應用中的作用和意義有了更進一步的深入了解。

MATLAB程式設計實踐2019

一 實踐目標 回顧複習 科學計算與matlab 課程內容和基本程式設計方法 程式設計實現某一科學計算的演算法,並舉一例應用之和利用matlab自帶函式實現之 程式設計解決科學計算和工程實際問題。二 實踐內容 1.matlab基礎部分內容 完成乙個從檔案 data.txt 中讀取資料,然後做出相關的圖...

數學建模MATLAB暑期實踐報告

暑期實踐報告院系 班級實踐人 時間 8月4日 9月27日 我的暑假有建模陪伴 又是乙個酷熱難耐的暑假,驕傲的太陽俯瞰著大地,幾次零星的小雨絲毫撼不動炎熱的主題。蓊蓊鬱鬱的濟大校園裡有這樣一些行色匆匆的學子,他們忙碌著,早出晚歸 他們埋頭苦幹著,廢寢忘食 他們做著自己的事情,緊張有序 他們默默等待著一...

綜合實踐課題

走進家鄉 大同小學綜合實踐活動方案 學校 大同小學 年級 五年級 研究時間 2014年9月 11月 一 研究背景及意義 家鄉的課程資源獨特而真實,與學生聯絡也密切,是學生進行研究性學習的便利資源。我們青少年應當了解自己家鄉的鄉土文化,從鄉土文化中汲取營養,感受民族魂 鄉土親 骨肉情,從而陶冶情操,立...