rosemaster 发表于 2006-5-23 10:48

[求助]请高手帮忙看看这个matlab程序错在哪

本帖最后由 wdhd 于 2016-9-1 14:03 编辑

  用短时傅立叶变换分析信号在时域、频域特性。

  k=4;T=5;

  fc=k*T;

  fs=4*fc;

  Ts=1/fs;

  N=T/Ts;

  x=zeros(1,N);

  t=0:N-1;

  x=exp(j*k*pi*(t*Ts).^2);

  subplot(2,2,1);

  plot(t*Ts,real(x));

  X=fft(x);

  X=fftshift(X);

  subplot(2,2,2);

  plot((t-N/2)*fs/N,abs(X));

  Nw=20;

  L=Nw/2;%L=10

  Tn=(N-Nw)/L+1;%Tn=39

  nfft=32;

  TF=zeros(Tn,nfft);

  for i=1:Tn

  xw=x.*((i-1)*10+1:i*10+10);

  temp=fft(xw,nfft);

  temp=fftshift(temp);

  TF(i,:)=temp;

  end

  subplot(2,2,3);

  fnew=((1:nfft)-nfft/2)*fs/nfft;

  tnew=(1:Tn)*L*Ts;

  =meshgrid(fnew,tnew);

  mesh(F,T,abs(TF));

  subplot(2,2,4);

  contour(F,T,abs(TF));

wkzhou 发表于 2006-5-23 11:23

在你上面的程序里,定义信号x是一个1X400的向量,而xw=x.*((i-1)*10+1:i*10+10);运行会出现Matrix dimensions must agree的错误.请再检查程序.
页: [1]
查看完整版本: [求助]请高手帮忙看看这个matlab程序错在哪