找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

Flux电机有限元分析教程西莫团购入口 | 奖励入口当当网购物入口 | 奖励入口欢迎使用!西莫论坛App开放下载Motor-CAD电机多物理域设计教材购买入口 | 奖励入口
★新会员论坛须知★《西莫电机技术》第39期发售火热进行中Flux电机电磁阀有限元分析教程团购入口 | 奖励入口论坛微信公众平台欢迎入驻
西莫电机及相关产品供需交流群开放邀请★ 论坛VIP会员申请 ★Motor-CAD.MANATEE电磁热振动噪声教程 | 奖励入口西莫团队欢迎您的加盟!
宣传推广合作请联系QQ:25941174西莫电机论坛微信群正式开放Flux变压器与电抗器有限元分析团购入口 | 奖励入口西莫电机论坛技术版区QQ群汇总
查看: 6459|回复: 8

利用MATLAB做快速傅里叶变换

  [复制链接]

该用户从未签到

发表于 2010-1-5 11:54 | 显示全部楼层 |阅读模式 来自: 中国广东广州

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
看到很多人不会用MATLAB做FFT,特别利用MATALB的FFT函数编制一个程序如下:
%%本程序利用快速傅里叶变换FFT,求取时域信号的幅值频域分布;

clear;clc;                 %清空变量空间

load data;      %输入信号:先将各种格式的信号数据导入,然后存为MAT格式;
t=data(:,1);               %对应时间点;
x=data(:,2);               %对应信号值的大小;

lenx=length(x);            %求取取样数和基波频率;
N=lenx-1;
tstart=t(1);tend=t(lenx);
T=tend-tstart;f0=1/T;
k=0:N/2-1;
fs=k*f0;

xk=fft(x,N);               %快速傅里叶变换;
mag_xk=abs(xk)/(N/2);      %除以N/2,以得到每个频率点的幅值;
mag_xk=mag_xk(1:N/2);      %因为结果是对称的,所以只取其中一半;

subplot(2,1,1);            %绘制输入信号图;
plot(t,x);
grid on;

subplot(2,1,2);            %绘制各频率点的幅值图;
stem(fs,mag_xk);
grid on;

评分

参与人数 2西莫币 +11 收起 理由
yuexu282 + 3 非常棒
y1949b + 8 多谢支持

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过

该用户从未签到

 楼主| 发表于 2010-1-5 11:55 | 显示全部楼层 来自: 中国广东广州
信号和FFT图
MATLAB.pdf (14.51 KB, 下载次数: 243)
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2010-1-5 15:38 | 显示全部楼层 来自: 中国浙江杭州
虽然不难,但还是赞下LZ的热心
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 55 天

连续签到: 2 天

[LV.5]常住居民I

发表于 2010-1-5 19:30 | 显示全部楼层 来自: 中国上海
你没有讲到相位谱的问题,而恰恰在这方面容易出问题,例如相位解缠Unwrap,频率Shift等,下面这篇帖子里有一个实例,请楼主去诊断和指导一下。

https://bbs.simol.cn/thread-9237-1-1.html

评分

参与人数 1西莫币 +3 收起 理由
y1949b + 3 多谢支持

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-1-5 21:12 | 显示全部楼层 来自: 中国广东广州
增加的相位谱如下:

%%本程序利用快速傅里叶变换FFT,求取时域信号的幅值频域分布;

clear;clc;                 %清空变量空间

load data1;      %输入信号:先将各种格式的信号数据导入,然后存为MAT格式;
t=data1(20:40,1)/1000;     %对应时间点;
x=data1(20:40,2);          %对应信号值的大小;

lenx=length(x);            %求取取样数和基波频率;
N=lenx-1;
tstart=t(1);tend=t(lenx);
T=tend-tstart;f0=1/T;
k=0:N/2-1;
fs=k*f0;

xk=fft(x,N);               %快速傅里叶变换;
mag_xk=abs(xk)/(N/2);      %除以N/2,以得到每个频率点的幅值;
mag_xk=mag_xk(1:N/2);      %因为结果是对称的,所以只取其中一半;
ang_xk=angle(xk)/(2*pi)*360;
ang_xk=ang_xk(1:N/2);

subplot(3,1,1);            %绘制输入信号图;
plot(t,x);
title('输入信号图');xlabel('时间以秒为单位');ylabel('信号以伏特为单位');
grid on;

subplot(3,1,2);            %绘制各频率点的幅值图;
stem(fs,mag_xk);
title('信号频谱图');xlabel('频率以赫兹为单位');ylabel('幅值以伏特为单位');
grid on;

subplot(3,1,3);            %绘制各频率点的角度图;
stem(fs,ang_xk);
title('信号频谱图');xlabel('频率以赫兹为单位');ylabel('以角度为单位');
grid on;
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-1-5 21:17 | 显示全部楼层 来自: 中国广东广州
但是MAXWELL的相位谱和MATLAB有所不同。
matlab.bmp
maxwell_angle.bmp
maxwell_mag.bmp
maxwell_voltage.bmp

评分

参与人数 1西莫币 +3 收起 理由
y1949b + 3 多谢支持

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 55 天

连续签到: 2 天

[LV.5]常住居民I

发表于 2010-1-6 08:55 | 显示全部楼层 来自: 中国上海
那你分析一下,这个文件中,2个波形内各次谐波的相位差。重点是4次谐波的相位差,或者5次谐波的相位差。谢谢!

9槽线圈.rar (269.02 KB, 下载次数: 10)
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2010-1-6 10:24 | 显示全部楼层 来自: 中国浙江嘉兴
学习了,蛮复杂的
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 4 天

连续签到: 1 天

[LV.2]偶尔看看I

发表于 2017-10-3 16:40 | 显示全部楼层 来自: 中国江苏苏州
不错不错,谢谢楼主分享
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

西莫电机论坛微信公众平台欢迎您的关注!

QQ|Archiver|手机版|小黑屋|西莫电机圈 ( 浙ICP备10025899号-3|浙公网安备:33028202000436号 )

GMT+8, 2024-12-24 10:57 , Processed in 0.059867 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表