如何使用Simulink仿真对来源于外部的一组数据进行频谱分析(FFT)

相信不少人在做实验或者做嵌入式软件测试的时候会遇到需要利用FFT进行频谱分析的情况,我们通过Simulink仿真可以快速地进行简单的频谱分析,可以省去写一堆代码(当然用matlab代码实现也利于我们理解FFT相关原理、参数和解算过程)。
本文主要针对从实际示波器获取的数据或者从单片机/微控制器发送至电脑的数据进行分析,它们的共同特点是数据均来源于matlab外部。

具体操作流程

1.导入数据到工作区

这里以单片机发送给电脑的数据为例,首先将接收到的采样值暂时存在EXCEL里面(这里只发送了采样值数据,已知采样频率)。然后打开MATLAB命令行建立两列数据(也可以创建一个.m文件),分别是采样时间点和每一个采样时刻对应的采样值。通过 ts=(0:0.00005:0.05)'可以建立一个时间值的列向量,其中0是起始时刻,0.00005是步进值(取决于我们的采样频率,此处20kHz),0.05是终止时刻,这些取值根据实际情况自行改动, ’ 是表示转置为列向量;然后建立采样值的列向量ia=0(任意给个初值),我们在工作区点开该变量,通过复制我们ECXEL里面的采样值到该变量的表格里完成其赋值(这里也可以通过“导入数据”进行)。
将时间和数值导入工作区

2.建立仿真模型

创建一个simulink仿真模型并保存,在模型中导入“powergui”、示波器“scope”和“From Workspace”,使用“From Workspace”将数据ts和ia输入到示波器中。
alt此时我们运行仿真便可在示波器上看到波形。
alt

3.设置示波器数据输出

点击示波器左上角齿轮图标,设置‘Configuration Propeties’的Logging项,选中log data to workspace,创建变量名(自定义)和保存形式(设为Structure With Time)。保存simulink文件,并仿真一次。
alt

4.打开FFT分析工具

双击powergui,选择FFT分析工具,在可用信号中选择刚刚自定义过名字的那个信号,设置好起始时间,周期数,最大频率等参数就可以点击Display就得到了FFT分析结果。
在这里插入图片描述alt

PS.

当发现FFT工具下没有可用信号时需要设置一下菜单栏的*simulation>>model configuration parameters>>Data Import/Export>>single simulation output*,前面的勾勾取消掉,再重新仿真一次就可以在FFT工具的Available Signals窗口看到变量了。

因为本例中信号值数据来源于仿真文件外部,所以要事先导入,示波器来源的数据也是类似的操作,只不过它既有时间也有采样值,都无需自己建立时间轴数据。如果是利用仿真框图搭建的电路,直接对电路中的信号进行FFT的话则从上面第3个步骤开始即可。
本实验所用Matlab版本为2019a。以上内容由博主亲测有效,第一次写博客,疏漏出错之处望批评指正。

