octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #60375] New implementation of bilinear for sig


From: Tony Richardson
Subject: [Octave-bug-tracker] [bug #60375] New implementation of bilinear for signal package
Date: Sun, 11 Apr 2021 15:26:31 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36

URL:
  <https://savannah.gnu.org/bugs/?60375>

                 Summary: New implementation of bilinear for signal package
                 Project: GNU Octave
            Submitted by: amrichardson
            Submitted on: Sun 11 Apr 2021 07:26:29 PM UTC
                Category: Octave Forge Package
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Matlab Compatibility
                  Status: None
             Assigned to: None
         Originator Name: Tony Richardson
        Originator Email: 
             Open/Closed: Open
                 Release: 6.2.0
         Discussion Lock: Any
        Operating System: Any

    _______________________________________________________

Details:

I implemented the bilinear function by operating directly on the coefficients
in the transfer function representation (num/den) instead of operating on the
poles and zeros like the current bilinear function.  I called this
implementation bilinear2 because it is not compatible with the current Octave
bilinear function.

However, bilinear2 is compatible with the MATLAB bilinear function in terms of
calling syntax.  All MATLAB options (prewarping/no prewarping) and call
variations (transfer function, pole-zero, and state-space) are supported.  It
also uses the sampling frequency as an input argument (like MATLAB) instead of
the sampling time (current Octave bilinear) function.  The MATLAB
implementation does appear to do the transformation in the pole-zero domain
(like Octave bilinear) instead of directly on the coefficients.

Two demos are included ("demo bilinear2").  The demos are examples from the
public MATLAB documentation for the MATLAB bilinear function and appear to
match the MATLAB results very closely.

I'd have to do a lot more testing to determine whether doing the transform in
the coefficient domain is more or less accurate than doing it in the zero-pole
domain.  My guess is that it depends on what you start with.  If you are
transforming a coefficient representation bilinear2 is more accurate, but if
you are starting with a zero-pole representation bilinear would be.



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Sun 11 Apr 2021 07:26:29 PM UTC  Name: bilinear2.m  Size: 6KiB   By:
amrichardson

<http://savannah.gnu.org/bugs/download.php?file_id=51246>

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?60375>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]