Mason.m uses mason’s rule to simplify signal flow graphs. It takes a file describing the network and produces a symbolic equation relating a dependent output node to an independent input node.
参考:Mason’s Rule Solver
梅森。M使用梅森法则来简化信号流图。它使用一个描述网络的文件,并生成一个符号方程,将依赖的输出节点与独立的输入节点关联起来。Mason规则传统上用于控制系统分析,但在微波电路设计、滤波器设计等许多领域也有应用。
理论
这个程序处理一个信号流图,为输出节点和输入节点之间的等效相位器生成一个符号方程。例如:
1 s21 2
*------>------*------------.
| | |
| | |
s11 v ^ s22 v R2
| | |
| | |
*------<------*------------'
3 s12 4
有4个节点1、2、3、4,有5个系数S11、S21、S12、S22、R2。设节点1为独立的输入节点,选取节点3为依赖节点,则简化如下:
1
a ---> *
|
| R2
v b/a= s11+s21* -------- *s12
| 1-s22*R2
|
b <--- *
3
设节点1为独立的输入节点,节点2为依赖的输出节点,则:
1 2
a ---> *------>------* ---> b
s21
b/a = --------
1-s22*R2
这个程序为给定的网络和节点对生成这些方程。
指定的网络
网络描述文件用于指定流程图的拓扑结构。每个节点分配一个数字,每个分支定义一个系数数。每个分支被描述为文件中的一行,定义如下:
[Coefficient #] [Start Node #] [Stop Node #] [Coefficient Name]
系数数字必须是有序的(从1开始,而不是0)。例如,为了描述下面的图表(系数数字在括号中),
1 (1) s21 2
*------>------*------------.
| | |
| | |
(4) s11 v ^ (2) s22 v (5) R2
| | |
| | |
*------<------*------------'
3 (3) s12 4
我们可以使用这个文件(其中的空白是制表符,但任何空白都应该足够了):
1 1 2 s21
2 4 2 s22
3 4 3 s12
4 1 3 s11
5 2 4 R2
This is saved as ‘example.net’ in this directory
系数名可以是Maple中使用的任何有效符号表达式。如果表达式有多个术语,则将它们括在括号中。例如:
(-D*z^(-1)) or (1+B)
Using the Program
对网络文件中的行进行排序是很重要的,以便系数从1开始计数。不要用0来给系数或节点编号!一旦你建立了网络文件,运行梅森。m’,公式如下:
USAGE:
[Numerator,Denominator] = mason(Netfile,StartNode,StopNode)
Netfile - is a string with the name of the netfile to load
StartNode - is the integer number describing the independent input node
StopNode - is the integer number describing the dependent output node
Numerator - is a string containing the equation for the Numerator
Denominator - is a string containing the equation for the Denominator
Try out the example network! To recreate the above examples use:
[Numerator,Denominator] = mason('example.net',1,3)
[Numerator,Denominator] = mason('example.net',1,2)