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

    

des00

Модераторы
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о des00

  • Звание
    Вечный ламер
  • День рождения 14.01.1980

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Томск

Посетители профиля

25 273 просмотра профиля
  1. так алгоритм там точно такой же как ribm, задействована фича что часть вычислений дают нулевой результат. Если это действительно так и для всех видов кодов, то прикольно. А если только для конкретного (255,239), то прикольно, но не очень) надо просто посмотреть логи моделирования так оно на самом деле или нет. И немного модернизировать rs_berlekamp_ribm_1check модуль)
  2. много, но это всяко лучше чем "И, при необходимости поменять значение константы, приходится лазить по всем m-блокам где она используется + менять её в "Model Workspace". Речь же в основном про них идет.
  3. а сделать дополнительный порт, через который передать глобальную константу не получается?
  4. у меня же плис, декодирование 1 такт + 2 такта латентности, посчитать вес слова 1 такт + 5 тактов латентности и т.д. декодер вызывается 17 раз. декодирует на лету там пересчет SNR в EbNo. Я приводил формулу. по началу тоже не правильно интерпретировал результаты. Пока не разобрался в этом вопросе. EbNo - энергия приходящаяся на информационный бит относительно плотности шума. А вот модуляция, кодирование накладывается уже потом. Это позволяет сравнивать разные коды и модуляции между собой. ЗЫ. Еще рекомендую вам, взять матлаб. там есть инструмент bertool. В нем можно построить кривые кодирование для сырых данных и жесткого голея. Это позволит вам привязать свои тесты относительно эталонных. Там точно ошибки нет)
  5. fer это практически они и есть) корка выложена, если с верилогом дружите, можете тестбенч переделать как хотите) и декодеры членомерятся именно на основе EbNo. Из этой величины считается все остальное
  6. 1. Вы сняли бы лучше кривые кодирования на наборе 1е8, они лучше воспринимаются. И до 1е-6...1е-7 будут более менее адекватные измерения. 2. По генератору шума, если штатного генератора гаусова шума нет, то я предпочитаю генератор Box-Mulller, гаусов шум на основе центральной предельной теоремы дает белый шум в узкой полосе и не совсем адекватно показывает. 3. Надеюсь вы учитываете что SNR = EbNo + 10*log10(bps*coderate). И при добавлении шума вам нужно измерить мощность сигнала (либо использовать ее нормированную), посчитать мощность шума по выборке, потом посчитать SNR/EbNo. Либо идти от противного. Задать EbNo, из него определить мощность шума и добавить именно столько шума, скольно нужно. 4. Ну и BER считается по систематической части кода. 5. Квантование 12 бит, в вашем случае совершенно излишне. 8 бит на метрику, вам более чем) думаю даже 4-6 хватило, но у вас проц) 6.кривая кодирования, снятая по 1е7 битам для расширенного голея, алгоритм чейза на 16 кандидатов, Размер метрики 4 бита. ber - остаточный бер, fer - ber по входу, оцененный по статистике работы декодера # EbNo = 3.000000: ber = 7.158103e-003. fer = 7.836428e-002 # EbNo = 3.500000: ber = 3.475901e-003. fer = 6.713008e-002 # EbNo = 4.000000: ber = 1.464101e-003. fer = 5.642952e-002 # EbNo = 4.500000: ber = 5.773002e-004. fer = 4.651092e-002 # EbNo = 5.000000: ber = 2.032001e-004. fer = 3.762707e-002 # EbNo = 5.500000: ber = 5.950002e-005. fer = 2.982301e-002 # EbNo = 6.000000: ber = 1.320001e-005. fer = 2.302421e-002 # EbNo = 6.500000: ber = 1.600001e-006. fer = 1.726961e-002 # EbNo = 7.000000: ber = 1.000000e-007. fer = 1.255706e-002 # EbNo = 7.500000: ber = 0.000000e+000. fer = 8.826504e-003 # EbNo = 8.000000: ber = 0.000000e+000. fer = 6.001752e-003 # EbNo = 8.500000: ber = 0.000000e+000. fer = 3.888052e-003 # EbNo = 9.000000: ber = 0.000000e+000. fer = 2.415401e-003 # EbNo = 9.500000: ber = 0.000000e+000. fer = 1.408751e-003
  7. и докучи CDC неправильно сделан или напрямую асинхронная логика идет на синхронную (недаром же спросил про режим работы) разными путями и дает свой эффект, может защелка где хитрая получилась (очипятка, не полный список чувствительности и т.д.)…….
  8. В безупречности кода, вы, судя по всему, уверены. Отлично. Зовите шамана, перед вами чудо.
  9. это надо смотреть как именно вы описали контроллер. какие тактовые, какой дизайн, как реализован КА. Где то плавающая ошибка и явно не в протоколе. Логика легла по другому, другой результат. Может стык тактовых где то не корректно описан
  10. временные ограничения и ошибка кросс доменов ? FTDI наверное еще в режиме асинхронного фифо и мост с ней весь на логике собран?
  11. 1. Выбрать наибольшую общую кратную частоту и сформировать ее сигнал валидности в обоих доменах 2. Обеспечить стабильность данных домена источника между изменениями по сигналу валидности 3. Защелкнуть синхронные данные по сигналу валидности в домене приемнике. Тактовые естественно в одной группе частот (с синхронной передачей) и целочисленно кратны между собой. Иначе фифо
  12. все точно также, за исключением того, что тактовые должны быть кратны и из одного источника. На бумажке нарисуйте, увидите. Такое сплошь и рядом в цифровой обработке.
  13. Это если только роутер сойдет с ума и будет круги по чипу наворачивать. 4-5 тактов частоты нового домена сигнала валидности более чем достаточно чтобы не греть эту голову. Да, это не совсем верно, но более чем достаточно.
  14. все так, но для любителей использовать два презерватива, можно и пункт 4)
  15. Для управления анализом выполнения временных ограничений, нужно описать файл временных ограничений (констрейнов). В файле указать частоты и частотные группы, между которыми есть передача данных. Напишите конкретно, что именно вам нужно сделать. Если передать данные, меняющиеся раз в пятилетку в другой домен, то нужно: 1. Обеспечить стабильность данных между изменениями 2. Синхронизовать сигнал валидности данных на импульсном синхронизаторе 3. Защелкнуть асинхронные данные, по синхронизированному сигналу в новом домене. 4. Если уж совсем надежно, то прописать максимальную задержку между регистрами данных пункта 1 и 3. Вам такая схема не пойдет. Потому что там синхронизируется кое что другое)