數(shù)字信號(hào)處理實(shí)驗(yàn)二.doc
實(shí)驗(yàn)報(bào)告(本科)
學(xué) 號(hào) 2015141443002
姓 名 柏沖
專 業(yè) 通信工程
日 期 2017/12/4
實(shí)驗(yàn)題目 時(shí)域采樣和頻域采樣
一、實(shí)驗(yàn)?zāi)康?
時(shí)域采樣理論與頻域采樣理論是數(shù)字信號(hào)處理中重要的理論。要求掌握模擬信號(hào)采樣前后頻譜的變化,以及如何選擇采樣頻率才能使得采樣后的信號(hào)不丟失信息;要求掌握頻率采樣會(huì)引起時(shí)域周期化的概念,以及頻域采樣定理及其對(duì)頻域采樣點(diǎn)數(shù)選擇的指導(dǎo)作用。
2、 實(shí)驗(yàn)過程
附:源程序
(1)時(shí)域采樣
Tp=64/1000; %觀察時(shí)間Tp=64毫秒
%產(chǎn)生M長(zhǎng)采樣序列x(n)
Fs=1000; T=1/Fs;
M=Tp*Fs; n=0:M-1;
A=444.128; a=pi*50*2^0.5; omega=pi*50*2^0.5;
xnt=A*exp(-a*n*T).*sin(omega*n*T);
Xk=T*fft(xnt,M); %M點(diǎn)FFT[(xnt)]
subplot(3,2,1);
stem(xnt,.); %調(diào)用編繪圖函數(shù)stem繪制序列圖
box on;title((a) Fs=1000Hz);
k=0:M-1;fk=k/Tp;
subplot(3,2,2);stem(fk,abs(Xk),.);title((a) T*FT[xa(nT)],Fs=1000Hz);
xlabel(f(Hz));ylabel(幅度);axis([0,Fs,0,1.2*max(abs(Xk))]);
% Fs=300Hz和 Fs=200Hz的程序與上面Fs=1000Hz完全相同。
Tp=64/1000; %觀察時(shí)間Tp=64毫秒
%產(chǎn)生M長(zhǎng)采樣序列x(n)
Fs=300; T=1/Fs;
M=Tp*Fs; n=0:M-1;
A=444.128; a=pi*50*2^0.5; omega=pi*50*2^0.5;
xnt=A*exp(-a*n*T).*sin(omega*n*T);
M1=fix(M);
Xk=T*fft(xnt,M1); %M點(diǎn)FFT[(xnt)]
subplot(3,2,3);
stem(xnt,.); %調(diào)用自編繪圖函數(shù)stem繪制序列圖
box on;title((b) Fs=300Hz);
k=0:M-1;fk=k/Tp;
subplot(3,2,4);stem(fk,abs(Xk),.);title((b) T*FT[xa(nT)],Fs=300Hz);
xlabel(f(Hz));ylabel(幅度);axis([0,Fs,0,1.2*max(abs(Xk))]);
Tp=64/1000; %觀察時(shí)間Tp=64毫秒
%產(chǎn)生M長(zhǎng)采樣序列x(n)
Fs=200; T=1/Fs;
M=Tp*Fs; n=0:M-1;
A=444.128; a=pi*50*2^0.5; omega=pi*50*2^0.5;
xnt=A*exp(-a*n*T).*sin(omega*n*T);
M2=fix(M);
Xk=T*fft(xnt,M2); %M點(diǎn)FFT[(xnt)]
yn=xa(nT);subplot(3,2,5);
stem(xnt,.); %調(diào)用自編繪圖函數(shù)stem繪制序列圖
box on;title((c) Fs=200Hz);
k=0:M-1;fk=k/Tp;
subplot(3,2,6);stem(fk,abs(Xk),.);title((c) T*FT[xa(nT)],Fs=200Hz);
xlabel(f(Hz));ylabel(幅度);axis([0,Fs,0,1.2*max(abs(Xk))]);
程序運(yùn)行結(jié)果
(2) 頻域采樣
M=27;N=32;n=0:M-1;
%產(chǎn)生M長(zhǎng)三角波序列x(n)
xa=1:ceil(M/2); xb= fix(M/2):-1:1; xn=[xa,xb];
Xk=fft(xn,1024); %1024點(diǎn)FFT[x(n)], 用于近似序列x(n)的Ft
X32k=fft(xn,32); %32點(diǎn)FFT[x(n)]
x32n=ifft(X32k); %32點(diǎn)IFFT[X32(k)]得到x32(n)
X16k=X32k(1:2:N); %隔點(diǎn)抽取X32k得到X16(K)
x16n=ifft(X16k,N/2); %16點(diǎn)IFFT[X16(k)]得到x16(n)
subplot(3,2,2);stem(n,xn,.);box on
title((b) 三角波序列x(n));xlabel(n);ylabel(x(n));axis([0,32,0,20])
k=0:1023;wk=2*k/1024; %
subplot(3,2,1);plot(wk,abs(Xk));title((a)FT[x(n)]);
xlabel(\omega/\pi);ylabel(|X(e^j^\omega)|);axis([0,1,0,200])
k=0:N/2-1;
subplot(3,2,3);stem(k,abs(X16k),.);box on
title((c) 16點(diǎn)頻域采樣);xlabel(k);ylabel(|X_1_6(k)|);axis([0,8,0,200])
n1=0:N/2-1;
subplot(3,2,4);stem(n1,x16n,.);box on;title((d)16點(diǎn)IDFT[X_1_6(k)]);
xlabel(n);ylabel(x_1_6(n));axis([0,32,0,20])
k=0:N-1;
subplot(3,2,5);stem(k,abs(X32k),.);box on
title((e) 32點(diǎn)頻域采樣);xlabel(k);ylabel(|X_3_2(k)|);axis([0,16,0,200])
n1=0:N-1;
subplot(3,2,6);stem(n1,x32n,.);box on
title((f)32點(diǎn)IDFT[X_3_2(k)]);
xlabel(n);ylabel(x_3_2(n));axis([0,32,0,20])
程序運(yùn)行結(jié)果
3、 問題分析(思考題以及老師提問)
(1)如果序列x(n)的長(zhǎng)度為M,希望得到其頻譜X(ejω)在]2,0[p上的N點(diǎn)等間隔采樣,當(dāng)N<M時(shí),如何用一次最少點(diǎn)數(shù)的DFT得到該頻譜采樣?
先對(duì)原序列x(n)以N為周期進(jìn)行周期延拓后取主值區(qū)序列,
xN(n)=[∑x(n+iN)]RN(n)
再計(jì)算N點(diǎn)DFT則得到N點(diǎn)頻域采樣
4、 實(shí)驗(yàn)總結(jié)
本次實(shí)驗(yàn)總體來說比較簡(jiǎn)答關(guān)鍵是要深入理解頻域采樣和時(shí)域采樣的特點(diǎn)和要求,,頻域采樣的采樣頻率要大于原信號(hào)的最大頻率的兩倍,否則采樣出來的信號(hào)是沒有辦法不失真的還原成原來的信號(hào),上面的16點(diǎn)的IDFT可以很容易的看出該信號(hào)已經(jīng)失真。而對(duì)于時(shí)域采樣,則要求采樣點(diǎn)數(shù)N要大于離散信號(hào)的長(zhǎng)度M,否則就會(huì)發(fā)生時(shí)域混疊。
一、實(shí)驗(yàn)?zāi)康?
學(xué)習(xí)用FFT對(duì)連續(xù)信號(hào)和時(shí)城高散信號(hào)進(jìn)行譜分析的方法,了解可能出現(xiàn)的分后間
差及其原因,以便正確應(yīng)用FFT.
二、實(shí)驗(yàn)原理
用FFT對(duì)信號(hào)作頻譜分析是學(xué)習(xí)數(shù)字信號(hào)處理的重要內(nèi)容,經(jīng)常需要進(jìn)行譜分析的
信號(hào)是模擬信號(hào)和時(shí)城離散信號(hào)。對(duì)信號(hào)進(jìn)行譜分析的重要問題是頻譜分辨率D和分析誤
差。頻譜分辨率直接和FFT的變換區(qū)間N有關(guān),因?yàn)镕FT能夠?qū)崿F(xiàn)的頻率分辨率是
2π/N,因此要求2π/N≤D。可以根據(jù)此式選擇FFT的變換區(qū)間N。誤差主要來自于用
FFT作頻譜分析時(shí),得到的是離散譜,而信號(hào)(周期信號(hào)除外)是連續(xù)譜,只有當(dāng)N較大
時(shí),離散譜的包絡(luò)才能逼近于連續(xù)譜,因此N要適當(dāng)選擇大一些。
周期信號(hào)的頻譜是離散譜,只有用整數(shù)倍周期的長(zhǎng)度作FFT,得到的離散譜才能代表
周期信號(hào)的頻譜。如果不知道信號(hào)周期,可以盡量選擇信號(hào)的觀察時(shí)間長(zhǎng)一些。
對(duì)模擬信號(hào)進(jìn)行譜分析時(shí),首先要按照采樣定理將其變成時(shí)域離散信號(hào)。如果是模擬
周期信號(hào),也應(yīng)該選取整數(shù)倍周期的長(zhǎng)度,經(jīng)過采樣后形成周期序列,按照周期序列的譜
分析進(jìn)行。
3、 實(shí)驗(yàn)過程
附:繪圖函數(shù)mstem
function mstem(Xk)
M=length(Xk);
k=0:M-1;wk=2*k/M;
stem(wk,abs(Xk),.);box on;
xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(Xk))]);
對(duì)三信號(hào)進(jìn)行頻譜分析
x1n=[ones(1,4)];%產(chǎn)生序列向量x1(n)=R4(n)?
M=8;xa=1:(M/2);xb=(M/2):-1:1;x2n=[xa,xb];%產(chǎn)生長(zhǎng)度為8的三角波序列x2(n)?
x3n=[xb,xa];
X1k8=fft(x1n,8);%計(jì)算x1n的8點(diǎn)DFT?
X1k16=fft(x1n,16);%計(jì)算x1n的16點(diǎn)DFT?
X2k8=fft(x2n,8);%計(jì)算x1n的8點(diǎn)DFT?
X2k16=fft(x2n,16);%計(jì)算x1n的16點(diǎn)DFT?
X3k8=fft(x3n,8);%計(jì)算x1n的8點(diǎn)DFT?
X3k16=fft(x3n,16);%計(jì)算x1n的16點(diǎn)DFT?
%以下繪制幅頻特性曲線?subplot(3,2,1);?
subplot(3,2,1);mstem(X1k8);%繪制8點(diǎn)DFT的幅頻特性圖
title((1a)8點(diǎn)DFT[x_1(n)]);xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(X1k8))])
subplot(3,2,2);mstem(X1k16);%繪制16點(diǎn)DFT的幅頻特性圖?
title((1b)16點(diǎn)DFT[x_1(n)]);xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(X1k16))])
subplot(3,2,3);mstem(X2k8);%繪制8點(diǎn)DFT的幅頻特性圖?
title((2a)8點(diǎn)DFT[x_2(n)]);xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(X2k8))])
subplot(3,2,4);mstem(X2k16);%繪制16點(diǎn)DFT的幅頻特性圖?
title((2b)16點(diǎn)DFT[x_2(n)]);xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(X2k16))])
subplot(3,2,5);mstem(X3k8);%繪制8點(diǎn)DFT的幅頻特性圖?
title((3a)8點(diǎn)DFT[x_3(n)]);xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(X3k8))])
subplot(3,2,6);mstem(X3k16);%繪制16點(diǎn)DFT的幅頻特性圖?
title((3b)16點(diǎn)DFT[x_3(n)]);xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(X3k16))])
N=8;n=0:N-1;%FFT的變換區(qū)間N=8?
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
X4k8=fft(x4n,8);%計(jì)算x4n的8點(diǎn)DFT
X5k8=fft(x5n,8);%計(jì)算x5n的8點(diǎn)DFT
N=16;n=0:N-1;%FFT的變換區(qū)間N=16?
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
X4k16=fft(x4n,16);%計(jì)算x4n的16點(diǎn)DFT?
X5k16=fft(x5n,16);%計(jì)算x5n的16點(diǎn)DFT?
subplot(2,2,1);mstem(X4k8);%繪制8點(diǎn)DFT的幅頻特性圖?
title((a)8點(diǎn)DFT[x_4(n)]);xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(X4k8))])
subplot(2,2,3);mstem(X4k16);%繪制16點(diǎn)DFT的幅頻特性圖?
title((b)16點(diǎn)DFT[x_4(n)]);xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(X4k16))])
subplot(2,2,2);mstem(X5k8);%繪制8點(diǎn)DFT的幅頻特性圖?
title((a)8點(diǎn)DFT[x_5(n)]);xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(X5k8))])
subplot(2,2,4);mstem(X5k16);%繪制16點(diǎn)DFT的幅頻特性圖?
title((b)16點(diǎn)DFT[x_5(n)]);xlabel(ω/π);ylabel(幅度);
axis([0,2,0,1.2*max(abs(X5k16))])
Fs=64;T=1/Fs;
N=16;n=0:N-1;%FFT的變換區(qū)間N=16?
x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%對(duì)x6(t)16點(diǎn)采樣?
X6k16=fft(x6nT);%計(jì)算x6nT的16點(diǎn)DFT?
X6k16=fftshift(X6k16);%將零頻率移到頻譜中心?
Tp=N*T;F=1/Tp;%頻率分辨率F?
k=-N/2:N/2-1;fk=k*F;%產(chǎn)生16點(diǎn)DFT對(duì)應(yīng)的采樣點(diǎn)頻率(以零頻率為中心)?
subplot(3,1,1);stem(fk,abs(X6k16),.);box on%繪制8點(diǎn)DFT的幅頻特性圖?
title((6a)16點(diǎn)|DFT[x_6(nT)]|);xlabel(f(Hz));ylabel(幅度);
axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))])
N=32;n=0:N-1;%FFT的變換區(qū)間N=16?
x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%對(duì)x6(t)32點(diǎn)采樣?
X6k32=fft(x6nT);%計(jì)算x6nT的32點(diǎn)DFT?
X6k32=fftshift(X6k32);%將零頻率移到頻譜中心?
Tp=N*T;F=1/Tp;%頻率分辨率F?
k=-N/2:N/2-1;fk=k*F;%產(chǎn)生16點(diǎn)DFT對(duì)應(yīng)的采樣點(diǎn)頻率(以零頻率為中心)?
subplot(3,1,2);stem(fk,abs(X6k32),.);box on%繪制8點(diǎn)DFT的幅頻特性圖?
title((6b)32點(diǎn)|DFT[x_6(nT)]|);xlabel(f(Hz));ylabel(幅度);
axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))])
N=64;n=0:N-1;%FFT的變換區(qū)間N=16?
x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%對(duì)x6(t)64點(diǎn)采樣?
X6k64=fft(x6nT);%計(jì)算x6nT的64點(diǎn)DFT
X6k64=fftshift(X6k64);%將零頻率移到頻譜中心?
Tp=N*T;F=1/Tp;%頻率分辨率F?
k=-N/2:N/2-1;fk=k*F;%產(chǎn)生16點(diǎn)DFT對(duì)應(yīng)的采樣點(diǎn)頻率(以零頻率為中心)?
subplot(3,1,3);stem(fk,abs(X6k64),.);box on%繪制8點(diǎn)DFT的幅頻特性圖?
title((6a)64點(diǎn)|DFT[x_6(nT)]|);xlabel(f(Hz));ylabel(幅度);
axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))])
4、 問題分析(思考題以及老師提問)
(1)對(duì)于周期序列。如果周期不知道,如何用FFT進(jìn)行譜分析?
答:可任意選取定長(zhǎng)N,進(jìn)行譜分析,再選取2N長(zhǎng)度進(jìn)行譜分析,如果兩次的分析所得主譜誤差不大則可將截取N的頻譜作為周期信號(hào)的頻譜。否則需要再次將選擇范圍加到i(i=3,4?)倍,直到與前一次的頻譜誤差不大為止,同時(shí)將(i-1)N長(zhǎng)度的頻譜作為周期信號(hào)的頻譜。
(2)如何選擇FFT的變換區(qū)間?(包括非周期信號(hào)和周期信號(hào))
答:首先要得到信號(hào)的頻譜的話,必須經(jīng)過采樣分析,如果采樣頻率過低,會(huì)導(dǎo)致頻譜失真,而頻譜分辨率的要求是2π/N≤D,所以采樣點(diǎn)N的數(shù)量必須大才能滿足要求。
對(duì)于周期信號(hào)可按照問題(1)中的方式選取適當(dāng)?shù)腘;對(duì)于非周期信號(hào),根據(jù)原理“FFT能夠?qū)崿F(xiàn)的頻率分辨率是2π/N”可以規(guī)定固定D,求取N來得到變換區(qū)間。
(3)當(dāng)N=8時(shí),X2(n)和X3(n)的幅頻特性會(huì)相同嗎?為什么?N=16呢?
答:DFT變換與將原序列進(jìn)行周期延拓后的傅里葉級(jí)數(shù)變換的主值序列可以近似等同。當(dāng)N=8時(shí),兩序列進(jìn)行周期延拓后序列相同,所以其傅里葉級(jí)數(shù)變換的主值序列等同,進(jìn)而DFT變換也近似等同。而當(dāng)N=16時(shí),兩序列進(jìn)行周期延拓后序列不相同,所以其傅里葉級(jí)數(shù)變換的主值序列不同,進(jìn)而DFT變換也
不同。
(4) 為什么32點(diǎn)的IDFT[x6(nT)]的圖跟64點(diǎn)的IDFT[x6(nT)]的圖(以及8點(diǎn)的DFT[x4(nT)]的圖跟16點(diǎn)的DFT[x4(nT)])一樣呢?
答:
(5) 為什么8點(diǎn)的DFT[x2(nT)]的圖與8點(diǎn)的DFT[x3(nT)]的圖一樣?
答:x3(n)=x2((n+3))8R4(n),滿足循環(huán)位移關(guān)系所以,這兩個(gè)圖是一樣的
5、 實(shí)驗(yàn)總結(jié)
本次實(shí)驗(yàn)做了幾種信號(hào)的FFT變換,對(duì)信號(hào)進(jìn)行了頻譜分析,最主要的是深入理解了FFT的變換過程,把書本上的知識(shí)通過工具進(jìn)行分析,加深了我們對(duì)FFT的理解,同時(shí)也加強(qiáng)了我們的動(dòng)手能力。