Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
In digital signal processing, a cascaded integrator–comb (CIC) is an optimized class of finite impulse response (FIR) filter combined with an interpolator or decimator. A CIC filter consists of one or more integrator and comb filter pairs. In the case of a decimating CIC, the input signal is fed through one or more cascaded integrators, then a down-sampler, followed by one or more comb sections (equal in number to the number of integrators). An interpolating CIC is simply the reverse of this architecture, with the down-sampler replaced with a zero-stuffer (up-sampler). CIC filters were invented by Eugene B. Hogenauer, and are a class of FIR filters used in multi-rate digital signal processing. The CIC filter finds applications in interpolation and decimation. Unlike most FIR filters, it has a decimator or interpolator built into the architecture. The figure at the right shows the Hogenauer architecture for a CIC interpolator. The system function for the composite CIC filter referenced to the high sampling rate, fs is: Where: R = decimation or interpolation ratio M = number of samples per stage (usually 1 but sometimes 2) N = number of stages in filter Characteristics of CIC Filters Linear phase response; Utilize only delay and addition and subtraction; that is, it requires no multiplication operations; A CIC filter is an efficient implementation of a moving-average filter. To see this, consider how a moving average filter can be implemented recursively by adding the newest sample to the previous result and subtracting the oldest sample. Omitting the division by , we have: The second equality corresponds to a comb () followed by an integrator (). The conventional CIC structure is obtained by cascading identical moving average filters, then rearranging the sections to place all integrators first (decimator) or combs first (interpolator). Such rearrangement is possible because both combs and integrators are LTI. For an interpolator, the upsampler which normally precedes the interpolation filter can be passed through the comb sections using a Noble identity, reducing the number of delay elements needed by a factor of .
[2]Paolo Prandoni, [3]LCAV, EPFL
In [1]:
import matplotlib.pyplot as plt
import numpy as np
import scipy.signal as sp
import seaborn as sns
sns.set()
In [2]:
plt.rcParams["figure.figsize"] = (14,4)
The basic reproduction number[4]¶
The propagation mechanism of an epidemic such as the one caused by
SARS-CoV-2 virus can be roughly modeled, at least in its inital phase,
as a process in which each infected individ [2]Paolo Prandoni, [3]LCAV, EPFL
This notebook shows a simple way to process audio files (in WAV format)
in a block-by-block fashion; this is useful in two cases
1. when you want to process a data stream in real time but you can
accept a small processing delay; in this case a buffered approach
can yield computational gains
2. when you need to process a large file that does not fit entirely
into [2]Paolo Prandoni, [3]LCAV, EPFL
In this notebook we will design and use filters to extract specific
audio frequencies from a music file.
In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import IPython
import scipy.signal as sp
from scipy.io import wavfile
infringment...)
In [2]:
IPython.display.Audio(s, rate=SF)
Out[2]:
Your browser does not support the audio element.