Skip to content

feat: add more Livebook guides#33

Merged
polvalente merged 3 commits into
elixir-nx:mainfrom
thomaspmurphy:feat/guides
Jun 30, 2026
Merged

feat: add more Livebook guides#33
polvalente merged 3 commits into
elixir-nx:mainfrom
thomaspmurphy:feat/guides

Conversation

@thomaspmurphy

@thomaspmurphy thomaspmurphy commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds new Livebook guides for convolution, window functions, FIR filtering, peak finding, sound synthesis, and financial signal processing
  • Updates the existing spectrogram and FFT/filtering guides for the current API (positional window size, firwin cutoff as list)
  • The financial signals guide was a natural opportunity to put firwin to immediate practical use: it designs a 63-day low-pass filter over a synthetic S&P 500 price series to reproduce the moving average familiar to traders, but with a sharper roll-off
  • Fixes a few bugs in the Livebooks caused by historical API changes

Sidelobe comparison of nx_signal windows:
image

Using firwin to smooth financial data:
image

Note: guides/financial_signals.livemd includes a Zoom FFT section that depends on NxSignal.zoom_fft/4 introduced in the companion Chirp Z-Transform PR. The rest of that guide runs independently against the current release.

@thomaspmurphy thomaspmurphy changed the title feat: add Livebook guides feat: add more Livebook guides Jun 15, 2026
…ding, sound synthesis, and financial signals

New guides covering: convolution theorem and cross-correlation, window
functions and spectral leakage, FIR filtering, peak finding with argrelmax/
argrelmin, sound synthesis with waveforms and STFT, and signal processing
for economic data. Also fixes the spectrogram guide for the new positional
window-size API and updates firwin calls to require a list cutoff.
Comment thread guides/convolution.livemd

```elixir
Mix.install([
{:nx_signal, path: __DIR__ |> Path.join("..") |> Path.expand()},

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: had to hardcode all of these to pick up the latest changes for this PR.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool. Although I'm not sure you need Path.expand. We can merge this as-is, anyway!

Comment thread guides/convolution.livemd Outdated
Comment thread guides/convolution.livemd Outdated
Comment thread guides/convolution.livemd Outdated
Comment thread guides/convolution.livemd
Comment thread guides/convolution.livemd Outdated
Comment thread guides/convolution.livemd Outdated
Comment thread guides/financial_signals.livemd Outdated
Comment thread guides/financial_signals.livemd Outdated
@polvalente polvalente merged commit c3a49b5 into elixir-nx:main Jun 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants