【文章內(nèi)容簡介】
8,xs)。 myFFT(28,xs)。 進行28點采樣得到的序列 DFT的幅度譜和相位譜(弧度制)。再次出現(xiàn)頻譜泄漏。 FFT的幅度譜和相位譜(弧度制)。再次出現(xiàn)頻譜泄漏?!痉治觥?分別取12點、20點、28點采樣,以考察采樣長度的選擇與頻譜是否泄漏之間的關(guān)系?,F(xiàn)在與原信號頻譜比較后可以得出如下結(jié)論: 原信號的頻譜(由兩個沖激函數(shù)組成)原信號的頻譜是,在177。8π上各有一強度為3π的譜線,在其余頻率上為0。 s采樣周期的采樣信號離散化之后,譜線以20π為周期重復(fù),并且只在(20k177。8)π (k為整數(shù))處非0。那么,在20點DFT(采樣時間原信號周期的整數(shù)倍)中,只有第8根、第12根譜線非0。而在12點、28點DFT中,由于采樣時間不是原信號周期的整數(shù)倍,譜線將向兩邊泄漏。 不過,對比12點采樣和28點采樣,我們還可以發(fā)現(xiàn),28點采樣頻譜的主譜線高度是次譜線高度的4倍,兒12點采樣頻譜的主譜線高度是次譜線高度的3倍??梢?,在無法保證采樣時間是信號周期整數(shù)倍的情況下,增加采樣時間有助于減輕頻譜泄漏的程度。,重復(fù)第3步過程。【解答】思路:此題與上一題都是一樣的操作,可以在編程時統(tǒng)一用變量g(0或1)來控制是否有白噪聲。這里取g=1(有白噪聲)。 另外,仍然分別取12點、20點、28點采樣,以考察采樣長度的選擇與頻譜是否泄漏的關(guān)系。M文件源代碼:不需要再新編程序??梢灾苯右蒙厦娴暮瘮?shù):sampJune3(N,Ts,g),取g=1,以體現(xiàn)存在白噪聲DFT(N,x)myFFT(N,x)命令窗口中的運行及其結(jié)果:12點采樣: xs=sampJune3(12,1)。%末尾的1表示有噪聲。 DFT(12,xs)。 myFFT(12,xs)。 進行12點采樣得到的含噪聲的序列 含噪聲序列DFT的幅度譜和相位譜(弧度制)。 含噪聲FFT的幅度譜和相位譜(弧度制)。20點采樣: xs=sampJune3(20,1)。%末尾的1表示有噪聲。 DFT(20,xs)。 myFFT(20,xs)。 進行20點采樣得到的含噪聲序列 含噪聲DFT的幅度譜和相位譜(弧度制)。 含噪聲FFT的幅度譜和相位譜(弧度制)。28點采樣: xs=sampJune3(28,0)。%末尾的1表示有噪聲。 DFT(28,xs)。 myFFT(28,xs)。 進行28點采樣得到的含噪聲序列 含噪聲DFT的幅度譜和相位譜(弧度制)。 含噪聲FFT的幅度譜和相位譜(弧度制)?!痉治觥恳廊环謩e取12點、20點、28點采樣。仍然與原信號的頻譜()比較,可以得到結(jié)論:由于疊加了噪聲,所以頻譜都受到了一定的干擾。由于白噪聲在各個頻率的功率相等,因此頻譜上各處的干擾也是均勻隨機的。不過,通過對比我們可以發(fā)現(xiàn),20點采樣(無噪聲時不發(fā)生泄漏的采樣方法)在存在噪聲時,仍然可以明顯區(qū)分出原信號的譜線。第二好的是28點采樣,因為采樣時間較長,即使存在頻譜泄漏也能較好地區(qū)分原信號的譜線。而最差的是12點采樣,由于噪聲的存在和嚴重的頻譜泄漏,它的次譜線與主譜線的高度相差不大,使原信號不明顯。,X(k)是x(n)的6點DFT,設(shè)。(1) 若有限長序列y(n)的6點DFT是,求y(n)。(2) 若有限長序列w(n)的6點DFT W(k)是的實部,求w(n)。(3) 若有限長序列q(n)的3點DFT是,k=0,1,2,求q(n)?!窘獯稹克悸罚哼@是對DFT進行變換后求IDFT??紤]到IDFT和DFT定義的對稱性,可以在DFT的基礎(chǔ)上略加調(diào)整既可用于計算。首先,∵,∴它的6點采樣是序列是。值得指出的是,在Matlab中,數(shù)組的序號是從1開始的(而在信號分析中習(xí)慣從0開始),不過我在上面編程時已考慮到這一情況,具體可見實驗報告最后的“附錄”。 首先生成x(n)的6點DFT,再按照各小題分別轉(zhuǎn)換,最后求相應(yīng)的IDFT。M文件源代碼:i) 輸出x(n)的6點DFT的函數(shù):function X = ExportDFT(N,x)%This is a DFT function that exports the solution to vector X.k=(0:N1)。 %Define variable k for DFT.X=zeros(size(k))。 %Define the initial valves of X.for i=0:N1 X=X+x(i+1)*exp((1)*j*2*k*pi/N*i)。 %It is the definition of DFT.endendii)算第(1)小題的Y(k)的函數(shù):function Y = Convertor1(X)%This is a mathematical convertor for the subproblem (1).for k=1:6 Y(k)=exp((j)*2*pi*(4*(k1))/6)*X(k)。%Here we must use (k1),because in Matlab index starts at 1.endendiii)算第(2)小題的W(k)的函數(shù):function W = Convertor2(X)%This is a mathematical convertor for the subproblem (2).W=real(X)。%Acquire the real part of X.endiv)算第(3)小題的Q(k)的函數(shù):function Q = Convertor3(X)%This is a mathematical convertor for the subproblem (3).Q=zeros(3)。% Detailed explanation goes herefor tmp=1:3 Q(tmp)=X(2*tmp)。endendv)輸出IDFT的函數(shù):function x = ExportIDFT(N,X)%This is the IDFT function for my experiment.n=(0:N1)。%Define variable n for IDFT.x=zeros(size(n))。%Define the initial valves of x.for k=0:N1 x=x+X(k+1)*exp(j*2*k*pi/N*n)。endx=x/N。a=real(x)。%We MUST use real(x), though we may ALREADY know x is real. %It39。s