iir-hilbert-transformer

Infinite Impulse Response (IIR) Hilbert Transformer.

https://github.com/mattiadif/iir-hilbert-transformer

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.4%) to scientific vocabulary

Keywords

audio-processing halfband-filter iir-filters signal-processing
Last synced: 6 months ago · JSON representation ·

Repository

Infinite Impulse Response (IIR) Hilbert Transformer.

Basic Info
  • Host: GitHub
  • Owner: MattiaDif
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 77.1 KB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Topics
audio-processing halfband-filter iir-filters signal-processing
Created about 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

Python implementation of An Infinite Impulse Response (IIR) Hilbert Transformer

Hilbert transformers play a pivotal role in various signal processing applications, ranging from single-sideband communication systems to audio effects. The utilization of Infinite Impulse Response (IIR) implementations is particularly appealing due to their computational efficiency. This approach begins with the design of a half-band filter, illustrating how the pole locations evolve during the transformation process from a half-band filter to summed all-pass filters and ultimately to a Hilbert transformer filter.

This repo is exclusively based on the work of Harris and colleagues: (paper).

The class generates coefficients with or without frequency warping (sometimes required to improve filter behavior close to DC).

Required Software

  1. Python 3.8
    • numpy==1.22.2
    • matplotlib==3.7.3
    • scipy==1.10.1

Installation

To clone this repo open your terminal and run:

git clone https://github.com/MattiaDif/IIR-Hilbert-Transformer.git

Then go into dsp/ folder and run:

./prj_init.py

to install required packages. It works for both Windows and Linux systems.

Repo description

Inside IIR-HIlbert-Transformer

  1. 'dsp' folder: it contains the IIRHilb.py file (inside hilbert folder) with the class implementation of the Hilbert transformer. The run.py script runs a filter design example.
  2. dsp/requirements.txt: txt file with the python packages required.
  3. dsp/prj_init.py file to download the required packages.

REFERENCE

If you use this repo, please cite:

"Di Florio, M. (2023). IIR-Hilbert-Transformer (Version 0.2) [Computer software]. https://github.com/MattiaDif/IIR-Hilbert-Transformer.git"

Note

To contribute refers to the dev branch!

Owner

  • Name: Mattia Di Florio
  • Login: MattiaDif
  • Kind: user
  • Location: Genoa
  • Company: University of Genoa, Istituto Italiano di Tecnologia

PhD student in Bioengineering at University of Genoa.

Citation (CITATION.cff)

cff-version: 1.0.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Di Florio"
  given-names: "Mattia"
title: "IIR-Hilbert-Transformer"
version: 0.2
date-released: 19/12/2023
url: "https://github.com/MattiaDif/IIR-Hilbert-Transformer.git"

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Dependencies

dsp/requirements.txt pypi
  • matplotlib ==3.7.3
  • numpy ==1.22.2
  • scipy ==1.10.1