Python scipy.signal.iirnotch() Examples
The following are 5
code examples of scipy.signal.iirnotch().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
scipy.signal
, or try the search function
.
Example #1
Source File: notch_filter.py From spiketoolkit with MIT License | 5 votes |
def __init__(self, recording, freq=3000, q=30, chunk_size=30000, cache_chunks=False): assert HAVE_NFR, "To use the NotchFilterRecording, install scipy: \n\n pip install scipy\n\n" self._freq = freq self._q = q fn = 0.5 * float(recording.get_sampling_frequency()) self._b, self._a = ss.iirnotch(self._freq / fn, self._q) if not np.all(np.abs(np.roots(self._a)) < 1): raise ValueError('Filter is not stable') FilterRecording.__init__(self, recording=recording, chunk_size=chunk_size, cache_chunks=cache_chunks) self.copy_channel_properties(recording) self.is_filtered = self._recording.is_filtered self._kwargs = {'recording': recording.make_serialized_dict(), 'freq': freq, 'q': q, 'chunk_size': chunk_size, 'cache_chunks': cache_chunks}
Example #2
Source File: notch_filter.py From spiketoolkit with MIT License | 5 votes |
def notch_filter(recording, freq=3000, q=30, chunk_size=30000, cache_to_file=False, cache_chunks=False): ''' Performs a notch filter on the recording extractor traces using scipy iirnotch function. Parameters ---------- recording: RecordingExtractor The recording extractor to be notch-filtered. freq: int or float The target frequency of the notch filter. q: int The quality factor of the notch filter. chunk_size: int The chunk size to be used for the filtering. cache_to_file: bool (default False). If True, filtered traces are computed and cached all at once on disk in temp file cache_chunks: bool (default False). If True then each chunk is cached in memory (in a dict) Returns ------- filter_recording: NotchFilterRecording The notch-filtered recording extractor object ''' if cache_to_file: assert not cache_chunks, 'if cache_to_file cache_chunks should be False' notch_recording = NotchFilterRecording( recording=recording, freq=freq, q=q, chunk_size=chunk_size, cache_chunks=cache_chunks, ) if cache_to_file: return se.CacheRecordingExtractor(notch_recording, chunk_size=chunk_size) else: return notch_recording
Example #3
Source File: EEGsynth.py From eegsynth with GNU General Public License v3.0 | 5 votes |
def initialize_online_notchfilter(fsample, fnotch, quality, x, axis=-1): nyquist = fsample / 2. ndim = len(x.shape) axis = axis % ndim if fnotch != None: fnotch = fnotch/nyquist if fnotch < 0.001: fnotch = None elif fnotch > 0.999: fnotch = None if not(fnotch == None) and (quality>0): print('using NOTCH filter', [fnotch, quality]) b, a = iirnotch(fnotch, quality) else: # no filtering at all print('using IDENTITY filter', [fnotch, quality]) b = np.ones(1) a = np.ones(1) # initialize the state for the filtering based on the previous data if ndim == 1: zi = zi = lfiltic(b, a, x, x) elif ndim == 2: f = lambda x : lfiltic(b, a, x, x) zi = np.apply_along_axis(f, axis, x) return b, a, zi ####################################################################
Example #4
Source File: EEGsynth.py From eegsynth with GNU General Public License v3.0 | 5 votes |
def notch(f0, fs, Q=30): # Q = Quality factor w0 = f0 / (fs / 2) # Normalized Frequency b, a = iirnotch(w0, Q) return b, a ####################################################################
Example #5
Source File: utils.py From fac-via-ppg with Apache License 2.0 | 5 votes |
def notch_filtering(wav, fs, w0, Q): """ Apply a notch (band-stop) filter to the audio signal. Args: wav: Waveform. fs: Sampling frequency of the waveform. w0: See scipy.signal.iirnotch. Q: See scipy.signal.iirnotch. Returns: wav: Filtered waveform. """ b, a = signal.iirnotch(2 * w0/fs, Q) wav = signal.lfilter(b, a, wav) return wav