[已答复] 已知波形如何进行傅里叶分解

[复制链接]
罗罗罗啊 发表于 2020-11-20 19:40:19
怎么用MATLAB对一个非周期信号进行傅里叶分解,已知信号的波形

8 条回复


coolchen302 发表于 2020-11-21 20:01:01
用fft这个函数
然后根据帮助文档,对数据进行一下简单处理,就能得到频率与幅值了

罗罗罗啊 发表于 2020-11-21 20:04:36
coolchen302 发表于 2020-11-21 20:01
用fft这个函数
然后根据帮助文档,对数据进行一下简单处理,就能得到频率与幅值了 ...

我在网上找到了代码改了一下可以帮我看看哪里有问题吗

coolchen302 发表于 2020-11-22 08:35:26
罗罗罗啊 发表于 2020-11-21 20:04
我在网上找到了代码改了一下可以帮我看看哪里有问题吗

与其等着别人看,自己调试一下就快速有结果了

罗罗罗啊 发表于 2020-11-22 18:54:01
coolchen302 发表于 2020-11-22 08:35
与其等着别人看,自己调试一下就快速有结果了

我分解出来的和文献里面的不一样:(

coolchen302 发表于 2020-11-22 20:13:06
罗罗罗啊 发表于 2020-11-22 18:54
我分解出来的和文献里面的不一样

自己构造个多频率的信号,还原了试试吧
这个还是要一次搞清楚的好,不然后面用起来总会感觉有别扭和问题

soxheng 发表于 2020-11-22 20:40:00
fft可以做

mat_jer 发表于 2020-11-22 21:25:36
不妨把波形发出来看看呀

罗罗罗啊 发表于 2020-11-23 15:06:00
mat_jer 发表于 2020-11-22 21:25
不妨把波形发出来看看呀

这是我的全部代码
clc;clear;close all;
fs=600;%采样频率
x=0:25:400;
x1=[x;x(2:end),x(end)+50];
x2=x1(:);
y=[1.2 1.2 1.1 1.1 1.3 1.3 1.4 1.4 1.2 1.2 1.0 1.0 1.3 1.3 1.1 1.1 1.2];
y1=[y;y];
y2=y1(:);
subplot(2,1,1);plot(x2,y2);ylim([0.9,1.5]);
title('激励信号')
Fy=abs(fft(y2,512));
f2=fs*(0:256)/512;
subplot(2,1,2),plot(f2,Fy(1:257))
title('频谱图');
set(gcf,'unit','normalized','position',[0 0 1 1]);
set(gca,'xtick',0:25:300);
axis([0,300,0 50]);

激励信号

激励信号

我分解的

我分解的

文献分解的

文献分解的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表