Язык Wolfram Language

Вычислительное аудио

Фильтрация гребенчатым фильтром

Определим дискретную передаточную функцию для гребенчатого фильтра.

In[1]:=
Click for copyable input
combFilterModel[f_, \[Alpha]_, sr_: 44100] := TransferFunctionModel[{{1/( 1 - \[Alpha] z^-Round[sr/f])}}, z, SamplingPeriod -> 1/sr]
In[2]:=
Click for copyable input
combFilterModel[300, \[Alpha]]
Out[2]=

Отобразим участок передаточной функции на графике с помощью BodePlot.

In[3]:=
Click for copyable input
BodePlot[combFilterModel[300, -.9], {0, 20000}, ScalingFunctions -> {"Linear", Automatic}, PlotLayout -> "Magnitude", ImageSize -> Medium]
Out[3]=

Отфильтруем звуковой объект с помощью функции RecurrenceFilter.

In[4]:=
Click for copyable input
a = AudioNormalize[Import["ExampleData/rule30.wav"]]
Out[4]=
In[5]:=
Click for copyable input
RecurrenceFilter[combFilterModel[300, -.9], a]
Out[5]=

Родственные примеры

de en es fr ja ko pt-br zh