Формирователь ЛЧМ сигнала на VHDL

ЛЧМ сигнал на VHDLЛЧМ сигнал это в котором присутствует или заложена линейная частотная модуляция. Простыми словами это линейное изменение частоты сигнала за определенный промежуток времени. Линейно-частотно модулированный сигнал может быть описан следующим образом.

  • t — время;
  • A — амплитуда;
  • ~\varphi_0 — начальная фаза;
  • ~\omega_0 — начальная частота;
  • ~a — скорость изменения частоты (\tfrac{d\omega}{dt}).

ЛЧМ сигналы часто используются в гидроакустике для построения излучающих трактов гидроакустических станций различного назначения. В недавнем прошлом для построения цифрового формирователя ЛЧМ требовалась жменька цифровых логических микросхем. В настоящее время такой формирователь легко можно соорудить на ПЛИС. Проще всего построить логику формирователя ЛЧМ на базе языка VHDL, кстати полезно по этому поводу посетить соответствующий раздел литературы по VHDL Verilog. Итак допустим стоит задача создать формирователь ЛЧМ сигнала длительностью в 13 мс с начальной частотой 71кГц и конечной 79кГц. Допустим, что частота задающего генератора равна 8 000кГц. Прежде чем произвести какие либо расчеты представим блок схему формирователя. Что для этого нужно? Многоразрядные двоичный счетчик, сумматор и регистр (фазовый накопитель) и небольшая схема управления. Ниже приведен скриншот блок схемы формирователя ЛЧМ.

Формирователь ЛЧМ сигнала

  • G - задающий генератор
  • 1 - делитель
  • 2 - многоразрядный счетчик
  • SМ - сумматор
  • RG - регистр
  • К1 - начальный коэффициент деления счетчика 2
  • К2 - конечный коэффициент деления счетчика 2

Как это работает? S производит запуск (сброс) всей системы - счетчика 2, предварительного делителя 1, регистра RG с одновременной записью начального коэффициента деления К1 в счетчик 2. Далее по мере достижения на выходе счетчика 1 конечного коэффициента деления К2 формирователь останавливается до следующего импульса запуска S.

Как известно, мнгновенная частота ЛЧМ сигнала построенного на базе фазового накопителя определяется как F = k*f/2в степениN. f - частота задающего генератора или частота тактирования, N - разрядность сумматора. Для начала необходимо определить минимальную разрядность фазового накопителя для обеспечения условия точности формирования выходной частоты. К примеру нам нужно обеспечить точность не более чем ±100 Гц. Тогда поделив частоту задающего генератора на 100 получим число, перевод которого в бинарный вид, покажет нам минимальную разрядность фазового накопителя, тоесть 8000000/100 = 10011100010000000. Получается 17 разрядов. Для того, чтобы с запасом перекрыть требуемую точность вполне можно выбрать 20 разрядов.

Дальше необходимо определиться с начальным и конечным коэффициентами деления счетчика и частотой его тактирования. К1 = 71* 1048576 (два в двадцатой степени)/8000 К1 = 9306 К2 = 79*1048576/8000 К2 = 10354. При этом разность К2 - К1 должна уложиться в наши 13 мс. Тоесть коэффициент деления счетчика 2 должен измениться в (К2 - К1) раз за 13 мс. А значит частота тактирования предварительного делителя 1 должна быть (К2 - К1)/13, тоесть 80615 Гц. Или при тактовой частоте 8000 кГц коэффициент деления предварительного делителя должен быть 8000/80,615 = 99.

На базе этих рассуждений был написан VHDL код формирователя ЛЧМ сигнала в среде проектирования Quartus 8.0. Архив с проектом содержит VHDL код с комментариями и модель формирователя представленную в симуляторе.

Если что не так в расчетах, какие либо некорректности или у Вас есть полезные мысли по поводу формирования ЛЧМ сигнала милости прошу на форму для комментов, ссылка на которую находится ниже по тексту.


При формировании 2_х противофазных или сфазированных
При формировании 2_х противофазных или сфазированных импульсов излучения с динаковыми началами и концами метод формирования их длительности должен базироваться на подсчете нужного количества импульсов в пачке для средней частоты ихзлучения, а не формировании видеоимпульса при изменении коэффициентов. Иначе окончание сигналов может ыть оборванным. Для вышеприведенного случая 79-71/2=43.5 кГц. Тоесть для длительности 13мс нужно в пачке иметь не менее чем 13000/22.9 мкс = 568 импульсов.

2013 02 16 01:43:47  Добавил:   Admin


Типичный DDS
Типичный DDS.

2014 02 21 06:29:01  Добавил:   Дмитрий


Мне кажется у вас ошибка
Мне кажется у вас ошибка в алгоритме работы синтезатора. Синтезатор должен работать по уравнению :
(K1 + Kb*i)*i
А у вас работает по :
(K1 + Kb/i)*i

Kb = (K2 - K1)/T - девиация

2014 02 26 05:09:45  Добавил:   Дмитрий


Не вижу ошибки
Формула синтезатора F = k*f/2в степени N. Частота определяется значением к. Если коротко то ЛЧМ это изменение к (положительное или отрицательное) за время длительности сигнала. Так собственно и выполнен код формирователя ЛЧМ http://acvarif.info/files/docs/20050128.pdf

2015 05 21 09:08:57  Добавил:   Admin


   Всего комментариев: 4

* Заполните все поля
* Тема

* Ваше имя

* Ваш email: (нигде не публикуется)

*Новость (реплика)

Введите код подтверждения с картинки (проверка от автороботов):

 

email при указании не будет опубликован. Адреса с http:// преобразуются в ссылки автоматически. Теги запрещены.
Перейти и растаять в своей любимой социалке