Декодируйте бинарный имеющий малую плотность код с проверкой четности
Объект LDPCDecoder
декодирует бинарный имеющий малую плотность код с проверкой четности.
Этот объект выполняет декодирование LDPC, на мягком решении вывод (логарифмическое отношение правдоподобия полученных битов) от демодуляции, с помощью алгоритма передающей веру или передачи сообщений, реализованного как доменный журналом алгоритм продукта суммы. Для получения дополнительной информации см. Алгоритмы. Декодировать бинарный имеющий малую плотность код с проверкой четности:
Задайте и настройте свой бинарный имеющий малую плотность объект декодера проверки четности. Смотрите Конструкцию.
Вызовите step
, чтобы декодировать бинарный имеющий малую плотность код с проверкой четности согласно свойствам comm.LDPCDecoder
. Поведение step
характерно для каждого объекта в тулбоксе.
При запуске в R2016b, вместо того, чтобы использовать метод step
, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x)
и y = obj(x)
выполняют эквивалентные операции.
h = comm.LDPCDecoder
создает бинарный Системный объект декодера имеющей малую плотность проверки четности (LDPC), h. Этот объект выполняет LDPC, декодирующий на основе заданной матрицы проверки четности, где объект не принимает шаблонов в матрице проверки четности.
h = comm.LDPCDecoder(
создает объект энкодера LDPC, h, с каждым заданным набором свойств к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как ('PropertyName'
,'ValueName'
)'PropertyName1'
, 'PropertyValue1'
..., 'PropertyNameN'
, 'PropertyValueN'
).
h = comm.LDPCDecoder(P)
создает объект декодера LDPC, h, где вход P
задает матрицу проверки четности.
шаг | Декодируйте вход с помощью LDPC декодирование схемы |
Характерный для всех системных объектов | |
---|---|
release | Позвольте изменения значения свойства Системного объекта |
Передайте LDPC-закодированный, модулируемый QPSK поток битов через канал AWGN, затем демодулируйте, декодируйте, и ошибки количества.
hEnc = comm.LDPCEncoder; hMod = comm.PSKModulator(4, 'BitInput',true); hChan = comm.AWGNChannel(... 'NoiseMethod','Signal to noise ratio (SNR)','SNR',1); hDemod = comm.PSKDemodulator(4, 'BitOutput',true,... 'DecisionMethod','Approximate log-likelihood ratio', ... 'Variance', 1/10^(hChan.SNR/10)); hDec = comm.LDPCDecoder; hError = comm.ErrorRate; for counter = 1:10 data = logical(randi([0 1], 32400, 1)); encodedData = step(hEnc, data); modSignal = step(hMod, encodedData); receivedSignal = step(hChan, modSignal); demodSignal = step(hDemod, receivedSignal); receivedBits = step(hDec, demodSignal); errorStats = step(hError, data, receivedBits); end fprintf('Error rate = %1.2f\nNumber of errors = %d\n', ... errorStats(1), errorStats(2))