Построение кривой, по эмпирическим данным о вероятности битовой ошибки (BER)
fitber = berfit(empEbNo,empber)
fitber = berfit(empEbNo,empber,fitEbNo)
fitber = berfit(empEbNo,empber,fitEbNo,options)
fitber = berfit(empEbNo,empber,fitEbNo,options,fittype
)
[fitber,fitprops] = berfit(...)
berfit(...)
berfit(empEbNo,empber,fitEbNo,options,'all'
)
fitber = berfit(empEbNo,empber)
соответствует кривой к эмпирическим данным о BER в векторном empber
и возвращает вектор из подходящих точек частоты ошибок по битам (BER). Значения в empber
и fitber
соответствуйте значениям E b/N0, в дБ, данном empEbNo
. Векторный empEbNo
должно быть в порядке возрастания и должен иметь по крайней мере четыре элемента.
Примечание
berfit
функция предназначается для аппроксимирования кривыми или интерполяции, не экстраполяции. Экстраполирование данных о BER вне порядка величины ниже наименьшего эмпирического значения BER по сути ненадежно.
fitber = berfit(empEbNo,empber,fitEbNo)
соответствует кривой к эмпирическим данным о BER в векторном empber
соответствие значениям E b/N0, в дБ, данном empEbNo
. Функция затем оценивает кривую в значениях E b/N0, в дБ, данном fitEbNo
и возвращает подходящие точки BER. Длина fitEbNo
должен равняться или превысить тот из empEbNo
.
fitber = berfit(empEbNo,empber,fitEbNo,options)
использует структуру options
заменять опции по умолчанию, используемые для оптимизации. Эти опции - те используемые fminsearch
функция. Можно создать options
структура с помощью optimset
функция. Особенно соответствующие поля описаны в приведенной ниже таблице.
Поле | Описание |
---|---|
options.Display | Level of display: 'off' (значение по умолчанию) не отображает вывода; 'iter' отображает вывод в каждой итерации; 'final' отображает только окончательный вывод; 'notify' отображает вывод, только если функция не сходится. |
options.MaxFunEvals | Максимальное количество вычислений функции перед оптимизацией прекращается. Значение по умолчанию равняется 104. |
options.MaxIter | Максимальное количество итераций перед оптимизацией прекращается. Значение по умолчанию равняется 104. |
options.TolFun | Допуск завершения на функции закрытой формы раньше генерировал подгонку. Значение по умолчанию 10-4. |
options.TolX | Допуск завершения на содействующих значениях функции закрытой формы раньше генерировал подгонку. Значение по умолчанию 10-4. |
fitber = berfit(empEbNo,empber,fitEbNo,options,
задает, какая закрытая форма функционируют fittype
)berfit
использование, чтобы соответствовать эмпирическим данным, от возможных подгонок, перечисленных в Алгоритмах ниже. fittype
может быть 'exp'
, 'exp+const'
, 'polyRatio'
, или 'doubleExp+const'
. Чтобы избежать переопределяющих опций оптимизации по умолчанию, используйте options = []
.
[fitber,fitprops] = berfit(...)
возвращает структуру MATLAB fitprops
, который описывает результаты подгонки кривой. Его поля описаны в приведенной ниже таблице.
Поле | Описание |
---|---|
fitprops.fitType | Тип функции закрытой формы раньше генерировал подгонку: 'exp' , 'exp+const' , 'polyRatio' , или 'doubleExp+const' . |
fitprops.coeffs | Коэффициенты раньше генерировали подгонку. Если функция не может найти допустимую подгонку, fitprops.coeffs пустой вектор. |
fitprops.sumSqErr | Квадратичная невязка суммы между журналом подходящего BER указывает и журнал эмпирических точек BER. |
fitprops.exitState | Выходное условие berfit : 'The curve fit converged to a solution.' , 'The maximum number of function evaluations was exceeded.' , или 'No desirable fit was found' . |
fitprops.funcCount | Количество вычислений функции, используемых в минимизации функции квадратичной невязки суммы. |
fitprops.iterations | Количество проделанных итераций в минимизации функции квадратичной невязки суммы. Это не обязательно равно количеству вычислений функции. |
berfit(...)
отображает эмпирические и подходящие данные о BER на графике.
berfit(empEbNo,empber,fitEbNo,options,
отображает эмпирические и подходящие данные о BER на графике из всех возможных подгонок, перечисленных в Алгоритмах ниже, которые возвращают допустимую подгонку. Чтобы постараться не заменять опции по умолчанию, используйте 'all'
)options = []
.
Примечание
Допустимая подгонка должна быть
с действительным знаком
монотонно уменьшение
больше, чем или равный 0 и меньше чем или равный 1
Если подгонка не подтверждает к этому критерии, она отклоняется.
berfit
функционируйте соответствует данным о BER с помощью неограниченной нелинейной оптимизации через fminsearch
функция. Функции закрытой формы это berfit
рассматривает перечислены в таблице ниже, где x является Eb/N0 в линейных членах (не дБ), и f является предполагаемым BER. Эти функции опытным путем искались, чтобы обеспечить плотные прилегания в большом разнообразии ситуаций, включая экспоненциальное затухание BERs, линейно варьируясь BERs и кривые BER с этажами коэффициента ошибок.
Значение fittype | Функциональное выражение |
---|---|
'exp' | |
'exp+const' | |
'polyRatio' |
|
'doubleExp+const' |
Функция квадратичной невязки суммы это fminsearch
попытки минимизировать
где подходящие точки BER являются значениями в fitber
и сумма по точкам Eb/N0, данным в empEbNo
. Важно использовать журнал значений BER, а не самих значений BER так, чтобы области высокого BER не доминировали над целевой функцией неуместно.
Для общего описания неограниченной нелинейной оптимизации смотрите, что следующее работает.
[1] Chapra, Стивен К., и Рэймонд П. Кэнэйл, численные методы для инженеров, Фоерт-Эдайшн, Нью-Йорк, McGraw-Hill, 2002.