Implementing __index__ method in STFTAdding a Method to an Existing Object InstanceWhy are Python's 'private' methods not actually private?What is the difference between Python's list methods append and extend?Understanding Python super() with __init__() methodsStatic methods in Python?Invertible STFT and ISTFT in PythonDoes Python have a string 'contains' substring method?Python __index__ special methodHow to implement the Softmax function in Pythonnumpy ndarray indexing with __index__ method

Pulling the rope with one hand is as heavy as with two hands?

Can someone publish a story that happened to you?

Checks user level and limit the data before saving it to mongoDB

Why didn't the Space Shuttle bounce back into space as many times as possible so as to lose a lot of kinetic energy up there?

Is the claim "Employers won't employ people with no 'social media presence'" realistic?

How to limit Drive Letters Windows assigns to new removable USB drives

Why must Chinese maps be obfuscated?

Pre-plastic human skin alternative

Minor Revision with suggestion of an alternative proof by reviewer

Can we say “you can pay when the order gets ready”?

Does tea made with boiling water cool faster than tea made with boiled (but still hot) water?

How to write a column outside the braces in a matrix?

Contradiction proof for inequality of P and NP?

"You've called the wrong number" or "You called the wrong number"

Why did C use the -> operator instead of reusing the . operator?

What makes accurate emulation of old systems a difficult task?

What happened to Captain America in Endgame?

Function pointer with named arguments?

Does a large simulator bay have standard public address announcements?

What term is being referred to with "reflected-sound-of-underground-spirits"?

"The cow" OR "a cow" OR "cows" in this context

On The Origin of Dissonant Chords

How do I reattach a shelf to the wall when it ripped out of the wall?

acheter à, to mean both "from" and "for"?



Implementing __index__ method in STFT


Adding a Method to an Existing Object InstanceWhy are Python's 'private' methods not actually private?What is the difference between Python's list methods append and extend?Understanding Python super() with __init__() methodsStatic methods in Python?Invertible STFT and ISTFT in PythonDoes Python have a string 'contains' substring method?Python __index__ special methodHow to implement the Softmax function in Pythonnumpy ndarray indexing with __index__ method






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I wrote a code about Short Time Fourier Transform in Python and got the following error when I run it:



 24 mX1 = np.zeros(N)
25 pX1 = np.zeros(N)
---> 26 mX1[:hN] = mX[hN:]
27 mX1[N-hN:] = mX[:hN]
28 pX1[:hN] = pX[hN:]

TypeError: slice indices must be integers or None or have an __index__ method



I solved the problem by the integer path but the problem is going further:



~/Programmation/SMS/windows.py in <module>
24 mX1 = np.zeros(N)
25 pX1 = np.zeros(N)
---> 26 mX1[:hN] = mX[hN:]
27 mX1[N-hN:] = mX[:hN]
28 pX1[:hN] = pX[hN:]

ValueError: could not broadcast input array from shape (255) into shape (257)


I looked at how to implement the __index__ method with



def __index__(self):
return obj


but didn't find how to do it.




The first paragraph imports the packages needed.



import numpy as np
from scipy.signal import get_window
from scipy.fftpack import fft
import math
import matplotlib.pyplot as plot


The second one defines the window length & type and keeps the middle of the information (hM1 - hM2).



M = 63
window = get_window('hanning', M)
hM1 = int(math.floor((M+1)/2))
hM2 = int (math.floor(M/2))


The third one computes the Fast Fourier Transform with a buffer and places the window around the 0 sample (second half at beginning - first half at end).



N = 512
hN = N/2+1
fftbuffer = np.zeros(N)
fftbuffer[:hM1] = window[hM2:]
fftbuffer[N-hM2:] = window[:hM2]


The fourth one computes the spectrum of the buffer to absolute values without zero for magnitude in dB and phase.



X = fft(fftbuffer)
absX = abs(X)
absX[absX<np.finfo(float).eps] = np.finfo(float).eps
mX = 20*np.log10(absX)
pX = np.angle(X)


Then to get a better view of the spectrum the last paragraph undo the windowing.



mX1 = np.zeros(N)
pX1 = np.zeros(N)
mX1[:hN] = mX[hN:]
mX1[N-hN:] = mX[:hN]
pX1[:hN] = pX[hN:]
pX1[N-hN:] = pX[:hN]









share|improve this question




























    0















    I wrote a code about Short Time Fourier Transform in Python and got the following error when I run it:



     24 mX1 = np.zeros(N)
    25 pX1 = np.zeros(N)
    ---> 26 mX1[:hN] = mX[hN:]
    27 mX1[N-hN:] = mX[:hN]
    28 pX1[:hN] = pX[hN:]

    TypeError: slice indices must be integers or None or have an __index__ method



    I solved the problem by the integer path but the problem is going further:



    ~/Programmation/SMS/windows.py in <module>
    24 mX1 = np.zeros(N)
    25 pX1 = np.zeros(N)
    ---> 26 mX1[:hN] = mX[hN:]
    27 mX1[N-hN:] = mX[:hN]
    28 pX1[:hN] = pX[hN:]

    ValueError: could not broadcast input array from shape (255) into shape (257)


    I looked at how to implement the __index__ method with



    def __index__(self):
    return obj


    but didn't find how to do it.




    The first paragraph imports the packages needed.



    import numpy as np
    from scipy.signal import get_window
    from scipy.fftpack import fft
    import math
    import matplotlib.pyplot as plot


    The second one defines the window length & type and keeps the middle of the information (hM1 - hM2).



    M = 63
    window = get_window('hanning', M)
    hM1 = int(math.floor((M+1)/2))
    hM2 = int (math.floor(M/2))


    The third one computes the Fast Fourier Transform with a buffer and places the window around the 0 sample (second half at beginning - first half at end).



    N = 512
    hN = N/2+1
    fftbuffer = np.zeros(N)
    fftbuffer[:hM1] = window[hM2:]
    fftbuffer[N-hM2:] = window[:hM2]


    The fourth one computes the spectrum of the buffer to absolute values without zero for magnitude in dB and phase.



    X = fft(fftbuffer)
    absX = abs(X)
    absX[absX<np.finfo(float).eps] = np.finfo(float).eps
    mX = 20*np.log10(absX)
    pX = np.angle(X)


    Then to get a better view of the spectrum the last paragraph undo the windowing.



    mX1 = np.zeros(N)
    pX1 = np.zeros(N)
    mX1[:hN] = mX[hN:]
    mX1[N-hN:] = mX[:hN]
    pX1[:hN] = pX[hN:]
    pX1[N-hN:] = pX[:hN]









    share|improve this question
























      0












      0








      0








      I wrote a code about Short Time Fourier Transform in Python and got the following error when I run it:



       24 mX1 = np.zeros(N)
      25 pX1 = np.zeros(N)
      ---> 26 mX1[:hN] = mX[hN:]
      27 mX1[N-hN:] = mX[:hN]
      28 pX1[:hN] = pX[hN:]

      TypeError: slice indices must be integers or None or have an __index__ method



      I solved the problem by the integer path but the problem is going further:



      ~/Programmation/SMS/windows.py in <module>
      24 mX1 = np.zeros(N)
      25 pX1 = np.zeros(N)
      ---> 26 mX1[:hN] = mX[hN:]
      27 mX1[N-hN:] = mX[:hN]
      28 pX1[:hN] = pX[hN:]

      ValueError: could not broadcast input array from shape (255) into shape (257)


      I looked at how to implement the __index__ method with



      def __index__(self):
      return obj


      but didn't find how to do it.




      The first paragraph imports the packages needed.



      import numpy as np
      from scipy.signal import get_window
      from scipy.fftpack import fft
      import math
      import matplotlib.pyplot as plot


      The second one defines the window length & type and keeps the middle of the information (hM1 - hM2).



      M = 63
      window = get_window('hanning', M)
      hM1 = int(math.floor((M+1)/2))
      hM2 = int (math.floor(M/2))


      The third one computes the Fast Fourier Transform with a buffer and places the window around the 0 sample (second half at beginning - first half at end).



      N = 512
      hN = N/2+1
      fftbuffer = np.zeros(N)
      fftbuffer[:hM1] = window[hM2:]
      fftbuffer[N-hM2:] = window[:hM2]


      The fourth one computes the spectrum of the buffer to absolute values without zero for magnitude in dB and phase.



      X = fft(fftbuffer)
      absX = abs(X)
      absX[absX<np.finfo(float).eps] = np.finfo(float).eps
      mX = 20*np.log10(absX)
      pX = np.angle(X)


      Then to get a better view of the spectrum the last paragraph undo the windowing.



      mX1 = np.zeros(N)
      pX1 = np.zeros(N)
      mX1[:hN] = mX[hN:]
      mX1[N-hN:] = mX[:hN]
      pX1[:hN] = pX[hN:]
      pX1[N-hN:] = pX[:hN]









      share|improve this question














      I wrote a code about Short Time Fourier Transform in Python and got the following error when I run it:



       24 mX1 = np.zeros(N)
      25 pX1 = np.zeros(N)
      ---> 26 mX1[:hN] = mX[hN:]
      27 mX1[N-hN:] = mX[:hN]
      28 pX1[:hN] = pX[hN:]

      TypeError: slice indices must be integers or None or have an __index__ method



      I solved the problem by the integer path but the problem is going further:



      ~/Programmation/SMS/windows.py in <module>
      24 mX1 = np.zeros(N)
      25 pX1 = np.zeros(N)
      ---> 26 mX1[:hN] = mX[hN:]
      27 mX1[N-hN:] = mX[:hN]
      28 pX1[:hN] = pX[hN:]

      ValueError: could not broadcast input array from shape (255) into shape (257)


      I looked at how to implement the __index__ method with



      def __index__(self):
      return obj


      but didn't find how to do it.




      The first paragraph imports the packages needed.



      import numpy as np
      from scipy.signal import get_window
      from scipy.fftpack import fft
      import math
      import matplotlib.pyplot as plot


      The second one defines the window length & type and keeps the middle of the information (hM1 - hM2).



      M = 63
      window = get_window('hanning', M)
      hM1 = int(math.floor((M+1)/2))
      hM2 = int (math.floor(M/2))


      The third one computes the Fast Fourier Transform with a buffer and places the window around the 0 sample (second half at beginning - first half at end).



      N = 512
      hN = N/2+1
      fftbuffer = np.zeros(N)
      fftbuffer[:hM1] = window[hM2:]
      fftbuffer[N-hM2:] = window[:hM2]


      The fourth one computes the spectrum of the buffer to absolute values without zero for magnitude in dB and phase.



      X = fft(fftbuffer)
      absX = abs(X)
      absX[absX<np.finfo(float).eps] = np.finfo(float).eps
      mX = 20*np.log10(absX)
      pX = np.angle(X)


      Then to get a better view of the spectrum the last paragraph undo the windowing.



      mX1 = np.zeros(N)
      pX1 = np.zeros(N)
      mX1[:hN] = mX[hN:]
      mX1[N-hN:] = mX[:hN]
      pX1[:hN] = pX[hN:]
      pX1[N-hN:] = pX[:hN]






      python numpy






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 22 at 17:41









      ReversibleManReversibleMan

      11




      11






















          0






          active

          oldest

          votes












          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55305126%2fimplementing-index-method-in-stft%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55305126%2fimplementing-index-method-in-stft%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

          Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

          Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript