问题描述: 求教matlab实现门函数的fftr(t)=1(-0.5 1个回答 分类:综合 2014-12-07 问题解答: 我来补答 如果你只对[-0.5,0.5]之间的信号进行采样,那么你采的将会是常数1,这样做出的FFT应该是一个delta函数,也就是一个冲击,所以你应该采包括外边的值才能够反映出信号的特性. 这样结果没有任何问题,问题是你采样的值太少了,换句话说就是你采样的信号反映不出这是个门函数的特性来. matlab里边是可以利用单边函数表示门函数的.你可以跑一下下边的程序,看一下门函数: fx=heaviside(x+0.5)-heaviside(x-0.5); ezplot(fx,[-1,1]); 而且matlab里边还有对符号表达式做傅里叶变换的函数fourier(),用法如下: FX=fourier(fx); ezplot(FX,[-30,30]); title('fourier transformation of fx')而如果你非想用fft做,就必须加大采样点数,尤其是门之外的部分,才能够完整的描述信号. 展开全文阅读