MATLAB / Simulink中的交流耦合

时间:2017-07-27 13:10:00

标签: matlab simulink

我一直在尝试使用Simulink对示波器(包括DSP)进行建模。我仍然是新手所以如果以下问题太容易请原谅我:如何在使用模拟信号时在Simulink中实现交流耦合(去除直流分量)?我知道有一个DC阻断器,但它只接受离散信号,我想稍后用不完美的ADC离散我的信号。

我试图将MATLAB函数用于AC耦合,但我找不到使用从函数声明中获得的现有模拟信号的方法。相反,所有MATLAB纪录片似乎都要我在我的电脑上使用模拟设备(https://mathworks.com/help/daq/analog-data-acquisition.html)。

感谢您的任何努力和/或建议! :)

2 个答案:

答案 0 :(得分:1)

我不认为使用Matlab功能块会起作用,因为你需要保持状态。为了模拟交流耦合,我认为你需要创建一个高通滤波器。这将从信号中移除DC,使波形以零为中心。转角频率通常需要非常低,以使得测量的波形不会失真。您可以在没有任何特殊工具箱的情况下构建它。你只需要一个积分器块,增益块和一些求和块。

下面提供了一个示例: Simulink Example

此示例在1秒内对波形应用DC步。下图提供了输出

output example

在上图(输入)中,偏移保持不变,但在下图(输出)中,偏移被移除。

答案 1 :(得分:0)

如果您想使用matlab AC Coupling 功能,请尝试使用Matlab功能块:https://fr.mathworks.com/help/simulink/ug/creating-an-example-model-that-uses-a-matlab-function-block.html。您可以像使用任何matlab函数一样使用它,即function [out1, out2] = my_function(in1),但它将在simulink块中定义。