Цитата(Muscat @ Jul 6 2010, 14:25)

Есть такой вопрос
Моделирую декодер Витерби, есть необходимость оценить, при каком уровне ошибок на входе он исправляет ошибки, а при каком размножает. До этого делал все функцией awgn, после чего квантовал и смотрел число ошибочных бит.
Есть ли функция вида Исказить Х бит в последовательности А,чтобы ошибки были распределены равновероятны
Смысл вопроса неясен.
Уровень ошибок = количество ошибок?
Квантовали для получения мягких решений? Тогда равновероятные ошибки на входе (в канале) аннулируют преимущество мягких решений декодера Витерби.
Макс. количество исправляемых ошибок - величина зависящая в большей степени от использованного кода (сверточного для Витерби декодера), а именно от его минимального евклидова расстояния. Для минимизации размножения ошибок (burst errors) используют интерливер на входе и "накрывают" сверточный код блоковым, напр. Рида-Соломона.
Функции генерации векторов случайных величин в Communications Toolbox (обратите внимание на первые две):
- randerr() to generate random bit error patterns, as in a model of channel errors
- randint() to generate uniformly distributed random integers
- randsrc() to generate random symbols
- awgn() to generate additive white Gaussian noise
- wgn() to generate white Gaussian noise across a load
Так же в основном Матлабе есть функции так сказать более низкого уровня:
- rand() to generate uniformly distributed pseudorandom numbers
- randn() to generate normally distributed pseudorandom numbers
- randperm() to generate uniform random permutation