致谢!本文参考的链接如下:
[1] https://blog.csdn.net/tuxinbang1989/article/details/80593502.
[2] https://blog.csdn.net/jiekencuo5135/article/details/97235233.
[3] https://ww2.mathworks.cn/matlabcentral/answers/472454-fft-analysis-through-powergui-block-is-showing-empty-in-signal-options.
[4] https://wenku.baidu.com/view/cc7fb7a6172ded630a1cb600.html.

  • 26
    点赞
  • 179
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: Simulink是一款基于模块化设计的工程仿真软件,可以通过拖拽模块化部件来构建系统模型。在频谱分析仪系统前端建模仿真中,我们可以使用Simulink来构建系统模型,并进行仿真分析。 首先,我们需要确定系统的输入和输出信号,并且选择相应的信号源和处理模块。在频谱分析仪系统中,输入信号通常是经过前置放大器增益后的待测信号,输出信号则是经过频谱分析处理后的频谱图。因此,在Simulink中,我们可以选择Signal Generator模块作为输入信号源,使用FFT模块作为频谱分析处理模块,并将其连接起来。 接着,我们需要对系统的各个模块进行参数配置。在Signal Generator模块中,我们可以设置信号的幅值、频率和相位等参数;在FFT模块中,我们则需要设置采样率、FFT点数和窗函数等参数。这些参数的选择需要考虑到系统的实际需求和具体应用场景。 最后,我们可以对系统模型进行仿真分析,并进行结果分析和优化调整。通过Simulink仿真分析功能,我们可以模拟系统的运行过程,对系统的性能、稳定性和可靠性等方面进行评估和优化。 总之,基于Simulink频谱分析仪系统前端建模仿真可以帮助我们快速构建系统模型,并进行仿真分析和优化调整,从而提高系统的性能和可靠性。 ### 回答2: 基于Simulink频谱分析仪系统前端建模仿真是一种通过Simulink软件对频谱分析仪系统进行建模和仿真的方法。在该方法中,我们可以通过Simulink的图形化界面来搭建频谱分析仪的前端模型,然后对其进行仿真。 首先,我们可以使用Simulink中的信号源模块来模拟输入信号。这些输入信号可以是不同频率、不同振幅、不同波形的信号,以模拟不同的测试场景。 接下来,我们可以使用滤波器模块对输入信号进行滤波处理。滤波器模块可以实现低通、高通、带通等滤波器。通过调整滤波器的参数,我们可以模拟不同的频域特性。 然后,我们可以使用采样模块对滤波后的信号进行采样。采样模块可以按照一定的采样频率对输入信号进行采样,并将采样后的离散信号传递给后续的模块。 接着,我们可以使用FFT(快速傅里叶变换)模块对采样后的信号进行频谱分析。通过对采样后的信号进行FFT变换,我们可以得到信号的频谱图,并进一步分析信号的频域特性。 最后,我们可以使用显示模块来展示频谱图和其他分析结果。显示模块可以将频谱图以图形的形式显示出来,使得用户可以直观地观察信号的频域特性。 通过Simulink的图形化界面,我们可以方便地将这些模块进行连接,并设置各个模块的参数。在进行仿真时,Simulink会处理这些模块之间的信号传递和计算过程,并逐步生成仿真结果。 基于Simulink频谱分析仪系统前端建模仿真,可以帮助我们更好地理解频谱分析仪系统的工作原理,并优化系统设计。同时,由于Simulink具有可视化、交互性、高灵活性的特点,使得频谱分析仪系统的建模和仿真变得更加简便和高效。 ### 回答3: 基于Simulink频谱分析仪系统前端建模仿真是指利用Simulink软件对频谱分析仪系统的前端部分进行建模和模拟仿真频谱分析仪是一种用于测量和分析信号频谱特性的仪器。它通常由前端和后端两个主要部分组成。前端部分主要负责信号的采集和处理,后端部分负责信号的分析和显示。 在Simulink中,我们可以利用各种功能块和模块来构建频谱分析仪的前端部分模型。例如,我们可以使用输入端口模块来接收要分析的信号输入,并使用滤波器模块对信号进行滤波处理,去除噪声和不感兴趣的频段。接着,我们可以使用峰值检测模块来寻找信号的峰值,并使用锁相环(PLL)模块进行频率跟踪和调整。 除了这些基本功能模块外,Simulink还提供了丰富的工具和库,可以用于模拟和仿真各种不同的信号处理算法和技术。例如,我们可以使用离散傅立叶变换(DFT)模块来将时域信号转换为频域信号,或者使用功率谱估计模块来计算信号的功率谱密度。 通过利用Simulink进行频谱分析仪系统前端建模仿真,我们可以直观地展示系统的工作流程和性能特性。我们可以通过调整各个模块的参数和配置来观察信号处理结果的变化,并进一步优化和改进系统设计。同时,Simulink还具有方便的图形界面和数据可视化功能,使得我们可以直观地观察和分析模拟结果。 总之,基于Simulink频谱分析仪系统前端建模仿真为我们提供了一种方便、高效和可视化的方法,用于模拟和优化频谱分析仪前端部分的设计和性能。它为我们的研究和工程实践提供了有力的支持和工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值