DSP试验 04008012
列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。 主要代码如下: for i=1:4 x(i)=i-1; end for i=5:8 x(i)=9-i; end n=0:7;
subplot(2,2,1);
plot(n,x(1:8));xlabel('n'); subplot(2,2,2); G=fft(x,8);
plot(n(1:8),abs(G(1:8)));xlabel('k'); 结果:
在xc(n)和xd(n)末尾补零,用N=32点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?两情况的FFT
6
DSP试验 04008012
频谱还有相同之处吗?这些变化说明了什么? 代码只需改动几处数据即可,其中一段如下所示: for i=1:4 x(i)=i-1; end for i=5:8 x(i)=9-i; end
for i=9:32 x(i)=0; end n=0:31;
subplot(2,1,1); G=fft(x,32);
plot(n(1:32),abs(G(1:32)));xlabel('k'); 运行结果:
变化:反三角波的低频分量增多,对信号末尾补零加长整数个周期可以对原信号达到细化频谱的作用。 (4) 一个连续信号含两个频率分量,经采样得x(n)=sin[2π*0.125n]+cos[2π*(0.125+Δf)n] n=0,1……,N-1 已知N=16,Δf分别为1/16和1/64,观察其频谱;当N=128时,Δf不变,其结果有何不同,为什么?
7
DSP试验 04008012
其中一段代码如下:实现方法和之前一样 N=16; f=1/16; for n=1:N
x(n)=sin(2*pi*0.125*(n-1))+cos(2*pi*(0.125+f)*(n-1)); end n=0:15;
subplot(2,2,1); G=fft(x,16);
plot(n(1:16),abs(G(1:16)));xlabel('k'); 运行结果:
(5)用FFT分别实现xa(n)(p=8,q=2)和 xb(n)(a=0.1,f=0.0625)的16点循环卷积和线性卷积。
for i=1:16
8
DSP试验 04008012
x(i)=exp((-(i-1-8).^2)/2);
y(i)=exp(-0.1*(i-1))*sin(2*pi*0.0625*(i-1)); end
%for i=17:31 % x(i)=0; % y(i)=0; %end
n=0:30
G1=fft(x,31); G2=fft(y,31);
z=ifft(G1.*G2,31); subplot(2,1,1);
plot(n(1:31),z(1:31));
subplot(2,1,2); G1=fft(x,16); G2=fft(y,16); z=ifft(G1.*G2,16); n=0:15;
plot(n(1:16),z(1:16)); 运行结果:
(6)产生一512点的随机序列xe(n),并用xc(n)和xe(n)作线性卷积,观察卷积前后xe(n)频谱的变化。要求将xe(n)分成8段,分别采用重叠相加法和重叠保留法。
9
DSP试验 04008012
xe=rand(1,512); n1=0:1:3; xc1=n1; n2=4:7; xc2=8-n2; xc=[xc1,xc2];
yn=zeros(1,519); for j=0:7
xj=xe(64*j+1:64*(j+1)); xak=fft(xj,71); xck=fft(xc,71);
yn1=ifft(xak.*xck); temp=zeros(1,519);
temp(64*j+1:64*j+71)=yn1; yn=yn+temp; end;
n=0:518; figure(1)
subplot(2,1,1); plot(n,yn);
xlabel('n');ylabel('y(n)');
subplot(2,1,2); plot(n,abs(fft(yn))); xlabel('k');ylabel('Y(k)'); axis([0,600,0,300]);
xe=rand(1,512); k=1:7; xe1=k-k;
xe_1=[xe1,xe]; yn_1=zeros(1,519); for j=0:7
xj_1=xe_1(64*j+1:64*j+71); xak_1=fft(xj_1); xck_1=fft(xc,71);
yn1_1=ifft(xak_1.*xck_1); temp_1=zeros(1,519);
temp_1(64*j+1:64*j+64)=yn1_1(8:71); yn_1=yn_1+temp_1; end; n=0:518;
10