Options

"Windowing and Fourier Transform"

twilmestwilmes Member Posts: 1 Contributor I
edited May 2019 in Help
Hello everybody.  Hopefully a quick question...  I'm currently attempting to use the series windowing operator along with the fft operator.  My goal is to move through the series, 128 samples at a time, performing an fft on each window.  I've setup a process as follows but I think that I may be fundamentally misunderstanding how the windowing operator works since I am getting an error related to nesting the FFT operator inside of the series windowing operator.  Do you guys have any suggestions?  My desired output would be the spectral data for each windowed chunk of data.

Your help is much appreciated.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.1.006">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="5.1.006" expanded="true" name="Root">
    <parameter key="random_seed" value="-1"/>
    <process expanded="true" height="733" width="882">
      <operator activated="true" class="series:generate_series_sinus" compatibility="5.1.002" expanded="true" height="60" name="Generate Series (Sinus)" width="90" x="45" y="120">
        <list key="frequency">
          <parameter key="10.0" value="10.0"/>
        </list>
      </operator>
      <operator activated="true" class="series:windowing_series" compatibility="5.1.002" expanded="true" height="60" name="Windowing (Series)" width="90" x="246" y="120">
        <parameter key="step_size" value="1"/>
        <parameter key="window_size" value="128"/>
        <process expanded="true" height="733" width="882">
          <operator activated="true" class="series:fast_fourier_transformation" compatibility="5.1.002" expanded="true" height="60" name="Fast Fourier Transformation" width="90" x="246" y="30"/>
          <connect from_port="series source" to_op="Fast Fourier Transformation" to_port="series"/>
          <connect from_op="Fast Fourier Transformation" from_port="series" to_port="series sink"/>
          <portSpacing port="source_series source" spacing="0"/>
          <portSpacing port="sink_series sink" spacing="0"/>
        </process>
      </operator>
      <operator activated="true" class="series:series_to_data" compatibility="5.1.002" expanded="true" height="60" name="Series To Data" width="90" x="447" y="120"/>
      <connect from_op="Generate Series (Sinus)" from_port="output" to_op="Windowing (Series)" to_port="series in"/>
      <connect from_op="Windowing (Series)" from_port="series out" to_op="Series To Data" to_port="series"/>
      <connect from_op="Series To Data" from_port="example set" to_port="result 1"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="0"/>
      <portSpacing port="sink_result 2" spacing="0"/>
    </process>
  </operator>
</process>
Tagged:

Answers

  • Options
    homburghomburg Moderator, Employee, Member Posts: 114 RM Data Scientist
    Hi twilmes.

    The problem with your setting is the parameter overlap of the Windowing (Series) operator. You should use a value between 0.0 and 1.0.

    Best regards,
        Helge
Sign In or Register to comment.