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

 
 

bug #54987: [octave forge] (signal) sos2tf throws an error in Octave, works fine in Matlab

Submitter:  None
Submitted:  Thu 08 Nov 2018 01:52:49 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Unexpected Error or Warning
Status:  Fixed Assigned to:  None
Originator Name:  Jim Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * dev
Operating System:  * Microsoft Windows Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Fri 08 Feb 2019 07:57:03 PM UTC, comment #4: 

I have fixed this for what I believe to be the right Matlab compatibility

http://hg.code.sf.net/p/octave/signal/rev/acb285a17130

This fix will be included in the upcoming signal version 1.4.1.

Mike Miller <mtmiller>
Group Member
Thu 08 Nov 2018 04:33:08 PM UTC, comment #3: 

Does


[b, a] = sos2tf(SOS, prod (G))


give you the results you expect from Matlab?

Mike Miller <mtmiller>
Group Member
Thu 08 Nov 2018 04:27:32 PM UTC, comment #2: 

The gain parameter to 'sos2tf' is expected to be an overall gain in the form of a scalar, not a vector. The Matlab documentation seems to imply this as well in the formula shown, and they do not describe how a vector of gains would be applied.

Mike Miller <mtmiller>
Group Member
Thu 08 Nov 2018 03:42:09 PM UTC, comment #1: 

Try this

[b,a] = sos2tf(SOS,G');

I just transposed G

Let me know if this works correctly ( gets the answer that you expected.)


Doug Stewart <dastew>
Thu 08 Nov 2018 01:52:49 PM UTC, original submission:  


[b,a] = sos2tf(SOS,G);



error: sos2tf: operator *: nonconformant arguments (op1 is 1x17, op2 is 9x1)
error: called from
    sos2tf at line 79 column 5
    run_transfer_function at line 47 column 6


SOS =

   1.00000   0.61139   1.00000   1.00000   0.38860   0.96888
   1.00000  -0.61139   1.00000   1.00000  -0.38860   0.96888
   1.00000   0.80687   1.00000   1.00000   0.28434   0.93755
   1.00000  -0.80687   1.00000   1.00000  -0.28434   0.93755
   1.00000   1.52316   1.00000   1.00000   0.10733   0.90833
   1.00000  -1.52316   1.00000   1.00000  -0.10733   0.90833
   1.00000   0.55334   1.00000   1.00000   0.43367   0.99103
   1.00000  -0.55334   1.00000   1.00000  -0.43367   0.99103

G =

   0.741890
   0.741890
   0.658840
   0.658840
   0.506424
   0.506424
   0.063738
   0.063738
   1.000000

Anonymous

 

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

Attach Files:
   
   
Comment:
   

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 jwe (Updated the item)
  • -email is unavailable- added by dastew (Posted a comment)
  • -email is unavailable- added by None (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 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-02-08 mtmiller StatusNeed Info Fixed
        Open/ClosedOpen Closed
    2019-01-12 jwe Item GroupMatlab Compatibility Unexpected Error or Warning
    2018-11-08 mtmiller StatusNone Need Info
        Release4.2.1 dev
        Summarysos2tf throws an error in Octave, works fine in Matlab [octave forge] (signal) sos2tf throws an error in Octave, works fine in Matlab
    2018-11-08 rik5 Carbon-CopyRemoved 72865 -
    2018-11-08 rik5 CategoryOctave Function Octave Package

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code