В прошлой статье мы успешно собрали NBFM приемник на HackRF. Теперь соберем передатчик.
Выделите все блоки на схеме кроме переменных, и нажмите кнопку «D» чтобы отключить их.
Схема передатчика еще проще чем схема приемника. Вот она:
Источник аудио
Захват звука я буду производить с микрофона, следовательно мы поместим на схему блок Audio Source, и зададим частоту семплирования при помощи переменной audio_sample_rate в 48 КГц. После блока Audio Source поместим блок «Multiple Const», и присвоим ему значение 0.7. Этм мы немного понизим громкость аудио
ФНЧ
Добавим блок Low Pass Filter, для того что бы отсечь ненужные нам высокие частоты более 12 КГц (у нас ведь узкополосная частотная модуляция, и весь частотный диапазон речи не передашь с ее помощью). Так же с помощью этого блока выполним снижение частоты семплирования до 8 КГц,задав параметру «Decimation» значение «6»
Модулятор
Настало время модулятора. Используем блок «NBFM Transmit». Настраиваем как показано на рисунке.
Пояснения по поводу параметров:
Audio Rate -частота семплирования входного сигнала, она у нас 8 КГц
Quadrature Rate — Частота семплирования модулированного сигнала. Обычно рекомендуют устанавливать ее в 2 раза выше входной.
Max Deviation — отклонение частоты. Задаем 5 КГц.
Теперь осталось совсем немного. Нам нужно поднять частоту семплирования до пригодной для HackRF (8 Msps), и передать сигнал в эфир.
Частоту семплирования поднимем блоком Rational Resampler. Зададим параметры «Interpolation» и «Decimation» в «1000» и «2» соответственно. Т.е. у нас получится частота семплирования равная 16000 * 1000 / 2 = 8000000, что нам и нужно.
Передатчик
Добавляем последний блок — Osmocom Sink. Для управления выходной мощностью я так же использую блок WxGUI Slider который назову «rf_tx_gain». Задаем параметры слайдера и Osmocom Sink как показано на рисунках. Думаю пояснения тут не нужны, параметры интуитивно понятны.
Наша схема передатчика готова к работе. Давайте взглянем на нее в целом, и приступим к проверке. 🙂
Hi,
please i have question about LPF part ,how you did get the values of 12Khz
sample_rate=8 Khz,
decimation=6