Пока DLL держит фазу кода, на графике I/Q будет круг (или два пятна, если фаза несущей тоже верна). Круга нет, или он пропал больше чем на секунду - все, фаза кода потеряна, классический E-P-L трекинг ее уже не поймает. Без трекинга фазы кода (DLL) PLL действительно не имеет смысла.
А при чем тут однобитная арифметика? После корреляторов значения E-P-L - обычные 16-битные значения (только что комплексные - I/Q). "Задачей этого регулятора является удержание амплитуды канала I максимальной, а Q - минимальной."
Так в Википедии (ссылка в цитате) все написано: " The outputs of these low-pass filters are inputs to another phase detector, the output of which passes through a noise-reduction filter before being used to control the voltage-controlled oscillator. "
Что-то механика станка мне непонятна. Станок сам себе винт одной из осей не перепилит (тот, что вертикальный на 1 фотографии)? Или тут стол для крепления заготовки не установлен?
Я специально написал в статье рядом с аналогичной картинкой: "а вот частота здесь подписана неверно, в действительности значения - не Hz, это просто значение индекса среди N перебираемых частот. " В этой программе acquisition вообще странновато работает, иногда он может давать немного разные результаты с одним и тем же файлом данных.
Я этой таблицы вообще не понимаю. Первый бит, который примет SPI, будет помещен в LSB (D0), последующие биты будет помещаться "слева", шестнадцатый бит будет помещён в MSB (D15). 0bMSB.....LSB
Пока DLL держит фазу кода, на графике I/Q будет круг (или два пятна, если фаза несущей тоже верна). Круга нет, или он пропал больше чем на секунду - все, фаза кода потеряна, классический E-P-L трекинг ее уже не поймает.
Без трекинга фазы кода (DLL) PLL действительно не имеет смысла.
" В своем проекте я произвожу сканирование диапазона частот [-7000..+7000 Гц] с шагом 500 Гц."
А при чем тут однобитная арифметика?
После корреляторов значения E-P-L - обычные 16-битные значения (только что комплексные - I/Q).
"Задачей этого регулятора является удержание амплитуды канала I максимальной, а Q - минимальной."
Я не могу точно сказать, коэффициенты я подбирал.
Из Википедии: "The outputs of these low-pass filters are inputs to another phase detector"
Это та часть, что вычисляет текущую фазу сигнала.
В статье я писал, что это atan(Q/I)
https://github.com/iliasam/STM32F4_SDR_GPS/blob/f0fa35a44281cc0fcc4c7165a107bfe6f10ea4cc/Firmware/project_main/GPS/tracking.c#L181
Единственно, там действительно неверное название переменной carr_phase_err_rad - она не в радианах.
"В каком функции с исходником реализован Costas Loop? Внутри gps_tracking_pll?"
Да.
"Откуда взялись значения констант для коэффициентов Откуда взялись значения констант для коэффициентов".
Они подобраны.
"В блок-схеме Costas Loop нет дифференциирующих звеньев. "
https://github.com/iliasam/STM32F4_SDR_GPS/blob/develop/Firmware/project_main/GPS/tracking.c#L214
Вот эта часть:
Это взято из https://github.com/iliasam/GNSS-SDRLIB/blob/ac16855961b558cda1aaba1ae45095a600985b58/src/sdrtrk.c#L122
Так в Википедии (ссылка в цитате) все написано: " The outputs of these low-pass filters are inputs to another phase detector, the output of which passes through a noise-reduction filter before being used to control the voltage-controlled oscillator. "
Да, это опечатка, постараюсь поправить, как смогу.
Код выложен, можете посмотреть.
https://github.com/iliasam/STM32F4_SDR_GPS/blob/develop/Firmware/project_main/GPS/tracking.c#L333
Записать реально, я же уже давал вам ссылку - https://github.com/taroz/GNSS-SDRLIB/blob/master/test/testdata_download_link.txt
Только RTL-SDR, как и большинство других SDR приемников, выдает результаты в формате I/Q.
Xircom REX 6000 имел толщину 5мм. Если делать девайс тоньше в два разы, выйдет 2.5мм.
В такую толщину сложно EINK засунуть, и обеспечить ему нормальную защиту от механических воздействий.
Есть такой проект - https://paulschow.com/2016/08/epaper-business-card.html
Декодировать реально - https://myriadrf.org/news/lora-modem-limesdr/
Насколько сложно - не знаю.
Что-то механика станка мне непонятна. Станок сам себе винт одной из осей не перепилит (тот, что вертикальный на 1 фотографии)? Или тут стол для крепления заготовки не установлен?
На профильных дисциплинах такое есть - https://srns.ru/wiki/Blog:Korogodin/14.08.2011,_График_занятий_по_АП_СРНС
Да, если считать, что данные записываются так: 0bMSB.....LSB
У меня алгоритм стабильней работал в таком варианте.
Замечу, что этот участок кода работает только в acquisition.
Я специально написал в статье рядом с аналогичной картинкой:
"а вот частота здесь подписана неверно, в действительности значения - не Hz, это просто значение индекса среди N перебираемых частот. "
В этой программе acquisition вообще странновато работает, иногда он может давать немного разные результаты с одним и тем же файлом данных.
Я этой таблицы вообще не понимаю.
Первый бит, который примет SPI, будет помещен в LSB (D0), последующие биты будет помещаться "слева", шестнадцатый бит будет помещён в MSB (D15).
0bMSB.....LSB
Да, выглядит верно.
Данные идут непрерывно.
Первый байт после декодирования - 0x9E = 0b10011110.
Соответственно, семплы, которые приходили c АЦП в хронологическом порядке - 0,1,1,1,1,0,0,1.