數字訊號處理實驗報告

2022-09-02 12:09:04 字數 5496 閱讀 3204

學生姓名:李東瑞

學號:201120204062

學院:資訊工程學院

班級:通訊11-1班

指導教師:宋麗麗

2023年 12月29日

實驗一基本離散訊號的產生

實驗一常見離散訊號的matlab產生和圖形顯示

一、 實驗目的

加深對常用離散訊號的理解;

二、 實驗原理

1. 單位抽樣序列

在matlab中可以用zeros()函式實現。如:x=[1,zeros(1,n-1)];或x=zeros(1,n);x(1)=1;

如果在時間軸上延遲了k個單位,得到即:

2. 單位階躍序列

在matlab中可以利用ones()函式實現。如:x=ones(1,n);

3.正弦序列

在matlab中 n=0:n-1;

x=a*sin(2*pi*f*n/fs+fai);

4.復正弦序列

在matlab中 n=0:n-1;

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

5.實指數序列

在matlab中 n=0:n-1;

x=a*a.^n;

三、實驗內容

1、產生64點的單位抽樣序列,64點並移位20的單位抽樣序列。

2、產生幅度a=3,頻率f=100,出相位=1.2,點數為32點的正弦序列。

3、產生幅度a=3,角頻率w=314,點數為32點的復正弦序列。

4、產生幅度a=3,a=0.7,點數為32點的實指數序列。

四、實驗程式及結果

1、(1)64點的單位抽樣序列

x=[1,zeros(1,63)];

stem(x);

xlabel('n');

ylabel('x');

title('64點的單位抽樣序列');

2、64點並移位20的單位抽樣序列。

n=0:83;

y=[zeros(1,20),1,zeros(1,63)];

stem(n,y)

xlabel('n');

ylabel('y');

title('64點並移位20的單位抽樣序列');

2、正弦序列

n=0:31;

y=3.*sin(2*pi*100*n/3000+68.75);

stem(n,y);

xlabel('n');

ylabel('y');

title('正弦序列');

3、復正弦序列

n=0:31;

y=3.*exp(j*314*n);

stem(n,y);

xlabel('n');

ylabel('y');

title('復正弦序列');

4、實指數序列

n=0:31;

y=3*0.7.^n;

stem(n,y);

xlabel('n');

ylabel('y');

title('實指數序列');

五、實驗心得

1、經過這次實驗,我對matlab有了更深的認識,掌握了這個軟體的一些簡單的應用.

2、經過這次實驗,我掌握了用matlab程式設計產生這幾種序列的方法。

實驗二離散系統的時域分析

實驗二離散系統的時域分析

一、實驗目的

1、熟悉並掌握離散系統的差分方程表示法;

2、加深對衝擊響應和卷積分析方法的理解。

二、實驗原理

離散時間系統

其輸入、輸出關係可用以下差分方程描述:

輸入訊號分解為衝激訊號,

記系統單位衝擊響應

則系統響應為如下的卷積計算式:

當dk=0,k=1,2,···n時,h[n]是有限長度的(n:[0,m]),稱系統為fir系統;反之,稱系統為iir系統。

三、實驗內容

編制程式求下列兩個系統的單位衝擊響應和階躍響應,並會出其圖形。要求分別用filter,conv,impz三種函式完成。

1、2、四、實驗結果

1、用filter函式實現

a=[1 0.75 0.125];

b=[1 -1];

x1=[1 zeros(1,19)];

y1=filter(b,a,x1);

subplot(2,1,1);

stem(y1);grid

title('用filter得到的系統單位衝激響應');

xlabel('x1');

ylabel('y1');

x2=ones(1,20);

y2=filter(b,a,x2);

subplot(2,1,2);

stem(y2);grid

title('用filter得到的系統階躍響應');

xlabel('x2');

ylabel('y2');

用conv函式實現

a=[1 0.75 0.125];

b=[1 -1];

x1=[1, zeros(1,10)];

[h1]=impz(b,a,10);

y1=conv(h1,x1);

subplot(2,1,1);

stem(y1);grid

title('用conv得到的系統單位衝激響應');

xlabel('x1');

ylabel('y1');

a=[1 0.75 0.125];

b=[1 -1];

x2=ones(1,21);

[h2]=impz(b,a,20);

y2=conv(h2,x2);

y3=y2(1:20);

subplot(2,1,2);

stem(y3);grid

title('用conv得到的系統階躍響應');

xlabel('x2');

ylabel('y2');

用impz函式和stepz函式實現

a=[1 0.75 0.125];

b=[1,-1];

y1=impz(b,a,21);

subplot(2,1,1);

stem(y1);grid

title('用impz得到的系統單位衝激');

xlabel('x1');

ylabel('y1');

y2=stepz(b,a,21);

subplot(2,1,2);

stem(y2);grid

title('用stepz得到的系統單位階躍響應');

xlabel('x2');

ylabel('y2');

2、用filter函式實現

a=[1];

b=[0 0.25 0.25 0.25 0.25];

x1=[1, zeros(1,20)];

[h1]=impz(b,a,5);

y1=conv(h1,x1);

subplot(2,1,1);

stem(y1);grid

title('用conv得到的系統單位衝激響應');

xlabel('x1');

ylabel('y1');

a=[1];

b=[0 0.25 0.25 0.25 0.25];

x2=ones(1,25);

[h2]=impz(b,a,5);

y2=conv(h2,x2);

y3=y2(1:25);

subplot(2,1,2);

n1=0:20;

stem(y3);grid

title('用conv得到的系統階躍響應');

xlabel('x2');

ylabel('y2');

用conv函式實現

a=[1];

b=[0 0.25 0.25 0.25 0.25];

x1=[1, zeros(1,20)];

[h1]=impz(b,a,5);

y1=conv(h1,x1);

subplot(2,1,1);

stem(y1);grid

title('用conv得到的系統單位衝激響應');

xlabel('x1');

ylabel('y1');

a=[1];

b=[0 0.25 0.25 0.25 0.25];

x2=ones(1,25);

[h2]=impz(b,a,5);

y2=conv(h2,x2);

y3=y2(1:25);

subplot(2,1,2);

n1=0:20;

stem(y3);grid

title('用conv得到的系統階躍響應');

xlabel('x2');

ylabel('y2');

用impz函式和stepz函式實現

a=[1];

b=[0 0.25 0.25 0.25 0.25];

y1=impz(b,a,25);

subplot(2,1,1);

stem(y1);grid

title('用impz得到的系統單位衝激');

xlabel('x1');

ylabel('y1');

y2=stepz(b,a,25);

subplot(2,1,2);

stem(y2);grid

title('用stepz得到的系統單位階躍響應');

xlabel('x2');

ylabel('y2');;

五、實驗分析

通過filter、conv、impz函式編制的matlab程式執行結果,當分子係數和分母係數確定時,圖形一致,即系統確定後,相同的輸入有相同的輸出。

實驗三線性卷積和迴圈卷積的計算

一、實驗目的

1、進一步加深對線性卷積的理解和分析能力;

2、通過程式設計,上機除錯程式,進一步增強使用計算機解決問題的能力;

3、掌握線性卷積和迴圈卷積軟體實現的方法,並驗證二者之間的關係。

二、實驗原理

1、線性卷積

輸入和輸出之間的關係用線性卷積表示為

用框圖表示的線性時不變系統的輸入、輸出關係。

2、迴圈卷積

設兩個有限長序列x1(n)和x2(n),均為n點長

則3、兩個有限長序列的線性卷積

序列x1(n)為l點長,序列x2(n)為p點長,x3(n)為這兩個序列的線性卷積,則x3(n)為

且線性卷積的最大長度為l+p-1,也就是說當和時x3=0。

4、迴圈卷積和線性卷積的關係

序列x1(n)為l點長,序列x2(n)為p點長,如果x1(n)和x2(n)進行n點的迴圈卷積,其結果是否等於該兩序列的線性卷積,完全取決於迴圈卷積的長度。

當時迴圈卷積等於線性卷積

當n三、實驗內容

已知兩個有限長序列

1、編制程式計算兩個線性卷積和5、6、7、8點的迴圈卷積;

2、編制程式計算兩個線性卷積的通用程式;

3、編制程式計算兩個迴圈卷積的通用程式;

4、上機除錯並列印或記錄實驗結果;

5、將實驗結果與預先筆算好的結果比較,驗證正確性。

數字訊號處理實驗報告

實驗一訊號 系統及系統響應 一 實驗目的 1 熟悉連續訊號經理想取樣前後的頻譜變化關係,加深對時域取樣定理的理解 2 熟悉時域離散系統的時域特性 3 利用卷積方法觀察分析系統的時域特性 4 掌握序列傅利葉變換的計算機實現方法,利用序列的傅利葉變換對連續訊號 離散訊號及系統響應進行頻域分析。二 實驗原...

數字訊號處理實驗報告

一 實驗目的 1.複習和鞏固數字訊號處理中離散訊號的產生和運算 2.學習和掌握用matlab產生離散訊號的方法 3.學習和掌握用matlab對離散訊號進行運算 二 實驗原理 1 用matlab函式產生離散訊號 訊號是數字訊號處理的最基本內容。沒有訊號,數字訊號處理就沒了工作物件。matlab7.0內...

數字訊號處理實驗報告

山東建築大學實驗報告 課程 數字訊號處理 院 部 資訊與電氣工程學院 專業 電子資訊工程 班級 電信112 學生姓名 王丙全 學號 2011081245 指導老師 耿淑娟 完成時間 2013.11.08 山東建築大學實驗報告 學院 資訊與電氣工程學院班級電信112 姓名 王丙全學號 20110812...