
怎么对一组采集到的数据在MATLAB上做频谱分析?
数据是1000个,分别是在这个时间区间采集的t=0:0.00004:0.03996;怎么写MATLAB程序?fs=25000;n=1000;t=0:1/fs:0.0399...
数据是1000个,分别是在这个时间区间采集的 t=0:0.00004:0.03996;怎么写MATLAB程序?
fs=25000;
n=1000;
t=0:1/fs:0.03996;
base=importdata('A.TXT');
y1=fft(base(:,2));
y2=fftshift(y1);
f=(0:n-1)*fs/n-fs/2;
plot(f,abs(y1),'r');
plot(f,abs(y2),'b');
axis([0,10000,0,500000]);
这样对不对?麻烦大神看一下!谢谢了,在线等。 展开
fs=25000;
n=1000;
t=0:1/fs:0.03996;
base=importdata('A.TXT');
y1=fft(base(:,2));
y2=fftshift(y1);
f=(0:n-1)*fs/n-fs/2;
plot(f,abs(y1),'r');
plot(f,abs(y2),'b');
axis([0,10000,0,500000]);
这样对不对?麻烦大神看一下!谢谢了,在线等。 展开
2个回答
展开全部
问题不大。改成如下
fs=25000;
n=1000;
t=0:1/fs:0.03996;
base=importdata('A.TXT');
y1=fft(base(:,2));
y2=fftshift(y1);
f=(0:n-1)*fs/n-fs/2;
figure(1)
plot(t,base(:,2),'r');%原始采样图
figure(2)
plot(f,abs(y2),'b');%频谱图
axis([0,10000,0,500000]);
fs=25000;
n=1000;
t=0:1/fs:0.03996;
base=importdata('A.TXT');
y1=fft(base(:,2));
y2=fftshift(y1);
f=(0:n-1)*fs/n-fs/2;
figure(1)
plot(t,base(:,2),'r');%原始采样图
figure(2)
plot(f,abs(y2),'b');%频谱图
axis([0,10000,0,500000]);
本回答被网友采纳

你对这个回答的评价是?

2024-08-11 广告
北京华夏艺匠模型科技有限公司致力于高精度模型设计与制作,在数据采集模拟实验模型中,我们运用先进的三维扫描与逆向工程技术,精准捕捉实物数据,通过高保真建模软件构建数字模型。这些模型不仅还原度高,还能模拟复杂环境下的数据变化,为科研、教育及工业...
点击进入详情页
本回答由BJ华夏艺匠提供
展开全部
代码:
A=keshiyin_moni; %这里的A=后面写文件的名字
FS=50;T=1/FS; % FS是采样率
L=length(A);
t=(0:L-1)*T;
figure(1);
plot(t,A);
figure(6);
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(A,NFFT)/L;
f = FS/2*linspace(0,1,NFFT/2);
plot(f,2*abs(Y(1:NFFT/2)));
A=keshiyin_moni; %这里的A=后面写文件的名字
FS=50;T=1/FS; % FS是采样率
L=length(A);
t=(0:L-1)*T;
figure(1);
plot(t,A);
figure(6);
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(A,NFFT)/L;
f = FS/2*linspace(0,1,NFFT/2);
plot(f,2*abs(Y(1:NFFT/2)));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询