Я имел дело с проблемой в течение последних 2 лет с GNURadio, я сделал очень простую петлевую потоковую диаграмму, которая состоит из чего-то вроде этого
Источник файла Wav -> Rational resampler -> multiply const -> float to char -> GFSK mod -> GFSK demod -> Char to float -> multiply const ---> Аудио мойка
Я сделал следующие предположения при разработке моей цифровой системы связи
- Audio_rate: 32 кГц
- Audio_bit_depth: 8 бит
- Bits_per_symbol: 1 бит.
- Samples_per_symbol: 8 sps
И сделал следующие расчеты:
- Скорость передачи в битах (аудио): Скорость передачи в аудиосигнале * Audio_bit_depth = 8 * 32e3 = 256 Кбит / с
- Скорость передачи (символы): битовая скорость * Bits_per_symbol = 256e3 * 1 = 256
KSyps
- Sample_rate (модулированные сэмплы): Baud_Rate * Sample_per_symbol =
256e3 * 8 = 2,048 Мбит / с
Я сделал эти вычисления благодаря википедии и GNURADIO wiki
- Частотное отклонение = Битовая скорость / 2 = 256e3 / 2 = 128 КГц
- Modulation_index = Frequency_deviation / (baud_rate / 2) = 128e3 /
(256e3 / 2) = 1
- Чувствительность = (math.pi * Modulation_index) / (Samples_per_symbol) =
(3.1416 .. * 1) / 8 = 392,699e-3
На стороне передатчика:
- Wav Источник файла: аудиофайл с частотой дискретизации 44100 кГц
- Rational resampler: интерполяция 320 Decimation 441 по сравнению с
32 кГц
- Умножение Const: 0,5x, чтобы избежать отсечения
- Float to char: масштаб 256 уровней
На стороне получателя:
- Char to float: масштаб 256 уровней
- Умножение Const: 2x для восстановления уровня
- Аудио приемник: для воспроизведения файла WAV на частоте 32000 кГц
Я протестировал его без блоков GFSK, и он работает великолепно без ошибок, основная проблема заключается в соединении блоков GFSK, которые выдают битовые ошибки, я сделал следующие конфигурации.
GFSK мод:
- Образцы / Символ: 8
- Чувствительность: 392,699e-3
- BT: 350e-3
GFSK demod:
- Образцы / Символ: 8
- Чувствительность: 392,699e-3
- BT: 350e-3
- Gain Mu: 175e-3
- Му: 500e-3
- Относительная частота Омега: 5e-3
- Ошибка частоты: 0
Это блок-схема:
Flowgraph
Но похоже, что я делаю что-то не так в блоках GFSK, так как вывод звучит очень шумно. я даже добавил постоянный источник, ожидающий ничего не выводить, но все еще звучит, можете ли вы помочь экспертам отладить его