Простой многоканальный фильтр¶ Открыть пример в Engee
В данном примере мы разберём возможности фильтрации кадров в многоканальном режиме на примере простого КИХ-фильтра.
На рисунке ниже представлена модель, которую мы изучаем
в этой демонстрации.
В этой модели на вход подаются три разных типа сигналов, после чего каждый из них проходит через фильтр. На выходе мы можем проанализировать все сигналы вместе, либо каждый сигнал в отдельности.
Перед началом анализа модели зададим две вспомогательные функции – функцию запуска модели и функцию аудиоплеера.
Out[0]:
run_model (generic function with 1 method)
Out[0]:
audioplayer (generic function with 1 method)
Теперь запустим модель, после чего проанализируем полученные результаты.
Building...
Progress 0%
Progress 5%
Progress 10%
Progress 15%
Progress 20%
Progress 25%
Progress 30%
Progress 35%
Progress 40%
Progress 45%
Progress 50%
Progress 55%
Progress 60%
Progress 65%
Progress 70%
Progress 75%
Progress 80%
Progress 85%
Progress 90%
Progress 95%
Progress 100%
Progress 100%
Построим график отображения всех трёх каналов выхода системы.
На графике три сигнала имеют совершенно разный характер, и мы можем легко отличить их друг от друга.
Теперь проанализируем две аудиодорожки – исходную и записанную с модели.
Your browser does not support the audio element.
Your browser does not support the audio element.
На записи слышно, что после фильтрации аудиодорожка действительно содержит меньше посторонних шумов.
Вывод¶ Мы изучили возможности многоканальной обработки данных. Такой подход часто встречается в системах связи и очень востребован разработчиками.
Блоки, использованные в примере¶
{"id": "319ba57c-d2d7-41bf-a765-998bf4183c29", "data": [{"showlegend": true, "mode": "lines", "xaxis": "x", "colorbar": {"title": {"text": ""}}, "name": "Chirp", "zmin": null, "yaxis": "y", "legendgroup": "Chirp", "zmax": null, "line": {"color": "rgba(0, 154, 250, 1.000)", "shape": "linear", "dash": "solid", "width": 1}, "y": [0.16, 0.15999504058040587, 0.15998006381559982, 0.15995492187849006, 0.15991946687639802, 0.5398735508830451, 0.5398052473496588, 0.5397023958080032, 0.5395644973401468, 0.5393910529733221, 0.9191815637911894, 0.9189237524257914, 0.9186051078430102, 0.9182247808963482, 0.9177819228073905, 1.077275685364269, 1.0767002617043648, 1.0760497474340138, 1.0753231494430562, 1.0745194759545909, 1.0736377367747163, 1.0726769435468178, 1.0716361100104197, 1.0705142522646094, 1.0693103890360447, 1.068023541951553, 1.0666527358153268, 1.065196998890723, 1.0636553631866676, 1.0620268647486668, 1.0603105439544234, 1.0585054458140613, 1.0566106202749452, 1.0546251225310965, 1.0525480133371956, 1.0503783593271574, 1.0481152333372707, 1.0457577147338897, 1.0433048897456514, 1.0407558518002133, 1.0381097018654795, 1.0353655487952973, 1.0325225096795982, 1.0295797101989528, 1.0265362849835122, 1.0233913779763009, 1.0201441428008262, 1.0167937431329657, 1.0133393530770922, 1.009780157546394], "type": "scatter", "x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "zaxis": null, "z": null, "metadata": {"shouldEnableSmartZoom": false, "smartZoomParams": {"minCount": 25000, "maxCount": 50, "currentCount": 50}}}, {"showlegend": true, "mode": "lines", "xaxis": "x", "colorbar": {"title": {"text": ""}}, "name": "Sine", "zmin": null, "yaxis": "y", "legendgroup": "Sine", "zmax": null, "line": {"color": "rgba(227, 111, 71, 1.000)", "shape": "linear", "dash": "solid", "width": 1}, "y": [0, 0.030614674589207184, 0.056568542494923796, 0.07391036260090295, 0.08, 0.07391036260090295, 0.12927839464429086, 0.16496496301465122, 0.1755371111771445, 0.15938532541079284, 0.1189685686822207, 0.1331497779739082, 0.1270601405748111, 0.10162674857624159, 0.060721605355709196, 0.010572148162493356, -0.010572148162493057, -0.030106930766501824, -0.04505820608131758, -0.05314977797390798, -0.053149777973907936, -0.0450582060813174, -0.030106930766501727, -0.010572148162493123, 0.010572148162493345, 0.030106930766502046, 0.04505820608131787, 0.0531497779739082, 0.05314977797390809, 0.045058206081317644, 0.030106930766501904, 0.010572148162493276, -0.010572148162493179, -0.030106930766501894, -0.04505820608131765, -0.05314977797390798, -0.05314977797390791, -0.045058206081317345, -0.030106930766501665, -0.010572148162493043, 0.010572148162493467, 0.030106930766502116, 0.045058206081317956, 0.0531497779739082, 0.05314977797390806, 0.0450582060813176, 0.03010693076650181, 0.010572148162493224, -0.010572148162493269, -0.030106930766501977], "type": "scatter", "x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "zaxis": null, "z": null, "metadata": {"shouldEnableSmartZoom": false, "smartZoomParams": {"minCount": 25000, "maxCount": 50, "currentCount": 50}}}, {"showlegend": true, "mode": "lines", "xaxis": "x", "colorbar": {"title": {"text": ""}}, "name": "Signal", "zmin": null, "yaxis": "y", "legendgroup": "Signal", "zmax": null, "line": {"color": "rgba(62, 164, 78, 1.000)", "shape": "linear", "dash": "solid", "width": 1}, "y": [-4.8828125e-06, 0, -1.46484375e-05, 9.765625e-06, -1.46484375e-05, 7.141113281250001e-05, 0.0007421875, 0.0007513427734375, 0.0008190917968750001, 0.0008685302734375, 0.0010644531249999999, 0.0024951171874999997, 0.0026428222656250003, 0.0028558349609375, 0.0029309082031249998, 0.0032464599609375003, 0.004376220703125, 0.0046319580078125, 0.00494384765625, 0.0047137451171875, 0.005286865234374999, 0.005324096679687499, 0.0054339599609375, 0.005758056640625001, 0.005169677734375, 0.0057824707031250006, 0.00541015625, 0.0052484130859375006, 0.0053961181640625, 0.0049169921875, 0.0050372314453125, 0.0052484130859375006, 0.004979248046875, 0.00497802734375, 0.004908447265625001, 0.0044061279296875, 0.0048663330078125, 0.0046966552734375, 0.0049005126953125, 0.004923095703125, 0.0042987060546874995, 0.0045050048828125, 0.0044427490234375, 0.0049017333984375, 0.004791259765625, 0.004420166015625, 0.004285888671875, 0.004237060546874999, 0.0046600341796875, 0.00451171875], "type": "scatter", "x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "zaxis": null, "z": null, "metadata": {"shouldEnableSmartZoom": false, "smartZoomParams": {"minCount": 25000, "maxCount": 50, "currentCount": 50}}}], "config": {"showlegend": true, "xaxis": {"showticklabels": true, "gridwidth": 0.5, "tickvals": [0, 10, 20, 30, 40, 50], "range": [-0.4700000000000024, 51.47], "domain": [0.0658209390492855, 0.9934383202099738], "mirror": false, "tickangle": 0, "showline": true, "ticktext": ["0", "10", "20", "30", "40", "50"], "zeroline": false, "tickfont": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 11}, "zerolinecolor": "rgba(0, 0, 0, 1)", "anchor": "y", "visible": true, "ticks": "inside", "tickmode": "array", "linecolor": "rgba(0, 0, 0, 1)", "showgrid": true, "title": {"text": "", "font": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 15}}, "gridcolor": "rgba(0, 0, 0, 0.1)", "tickcolor": "rgb(0, 0, 0)", "type": "linear"}, "paper_bgcolor": "rgba(255, 255, 255, 1.000)", "annotations": [], "height": 400, "margin": {"l": 0, "b": 20, "r": 0, "t": 20}, "plot_bgcolor": "rgba(255, 255, 255, 1.000)", "yaxis": {"showticklabels": true, "gridwidth": 0.5, "tickvals": [0, 0.25, 0.5, 0.75, 1], "range": [-0.08706254187405338, 1.1111884492644144], "domain": [0.03762029746281716, 0.9901574803149606], "mirror": false, "tickangle": 0, "showline": true, "ticktext": ["0.00", "0.25", "0.50", "0.75", "1.00"], "zeroline": false, "tickfont": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 11}, "zerolinecolor": "rgba(0, 0, 0, 1)", "anchor": "x", "visible": true, "ticks": "inside", "tickmode": "array", "linecolor": "rgba(0, 0, 0, 1)", "showgrid": true, "title": {"text": "", "font": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 15}}, "gridcolor": "rgba(0, 0, 0, 0.1)", "tickcolor": "rgb(0, 0, 0)", "type": "linear"}, "legend": {"yanchor": "auto", "xanchor": "auto", "bordercolor": "rgba(0, 0, 0, 1)", "bgcolor": "rgba(255, 255, 255, 1.000)", "borderwidth": 1, "tracegroupgap": 0, "y": 1, "font": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 11}, "title": {"font": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 15}, "text": ""}, "traceorder": "normal", "x": 1}, "width": 525}}