數字訊號處理實驗四
一、實驗目的:
理解離散傅立葉變換及其性質,與線性卷積和線形移位相比較掌握迴圈卷積和迴圈移位的二、實驗要求:
1、根據給出的函式,程式設計實現某一序列DFT,IDFT。
2、程式設計實現某一序列的迴圈移位和迴圈卷積。
3、線形卷積與迴圈卷積的關係
4、執行exam4例程式,分析其結果。
三、實驗內容:
1、已知x1為5點序列,x2為14點序列,各做15點的DFT,然後兩個DFT相乘,再求乘積的IDFT,設結果為y(n),分析y(n)哪些點對應於x1*x2應該得到的點?
2、已知x1=(n+1)R4(n),h(n)=R4(n-2),試求x1和h(n)的迴圈卷積,並作圖。
h(n)=R5(n),y(n)=x(n)⑥h(n)
3、已知x1=[122],x2=[1234],試計算並分析結果
(1)x1④x2;(2)x1⑥x2 (3)x1⑦x2 (4)x1*x2
4、[例4-1]為說明高密度頻譜與高解析度頻譜之間的差異,考慮
x(n)=cos(0.48pi.*n)+cos(0.52pi.*n)
(1)取x(n)(0≤n≤10)時,求x(n)的DFT X(k);
(2)將(1)中的x(n)以補零的方式使x(n)加長到0≤n≤100,求X(k)
(3)取x(n)( 0≤n≤100),求X(k).
四、實驗結果與分析
Ⅰ
實驗程式:
N=15;
n=0:1:14;
x1=[1 1 1 1 1 0 0 0 0 0 0 0 0 0 0];
x2=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 0];
y1=dft(x1,N);
subplot(231);
stem(n,y1);
title('X1µÄÀëÉ¢¸µÀïÒ¶±ä»»');
y2=dft(x2,N);
subplot(232);
stem(n,y2);
title('X2ÀëÉ¢¸µÀïÒ¶±ä»»');
Y=y1.*y2;
subplot(233);
stem(n,Y);title('Y1ÓëY2µÄ¾í»ý');
y=idft(Y,N);
subplot(234);
n1=0:1:28
stem(n,y);
title('YµÄÀëÉ¢¸µÀïÒ¶·´±ä»»')
subplot(235);
x3=[1 1 1 1 1];
x4=[1 1 1 1 1 1 1 1 1 1 1 1 1 1];
y4=conv(x3,x4);
n=0:1:17;
stem(n,y4);
title('x1Óëx2µÄÏßÐÔ¾í»ý');
xlabel('n ');
實驗結果
實驗分析:五張圖分別求出了x(1),x(2)的傅立葉變換,Y1與Y2的卷積Y,Y的離散傅立葉反變換,x1與x2的線形卷積。
Ⅱ
實驗程式:
n=0:1:5;
x1=[1 2 3 4 0 0];
h=[1 1 1 1 1 0];
Y=circonv(x1,h,6);
stem(n,Y);
實驗結果:
實驗分析:此圖表示x(1)與h(n)的迴圈卷積結果。
Ⅲ
實驗程式:
x1=[1 2 2 0];
x2=[1 2 3 4];
y1=circonv(x1,x2,4);
subplot(221)
n1=0:1:3;
stem(n1,y1);
title('31');
xlabel('n ');
subplot(222);
n2=0:1:5;
stem(n2,y2);
title('32');
xlabel('n ');
subplot(223);
n3=0:1:6;
stem(n3,y3);
title('33');
xlabel('n ');
x1=[1 2 2];
x2=[1 2 3 4];
y4=conv(x1,x2);
subplot(224)
n=0:1:5;
stem(n,y4);
title('34');
xlabel('n ');
實驗結果:
實驗分析:
y1(n)可以看出迴圈卷積時卷積區域發生重疊有造成頻譜混疊現象。y2(n)與y4(n)表示迴圈卷積與線性卷積點數相同時的圖形一樣。
Ⅳ
實驗程式:
n=[0:1:10];x=cos(0.48*pi*n)+cos(0.52*pi*n);
figure(1)
n1=[0:1:9];y1=x(1:1:10);
subplot(211);stem(n1,y1);title('signalx(n),0<=n<=9');xlabel('n');
axis([0,10,-4,4])
Y1=fft(y1);magY1=abs(Y1(1:1:6));
k1=0:1:5;w1=2*pi/10*k1;
subplot(212);stem(w1/pi,magY1);title('Samples ofDTET Magnitude');xlabel('frequency in pi units');
axis([0,1,0,10])
figure(2)
n3=[0:1:99];y3=[x(1:1:10) zeros(1,90)];
subplot(211);stem(n3,y3);title('signalx(n),0<=n<=9+90 zeros');xlabel('n');
axis([0,100,-2.5,2.5])
Y3=fft(y3);magY3=abs(Y3(1:1:51));
k3=0:1:50;w3=2*pi/100*k3;
subplot(212);stem(w3/pi,magY3);title(' DTFTMagnitude');xlabel('frequency in pi units');
axis([0,1,0,10])
figure(3)
n=[0:1:99];x=cos(0.48*pi*n)+cos(0.52*pi*n);
subplot(211);stem(n,x);title('signalx(n),0<=n<=99');xlabel('n');
axis([0,100,-2.5,2.5])
X=fft(x);magX=abs(X(1:1:51));
k=0:1:50;w=2*pi/100*k;
subplot(212);stem(w/pi,magX);title(' DTFTMagnitude');xlabel('frequency in pi units');
axis([0,1,0,60])
實驗結果:
實驗分析:
第四張圖片是高密度譜,第六張圖片是高解析度譜
高密度譜圖形點數的密度大,高解析度譜在取樣個頻率不變的情況下,解析度提高。
Figure(1)與figure(2)比較得出用補零方式增加n的範圍會使圖形的輪廓清晰的顯示出來。
五、實驗總結:
學會了Matlab分析離散傅立葉變換及其性質,線形卷積與線形移位的實現方法。做實驗時注意數字相乘和字母相乘需要加點,同時注意提前定義所有需要的基本擴充套件函式,做實驗時需要仔細認真!