Построение кривой, по эмпирическим данным о вероятности битовой ошибки (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.