Как стать автором
Обновить
9
0

Пользователь

Отправить сообщение

Спасибо!

Все подсказки данные в статье подтверждаю:

  • 5 уровней (можно сказать 5 преобразований данных)

  • не нужно усложнять

  • подсказка из видео про черный

  • надпись действительно используется

оцениваю задачи пальцем в небо

Классная загадка, мне понравилась. Отняла правда целый день.

ПС решил, что стоит оставить только один ответ.

В списке хабов есть FPGA, но в статье про них ни слова.
Вы используете ПЛИС или это ошибка? Какие? Для каких целей? Было бы интересно про эту кухню почитать, на хабре такого мало.
Отношение скорости света в вакууме к групповой скорости распространения волны в линии передачи — коэффициент укорочения. Он зависит от погонных индуктивности и емкости кабеля. Например для utp cat5 кабеля это примерно 1.5.
Отличная статья. Вот только теперь надо питон учить…
Пока скачивается книга хотел бы выразить благодарность как авторам и переводчикам, так и лично Юрию за доведенную до сообщества информацию. Надеюсь книга окажется занимательной и полезной.

Ну и конечно животрепещущий вопрос от любителей подержать томик в руках: а будет ли бумажная версия?
в матлабе расчет сразу сваливается на -7.
4.0000
    4.2500
   -7.5147
 -130.7314
  217.9809
  114.1815
  104.3214
  100.9882
  100.3300
  100.0778
  100.0262
  100.0062
  100.0021
  100.0005
  100.0002
  100.0000
Хочу порекомендовать вот этот цикл статей:
www.kit-e.ru/articles/circuit/2008_3_161.php

Мне в свое время сильно помогло «въехать в тему»
Согласен с вами полностью (выпуск 2012).
Вот правда не было второй категории у нас. А из первой я не слышал про такие большие цифры)
Считаю, что у инженера обязан быть опыт работы по завершении института. Без этого этого нет никакого смысла учиться.
Интересная статья, спасибо. Было бы интересно почитать, как запускается и как работает freeRTOS.
ПС Кажется у вас в последнем примере в суперцикле не хватает getchar из UART.
UPD
Так же в SV есть удобство в виде автоматического выравнивания разрядности данных.
Т.е. если в проекте используется тип данных integer но по логике работы понятно что значение данного регистра не превышает 255 (в десятичной системе),
то после компиляции данный регистр будет 8 разрядным.
Таким образом налицо очередная вольность допускаемая стандартом SV — он не требует явного выравнивания длин регистров.


Не понятно про какой регистр речь. Если вы про CNT_OUT — он явно объявлен 8 битным, если же вы про cnt, то мне кажется, что это ошибка.
cnt используется, как счетчик, им отмериваются интервалы относительного времени. Если синтезатор сделает cnt 8 битным ваша схема не будет работать, если он как-то пересчитает разрядность — будет работать не правильно.

Обычный Verilog вообще не позволит так написать.

Мне кажется вы не корректно поступаете сравнивая VHDL и SystemVerilog ( хотя в названии статьи заявлено, что речь пойдет про Verilog).
Если Verilog и VHDL еще можно сравнивать по функциональности и стилистике разработки (об этом немного ниже), то SystemVerilog вещь сильно превосходящая оба традиционных языка (хоть и полностью включающая в себя Verilog и считающаяся по сути просто новым стандартом Verilog). Но да, незадача, ни одна среда проектирования не поддерживает всех его выкрутасов.

Я недавно начал изучать SystemVerilog и даже просто пролистав стандарт уже кажется, что стиль разработки должен сильно поменяться при переходе от Verilog к SystemVerilog.

Но все же, если сравнивать языки по уровню вхождения, то тут двоякая ситуация.
Я, как и вы, обладая более «программистским» складом мышления выбрал сразу же без раздумий Verilog. Тут больше внимания, можно уделить именно алгоритмам работы, информационному взаимодействию что-ли. Но нужно знать и больше всяких замысловатых вещей. Вот тоже блокирующее и неблокирующее присвоение.

VHDL же больше понятен со стороны схемотехники. Да, он избыточен по написанию, но он ближе к железу. То что написано на неё работает так, как написано. VHDL, как говорится, не дает «выстрелить себе в ногу».
Спасибо, было интересно почитать. Так просто выглядит, что кажется что от радаров до сонаров один шажочек.

Как я понял вы работаете на этом поприще? Если да, то парочка вопросов:
1. Как примерно применяются «шаблоны настройки радара»? хранятся таблицами?
2. Про преобразование луча непонятно описано, когда и в каком виде применяется окно Чебышева? К сигналу ли? Или к сигналам от каждого элемента решетки/подрешетки, значит ваша приемная антенна аналог АФАР?
3. Используются звуковые частоты. А какие примерно? Какая несущая и полоса?
4. Вот по последнему пункту:
Из контекста кажется что АРУ( кстати ВАРУ и ШАРУ применяется? или содержит всё?)=>демодуляция=>антиалиасинг делаются в аналоговом виде, потом конвертация в цифровой вид (АЦП?). Тут наверное недоразумение, ведь антиалиасинг — фильтр подавляющий эффекты децимации.
Про децимацию тоже ни слова. В радиолокации например сигнал децимируется до полосы сигнала.
Это странно, ведь при таких малых частотах можно позволить поставть АЦП в каждый элемент решетки и производить все вычисления в цифровом виде. Или если какие-то особенности связанные со звуком?
5. Если не секрет какие микроконтроллеры используются?

