首页 > 代码库 > MATLAB中fft
MATLAB中fft
一般的fft需要将点数补成2的整数次幂,MATLAB中有fft函数,输入N点序列则输出也是N点序列,其中N不一定为2的整数次幂。所以会疑惑MATLAB做的fft和N点序列对应的dft是否一样。经过验证,MATLAB中对N点序列做fft的结果与N点dft的结果是完全一样的,没有对N点序列进行补0后再做操作。
下面是MATLAB代码和结果。
n = 0: 49; A = 444.128; a = 50 * sqrt(2.0) * pi; w0 = 50 * sqrt(2.0) * pi; T = 0.001; x = A * exp( -a * n *T) .* sin(w0 * n * T); k = 0 : 49; W = 2 * pi / 50; X = x *(exp(-j * W)).^ (n‘ * k); magX = abs(X);%X的幅度谱 close all; subplot(311);stem(x);title(‘理想信号采样1‘);set(gca,‘box‘,‘off‘);%采样完成 subplot(312);stem(magX);title(‘理想采样信号的幅频特性1(dft)‘);set(gca,‘box‘,‘off‘); subplot(313);stem(abs(fft(x)));title(‘理想采样信号的幅频特性1(fft)‘);set(gca,‘box‘,‘off‘);
结果显示:
MATLAB中fft
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。