[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/
- [Octave-bug-tracker] [bug #60375] New implementation of bilinear for signal package,
Tony Richardson <=