matlab Simulink:范围内的模拟时间缓冲问题

ipakzgxi  于 2022-11-15  发布在  Matlab
关注(0)|答案(2)|浏览(139)

我以44100/1024个时间间隔以每帧1024个样本的速度将音频流出SIMULINK块。当我将一个示波器连接到这个缓冲区时,我没有得到任何显示,并且我认为我需要以44100的间隔速率一次向示波器提供一个样本。
有能做到这一点的街区吗?或者,是否可以将作用域配置为接受缓冲区并适当地处理内容?

dtcbnfnu

dtcbnfnu1#

假设您有DSP系统工具箱,那么使用Vector Scope,而不是标准的作用域块。
或者,使用Unbuffer块来生成基于时间的信号,并将它们馈送到标准示波器。

zqry0prt

zqry0prt2#

我不知道我是否完全理解你的问题,但如果是的话,答案可能很简单:
1.在作用域上右击,选择阻止参数作用域
1.然后在示波器的左上角,点击齿轮图标(示波器的属性)。
1.然后,在“输入处理”部分,您可以选择基于框架的函数或基于样本的函数。选择基于框架的,它应该可以工作。
我提到,有时我的Simulink版本有一个错误:选择基于帧的,然后返回到基于示例的Crash MatLab。我只需重新启动matlab,一切都会再次正常工作。
在被接受的答案中提出的“无缓冲选项”也会起作用,但可能会大大减慢范围。如果数据量很大并且速度很重要,只需在示波器的属性中选择“基于帧”选项即可:它工作得很好。
下面图片中的选项可供选择。

相关问题