Подходящая кривая, чтобы не сглаживать эмпирические данные о частоте ошибок по битам (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 | Уровень отображения: '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.