Вверх ↑
Ответов: 8926
Рейтинг: 823
#1: 2013-08-20 08:56:19 ЛС | профиль | цитата
rolin, вывод рано делать
Стервецы из приведённой ссылки в тексте заменили "fi" на что-ли картинки, при копировании текст рвётся
The received samples are carried by UDP frames with a total fixed payload size of 1442 bytes. Each sample consists of 3 Bytes I and 3 Bytes Q data. They are interleaved. The first byte of each UDP frame carries a sequence number that is incremented from frame to frame. It can be used to identify a loss of UDP messages during reception. The second byte is used for signalling the current status of the reception. Bit 0 is used as Key indication. If it is 0 the PTT is issued and if it is 1 the PTT is not active. Bit 1 indicates clipping of the ADC (overrange). The data format of the samples is little endian (least significant byte first) with real words at the odd (first) positions and the imaginary words at the even (second) positions.

Полученные образцы переносятся UDP кадров с общей фиксированный размер полезной нагрузки 1442 bytes. Каждый образец состоит из 3 байтов I и 3 байта Q данных. Они чередуются. Первый байт каждого кадра UDP несет порядковый номер, который увеличивается от кадра к кадру. Он может быть использован для определения потери сообщения UDP при приеме. Второй байт используется для сигнализации текущего состояния приема. Бит 0 используется как ключ индикации. Если он равен 0 PTT выдается и, если это 1 PTT не активна. Бит 1 указывает вырезку АЦП (перегрузки). Формат данных образцов является обратным порядком байтов (младший байт) с вещественными слова в нечетные (первой) позиции и мнимые слова в четные (вторую) позиций.
------------ Дoбавленo в 00.09:
Менять стерео на моно никак нельзя, будет играть в два раза ниже.
Ошибка моя:
Строка 127: заменить _hi_OnEvent(onNextSempl, DataSound[ChanLR, 0]); на _hi_OnEvent(onNextSempl, 0);

В этих строках можно попробовать заменить b1 на b3, тогда сменится формат представления трёхбайтного числа:

Строка 63--65 и 71--73
if b1>127 then
_SoundL:=b2+b1*256-65536 //Считаем два старшие бита
else _SoundL:=b2+b1*256;

Но это попозже, сначала анализ, чего не хватает этому SDR-у
В прилагаемой схеме график заменён на StrList с сохранением в файл и количество кадров 200 (1 сек). Подключите Ваш SDR, без запуска звука, сохраните файлы и выложите архивом сюда для анализа.
------------ Дoбавленo в 08.56:
Кстати: раз производители выдают I и Q каналы на НЧ, просто слушать их бесполезно, по 24 кГц и с обеих сторон от несущей создадут такую кашу, действительно один шум будет. Надо эти каналы пропускать через Фурье, плюсовать-минусовать стобы получить отдельно и верх и низ, а уже из этой полосы в 48 кГц выбирать полосу приёма и делать с ней обратное преобразование Фурье, которое уже можно послушать
карма: 19

0
файлы: 1sdr_txt.rar [3.9KB] [86]