keepitsimple 发表于 2012-10-10 20:25

关于matlab中进行fft变换后的画图问题

参考help中关于fft的资料,编写m文件对电流谐波进行分析,数据导入为外部txt文本倒入的,但m文件得离散傅里叶变换的结果,画图,横坐标为频率,纵坐标为谐波幅值,请问如何才能将横坐标设为真实频率?代码如下:
data=importdata('G:\current.txt');
= textread('G:\current.txt','%f %f %f %f %f');
Fs = 805;                  % 采样频率
T = 1/Fs;                  % 采样时间
L = 805;                     % 信号长度
plot(t,A);
xlabel('time (ms)');
ylabel('current');
NFFT = 2^nextpow2(L);      % 返回最小的2的指数倍数值(大于等于数据长度L)
Y = fft(A,NFFT)/L;
f = Fs*linspace(0,1,NFFT/2);   %横坐标频率

plot(f,2*abs(Y(1:NFFT/2)));

飞飞猪 发表于 2012-10-12 10:17

没看懂!帮顶!

lilybunny 发表于 2012-10-12 12:30

何为真实频率?

keepitsimple 发表于 2012-10-14 08:30

lilybunny 发表于 2012-10-12 12:30 static/image/common/back.gif
何为真实频率?

真实频率说得也不太准确,应该是基波和谐波对应的频率吧

kingsr 发表于 2012-10-14 17:12

真实频率也是自己产生的吧?

dddjjjyyy888 发表于 2015-7-2 15:33

楼主,您好,真诚请教您,用示波器捕捉的电压和电流数据存为.CSV格式,数据内容是分两列,一列是时间,一列是幅值,我不明白MATLAB如何分辨哪列是时间哪列幅值,是否表格需要设置什么才能分辨清楚,同理,我把数据存为.txt格式也是两列数据,是否需要把txt表格里设置什么MATLAB才能识别。个人查找过资料试过,都不能读取数据出来波形。麻烦楼主百忙之中抽少少时间帮我解解惑,非常感谢!{:soso_e183:}
页: [1]
查看完整版本: 关于matlab中进行fft变换后的画图问题