本文整理汇总了Python中scipy.signal.iirnotch方法的典型用法代码示例。如果您正苦于以下问题:Python signal.iirnotch方法的具体用法?Python signal.iirnotch怎么用?Python signal.iirnotch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类scipy.signal
的用法示例。
在下文中一共展示了signal.iirnotch方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from scipy import signal [as 别名]
# 或者: from scipy.signal import iirnotch [as 别名]
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}
示例2: notch_filter
# 需要导入模块: from scipy import signal [as 别名]
# 或者: from scipy.signal import iirnotch [as 别名]
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
示例3: initialize_online_notchfilter
# 需要导入模块: from scipy import signal [as 别名]
# 或者: from scipy.signal import iirnotch [as 别名]
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
####################################################################
示例4: notch
# 需要导入模块: from scipy import signal [as 别名]
# 或者: from scipy.signal import iirnotch [as 别名]
def notch(f0, fs, Q=30):
# Q = Quality factor
w0 = f0 / (fs / 2) # Normalized Frequency
b, a = iirnotch(w0, Q)
return b, a
####################################################################
示例5: notch_filtering
# 需要导入模块: from scipy import signal [as 别名]
# 或者: from scipy.signal import iirnotch [as 别名]
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