Перейти к содержанию
    

Tirend

Участник
  • Постов

    6
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Нихрена себе! Моя программа ищет матрицу ну минут 5, может 6, но не 5 часов - это ваще капец То что ты тут понаписал очень здорово, но на все отвечать нет времени. Не такой я глупый, чтобы не знать о разряженности. Матрицу получил пораждающую и прорядил, не переживай. По поводу алгоритма - ты можешь плеваться и понтоваться, на ПК для декодирования в лдпс в реальном времени подходит только один алгориьм и только с разряженной матрицей. Даде уточню - на процессоре. На 1. Да и нахрена использовать какие то гавеные алгоритмы если есть старые добрые? Почитайте как строятся flex ldpc и fast link ldpc. Там инфа рассыпана по слову перемешана с проверками Я все сделал ты не переживай, а что такое ТС? Тупой студент? Да все получилось, ссылок нету есть все на компе могу скинуть кусок потока и полученные матрицы g и h в каноне и разряженную h. Декодер написал жесткий bf. Пробовал abp, но он тока под плисину пошел, на pc ну очень уж долго хреначит
  2. Если еще актуально, то вкратце попробую... Проверочная матрица с двойной диагональю - это разряженная проверочная матрица, получается путем линейных операций над строками проверочной матрицы в каноническом виде. Делается это для того, чтобы уменьшить кол-во единиц в матрице. Так то можно проверять и по канонической матрице - но единиц там слишком много - кол-во операций возрастает прямо пропорционально кол-ву единиц. Получить из разряженной матрицы каноническую - не знаю как. Из цифрового потока можно получить порождающую матрицу в каноническом виде
  3. Лучше помоги советом или просто направь в нужном направлении
  4. Сигнал записан простым спутниковым модемом, кажется CDM какой-то, на его выходе БИТОВЫЙ поток. Код оказался систематическим - явно можно отделить проверочную часть от информационной. Так как модуляция 4-х позиционная, то путем перебора удалось подобрать фазу путем проворота созвездия, отсюда же и удалось выяснить истинную преамбулу (уникальное слово). Конец повествованию. На практике нам давали записанный цифровой поток, который являл собой турбокод на базе компонентных кодов Хэмминга. К сожалению это было достаточно давно и параметры кода я не помню. Так вот что мы делали, коротко говоря мы выписали кодовые слова (не турбокода, а одного из кодов Хэмминга), зная длину кодового слова мы заполнили матрицу шириною, равной длине кодового слова и очень большой высоты. Затем складывая различные строки мы получили матрицу с диагональной информационной частью - это была порождающая матрица. Из нее мы получили порождающий полином и из него - проверочный. Подставив полученный полином в программу для декодирования - мы получили поток после декодирования. Поэтому я точно знаю, что параметры турбокода так можно определить и я даже подозреваю, что наш препод иногда делает работу для государства. Тем не менее, как он говорил - так он колонул не один код и сам писал декодеры для взломанных кодов. Почему же LDPC код так нельзя сделать? Получить матрицу с диагональной информационной частью можно или нельзя?
  5. Спасибо, что откликнулись! Совсем забыл про это написать! Скорость кода известна - 0.5. Длина кодового слова тоже известна, но так как у меня все данные в академии я не помню точно сколько - но длина блока известна. Соответственно мне надо написать декодер этого кода, а чтобы его написать надо получить матрицу.
  6. Всем привет. Пишу диплом. Нужна помощь следующего характера. Мой руководитель дал мне запись ЦИФРОВОГО ПОТОКА после демодуляции QPSK сигнала. Видна структура на периоде. Путем перебора удалось подобрать правильную фазу для устранения фазовой неоднозначности. Уровень сигнала при приеме 22 дБ - ошибок быть просто не должно! Теперь собственно вопрос - как получить проверочную или порождающую матрицу LDPC-кода из имеющегося потока? Я знаю, как определять параметры кодов Хэмминга - заполнить матрицу и получить диагональную. Это канает для всех блочных циклических кодов - для LDPC тоже?
×
×
  • Создать...