数码复古之声用Wolfram语言和系统建模器建模模拟鼓beplay体育官网下载appbeplay体育手机官网安卓版
来探索本文的内容免费Wolbeplay体育手机官网安卓版fram System Modeler试用版.你可能不知道罗兰TR-808节奏作曲家是,但你肯定听说过。TR-808是罗兰公司于1980年推出的可编程鼓机。808是最具标志性的鼓机之一,已用于各种各样的音乐,如嘻哈,舞蹈,灵魂,电子,流行和更多。
808听起来是这样的:
![]()
& # 10005
|
每一个808声音都有自己的个性。40多年来,它让音乐家们着迷,他们在音乐中使用这种鼓机。如果你感兴趣,你可以找到很多关于808的视频,包括这个预告片808长篇纪录片:
所有808种声音都是用模拟电子技术产生的。(其他鼓机可能会使用样本,这是现有鼓或打击乐的录音。)多年来,我一直在分析鼓的合成电路,事实上,所有的鼓声音都是由简单的电子元件产生的,这使得808非常有趣。
在这篇博文中,我们将建模和模拟踢鼓这是808中最具象征意义的鼓之一beplay体育手机官网安卓版Wolfram系统建模器.我们将从创建一个组件级模型开始,以获得行为的精确再现。(下载这个压缩文件夹所有必要的文件来实验这篇文章中的代码。)稍后,我们将简化和优化模型,将不同版本的声音与808踢鼓硬件进行比较。
建模808踢鼓
这里你可以看到我为低音鼓做的示意图:
![]()
& # 10005
|
(与原来的原理图相比,这个原理图有一些小的修改,但这些修改对我们的分析不重要。)
当试图理解这样的电路时,我从寻找小的子电路或模式开始,比如滤波器、缓冲器、放大器或常见的运算放大电路。当我不确定一个电路的功能是什么时,我就模拟它,并将结果与实际电路进行验证。在这种情况下,我已经创建了我自己的电路副本,我们将用作参考:
![]()
& # 10005
|
理解电路的每个部分
在前面的原理图中,我已经将电路划分为更小的子电路。我们将通过单独执行模拟来分析这些部分,并在最后模拟整个电路。
当我们跟随信号流时,我们将分析的第一部分是强调信号和触发信号的过程。我们将把这部分电路称为第一节。
![]()
& # 10005
|
触发器通常是1ms左右的小脉冲,振幅为5v。重音信号定义了击鼓声音的速度(强度)。在这台鼓机中,有三个层次的强度:一个普通的击打,一个重音和一个鬼音。重音的电压决定了强度。较大的电压(例如14v)将产生重音,而8v将是正常音。类似地,低电压(例如4伏)会产生柔和的(鬼音)音。
Section 1电路由两个晶体管和几个电阻组成。中包含的通用晶体管模型,我们可以在System Modeler中模拟该电路Modelica标准库因为,在这种特殊情况下,晶体管起着开关的作用。下图是在System Modeler中制作的等效电路:
![]()
& # 10005
|
在这个模拟中,使用Modelica库中的Ramp和Pulse块生成Accent和Trigger信号。口音从0v到8v,而触发器产生5v的脉冲。我们可以从模拟结果中看到,当Accent高于(大约)2v时,我们得到一个与Trigger类似的脉冲作为输出,但具有Accent信号的振幅。该电路表现为一个控制开关,其中触发信号控制强调信号的流:
![]()
& # 10005
|
我们可以在模拟中看到,开关不是完全线性的。重音至少需要~ 2v才能得到输出。
电路的下一节(第2节)将前面分析的电路产生的脉冲作为输入。
![]()
& # 10005
|
这个电路看起来像一个无源高通滤波器,除了二极管。该级的输出连接到运算放大器的正极。因此,我们可以假设它连接到高阻抗负载。
我们可以在System Modeler中重新创建该电路,并使用通用二极管模型:
![]()
& # 10005
|
如果我们使用5v脉冲作为输入来模拟这个电路,我们得到以下结果:
![]()
& # 10005
|
当输入脉冲从0v跃迁到5v时,输出产生一个几乎与输入相同高的峰值。当输入脉冲返回到0v时,输出有一个小的负峰。通过移除二极管并重新运行模拟,我们可以看到二极管的用途:
![]()
& # 10005
|
我们可以在输出中看到一个很大的负峰值。二极管放在那里是为了抑制这个信号的负峰。产生的脉冲现在被发送到主谐振器电路(第3节)。这是鼓的中心部分,我们接下来要分析它。
![]()
& # 10005
|
这部分电路被称为桥接t型网络或多反馈带通滤波器.
让我们先创建一个简化版本的电路来分析它:
![]()
& # 10005
|
在前面的电路中,我们消除了两个输入(原始电路的顶部),47 k和6.8 k的电阻被组合成一个53.8 k的电阻。我们使用约1 ms的小脉冲来激发(ping)滤波器。仿真结果如下图所示:
![]()
& # 10005
|
从结果中我们可以看到,在滤波器中引入一个小脉冲使其在短时间内振荡(共振)。振荡频率由带通滤波器的中心频率决定,中心频率由电路中电容和电阻C1、C2和R2的值决定。
您可能还记得,在这个模拟中,原始电路中的R2由两个电阻(47k和
![]()
& # 10005
|
你可能还注意到有一个晶体管与47 k的电阻并联(章节6)。这个晶体管似乎是一个开关,用于使47 k的电阻短路。如前所述,改变这个电阻的值将使滤波器以不同的频率共振。在下面的图中,我们可以看到短路47 k电阻的结果,这将有效电阻从53.8 k改变为6.8 k:
![]()
& # 10005
|
电阻为6.8 k(短路为47 k),滤波器谐振频率更高。一个信号控制开关(晶体管在第6节),但我们将在后面看它。记住,这个信号是用来改变滤波器的频率的。
在这个阶段,我们已经可以通过模拟我们的模型(使用6.8 k电阻)来听鼓的声音。请注意,你可能需要耳机或像样的音响系统来收听低频:
![]()
& # 10005
|
在谐振器之后,有一个运算放大器,其中包括一个标记为“衰减”的电位器。这是我们的Section 4,如图所示:
![]()
& # 10005
|
在鼓的语境中,“衰减”指的是鼓产生声音的时间。短衰减音是一种快的声音,例如敲门发出的声音。长时间的衰变声音就像拨动吉他弦一样,通常需要几秒钟才能停止发出声音。根据电位器的描述,我们可以假设这一阶段是负责控制鼓的衰减。
这部分包括一个工作在反相模式的运算放大器。如果我们暂时忽略33 uF电容器,我们可以看到我们有500 k电位器与47 k电阻并联连接。两者的等效电阻可由下式计算:
![]()
& # 10005
|
在我们的例子中,电位器的电阻根据其位置的不同从0 k到500 k欧姆不等。根据上述公式,我们可以计算出等效电阻随电位器位置(pos):
![]()
& # 10005
|
如果我们画出电位器位置函数的等效电阻,我们可以看到它表现为对数电位器,其值从0 k到~42 k欧姆:
![]()
& # 10005
|
如前所述,运算放大器连接为反相放大器。反相放大器的增益公式由反馈电阻与输入电阻之比给出。在我们的例子中,反馈电阻是等效电阻(要求的事情),输入电阻为47k;故第4节的直流增益为:
![]()
& # 10005
|
让我们进行一些模拟来证实前面的分析,并找出反馈中33 uF电容器的用途。在下图中,您可以看到第4节的略微简化版本。唯一的变化是我们取消了连接到运放正输入的电阻,并将电位器的位置固定为10% (0.1):
![]()
& # 10005
|
因为这个模型有一个输入和一个输出,我们可以很容易地线性化它,并创建一个波德图分析频率响应:
![]()
& # 10005
|
从这些结果中,我们可以观察到,对于非常低的频率(小于0.1 rad/s),该电路的增益为0 dB。对于大于1 rad/s的频率,增益由我们之前计算的公式给出。基本上,33 uF电容器是让直流电不受影响,但衰减所有其他频率根据电位器的位置。
第4节的输出连接到第3节(作为反馈)。如下图所示。让我们做一个模拟模型,测试衰减的效果:
![]()
& # 10005
|
在下一个图中,您可以看到简化的仿真模型,其中我在第4节中删除了33 uF电容器。衰减电位计设置为90%:
![]()
& # 10005
|
现在您可以看到模拟结果。在这种情况下,系统共振的时间更长,甚至在鼓停止产生声音之前就触发了下一次命中:
![]()
& # 10005
|
通过听产生的声音,你可以听到它确实有一个更长的衰减:
![]()
& # 10005
|
到目前为止,我们已经模拟了主滤波器(谐振器)的一部分。接下来,我们将深入研究第5节:
![]()
& # 10005
|
第5节使用了两个晶体管,它们看起来像是开关。第一个函数获取Section 1的输出(触发器信号)。当开关关闭时,它迅速放电100nf电容器。当开关打开时,电容通过1m电阻使用VCC电压(大约+ 15v)充电,电容的电压控制第二个晶体管。当电容器中的电压低(放电),晶体管(引脚1)的集电极通过22 k电阻设置为VCC。一旦电容器的电压使第二晶体管的基极极化,22 k电阻的下端就连接到地。
让我们模拟电路,以更好地了解正在发生的事情:
![]()
& # 10005
|
在这个模拟中,我们使用一个持续时间为1毫秒的5伏脉冲作为触发器。在仿真结果中,我们看到了电容器在高脉冲时是如何放电的。电容器需要大约6.3 ms才能关闭晶体管T2,使输出为0 V。总之,第5节产生的脉冲大约比触发器输入大5.3毫秒。第6节和第7节使用此信号:
![]()
& # 10005
|
鼓机服务手册提到,这个脉冲的预期是4毫秒,但在我们的模拟中,我们得到大约5.3毫秒。这种差异可能是因为我们采用了一种通用的NPN晶体管模型,它与使用的原始晶体管不匹配。同样重要的是,要考虑到实际的电容器、晶体管和电阻都有变异性,当这三种元件组合在一起时,计时极有可能会断开。在我们的仿真模型中,我们可以通过减小1 M欧姆电阻来轻松匹配时序。
我们之前已经看到,在第6节中的晶体管绕过了主谐振器的47k电阻,使其振荡更快。由于晶体管是由第5节产生的脉冲控制的,我们可以得出这样的结论:鼓在短时间内振荡得更快,然后回到它的主振荡频率:
![]()
& # 10005
|
谐振腔的音调变化是为了模拟真正的踢鼓。当用木槌击打真正的踢鼓时,鼓的膜被拉伸,这增加了张力,使音调在很短的时间内更高。经过几次振动后,鼓恢复到原来的张力,并继续振动,直到能量消散。
第7节也接收了第5节的脉冲。让我们创建一个简化的电路并模拟它来理解发生了什么:
![]()
& # 10005
|
在前面的电路中,我们重新创建了第7节,并模拟了第5节产生的脉冲。在下面的图中,您可以看到模拟结果。该电路产生一个与输入脉冲宽度相似的负脉冲。该电路的工作方式是,当晶体管T1打开时,电容器C1通过R1和D1充电到+ 15v,当晶体管关闭时,它将电容器的正引脚连接到地。这将电容器的反向电压(- 15v)应用到D1和输出。除了触发脉冲外,该信号还用于激发谐振器:
![]()
& # 10005
|
我们要分析的最后一个阶段是第8节。我们不打算涵盖第9节,因为它非常简单,基本上是一个电平控制和直流偏移消除。第8节有一个标有“音调”的电位器。很容易看出这只是一个低通RC滤波器。值得注意的一件有趣的事情是,电位器与一个10 k电阻并联。这与我们之前分析的Decay控件具有类似的行为。这使它成为一个类似对数的电位器,但是曲线有点不同。在这种情况下,等效电阻由下式给出:
![]()
& # 10005
|
等效电阻与旋钮位置的关系如下图所示。使用这个值,我们可以很容易地计算出RC滤波器的截止频率,它由公式给出:
![]()
& # 10005
|
如果我们把这些分量的值代入,我们就会得到以下截止频率随电位器位置变化的值:
![]()
& # 10005
|
现在我们对电路的不同阶段有了更好的理解,让我们把它们放在一起来模拟整个电路:
![]()
& # 10005
|
在这个模拟中,我们设置了以下参数:Tone 10%, Decay 35%和Accent 8 V。正如在第5节的分析中提到的,我们已经将1 M电阻降低到900 k,以获得接近4 ms的脉冲。我们可以在下面的图中看到结果:
![]()
& # 10005
|
我们可以看到,在触发之后,谐振腔被一个短脉冲(第2节)激发,其振幅由Accent振幅给出。这使得谐振器开始振荡。Section 5的4ms脉冲通过短路Section 6的晶体管绕过谐振器的47k电阻。Section 7的电容开始充电至+ 15v。当谐振器即将完成半个周期(大约4毫秒)时,第5节的脉冲变低。这在谐振器中引入了-15 V的脉冲(第7节输出),同时,当重新引入47 k电阻时,谐振器的频率发生变化。
总之,我们可以从输出中看到,有一个小的正“点击”,然后是一个负半周期的正弦波。这个半周期大约是谐振腔基频的两倍。在半个周期之后,谐振腔振荡在基频,直到能量根据设定的衰减衰减消散。
我们可以在下面的音频输出中听到这个模拟产生的声音。(同样,因为这是一个低频,你可能需要使用一个像样的音响系统播放它。)
![]()
& # 10005
|
以下是关于这个模拟模型的一些见解:
- 它包含160个方程。
- 它需要解7个线性方程组和1个非线性方程组。
- 它模拟7个半导体元件(5个晶体管和2个二极管)。
- 在我的电脑上,运行一个4秒的模拟需要3.5秒。
在我们之前的分析中,我们发现电路中几乎所有的半导体都被用作开关。我们可以根据它们的行为简化所有电路部分,从而创建一个更有效的模型。但在此之前,让我们来看看这个模型是如何匹配我们真正的鼓点的。
与实际电路比较
在这篇文章的开头,我们看到了我构建的电路的图片作为参考。在将模型与实际电路进行比较时,有几件事需要考虑。
首先,我的电路使用了公差为1%的电阻,而有些电容器的公差为5%,有些则为1%。我的复制品的鼓是由±12v来自我的Eurorack电源供电,而原来的鼓机使用±15v。根据我们的分析,这个差异可能对第5节和第7节有很小的影响。但是这些差异可以在仿真模型或实际电路中得到补偿。最后,我使用的通用晶体管与原来的鼓机中使用的不匹配,但由于它们被用作开关,我希望差异是最小的。需要注意的是,在实际电路中,很难设置Tone和Decay的确切值,这可能会对测量有很小的影响。
在下面的图像中,您可以看到从输入触发器(蓝色)和Section 5的脉冲(黄色)进行的测量。你可以看到脉冲的总长度约为6.2毫秒。这个数字非常接近我们模拟的6.3毫秒。然而,由于不同的原因,这些数字彼此很接近。如前所述,该电路为±12 V供电,这将使Section 5的电容器充电变慢,从而使脉冲变长。晶体管模型需要稍微大一点的电压才能启动;因此,脉冲较长:
![]()
& # 10005
|
在下一个截图中,我们可以看到鼓的输出(蓝色)。我们可以在这个测量中看到,在6.2 ms期间,谐振器几乎完成了半个周期。当谐振腔接近正峰时,6.2 ms结束。这意味着谐振腔的振荡速度比模拟谐振腔快:
![]()
& # 10005
|
在下面的图中,我们可以看到实测的鼓声(蓝色)和模拟的鼓声(橙色)并排在一起:
![]()
& # 10005
|
在这个图中,很容易看到真实谐振器的振荡速度比模拟谐振器快。现在我们来听一下这些发音:
如果你的耳朵很好,你可能会注意到,真的鼓听起来音调略高。除此之外,它们听起来非常相似。
在这一点上,我们可以遵循以下几条路径:
- 调整模型,让它和真鼓匹配。
- 固定真正的鼓,使其符合服务手册(使脉冲4毫秒)。
- 通过调整频率,固定4ms脉冲,使模型与使用说明书相匹配。
对于这个例子,我将尝试通过调整一些参数来使模型与真实的鼓匹配。在改变音调和衰减参数并修改谐振器的电阻值后,我得到了以下声音:
这个调整后的模型是更好的匹配。如果我们想要更好地匹配波形,我们仍然可以对我们的模型进行一些改进。例如,在实际电路中,谐振器频率似乎变化得比较缓慢,所以开始时速度较快,直到稳定在主频。我们的仿真模型很快就稳定下来了。这可能是由于晶体管或运算放大器的非线性造成的。当打开或关闭谐振器中的电阻时,可以通过调整转换曲线来模拟这种行为。然而,基于之前的结果,我们的模型的声音已经足够接近了。
在下一节中,我们将尝试进一步简化我们的模型,并尝试基于所观察到的行为对其进行改进。
简化仿真模型
如前所述,所提出的仿真模型可以通过使用简化的组件模型进行优化。我们还可以利用System Modeler中Modelica语言的强大功能来创建与原始电路的行为相匹配的简化行为模型。这样做的目的是创建一个更简单、更快的模型,我们可以将其移植到音频平台上,并用于创建实际的音乐。在我之前的博客在本系列中,我展示了如何为VCV机架开源Eurorack模拟器.
因为我们已经把电路分成了几个部分,所以我们可以尝试为每个部分创建一个等效的简化模型。我们将使用因果连接器来通信电路的每个部分。这意味着我们将使用输入和输出,而不是使用电子端子(因果连接器)。
让我们从第一部分开始。在分析这一部分时,我们得出结论,它的行为就像一个受控开关。触发器信号,可以表示为布尔信号,控制重音信号的流。使用System Modeler,我们可以通过使用一些现有组件来复制这种行为。但是,在本例中,我决定创建自己的模型,向您展示如何使用Modelica语言创建自定义模型。
我首先在System Modeler中创建一个新模型。(请参阅系统建模器教程以了解关于模型创建的更多信息。)然后我将输入和输出拖到图标视图中,将它们定位到我喜欢的位置:
![]()
& # 10005
|
一旦我有了我的模型的图标,我可以切换到文本视图来输入我的行为模型的代码:
![]()
& # 10005
|
您可以在代码中看到,该模型由一个定义输出值的方程组成。您可能注意到,一旦Trigger信号变为“true”,重音就被发送到输出。当Accent信号小于2v时,该模型与原模型不同。在这种情况下,原始模型不会产生输出。这不是一个问题,因为重音信号应该有一个范围从4 V到14 V。相反,这个简单的模型将允许我们产生重音小于2v的声音。在下面的图中,您可以看到结果。这样建模就去掉了两个晶体管:
![]()
& # 10005
|
继续第2节,使用现有组件更容易创建这个模型。如果你还记得,这一节使用二极管抑制高通滤波器产生的负峰。我们可以通过移除二极管并在输出端添加限制器来创建近似的行为:
![]()
& # 10005
|
与原来的模型相比,这个简化版本完全阻止了负输出。最大的区别是电容器不被二极管放电。因此,如果在电容器放电之前有一个新的触发器,输出将略有不同。这不是一个大问题,因为我们不期望在不到300 us的时间内有两个触发器,这是电容器放电所需的时间:
![]()
& # 10005
|
通过去掉这个二极管,我们从完整的模型中去掉了在模拟时需要非线性求解器的唯一系统。
在进入第三节之前,我们先来看看第五节。
第5部分负责为每个触发器产生4-6毫秒的脉冲。我们可以很容易地用Modelica代码片段描述这种行为:
![]()
& # 10005
|
这个简单的模型产生脉冲并以两种方式输出:一种是布尔信号,另一种是实数信号。在这个特定的情况下,脉冲为5.3毫秒,以匹配我们之前的仿真模型。通过使用这个简化模型,我们又少了两个晶体管。
第7节使用图形和文本模型组合建模。在这个图形模型中,您可以看到一个电容器和一个电阻。电阻作为负载和放电电容的电压:
![]()
& # 10005
|
当第5节的信号(4毫秒脉冲)结束时,电容器被充电到-11 V。为了描述这种行为,我们在Modelica中使用了一个“when”方程。这个方程将电容器的状态重新初始化为目标电压。下面是这个模型的代码部分:
![]()
& # 10005
|
通过做这个改变,我们去掉了第二个二极管。在下一个图中,你可以看到我们为第5节和第7节创建的行为模型的结果:
![]()
& # 10005
|
现在让我们回到第三部分。如果你看一下下面的图表,我们将第3、4和6节结合在一起:
![]()
& # 10005
|
在第6节中用来改变振荡频率的晶体管已经被一个可变电阻所取代,该可变电阻接受第6节的信号并使用它来定义相应的电阻值。第6节中用来让直流通过不受影响的电容被移除。
最后,第8节与之前的内容非常相似:一个简单的低通RC滤波器。你可以在这张图中看到:
![]()
& # 10005
|
当我们把所有简化模型放在一起时,我们最终得到了以下简化模型:
![]()
& # 10005
|
在看到新模型的结果之前,让我们来看看一些见解:
- 它包含55个方程(与原始模型中的160个相比)。
- 它需要解3个线性系统和0个非线性系统。
- 当模拟4秒时,需要0.35秒(几乎比原来快10倍)。
下图显示了结果:
![]()
& # 10005
|
当观察输出信号时,很难发现差异。听这两种声音:
这两种模式听起来极其相似。在盲测中,很难确定哪个更准确,哪个更简化。然而,如果我们观察模拟结果,我们可以发现微小的差异。这里,原始模型用蓝色表示,简化后的模型用橙色表示:
![]()
& # 10005
|
下面是初始瞬态的特写:
![]()
& # 10005
|
我调整了简化模型中的一些参数,以更好地匹配它们,包括谐振器的主电阻的值,并添加了一些增益块。结果的一些差异可能是由于我们用理想的开关器件替换了所有的晶体管。我们在第4节中删除了一个电容器。此外,我们所有的分段之间都是完全解耦的,而在原始电路中,由于电气元件的性质,一个分段可以通过电流流动来影响其他分段的行为。
当我们将原始模型与真正的鼓进行比较时,我们提到了真正的谐振器不会立即过渡到基频。在简化模型中,我们可以通过逐渐改变第3节电阻值来复制这种行为,例如使用低通滤波器。此外,我在输出处插入了一个温和的非线性来限制初始峰值的振幅。
听听真鼓和改进模型:
![]()
& # 10005
|
![]()
& # 10005
|
下图显示了模型和真实鼓产生的波形的比较:
![]()
& # 10005
|
在前面的对比中可以看到,总体来说,这个模型和真正的鼓是很匹配的。然而,它仍然无法重现最初瞬态中的所有效果:
![]()
& # 10005
|
最后,本文中提出的模型变化的选择完全取决于应用程序。如果我们希望运行这些模型以消耗尽可能少的CPU,我们可以进一步简化它们。如果我们想要实现声音的完全真实感,那就要以计算能力为代价。
总之,简化模型很好地近似于整个电路,并且可以对其进行调整,以提高与真实硬件或完整仿真模型的匹配。
扩展基本功能
根据我们的分析,我们能够找到一些组件,它们的值可能会对声音产生重大影响。我们可以用可变的版本来取代这些固定的组件,以扩大鼓的声音能力。例如,我们可以通过电位器改变电阻器来设置滚筒的螺距(见下图)。这样我们就可以改变鼓的音调。值为50k将给我们大约一个八度的范围:
![]()
& # 10005
|
其他可能的修改是改变Section 5脉冲的长度,但我们不打算在这里讨论它。
下面是如果我们改变鼓的所有参数(包括音调)可以产生的声音的演示:
![]()
& # 10005
|
![]()
& # 10005
|
为实时执行优化模型
实现简化模型仍然是一项艰巨的任务。有一些部分,比如主谐振器,我们用电子元件描述过。正如我在上一篇博客文章中所述,如果模型是ODE形式的,那么在c++或vault这样的语言中更容易实现。我们来看看主谐振器是如何做到这一点的。其他部分比较简单,可以采用类似的方法。
主谐振器的组件是这样制造的,它只使用线性组件。方法中提供的函数可以更容易地将方程简化为最小形式beplay体育官网下载app操作System Modeler模型:
![]()
& # 10005
|
![]()
& # 10005
|
![]()
& # 10005
|
![]()
& # 10005
|
这三个方程很容易转换为实现语言。在这篇博客文章中,我们不打算介绍实现过程,但你可以参考我之前的文章。数字复古声音:用Wolfram语言和系统建模器模拟合成器beplay体育官网下载appbeplay体育手机官网安卓版”。
额外的资源
鼓模块背后的电路工作方式令人着迷。在过去的一年里,我分析了其中许多的内部结构。这项工作已经导致了我和VCV机架的创造者之间的合作发布音频插件这模拟了一个满鼓机。
通过使用System Modeler的建模功能,我能够从实际的鼓模块中创建准确的模型,用于了解电路的行为。一旦我对电路有了很好的理解,就有可能创建和测试与原始电路行为接近的简化模型。简化模型利用混合的图形和文本建模方法轻松有效地再现原始模型。
你甚至可以在这个YouTube视频中听到一些用这些鼓模块制作的小样:
了解有关使用Wolfram的System Modeler对电子电路建模的更多信息beplay体育手机官网安卓版免费CollegeDigitalElectronics下载或者免费注册一个系统建模审判。 |
评论