Ну и придирки тоже есть.
1. Эффект Доплера для электромагнитных волн — это и есть то самое обыкновенное понимание. Эффект Доплера применим к любым волнам распространяемым в какой либо среде. Для электромагнитных волн эта среда — воздух.
2. Обычно используется термин «согласованная фильтрация». Ведь сигнал согласован с импульсной характеристикой фильтра.
3. Согласованный фильтр и свертка на БПФ — это два кардинально разных алгоритма вычисления свертки(сжатия в контексте).

Извините, если я слишком критично отнесся к написано. Очень уж интересная тема.
Не приведено такое важное понятие, касающееся ФМн, как «обратная работа».

Сразу пример, чтобы проще пояснить.
У вас принят код «0» — 0градусов, «1» — 180 градусов. И Вы, собственно, передаете последовательность сигнальных интервалов с такой фазой. Излучаете это в канал связи (атмосферу например) и в нем ваш сигнал будет иметь фазовый сдвиг ( переотражения, метео-явления и так далее). Если этот эффект даст сдвиг больше, чем на 90 градусов, то Ваш «0» по заложенному коду будет трактоваться как «1», и наоборот. В итоге Вы имеете абсолютно неверную последовательность.

Относительная ФМн позволяет этого избежать. Естественно используя хитрость.
При ОФМн кодируется не абсолютная величина начальной фазы на сигнальном интервале, а её изменение.
Например задается код. «0»- не менять фазу, «1» — повернуть фазу на 180 градусов.
Тут также при обратной работе будет возникать систематическая ошибка.

Делается следующее. Передается «коррекционный бит». Например условлено, что первый сигнальный интервал не информативен, а сообщение начинается со второго. Получается, что если второй бит «0» — фаза сохранится, если «1» — фаза повернется на 180 градусов относительно коррекционного бита. Всё обратная работа устранена.
ФМн хорошо коррелируется, но у такого сигнала, применительно к радиолокации, есть и недостаток ведь. Энергетика меньше. Тут больше ЛЧМ подходит.

Про радионавигацию и связь ничего не говорю.
Да, не путайтесь, всё верно. Для простой амплитудной модуляции информационным сигналом является именно модулирующее колебание (закон изменения амплитуды несущей), а несущая на то и несущая что его переносит.

Центральная, высокая гармоника спектра — это именно несущая. И да, она не несет полезной информации. Боковые гармоники — это представление модулирующего колебания, они отстают на частоту модуляции.

Пример:
Моделирующее колебание — 10кГц, несущая — 1МГц.
в спектре 3 составляющие: несущая — 1МГц; 2 боковые 0.990МГц и 1,010МГц.
Чтобы выделить из сигнала информацию — нужно выделить именно эти 10кГц.

Конечно это просто пример, закон модуляции может быть не синусоидальный и не периодический.
Понял, спасибо.
Как-то не обращал на это внимания, прям жил во лжи.
1) Вы работаете один? Я работаю в команде и стилистика, хоть и на словах, но имеется и обсуждается.
2) а) Например блок
Always @(posedge clk)
begin
a=x+y;
b=q+g;
c=n+m;
end
Все присвоения в таком случае сработают параллельно.
5) Маловата частота конечно для такой плис, но если запас в 2 раза, то проблем нет.

Matlab, кстати, очень рекомендую. Весь ЦОС всегда полностью моделирую, но вот генерацией HDL кода пока не занялся.
Вот пара моментов, которые прям бросились в глаза:
1) Входы-выходы объявляются в заголовке модуля обычно. Вы объявляете регистры и цепи в процессе их появления в тексте. Мелочь, конечно, но для меня странно выглядит.
2) Для каждого блока always используете один оператор. Почему не в операторных скобках в одном блоке always?
3) У вас все повторяющиеся условия ( которые отрабатывают счетчик) можно свести в один case ( автомат получится). Вы это делаете, чтоб синтезировалась обработка условий через enable в триггерах вместо мультиплексора, которым реализуется автомат? Насколько это эффективнее?
4) Я бы параметризовал многие вещи. Для гибкости. Вдруг пригодится.
5) На какой частоте все работает? Имеется в виду оценка Тime quest'а.

Извините, если несуразные вопросы. Стаж у самого чуть больше года. Может я что-то важное упускаю?
Eщё нескромный вопрос. Не пробовали генерировать фильтр из матлаба?
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность