3、运用DFT分析信号的频谱
(1)对矩形窗序列x1(n)=Rs(n)进行频谱分析,截取长度N=64,记录幅频特性曲线和相频特性曲线;
(2)选取截取长度N为周期序列周期的整数倍,对以下周期序列进行频谱分析:x2(n)=cos(π/2*n)+cos(π/4*n)+cos(π/8*n),请画出x2(n)的幅频特性曲线,记下最大峰点的高度和位置;改变N值,观测峰点位置及高度变化,并与理论结果相比较。
(3)截取长度为N改为周期的非整数倍,再次分析x2(n)幅频特性,与(2)的结果作比较,说明有何区别。
(4)观测截取长度N=250时,在分别对x2(n)加矩形窗和加海明窗两种情况下,x2(n)的扶贫特性曲线,记录曲线的大致形状,并分析两种情况下的频谱泄漏的程度。 N=64; n=-50:1:500; x1=(n>=0)-(n-8>=0); X1=fft(x1,N); figure(1) subplot(1,2,1) k=0:1:(N-1);
plot(k,abs(X1),'linewidth',2); xlabel('k');ylabel('幅度'); title('幅频特性'); subplot(1,2,2)
plot(k,angle(X1),'linewidth',2); xlabel('k');ylabel('相位');
title('相频特性'); %R8的幅频和相频特性 x2=cos(pi/2*n)+cos(pi/4*n)+cos(pi/8*n); X2=fft(x2,N); k=0:1:(N-1); figure(2) subplot(3,1,1)
plot(k,abs(X2),'linewidth',2); xlabel('k');ylabel('幅度');
title('幅频特性 N=64'); %N=64 N=128; X3=fft(x2,N); k=0:1:(N-1); subplot(3,1,2)
plot(k,abs(X3),'linewidth',2); xlabel('k');ylabel('幅度');
title('幅频特性 N=128'); %N=128 N=70;
X4=fft(x2,N); k=0:1:(N-1); subplot(3,1,3)
plot(k,abs(X4),'linewidth',2); xlabel('k');ylabel('幅度');
title('幅频特性 N=70'); %N=70 N=250; W1=boxcar(N); W2=hamming(N); n=0:1:(N-1);
x2=cos(pi/2*n)+cos(pi/4*n)+cos(pi/8*n); y1=W1'.*x2; y2=W2'.*x2; k=length(y1); Y1=fft(y1,k); Y2=fft(y2,k); K=0:1:(k-1); figure(3)
plot(K,abs(fftshift(Y1)),'-',K,abs(fftshift(Y2)),'-.','linewidth',2); xlabel('k');ylabel('幅度'); title('加窗后幅频特性 N=250'); legend('矩形窗','汉明窗');
4、取样定理的验证
(1)自选一费周期性的模拟信号Xa(t),画出该模拟信号的波形及幅度频谱。
(2)对Xa(t)进行取样,构成x(n),画出当取样频率取大小不同的值时,x(n)的幅度谱,分析不同采样频率时频谱混叠程度,并对采样定理进行验证。 t=-10:0.1:40; N=1000; w=0:N-1;
xa=(t>=0)-(t-10>=0); figure(1) subplot(2,1,1)
plot(t,xa,'linewidth',2); xlabel('t');ylabel('xa'); title('信号波形'); axis([-10 40 -0.5 1.5]); s = exp(-j*2*pi/length(w));
skn = s.^(w'*t); %F = xa*skn'; %subplot(2,1,2)
plot(w,abs(F),'linewidth',2); xlabel('w');ylabel('幅度'); title('幅频特性');
T=1; %t=-10:T:40; N=1000; w=0:N-1;
xa=(t>=0)-(t-10>=0); s = exp(-j*2*pi/length(w));
skn = s.^(w'*t); %F = xa*skn'; %figure(2) subplot(2,1,1)
plot(w,abs(F),'linewidth',2); xlabel('w');ylabel('幅度'); title('幅频特性 T=1');
T=1.5; %t=-10:T:40; N=1000; w=0:N-1;
代公式
对原函数进行傅里叶变换, 采样周期为1 代公式
对原函数进行傅里叶变换, 采样周期为1.5 xa=(t>=0)-(t-10>=0); s =exp(-j*2*pi/length(w));
skn = s.^(w'*t); %代公式
F = xa*skn'; %对原函数进行傅里叶变换, subplot(2,1,2)
plot(w,abs(F),'linewidth',2); xlabel('w');ylabel('幅度'); title('幅频特性 T=1.5');