如何将一段信号导入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);
画出来变成了这样,明显是错的,希望有高人指点我一下!!!!
这是我自己的写的程序,因为自己没学过信号处理不怎么会, 展开
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);
画出来变成了这样,明显是错的,希望有高人指点我一下!!!!
这是我自己的写的程序,因为自己没学过信号处理不怎么会, 展开
1个回答
展开全部
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
如
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 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询