Попытался отладить процесс демодуляции RDS-сигнала. Для этого использовал модель Алексея.
В целом, проблема оказалось понятной.
Итак, битовая скорость RDS-потока равна 1187.5 bit/s (
AN FM/RDS (RADIO DATA SYSTEM) SOFTWARE RADIO), с учетом манчестерского кодирования символьная скорость будет составлять 2375 сим/с, что, в свою очередь, составляет ровно 1/24 от центральной частоты полосового RDS-сигнала (57кГц). Следовательно, для наиболее простой демодуляции RDS-сигнала необходимо установить частоту дискретизации, кратную 57кГц. Я выбрал 912кГц, рабочая частота в модели составила 228кГц (912/4), при которой на 1 RDS-символ будет приходиться 48 отсчетов. Для демодуляции RDS-сигнала в модель интегрировал простейшую PLL из проекта GPS, изменения частоты отслеживаются, но для правильной демодуляции в рамках используемого кода PLL надо бы знать начало символа. Это значит, что алгоритм демодуляции потребуется "допиливать".
Записанный IQ-сигнал (RTL-SDR):
fm_1032_rtl_sM912_v1Иллюстрации:Выделенная полосовым фильтром пилотная поднесущая (1е4 выборок):Полосовой RDS-сигнал (3е4 выборок):Оценка возможности демодуляции: Демодуляция RDS посредством контура PLL: