實驗一差分方程、卷積、z變換
一、 實驗目的
通過該實驗熟悉matlab軟體的基本操作指令,掌握 matlab軟體的使用方法,掌握數字訊號處理中的基本原理、方法以及matlab函式的呼叫。
二、 實驗裝置
1、 微型計算機1臺;
2、 matlab軟體1套
三、 實驗原理
matlab 軟體是由mathworks公司於2023年推出的一套科學計算軟體,分為總包和若干個工具箱,其中包含用於訊號分析與處理的sptool工具箱和用於濾波器設計的fdatool工具箱。它具有強大的矩陣計算和資料視覺化能力,是廣泛應用於訊號分析與處理中的功能強大且使用簡單方便的成熟軟體。matlab軟體中已有大量的關於數字訊號處理的運算函式可供呼叫,本實驗主要是針對數字訊號處理中的差分方程、卷積、z變換等基本運算的matlab函式的熟悉和應用。
差分方程(difference equation)可用來描述線性時不變、因果數字濾波器。用x表示濾波器的輸入,用y表示濾波器的輸出。
a0y[n]+a1y[n-1]+…+any[n-n]=b0x[n]+b1x[n-1]+…+bmx[n-m] (1)
ak,bk 為權係數,稱為濾波器係數。
n為所需過去輸出的個數,m 為所需輸入的個數
卷積是濾波器另一種實現方法。
y[n]= ∑ x[k] h[n-k] = x[n]*h[n2)
等式定義了數字卷積,*是卷積運算子。輸出 y[n] 取決於輸入 x[n] 和系統的脈衝響應h[n]。
傳輸函式h(z)是濾波器的第三種實現方法。
h(z)=輸出/輸入= y(z)/x(z3)
即分別對濾波器的輸入和輸出訊號求z變換 ,二者的比值就是數字濾波器的傳輸函式。
序列x[n]的z變換定義為
x (z)=∑x[n]z-n4)
把序列 x[n] 的 z 變換記為z = x(z
由 x(z) 計算 x[n] 進行 z 的逆變換 x[n] = z-1。
z 變換是 z-1 的冪級數,只有當此級數收斂,z 變換才有意義,而且同乙個 z 變換等式,收斂域不同,可以代表不同序列的 z 變換函式。
這三種數字濾波器的表示方法之間可以進行相互轉換。
四、 實驗步驟
1、熟悉matlab軟體基本操作指令。讀懂下列matlab程式指令,鍵入程式並執行,觀察執行結果。
計算兩個序列的線性卷積;
clear;
n=5;
m=6;
l=n+m-1;
x=[1,2,3,4,5];
h=[6,2,3,6,4,2];
y=conv(x,h);
nx=0:n-1;
nh=0:m-1;
ny=0:l-1;
subplot(231);
stem(nx,x,'.k');xlabel('n');ylabel('x(n)');grid on;
subplot(232);
stem(nh,h,'.k');xlabel('n');ylabel('h(n)');grid on;
subplot(233);
stem(ny,y,'.k');xlabel('n');ylabel('y(n)');grid on;
求乙個離散系統的輸出;
clear;
x=ones(100);
t=1:100;
b=[.001836,.007344,.011016,.007374,.001836];
a=[1,-3.0544,3.8291,-2.2925,.55075];
y=filter(b,a,x);
clear;
impz .m% 計算濾波器的衝擊響應
b=[.001836,.007344,.011016,.007374,.001836];
a=[1,-3.0544,3.8291,-2.2925,.55075];
[h,t]=impz(b,a,40);
subplot(221)
stem(t,h,'.');grid on;
ylabel('h(n)')
xlabel('n')
計算濾波器的階躍響應
x=ones(100);t=1:100;
y=filter(b,a,x);
subplot(222)
plot(t,x,'g.',t,y,'k-');grid on;
ylabel('x(n) and y(n)')
xlabel('n')
例題執行結果圖
2、程式設計求出下列問題的解
1)、濾波器的差分方程為:y[n]=x[n]-0.8x[n-1]-0.5y[n-1]
求出此濾波器脈衝響應和階躍響應的前十個取樣值。
clear;
% 計算濾波器的衝擊響應
b=[1,-.8];
a=[1,.5];
[h,t]=impz(b,a,10);
stem(t,h,'.');gird on;
ylabel('h(n)')
xlabel('n')
clear;
% 計算濾波器的階躍響應
x=ones(10);t=1:10;
b=[1,-.8];
a=[1,.5];
y=filter(b,a,x);
plot(t,x,'g.',t,y,'k.');gird on;
ylabel('x(n) and y(n)')
xlabel('n')
2)、系統的脈衝響應為h[n]=e-n(u[n]-u[n-3]),用卷積求系統的階躍響應。
n=25;
m=3;
l=n+m-1;
x=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
h=[1,.3679,.1353];
y=conv(x,h);
nx=0:n-1;
nh=0:m-1;
ny=0:l-1;
subplot(231);
stem(nx,x,'.k');xlabel('n');ylabel('x(n)');grid on;
subplot(232);
stem(nh,h,'.k');xlabel('n');ylabel('h(n)');grid on;
subplot(233);
stem(ny,y,'.k');xlabel('n');ylabel('y(n)');grid on;
五、實驗討論和分析
1、差分方程、卷積、z變換和傅利葉變換之間如何進行轉換?
答:差分方程;a0y[n]+a1y[n-1]+a2y[n-2]+`````+any[n-n]=b0x[n]+b1x[n-1]+……+bmx[n-m] 卷積是由輸入x[n]所引起的全部輸出y[n]是所有這些加權脈衝相應之和。即y=x[n]*h[n]只要知道脈衝響應和輸入就可以得到輸出 z變換是把時域訊號向頻域進行轉換x(z)=∑x[n]zˇ-n y(z)=∑y[n]zˇ-n 脈衝響應是傳輸函式的逆z變換傅利葉變換x(ω)=∑x[n]eˇ-jnω
2、邊界效應是如何產生的?它對訊號的濾波效果有何影響?
答:多數情況下,取樣開始之前的輸入情況是未知的,當脈衝響應與未知的的輸入取樣點重疊時,由於實際的輸出值可能受取樣開始之前輸入訊號的影響,所以無法準確的計算輸出。計算的開始和末尾都存在這種現象。
僅當輸入序列與脈衝響應完全重疊時,計算才有意義,這種現象就是邊界效應。當乙個系統開始執行或條件改變時,輸出需要一些時間過渡到新的穩態。 邊界效應會產生輸出的暫態部分和穩態部分,會影響濾波效果,並且會導致失真現象出現。
實驗二數字濾波器綜合設計
一、 實驗目的
通過該設計實驗掌數字濾波器設計的一般步驟,掌握利用matlab 軟體設計數字濾波器的方法,熟悉sptool工具箱的使用方法。
二、 實驗裝置
1、 微型計算機1臺;
2、 matlab軟體1套
三、 實驗原理
一)、濾波器的形狀及重要引數
理想濾波器的形狀是矩形,圖 1 給出非理想濾波器。
圖 1通帶:增益高的頻率範圍,訊號可以通過,稱為濾波器的通帶。
阻帶:增益低的頻率範圍,濾波器對訊號有衰減或阻塞作用,稱濾波器的阻帶。
濾波器截止頻率:增益為最大值的0.707倍時所對應的頻率為濾波器截止頻率
增益通常用分貝(db)表示。增益(db)= 20log(增益)
增益為 0.707 時對應 -3db,因此截止頻率常被稱為 -3db。
濾波器的頻寬:對於低通濾波器寬頻是從0 ~ - 3db
對於高通濾波器寬頻是從 - 3db~取樣頻率的一半
對於帶通濾波器頻寬是截止頻率之間的頻率距離
二)加窗低通 fir 濾波器的設計
1. 在過渡帶寬度的中間,選擇通帶邊緣頻率(hz):
f1=所要求的通帶邊緣頻率+(過渡帶寬度)/2
2. 計算 ω1=2πf1/fs,並將此值代入理想低通濾波器的脈衝響應 h1[n] 中:
h1[n] = sin(nω1)/nπ
3. 從表中選擇滿足阻帶衰減及其他濾波器要求的窗函式,用表中 n 的公式計算所需要的非零項數目。選擇奇數項,這樣脈衝響應可以完全對稱,避免了濾波器產生相位失真,對於|n|≤(n-1)/2,計算窗函式w[n]。
4. 對於|n|≤(n-1)/2,從式 h[n]=h1[n]w[n]計算(有限)脈衝響應,對於其他 n 值h[n]=0,此脈衝響應是非因果的。
5. 將脈衝響應右移 (n-1)/2,確保第乙個非零值在n=0處,使此低通濾波器為因果的。
三)、設計低通巴特沃斯濾波器:
1) 確定待求通帶邊緣頻率 fp1 hz 、待求阻帶邊緣頻率fs1 hz 和待求阻帶衰減 - 20logδsdb(或待求阻帶增益 20logδsdb)。通帶邊緣頻率對應 –3db增益。
2) 用式 ω=2πf/fs 把由 hz 表示的待求邊緣頻率轉成由弧度表示的數字頻率,得到 ωp1 和ωs1 。
訊號分析與處理實驗報告
時域取樣定理實驗日誌1 實驗題目 時域取樣定理 實驗目的 1.學習掌握 matlab 的程式設計知識及其 matalab 在數字訊號處理方面常用的 12 個函式 2.熟悉理想取樣的性質,了解訊號取樣前後的頻譜變化,加深對取樣定理的理解。實驗要求 1 能對時域上的訊號轉化為頻域上的訊號。2 學會用兩種...
訊號與系統測試實驗報告總結
學院 電子工程學院 班級姓名學號 當前,科學技術都向兩極化發展,既向微觀發展又向巨集觀發展。各學科之間既高度綜合又高度分化。這就要求了我們當代的大學生既要有堅實的理論基礎,又還必須具備極強的動手能力和解決各種實際問題的能力。而這個學期所開展的訊號與系統測試的實驗課程給我提供了乙個很好的機會和平台。本...
數字訊號處理實驗報告
實驗一訊號 系統及系統響應 一 實驗目的 1 熟悉連續訊號經理想取樣前後的頻譜變化關係,加深對時域取樣定理的理解 2 熟悉時域離散系統的時域特性 3 利用卷積方法觀察分析系統的時域特性 4 掌握序列傅利葉變換的計算機實現方法,利用序列的傅利葉變換對連續訊號 離散訊號及系統響應進行頻域分析。二 實驗原...