mason‘s rule to simplify signal flow graphs

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值