bugGNU Octave - Bugs: bug #64506, [octave forge] (signal) Wrong...


bug #64506: [octave forge] (signal) Wrong result for complex FIR part of residuez()

Submitter:  Thomas Hoffmann <loeriver>
Submitted:  Wed 02 Aug 2023 06:57:56 PM UTC
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Ready For Test Assigned to:  lostbard
Originator Name:  Open/Closed:  * Open
Release:  * 7.3.0 Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup

Wed 06 Sep 2023 01:26:32 PM UTC, comment #2: 
John Donoghue <lostbard>
Group Member
Fri 04 Aug 2023 12:27:00 PM UTC, comment #1: 

Verified with Matlab 2023a as well - result of +2j

John Donoghue <lostbard>
Group Member
Wed 02 Aug 2023 06:57:56 PM UTC, original submission:  

The FIR part of residuez() are conjugate w.r.t. to their true values.

The only test that shows this (with a non-real result) asserts f wrongly to -2j: the true result is (+)2j:

%! B=[1,6,6,2]; A=[1,-(2+j),(1+2j),-j];
%! [r,p,f,m] = residuez(B,A);
%! assert(f,-2j,1E-6);

The test case was recalculated manually and with Python's scipy.signal.residuez: the FIR part comes out as (+)2j.

So the last line of the function

f = conj(fliplr(f));

should read

f = fliplr(f);

This behavior is carried over to residuez() (residuez.R) in R's gsignal package, BTW.

Thomas Hoffmann <loeriver>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by lostbard (Posted a comment)
  • -email is unavailable- added by loeriver (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.


    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-09-06 lostbard StatusConfirmed Ready For Test
        Assigned toNone lostbard
    2023-08-04 mmuetzel Carbon-CopyRemoved 102357 -
    2023-08-04 mmuetzel SummaryWrong result for complex FIR part of residuez() [octave forge] (signal) Wrong result for complex FIR part of residuez()
    2023-08-04 lostbard StatusNone Confirmed

    Back to the top

    Powered by Savane 3.13-ee12.
    Corresponding source code