訊號與系統實驗二總結報告

2021-03-04 05:15:49 字數 3574 閱讀 8354

實驗二離散時間訊號的時域分析

0900210308 陳文鑫

1.實驗目的

(1)學習matlab軟體及其在訊號處理中的應用,加深對常用離散時間訊號的理解。

(2)利用matlab產生常見離散時間訊號及其圖形的顯示,進行單運算。

(3)熟悉matlab對離散訊號的處理及其應用。

2.實驗原理

(1) 離散訊號的表示:在matlab中,可以用向量(陣列)來表示有限長序列,不過這樣的向量並沒有包含樣本位置的資訊,因此,需要用兩個向量(陣列)來表示乙個有限長序列,其中乙個向量表示序列的值,稱為樣本向量;另乙個向量表示樣本的位置(即序列的序號),稱為位置向量。比如序列在matlab中需要用以下兩個向量來表示:

n = [-2,-1,0,1,2,3]; x = [2,1,-1,5,2]; 其中向量n表示序號,向量x表示序列的值。

當不需要樣本位置資訊或者序列從n = 0 開始時,可以只用樣本向量表示。另外由於記憶體的限制,matlab無法表示無限長序列。

(2) 離散訊號的基本運算

訊號相加:序列相加是對應樣本相加,如果兩序列長度不等或者位置向量不同,則不能用算數運算子「+」直接實現相加,必須對位置向量和長度統一處理後再相加。以下m函式可以實現任意兩序列的相加運算:

function [y, n] = sigadd(f1,n1,f2,n2)

% [y n] = sigadd(f1,n1,f2,n2),add two sequences.

% inputs:

% f1 ---- the first sequence

% n1 ---- index vector of f1

% f2 ---- the second sequence

% n2 ---- index vector of f2

% outputs:

% y ---- the output sequence

% n ---- index vector of y

n = min(n1(1),n2(1)):max(n1(end),n2(end)); % index vector of y(n)

y1 = zeros(1,length(n)); y2 = y1initialization

y1(n >= n1(1) & n <= n1(end)) = f1;

y2(n >= n2(1) & n <= n2(end)) = f2;

y = y1 + y2;

序列的移位:序列移位後,樣本向量沒有變化,只是位置向量變了。任意序列的移位可以用以下的m函式實現:

function [y,n] = sigshift(x,m,n0)

% [y,n] = sigshift(x,m,n0),result of y = x(n-n0);

% inputs:

% x ---- sequence to be shifted

% m ---- the index vector of x

% n0 --- shift amount

% outputs:

% y ---- the output sequence

% n ---- the index vector of y

y = x;

n = m + n0;

序列的反折:序列反折後,樣本向量倒置,位置向量倒置且變號。以下函式可以實現序列的反折運算:

function [y,n] = sigfold(x,m)

% [y,n] = sigfold(x,n),result of y(n) = x(-n);

% inputs:

% x ---- sequence to be folded

% m ---- the index vector of x

% outputs:

% y ---- the output sequence

% n ---- the index vector of y

y = fliplr(x);

n = -fliplr(m);

(3) 系統零狀態響應的求解

系統零狀態響應表示為,在matlab中,零狀態響應的求解可以用兩種方法實現:

求出單位樣值響應h(n),然後計算卷積和。

首先用函式impz求出系統的單位樣值響應,其呼叫格式為:

其中,h 是單位樣值響應的樣本序列,n是其位置向量;b、a分別是差分方程右邊和左邊的係數向量,n可以是單位樣值響應的樣本個數,此時 n = [0,1,2,…,n-1];n 也可以是乙個向量,用來指定所求的樣本的位置,此時 n = n。

其次,用函式conv計算卷積和,其呼叫格式為:

其中,x,h為做卷積和的兩個序列,y是卷積的結果。

用函式filter直接求系統的零狀態響應,其呼叫格式為:

其中,x是輸入序列,y是與x等長的輸出序列,b、a分別為差分方程右邊和左邊的係數向量。

實驗內容:

1. 產生單位階躍訊號 (用ones 函式)

n=0:30;

>> u=[ones(1,10) 1 ones(1,20)];

stem(n,u);

axis([0 30 0 1.2]);

2. 產生指數序列 x(n)等於2乘以負一的n次方再乘以e的n次方

clf;

n=0:0.5:5;

a=-exp(1);

k=2;

x=a.^(n)*k;

stem(n,x);

xlabel('time index n');

ylabel('amplitude');

axis([0 5 -100 100]);

3. 產生乙個週期正弦函式

n=0:40;

f=0.1;

phase=0;

a=1.5;

arg =2*pi*f*n-phase;

x=a*cos(arg);

clf;

stem(n,x);

axis([0 40 -2 2]);

grid on;

title('sinusoidal sequence');

xlabel('tine index in');

ylabel('amplitude');

axis;

4. n1=-4:2; x=[-4,5,1-2,-3,0,2];

n2=-5:1; y=[6,-3,-1,0,8,7,-2];

n=-5:4;

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

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

y1=[y zeros(1,10-length(n2))];

y2=x[2]*y[1];

subplot(3,1,1);stem(n,x2);

subplot(3,1,2);stem(n,y1);

subplot(3,1,3);stem(n,y[2]);

實驗總結:

通過本次試驗進一步熟悉了matlab的操作,熟悉了m檔案的編寫及呼叫;學習了matlab軟體及其在訊號處理中的應用,加深對常用離散時間訊號的理解。

學會了利用matlab產生常見離散時間訊號及其圖形的顯示,進行單運算;通過軟體的操作驗證理論學習的知識,加強了自己動手鍛鍊的能力。

訊號與系統實驗報告二

南昌大學實驗報告 訊號與系統 學生姓名 周倩文學號 6301712010 專業班級 通訊121班實驗型別 驗證 綜合 設計 創新實驗日期 2014年3月28日實驗成績 實驗二連續系統的時域分析 一 實驗名稱 連續系統的時域分析 二 實驗目的 用matlab表示和分析連續訊號和線性時不變 lti 連續...

訊號與系統實驗matlab報告

本科實驗報告 課程名稱 訊號與系統實驗 學院 系 電信學部 專業 電子 班級 學號 姓名 1.掌握週期訊號的傅利葉級數展開 2.掌握週期訊號的有限項傅利葉級數逼近 3.掌握週期訊號的頻譜分析 4.掌握連續非週期訊號的傅利葉變換 5.掌握傅利葉變換的性質 t 3 0.01 3 n0 3 n1 1 t0...

訊號與系統實驗報告

實驗報告樣板 王寶忠編寫 適用專業 通訊工程 電子資訊工程 電子資訊科學與技術 其他電類專業 江蘇科技大學電子資訊學院 二零零六年七月 實驗學時 2學時 實驗型別 驗證 實驗要求 必修 一 實驗目的 1 研究動態網路的階躍響應。2 驗證卷積積分。二 實驗內容 1 觀察衝激訊號和階躍訊號的關係。2 觀...