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('rmfontname{Times New Roman}Mag(% of Fundamental)');
xlabel('rmfontname{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]);
最后
以上就是内向大象最近收集整理的关于Matlab/Simulink 波形FFT分析图 绘制的全部内容,更多相关Matlab/Simulink内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复