Всем привет!
Разбираюсь тут с тем как передавать данные с HackRF.Для начала решил попробовать передать синусоиду и один импульс ЛЧМ,сгенерированный в Matlab.
Генерация в Matlab импульса ЛЧМ производилась с помощью функции
Код:
phased.LinearFMWaveform('SampleRate',1e6,...'PulseWidth',100e-6)
.
Для генерации синусоиды были созданы отсчёты синуса и косинуса,при этом учитывалось,что отсчёты синуса - это значения I,а отсчёты косинуса значения Q.
Затем из результатов генерации был получен вектор комплексных чисел,который был записан в файл с расширением ".iq" виде Ii Qi с представлением чисел как int8.
Затем сигналы были посланы на HackRF а с него на спектроанализатор.
В случае ЛЧМ импульса было видно 3 гармоники где-то в районе 40 МГц,точнее,к сожалению,не вспомню.
В случае синуса было видно 2 гармоники на частотах около 2.7 и 5.4 ГГц.
Пробовал ещё ЛЧМ подать на осциллограф.Там было видно что-то похожее на ЛЧМ-импульс,но не полностью идентичный расчётам матлаба.
Для передачи на HackRF была использована следующая команда hackrf_transfer -t
Код:
<Путь к файлу>
-f 120000000 -s 3000000.
Самое интересное это,что хоть в команде и выставляется частота 120МГц,но на спектроанализаторе гармоники синусоиды видны только в районе 2.7 и 5.4.При увеличении частоты гармоники смещаются вправо,а при уменьшении влево.
Подскажите пожалуйста,где в данном подходе может быть ошибка и правильно ли я понимаю,что опция
Код:
-f
отвечает именно за центральную частоту передаваемого сигнала,а опция
Код:
-s
,т.е sample rate за то с какой частотой данные будут браться из файла?