Skip to content

Commit bafac2a

Browse files
committed
v6.23
1 parent c791c07 commit bafac2a

3 files changed

Lines changed: 29 additions & 12 deletions

File tree

PyAnalySeries.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
filesName = None
6060

6161
#========================================================================================
62-
version = 'v6.22'
62+
version = 'v6.23'
6363

6464
open_ws = {}
6565
open_displayWindows = {}

releases.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
* 6.23
2+
* Add window parameter in FIR Frequency Filter
13
* 6.22
24
* Fix history in Detrend, Frequency, Aggregate, Power Spectrum (PSD)
35
* Shortcut on Windows

resources/computeFrequencyFilterWindow.py

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ def __init__(self, Id, open_frequencyFilterWindows, item, add_item_tree_widget):
166166
self.lanczos_cutoff_scale_sb.valueChanged.connect(self.delayed_update)
167167
self.fir_cutoff_sb.valueChanged.connect(self.delayed_update)
168168
self.fir_numtaps_sb.valueChanged.connect(self.delayed_update)
169+
self.fir_window_combo.currentTextChanged.connect(self.delayed_update)
169170
self.sg_cutoff_scale_sb.valueChanged.connect(self.delayed_update)
170171
self.sg_window_sb.valueChanged.connect(self.delayed_update)
171172
self.sg_poly_sb.valueChanged.connect(self.delayed_update)
@@ -252,7 +253,7 @@ def update_method_info(self, method):
252253
<b>FIR window filter</b><br>
253254
254255
<b>Backend call</b><br>
255-
<code>ts.interp().filter(method="firwin", cutoff_freq=1/P, numtaps=...)</code><br><br>
256+
<code>ts.interp().filter(method="firwin", cutoff_scale=..., numtaps=..., window=...)</code><br><br>
256257
257258
<b>Backend defaults</b><br>
258259
<code>numtaps=None</code>, <code>fs=1</code>,
@@ -346,26 +347,38 @@ def _build_lanczos_page(self):
346347

347348
#---------------------------------------------------------------------------------------------
348349
def _build_fir_page(self):
349-
350+
350351
page = QWidget()
351352
layout = QFormLayout(page)
352-
353+
353354
self.fir_cutoff_sb = QDoubleSpinBox()
354355
self.fir_cutoff_sb.setDecimals(2)
355356
self.fir_cutoff_sb.setRange(2, 1000000)
356357
self.fir_cutoff_sb.setValue(20)
357358
self.fir_cutoff_sb.setSingleStep(10)
358359
self.fir_cutoff_sb.setFixedWidth(120)
359-
360+
360361
self.fir_numtaps_sb = QSpinBox()
361362
self.fir_numtaps_sb.setRange(3, 1000000)
362363
self.fir_numtaps_sb.setValue(21)
363364
self.fir_numtaps_sb.setSingleStep(10)
364365
self.fir_numtaps_sb.setFixedWidth(120)
365-
366-
layout.addRow("Period threshold:", self.fir_cutoff_sb)
366+
367+
self.fir_window_combo = QComboBox()
368+
self.fir_window_combo.addItems([
369+
"hamming",
370+
"hann",
371+
"blackman",
372+
"bartlett",
373+
"boxcar"
374+
])
375+
self.fir_window_combo.setCurrentText("hamming")
376+
self.fir_window_combo.setFixedWidth(120)
377+
378+
layout.addRow("Period cutoff:", self.fir_cutoff_sb)
367379
layout.addRow("Number of taps:", self.fir_numtaps_sb)
368-
380+
layout.addRow("Window:", self.fir_window_combo)
381+
369382
return page
370383

371384
#---------------------------------------------------------------------------------------------
@@ -508,18 +521,20 @@ def compute_filter(self):
508521

509522
period = self.fir_cutoff_sb.value()
510523
numtaps = self.fir_numtaps_sb.value()
524+
window = self.fir_window_combo.currentText()
511525

512526
if period <= 2:
513527
raise ValueError("Cutoff period must be > 2 sampling steps.")
514528

515529
filtered = ts.interp().filter(
516530
method="firwin",
517531
cutoff_scale=period,
518-
numtaps=numtaps
532+
numtaps=numtaps,
533+
window=window
519534
)
520-
521-
label = f"FIR | long periods | P={period} | numtaps={numtaps}"
522-
535+
536+
label = f"FIR | long periods | P={period} | numtaps={numtaps} | window={window}"
537+
523538
#-------------------------------
524539
elif method == self.METHOD_SAVGOL:
525540

0 commit comments

Comments
 (0)