Расчёт BER для 8-PSK¶
Открыть пример в Engee
Блок Error Rate Calculation вычисляет частоту ошибок по битам (bit error rate, BER). Используя этот блок, мы можем получить данные о BER для системы связи и провести анализ эффективности нашей системы. В этом примере мы рассмотрим простую модель 8-PSK приёмника и передатчика. Она показана на рисунке ниже.
Далее зададим вспомогательную функцию для запуска модели.
Out[0]:
run_model (generic function with 1 method)
Далее выполним инициализацию показателей отношения сигнала к шуму для нашей модели и объявим переменную битовой ошибки.
Теперь выполним запуск модели при разных значениях отношения сигнала к шуму.
Вывод¶
Как видно на этом примере, чем выше отношение сигнала к шуму, тем меньше ошибка.
Здесь мы разобрали, как построить график BER для простой модели системы связи и узнали, как применить данный метод для проведения анализа системы.
Блоки, использованные в примере¶
{"id": "19abc01f-4727-4051-b63e-119523fb3531", "data": [{"showlegend": true, "mode": "markers", "xaxis": "x", "colorbar": {"title": {"text": ""}}, "name": "8-PSK", "zmin": null, "yaxis": "y", "legendgroup": "8-PSK", "marker": {"symbol": "circle", "color": "rgba(0, 154, 250, 1.000)", "line": {"color": "rgba(0, 0, 0, 1)", "width": 1}, "size": 8}, "zmax": null, "y": [0.4668664668664669, 0.4642024642024642, 0.4542124542124542, 0.43456543456543456, 0.41591741591741593, 0.3932733932733933, 0.33732933732933734, 0.3016983016983017, 0.20646020646020646, 0.10556110556110557, 0.057942057942057944], "type": "scatter", "x": [1, 3, 5, 7, 10, 12, 15, 17, 20, 23, 25], "zaxis": null, "z": null, "metadata": {"shouldEnableSmartZoom": false, "smartZoomParams": {"minCount": 25000, "maxCount": 11, "currentCount": 11}}}], "config": {"showlegend": true, "xaxis": {"showticklabels": true, "gridwidth": 0.5, "tickvals": [5, 10, 15, 20, 25], "range": [0.27999999999999936, 25.72], "domain": [0.05100612423447069, 0.9934383202099737], "mirror": false, "tickangle": 0, "showline": true, "ticktext": ["5", "10", "15", "20", "25"], "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": [{"yanchor": "top", "xanchor": "center", "rotation": 0, "y": 1, "font": {"color": "rgba(0, 0, 0, 1)", "family": "sans-serif", "size": 20}, "yref": "paper", "showarrow": false, "text": "BER", "xref": "paper", "x": 0.5222222222222223}], "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.1, 0.2, 0.30000000000000004, 0.4], "range": [0.04567432567432564, 0.4791341991341992], "domain": [0.03762029746281716, 0.9415463692038496], "mirror": false, "tickangle": 0, "showline": true, "ticktext": ["0.1", "0.2", "0.3", "0.4"], "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": 1544.53125}}