erin byrne,mathworks
该视频显示了使用Simulink设计信号处理系统的示例金宝app®。
使用空白的Simulink模型开始,并设计信号处理算法金宝app,以预测它是否会阳光明媚或多云,以优化从太阳能电网产生的电力。该视频通过分析传感器信号,设计过滤器并最终为硬件部署生成代码来播放传感器信号。
在视频结束时,您将学习Simulink的基础以及模型的设计如何用于模拟,模拟,测试和实现实际信号处理系统。金宝app该示例中使用的模型文件可以在下面的链接中找到。
我们住在一个传感器的世界里。他们在工厂中的机器人,在我们的手腕上,即使在我们的冰箱里,也可以确保我们的食物焕然一新。这些传感器产生信号。
在此视频中,我们将使用Simulink处理来自传金宝app感器的信号。我们将执行光谱分析以探索信号。基于此,我们将设计和构建数字滤波器作为信号处理算法的一部分。我们将评估我们的算法的性能,并一旦它准备就绪,将我们的模型转换为C代码,可以嵌入到实时硬件中。让我们开始......
在马萨诸塞州纳克尼克的Mathworks总部,有太阳能电池板产生电力。我们将使用每15分钟使用数组产生的功率的测量值。这是我们的信号。
当然,权力取决于阳光的数量,这取决于日间的时间......和天气。
预测和管理变量的生产和需求是可再生能源生成的重要组成部分。为了平滑产生的电力,在阳光灿烂的日子里,我们可以将一些电力存储在电池中。然后在阴天时,我们用它来补充较低的发电。
让我们设计一个可以预测它在Simulink中使用信号处理技术的阳光明媚或多云的系统。金宝app
通过单击MATLAB金宝app ToolStrip上的“Simulink”按钮开始Simulink。这将打开启动页,您可以在其中创建新型号,查找示例,甚至找到基本培训。
我们从头开始启动模型,所以我们将选择空白模型并将其保存为SunnyVscloudy。
金宝appSimulink模型由块和信号线构建。打开库浏览器以查看所有可用的块。
我们首先可视化两个电源信号 - 一个从阳光灿烂的日子和一个来自阴天的电力信号。
要查看我们的信号,让我们拖动两个输入端口,或者短暂,进入我们的模型。然后添加一个范围块。
让我们用“阳光灿烂的日子”和“阴天”和“时间域”标记两个Inport块标记。
我们可以通过单击和拖动将块与信号线连接。要标记信号线,请双击并键入名称。
现在我们需要数据。在Matlab中,我们有两个向量,Sunnyday和Cloudyday,代表6月的两个特定日子的功率测量。相应的时间戳在TDE。
我们还有样本频率,以每天样本数为单位,在变量Fs中。每15分钟取样一次意味着我们每天得到96个样品。
我们必须设置两个Inports的采样时间,因此双击每个Inport以调整其块参数。在“信号属性”选项卡下,将采样时间设置为采样频率的倒数。
要将数据引入Simulink,我们可以进入模型金宝app设置窗口,然后进入数据导入/导出窗格,添加时间和两个电源信号作为输入。我们还应将总模拟时间设置为1天。
我们现在可以通过单击ToolStrip中的“运行”按钮来运行我们的模型。
让我们双击范围块以查看信号。
并允许使用行连接我们的数据点。
平滑的黄线是晴朗的日子。蓝线表明,正如你所预料的那样,多云天气产生的能量较少,而且当云层经过太阳能电池板时,也有许多短期变化。
那么我们如何使用这些功能来决定我们是否有阳光灿烂的日子或阴天?
嗯,让我们看看频域中的这些信号。我们将使用光谱分析,这有助于我们测量每个信号的频率内容。我们首先从DSP系统工具箱添加频谱分析仪块,然后将两个信号连接到它。
要分支信号线,可以在将信号线拖动到块时单击鼠标右键。
我们有短信号,因此我们需要在频谱分析仪块中更改一些设置,以便我们可以正确地看到它们。
这次我们可以通过按顶部的绿色按钮在Spectrum Analyzer内运行我们的模型。让我们打开图例,看看哪一天是哪一天。
那么,我们在看什么?
x轴是频率值。Y轴显示我们在给定频率下信号中的功率是多少。虽然默认时间单位是秒,但我们实际上是在几天内测量时间。因此,X轴是每天循环,而不是每秒循环(或Hz)。
我们看到,两天的低频内容大致相同,但多云的频率内容更高。还记得那些短暂的变化吗?那就是他们在频域中的样子。
所以也许我们可以通过将较高频率的功率与一些阈值进行比较来讲述阳光。
然而,这面板在夏季产生了更多的力量,冬季较少,这意味着阈值必须在全年里发生变化。
嗯,我们希望为一年中的所有季节都有一个不断的门槛。如果我们通过较低频率的功率将高频功率正常化,我们可以使用固定阈值。因此,让我们尝试计算顶部75%频率的总功率与频率底部的总功率的比率。
那么,我们如何分离低频和高频?通过建立数字过滤器。我们需要低频滤波器,用于低频内容和高频滤波器,用于高频内容。
要构建这两个过滤器,我们首先将模型送回单个Inport和Scope块....并从DSP系统工具箱中拖动过滤器实现向导块。
双击块以打开过滤器设计器应用程序。如果您在Matlab中设计过滤器,您可能以前使用过此应用程序。让我们单击“设计过滤器”图标以开始设计低通滤波器。
因为我们只获得每15分钟的样品,所以我们需要一个可以使用的过滤器,只需几个样本。我们将使用Chebyshev类型1 IIR过滤器,并将将过滤器顺序设置为4。
然后我们必须指定截止频率。请记住,我们希望通过频率的较低25%。因此,我们将选择归一化频率并将频率设置为0.25。并将通带纹波保持在小于0.05 dB。
最后,按下底部的设计过滤器按钮。我们看到新的回复是我们想要的。
我们可以通过单击组延迟响应按钮来检查我们的过滤器引入的延迟。对于小于0.25的频率,延迟约为3个样品。让我们记住稍后。
现在我们完成了设计过滤器,让我们通过单击“实现模型”图标将其添加到我们的Simulink模型。金宝app我们将调用块“低通滤波器”并选择“使用基本元素构建模型”选项。这样,我们可以看到用于制作过滤器的基本Simulink块,如金宝app延迟,乘法和添加块。
当我们点击“实现模型”按钮...
...在我们的模型中创建了一个新的子系统。让我们双击此单击以查看内部。
果不其然,滤波器只是单元延迟、增益和加法块,现代DSP芯片和FPGA都经过优化以实现这些功能。
现在为高频内容。我们可以重复相同的过程来设计和实现高通滤波器。在这种情况下,高通滤波器将输入信号延迟1个样本。
好的,让我们在电源信号上测试我们的新滤波器。
我们添加了三个并行路径:一个用于原始电源信号,一个用于低通滤波版本,一个用于高通滤波版本。我们想比较它们。
但请记住,低通滤波器引入了3个样本的延迟,高通滤波器引入了1.所以我们需要添加一些延迟块以确保三个信号对齐。双击模型,然后键入“延迟”,将延迟块快速添加到3个样本的原始信号和另一个延迟块到2个样本的高通信号。
并将修改模型以使用我们具有更长的2个半年数据集,我们拥有,它以T的时间戳存储在可变功率中。
在范围上,让我们放大六天。
黄线是原始电源信号。蓝线是低通信号,代表了一般平滑的趋势。红线是高通信号,其捕获由于云盖引起的变化。在阴天期间,这些变化可能很大。
现在我们已经分开了低频和高频信号,我们已经准备好建立了我们的阳光测试。
我们需要为我们的过滤器汇总足够的时间,以给予明智的结果,但我们不想等待太久以获得答案。所以我们将使用3小时的窗口,这只是12次测量!
要在时间窗口上存储滤波器输出,我们将使用DSP系统工具箱中的缓冲区块。
双击缓冲区,我们可以将缓冲区大小设置为12以处理三小时的窗口。我们需要每个过滤器路径上的缓冲区。
现在我们将使用一些基本的数学操作块来计算我们的Sunny测试,如绝对值,元素和分组和划分块。
让我们添加一个块来比较与阈值的比率。使用Sim金宝appulink,您可以轻松尝试以找到此阈值的良好值。22效果良好,但随时可以玩这个值,看看它如何改变结果。
比较的输出为0,而不是Sunny,1个阳光明媚。让我们缩放它以匹配最大功率,只是它在情节上显示出来。
我们应该删除范围块上的额外输入端口。
在我们运行之前,请注意,这些缓冲区向信号添加了一些更多的延迟。因此,要与原始信号保持一致,我们需要将该延迟增加12。
好吧,让我们跑步,看看我们的算法有效。如果我们像以前一样放大同一天,它看起来很好地工作。
但如果我们看看不同的六天,我们会发现我们的方法问题。有时它在半夜阳光明媚!
为了解决这个问题,让我们通过添加日光探测器来修改我们的Sunny测试。我们将简单地将低频功率与另一个阈值进行比较,这让我们知道太阳是否实际上。我们可以将两个条件与AND块相结合。
重新运行模型并检查那些日子......我们看到我们已经解决了虚假的检测问题。
现在我们有一个工作算法,我们希望将其部署到嵌入式系统。使用嵌入式编码器,我们可以部署到Arduino,Raspberry Pi,Zynq等许多其他人。
让我们将模型部署到Arduino Uno Board。
我们将打开模型设置窗口并选择硬件板。然后,我们将用于测试的范围块替换为输出端口。
现在让我们生成代码。这需要我们的Simulink模金宝app型,并生成我们需要编译部署模型的所有C文件。您还可以为其他嵌入式系统生成通用C代码。
或... VHDL或Verilog代码部署到FPGA。
一旦我们拥有我们生成的代码,我们将它移到太阳能阵列上的嵌入式硬件。
看看我们使用Simulink所做的事情!金宝app我们现在有一个稳定的可再生能源来源。
您已经了解如何从空白画布到在嵌入式系统上运行的信号处理应用程序。你也可以尝试这个。这些文件可供您下载。
既然你有一种觉得与Simulink一起使用的是,现在是时候了解它了。金宝app学习Simulink的最佳方法是使用它。金宝app因此,启动Simulin金宝appk OnJramp,它将教授您的基础知识。它是免费的,只需几个小时。
欢迎来到Simulin金宝appk!
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。