如何将一段信号导入matlab进行FFT变换 30

现在要将一段信号导入MATLAB中,然后进行FFT变换,绘制出上图,采样频率是20K。clear;N=1024;n=0:N-1;t=0:0.025/1023:0.025;... 现在要将一段信号导入MATLAB中,然后进行FFT变换,绘制出上图,采样频率是20K。
clear;
N=1024;
n=0:N-1;
t=0:0.025/1023:0.025;
Fs=40;
s1=load('solid0118.dat','-ascii');
s2=load('void_file.dat','-ascii');
temp=s1(1,:);
f=fft(temp,N);
ayy=abs(f);
ayy=ayy/(N/2);
plot(t,ayy);
画出来变成了这样,明显是错的,希望有高人指点我一下!!!!

这是我自己的写的程序,因为自己没学过信号处理不怎么会,
展开
 我来答
夜独行孤单
2016-03-07 · TA获得超过3458个赞
知道大有可为答主
回答量:2803
采纳率:82%
帮助的人:617万
展开全部
Matlab中FFT有1D和2D的,FFT得到的是信号的频谱即t-》f

clear
%编写骆遥
fs=1000
t=0:1/fs:0.6;
f1=100;
f2=300;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t);
subplot(711)
plot(x);
title('f1(100Hz)\f2(300Hz)的正弦信号,初相0')
xlabel('序列(n)')
grid on

number=512

y=fft(x,number);
n=0:length(y)-1;
f=fs*n/length(y);
subplot(713)
plot(f,abs(y));
title('f1\f2的正弦信号的FFT(512点)')
xlabel('频率Hz')
grid on

x=x+randn(1,length(x));
subplot(715)
plot(x);
title('原f1\f2的正弦信号(含随机噪声)')
xlabel('序列(n)')
grid on

y=fft(x,number);
n=0:length(y)-1;
f=fs*n/length(y);
subplot(717)
plot(f,abs(y));
title('原f1\f2的正弦信号(含随机噪声)的FFT(512点)')
xlabel('频率Hz')
grid on
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式