simulink模块和matlab函数库对频谱分析的尝试

最近在做功率谱密度分析的时候,发现simulink中有些模块可以实现和matlab库函数一样的效果,简而言之,这些模块等价于matlab的频谱分析库函数,也不知道对不对,没有系统的学习过信号处理,这里只是为了方便自己的学习,如果有什么错误欢迎指导,谢谢理解!

1.simulink模块对频谱分析的尝试

对一组数据进行频谱分析可以是simulink模块仿真直接得到的,也可以是外界导入到工作区间的,这里以simulink模块生成的数据进行频谱分析。

1.1Spectrum Analyzer模块

模块长这个样子,模块直接在空白处搜索或者在库里面拖出

1.1.1模块使用问题 

使用这个模块会经常遇到两个问题:

(1)Spectrum cannot be displayed for continuous or infinite sample times.

 意思就是说采样时间不连续,尝试的解决方法:

①将模块的采样时间和仿真步长设置为离散的

如使用白噪声模块:

 仿真时间设置为定步长:

②在谱分析结果显示前添加一个零阶保持器模块,如下:

 (2)The Snectrum Analvzer reauires 3391 samples to update the display. Run the simulation for a longer time to see results.

 意思就是说采样的点不够,尝试解决方法:

①将产生数据的模块采样时间减小,如刚才的白噪声模块0.1改为0.01

②将仿真时间加长

仿真结果如下:

1.1.2 对出图结果的一些选择和调整

比如加窗选择:

1.2 powergui模块

这个模块长这个样子

 通常选择离散的

 选择FFT Analasys

此前需要将数据导入到工作区间,之后再Avalabel signals选择我们要显示的数据,如果利用scope模块导入工作区间,一般是这样操作的(记得选择Structure with Time):

打开之后常常会遇到这样的问题:The sampling period of the selected signal is not small enough for thegiven fundamental frequency.

 意思还是说选择的信号采样的频率不够小,尝试解决方法:

将Fundamental frequencey调小一点,调整结果如下:

1.3 Array plot 模块等

一般使用的组合形式是这样的(目前还没搞懂怎么测试):

未完待续.......

注:只是为了方便自己学习使用,如果错误的地方欢迎指正批评,谢谢! 

 

 参考资料:

用simulink分析傅里叶变换、短时傅里叶变换和小波变换_lijil168的博客-CSDN博客_simulink傅里叶分析 

功率谱学习及matlab代码_人间不想清醒的博客-CSDN博客_matlab 功率谱

解决Simulink中使用Spectrum Analyzer观察信号频谱2个常见的问题_仰头向前走的博客-CSDN博客_simulink中spectrum 

 simulink中使用FFT tool进行信号频域分析方法_ZHYAXC的博客-CSDN博客

 

  • 19
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr. 邹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值