Matlab/Simulink 波形FFT分析图 绘制

Matlab/Simulink 波形FFT分析图 绘制

Simulink FFT分析图导出至Visio文件后需重新编辑

若果想要将其他多余部分删除还需要取消组合,删除网格等操作

本程序的目的便是为了解决上述问题,简化后续操作,实现matlab只出图可以直接用于汇报、文章初稿

第一步,matlab中将想要实现FFT分析的数据输入scope

第二步,修改示波器配置

双击打开scope-右键属性配置-记录:变量名称、保存格式

(本人为22a版本,中文,需自行对应英文格式)
第三步,运行仿真

结束后工作区便出现同名称结构体数据

第四步,同文件夹运行。m程序文件

注意:需根据实际需要修改数据,具体可见注释部分

% Simulink波形FFT数据导出并绘图
% 解决Simulink导出FFT分析图需要取消组合并且需要删除网格的操作

FFTDATAa = power_fftscope(FreqScan); %% 生成FFTDATA结构体,括号内为simulink导出的结构体名称
FFTDATAa.input = 1; %% 输入信号排序,Eg:输入为三相电压、三相电流两个信号。电压为1,电流为2
FFTDATAa.signal = 1; %% 输入信号中信号排序,Eg:A相电压为1,C相电压为3
FFTDATAa.startTime = 1; %% 起始时刻
FFTDATAa.cycles = 50; %% 参与FFT的周期数
FFTDATAa.fundamental = 50; %% 基波周期
FFTDATAa.maxFrequency = 100000; %% FFT最大频率
FFTDATAa_update = power_fftscope(FFTDATAa);%% 更新结构体

frequency=FFTDATAa_update.freq;% 频率
Mag=FFTDATAa_update.mag;% 幅值
Mag_fund=FFTDATAa_update.magFundamental;% 基波幅值
Thd=FFTDATAa_update.THD;% 百分之

Fundstr=num2str(Mag_fund);% 基波幅值数值信号转换为字符串,用于显示
THDstr=num2str(Thd);% THD幅值数值信号转换为字符串,用于显示

Titleplot1=['Fundamental(50Hz)=' Fundstr '(V), THD=' THDstr '%'];%数值转化为字符串

bar(frequency,100*Mag/Mag_fund,'facecolor','m','EdgeColor','k');hold on;%柱状图
axis([0 200,0 0.14]);%设置横纵坐标范围
title(Titleplot1);
ylabel('\rm\fontname{Times New Roman}Mag(% of Fundamental)');
xlabel('\rm\fontname{Times New Roman}Frequency(Hz)');
set(gca,'FontSize',12,'Fontname', 'Times New Roman');
set(gcf,'unit','normalized','position',[0.1,0.1,0.4,0.3]);
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值