Как замедлить источник файла в GNU Radio?

Я пытаюсь распаковать байты из входного файла в GNU Radio Companion в двоичный битовый поток. Моя проблема в том, что блок Unpack K Bits работает с той же частотой дискретизации, что и исходный файл. Таким образом, к тому времени, когда первый бит байта 1 тактируется, байт 2 уже загружен. Как замедлить исходный файл или ускорить блок Unpack K Bits? Есть ли способ заставить GNU Radio Companion повторять каждый байт из исходного файла 8 раз?

Обратите внимание, что «после упаковки» отображается в 4 раза больше данных, чем «до упаковки».

график потока

графики во временной области


person watkipet    schedule 18.12.2015    source источник


Ответы (2)


Ответ Маноса очень хорош, но я хочу добавить к этому:

Это распространенное заблуждение для людей, которые только что соприкоснулись с цифровой обработкой сигналов на уровне сэмплов:

В GNU Radio нет понятия частоты дискретизации. Термин «частота дискретизации» используется только определенными блоками, например. рассчитать период синуса (в случае источника сигнала: Period = f_signal/f_sample) или рассчитать время или частоту, которые записываются на осях дисплея (как в вашем случае).

«Замедление» означает «замедление обработки сэмплов компьютером», но не изменяет сигнал.

Все, что вам нужно сделать, это сопоставить то, что вы хотите, чтобы отображаемый приемник отображал в единицах времени, с тем, для чего вы его настроили.

person Marcus Müller    schedule 19.12.2015
comment
Полностью согласен с Маркусом. Это очень распространенное заблуждение, которое я пытаюсь разъяснить новым студентам, изучающим разработку SDR. Возможно, мы могли бы каким-то образом предоставить учебник-руководство на главной странице GNU Radio? - person Manos; 19.12.2015
comment
@Манос Мы должны. Не могли бы вы отправить электронное письмо на tutorials~AT~gnuradio.org? Я все еще должен быть на этом, и я думаю, что мы должны а) добавить заметную запись об этом принципе где-то между введением и работой с GRC в gnuradio.org/redmine/projects/gnuradio/wiki/Guided_Tutorials, а также б) продвигать это более четко — это все еще не тот ресурс, который в первую очередь находят новые пользователи. - person Marcus Müller; 19.12.2015
comment
@Manos: есть gnuradio.org/redmine/projects/gnuradio/wiki/ , но я думаю, что это может потребовать расширения - person Marcus Müller; 19.12.2015
comment
Я посмотрю и отправлю электронное письмо с комментариями. - person Manos; 20.12.2015

Моя проблема в том, что блок Unpack K Bits работает с той же частотой дискретизации, что и исходный файл.

Нет, это не так. Unpack K Bits — блок интерполятора. В вашем случае интерполяция равна 8. Для каждого байта создается 8 новых байтов.

Результат правильный, но шкала времени вашего стока неверна. Вы должны изменить частоту дискретизации во втором GUI Time Sink, чтобы она соответствовала истинной частоте дискретизации потокового графа после Unpack K Bits.

Так что вместо 32e3 должно быть 8*32e3.

person Manos    schedule 19.12.2015
comment
Так что, возможно, я пропустил в FAQ следующее: при встрече потоков данных между любыми аппаратными системами мы должны убедиться, что вся выполненная передискретизация приводит к одной и той же частоте дискретизации при их встрече. Или, другими словами, я должен адаптировать частоту дискретизации моего приемника, чтобы она соответствовала изменениям скорости в остальной части моего графа потоков. - person watkipet; 21.12.2015