一、實驗目的:
研究不同型別的窗函式,研究一些不同的方法來測試窗函式的效能;
專注於有關窄帶訊號的幾個不同的情形。
二、實驗原理:
訊號是無限長的,而在進行訊號處理時只能採用有限長訊號,所以需要將訊號「截斷」。在訊號處理中,「截斷」被看成是用乙個有限長的「視窗」看無限長的訊號,或者從分析的角度是無限長的訊號x(t)乘以有限長的窗函式w(t),由傅利葉變換性質可知
三、實驗內容:
1、用matlab程式設計繪製各種窗函式的形狀。
>> w1=boxcar(25);
>> n=0:24;
>> subplot(221),stem(n,w1),title('矩形窗');
>> w2=hanning(25);
>> subplot(222),stem(n,w2),title('hanning');
>> w3=hamming(25);
>> subplot(223),stem(n,w3),title('hamming');
>> w4=bartlett (25);
>> subplot(224),stem(n,w4),title('bartlett');
>> w5=blackman(25);
>> n=0:24;
>> subplot(221),stem(n,w5),title('blackman');
>> w6=triang(25);
>> subplot(222),stem(n,w6),title('triang');
>> w7=kaiser(25,12);
>> subplot(223),stem(n,w7),title('kaiser');
>> w8=chebwin(25,15);
>> subplot(224),stem(n,w8),title('chebwin');
2、用matlab程式設計繪製各種窗函式的幅度響應。
function [h,w]=dtft(h,n)
n=fix(n);
if(nerror(『dtft:#data samples cannot exceed # freq samples』)
end(1)
wvtool(boxcar(64))
(2)wvtool(hanning(64))
(3)wvtool(hamming (64))
(4)wvtool(bartlett(64))
(5)wvtool(balckman(64))
(6)wvtool(chebwin(64,15))
(7)wvtool(kaiser(64,12))
(8)wvtool(chebwin(64,15))
3、繪製矩形窗的幅頻響應,窗長度分別為:n=10,n=20,n=50,n=100。
a、n=10
b、n=20
c、n=50
d、n=100
4、已知週期訊號x(t)=0.75+3.4cosπft+2.
7cos4πft+1.5sin3.5πft+2.
5sin7πft,其中f=25/16hz,若截斷時間長度分別為訊號週期的0.9和1.1倍,試繪製和比較採用下面窗函式提取的x(t)的頻譜。
1、矩形窗
>> fs=10;
>> f=25/16;
>> tp=4;
>> n=0.9*tp*fs;
>> n=[0:n-1];
>> w=boxcar(n);
>> x=0.75+3.4*cos(2*pi*f*n/fs)+2.
7*cos(4*pi*f*n/fs)+1.5*sin(3.5*pi*f*n/fs)+2.
5*sin(7*pi*f*n/fs);
>> y=w.*x';
>> [h,w]=dtft(y,1024);
>> subplot(211);
>> plot(w/2/pi,abs(h)),grid;
>> xlabel('frequency'),ylabel('magnitude'),title('t=0.9tp');
>> n=1.1*tp*fs;
>> n=[0:n-1];
>> w=boxcar(n);
>> x=0.75+3.4*cos(2*pi*f*n/fs)+2.
7*cos(4*pi*f*n/fs)+1.5*sin(3.5*pi*f*n/fs)+2.
5*sin(7*pi*f*n/fs);
>> y=w.*x';
>> [h,w]=dtft(y,1024);
>> subplot(212); plot(w/2/pi,abs(h)),grid; xlabel('frequency'),ylabel('magnitude'),title('t=1.1tp');
2、漢寧窗
>> fs=10;
>> f=25/16;
>> tp=4;
>> n=0.9*tp*fs;
>> n=[0:n-1];
>> w=hanning(n);
>> x=0.75+3.4*cos(2*pi*f*n/fs)+2.
7*cos(4*pi*f*n/fs)+1.5*sin(3.5*pi*f*n/fs)+2.
5*sin(7*pi*f*n/fs);
>> y=w.*x';
>> [h,w]=dtft(y,1024);
>> subplot(211);
>> plot(w/2/pi,abs(h)),grid;
>> xlabel('frequency'),ylabel('magnitude'),title('t=0.9tp');
>> n=1.1*tp*fs;
>> n=[0:n-1];
>> w=hanning(n);
>> x=0.75+3.4*cos(2*pi*f*n/fs)+2.
7*cos(4*pi*f*n/fs)+1.5*sin(3.5*pi*f*n/fs)+2.
5*sin(7*pi*f*n/fs);
>> y=w.*x';
>> [h,w]=dtft(y,1024);
>> subplot(212); plot(w/2/pi,abs(h)),grid; xlabel('frequency'),ylabel('magnitude'),title('t=1.1tp');
3、漢明窗
>> fs=10;
>> f=25/16;
>> tp=4;
>> n=0.9*tp*fs;
>> n=[0:n-1];
>> w=hamming(n);
>> x=0.75+3.4*cos(2*pi*f*n/fs)+2.
7*cos(4*pi*f*n/fs)+1.5*sin(3.5*pi*f*n/fs)+2.
5*sin(7*pi*f*n/fs);
>> y=w.*x';
>> [h,w]=dtft(y,1024);
>> subplot(211);
>> plot(w/2/pi,abs(h)),grid;
>> xlabel('frequency'),ylabel('magnitude'),title('t=0.9tp');
>> n=1.1*tp*fs;
>> n=[0:n-1];
>> w=hamming(n);
>> x=0.75+3.4*cos(2*pi*f*n/fs)+2.
7*cos(4*pi*f*n/fs)+1.5*sin(3.5*pi*f*n/fs)+2.
5*sin(7*pi*f*n/fs);
>> y=w.*x';
>> [h,w]=dtft(y,1024);
>> subplot(212); plot(w/2/pi,abs(h)),grid; xlabel('frequency'),ylabel('magnitude'),title('t=1.1tp');
4、巴特利特窗
>> fs=10;
>> f=25/16;
>> tp=4;
>> n=0.9*tp*fs;
>> n=[0:n-1];
>> w=bartlett(n);
>> x=0.75+3.4*cos(2*pi*f*n/fs)+2.
7*cos(4*pi*f*n/fs)+1.5*sin(3.5*pi*f*n/fs)+2.
5*sin(7*pi*f*n/fs);
>> y=w.*x';
>> [h,w]=dtft(y,1024);
>> subplot(211);
>> plot(w/2/pi,abs(h)),grid;
>> xlabel('frequency'),ylabel('magnitude'),title('t=0.9tp');
>> n=1.1*tp*fs;
>> n=[0:n-1];
>> w=bartlett(n);
>> x=0.75+3.4*cos(2*pi*f*n/fs)+2.
7*cos(4*pi*f*n/fs)+1.5*sin(3.5*pi*f*n/fs)+2.
5*sin(7*pi*f*n/fs);
>> y=w.*x';
>> [h,w]=dtft(y,1024);
>> subplot(212); plot(w/2/pi,abs(h)),grid; xlabel('frequency'),ylabel('magnitude'),title('t=1.1tp');
5、布萊克曼窗
>> fs=10;
>> f=25/16;
>> tp=4;
>> n=0.9*tp*fs;
>> n=[0:n-1];
>> w=blackman(n);
>> x=0.75+3.4*cos(2*pi*f*n/fs)+2.
7*cos(4*pi*f*n/fs)+1.5*sin(3.5*pi*f*n/fs)+2.
5*sin(7*pi*f*n/fs);
>> y=w.*x';
>> [h,w]=dtft(y,1024);
>> subplot(211);
>> plot(w/2/pi,abs(h)),grid;
>> xlabel('frequency'),ylabel('magnitude'),title('t=0.9tp');
>> n=1.1*tp*fs;
>> n=[0:n-1];
>> w=blackman(n);
>> x=0.75+3.4*cos(2*pi*f*n/fs)+2.
7*cos(4*pi*f*n/fs)+1.5*sin(3.5*pi*f*n/fs)+2.
5*sin(7*pi*f*n/fs);
數字訊號處理實驗
班級 08050742 姓名 劉曉華 學號 41 實驗一頻譜分析與取樣定理 一 實驗目的 1 觀察模擬訊號經理想取樣後的頻譜變化關係。2 驗證取樣定理,觀察欠取樣時產生的頻譜混疊現象 3 加深對dft演算法原理和基本性質的理解 4 熟悉fft演算法原理和fft的應用 二 實驗原理 根據取樣定理,對給...
數字訊號處理實驗
利用fft實現快速卷積 姓名 田昕煜 學號 13081405 班級 通訊四班 指導教師 周爭 一 實驗原理 應用fft實現數字濾波器實際上就是用fft來快速計算有限長度序列的線性卷積。這種方法就是先將輸入訊號x n 通過fft變換為它的頻譜取樣值x k 然後再和fir的頻響取樣值h k 相乘,h k...
數字訊號處理實驗一
實驗一卷積與傅利葉變換 一 實驗目的 1 了解線性卷積與圓周卷積 2 學會運用matlab求解離散時間系統的卷積和 3 學會通過求解離散時間訊號的卷積和運算得到系統的零狀態響應 4 掌握通過傅利葉變換和反變換求取圓周卷積。二 實驗內容 1.試用matlab命令求解一下離散時間系統的單位取樣響應。1 ...