Pull to refresh
4
7
Subscribers
Send message

По моему мнению путь тупиковый. Нормальную модель не до обучите а простые модели бесполезны. Сейчас работаю над подобной проблемой. На мой взгляд. Нужно идти по пути RAG промт нейросеть.

Да сейчас не на долго вернулось время когда один разработчик может сделать что то интересное как было 80 90-е. Мне в принципе уже не кто не нужен, я сам все делаю причем проекты достаточно высокой сложности.

В качестве более интересного примера прослушать с фм радио и сохранить в файл

from hackrf_dll import HackRF
import numpy as np
import soundfile as sf
from scipy.signal import resample, firwin, lfilter, butter, filtfilt

SAMPLE_RATE = 2_000_000
AUDIO_RATE = 48000
CENTER_FREQ = 103_000_000 
OUTPUT_FILE = "fm_audio.wav"

def fm_demod(iq):
    # Простая и стабильная FM демодуляция
    iq_normalized = iq / (np.max(np.abs(iq)) + 1e-9)
    return np.angle(iq_normalized[1:] * np.conj(iq_normalized[:-1]))

def remove_dc_offset(signal, alpha=0.99):
    """Удаление постоянной составляющей"""
    result = np.zeros_like(signal)
    result[0] = signal[0]
    for i in range(1, len(signal)):
        result[i] = alpha * result[i-1] + signal[i] - signal[i-1]
    return result

def apply_lowpass(audio, cutoff_freq, sample_rate, order=5):
    """ФНЧ с butterworth фильтром"""
    nyquist = sample_rate / 2
    normal_cutoff = cutoff_freq / nyquist
    b, a = butter(order, normal_cutoff, btype='low', analog=False)
    return filtfilt(b, a, audio)

def process_audio(audio, original_rate, target_rate):
    # Удаление DC смещения
    audio = remove_dc_offset(audio)
    
    # Фильтр низких частот
    audio = apply_lowpass(audio, 15000, original_rate)
    
    # Ресемплинг
    n_samples = int(len(audio) * target_rate / original_rate)
    audio_resampled = resample(audio, n_samples)
    
    # Нормализация
    max_val = np.max(np.abs(audio_resampled))
    if max_val > 0:
        audio_resampled = audio_resampled / max_val
    
    return audio_resampled

# Основной код
hackrf = HackRF()
hackrf.set_freq(CENTER_FREQ)
hackrf.set_sample_rate(SAMPLE_RATE)

# Начните с умеренных усилений
hackrf.set_lna_gain(16)
hackrf.set_vga_gain(12)
hackrf.enable_amp(True)

iq_buffer = []

def callback(iq):
    global iq_buffer
    try:
        demod = fm_demod(iq)
        iq_buffer.append(demod)
        print(f"[RX] Демодулировано {len(demod)} сэмплов")
    except Exception as e:
        print(f"Ошибка обработки: {e}")

print("Начинаем прием...")
hackrf.start_rx(callback)

try:
    input("Нажмите Enter для остановки...\n")
except KeyboardInterrupt:
    pass

hackrf.stop_rx()
hackrf.close()

# Обработка данных
if iq_buffer:
    audio = np.concatenate(iq_buffer)
    audio_processed = process_audio(audio, SAMPLE_RATE, AUDIO_RATE)
    
    sf.write(OUTPUT_FILE, audio_processed.astype(np.float32), AUDIO_RATE)
    print(f"[OK] Сохранено аудио в {OUTPUT_FILE}")
else:
    print("[ERROR] Нет данных для обработки")

Метеоры отправляют данные по 137.9 и их можно принимать. Причем картинка лучше чем с ноаа.

В целом как программист я скажу что это работает в том числе и с программистами. Это не значит что начальство надо сожать на шею. Но если есть задача ее надо решать. Или не решать и уходить оставляя место тем кто будет решать. Отмазки типа нет в ТЗ заканчиваются тем что говорится что сейчас добавлю. Нет в должностной инструкции? Сейчас допишем.

Все стоит денег. Правильная разработка стоит хороших денег. Если бы был озвучен ценник на нормальную разработку то возможно и проект умер не начавшись. Поэтому тут все всегда не однозначно. Конечно лучше быть здоровым и красивым. Но часто надо выбирать. Судя по тому что я прочитал главная проблема не в том что не правильно начали, а в том что все проект тянет Виталик и у него не на что нет времени. А возможно он уже выгарел и ему срочна нужна помощь. То есть нужна команда. Причем одна ее часть будет тянуть старый проект вторая разрабатывает новую платформу уже нормально разработанную. Но инвесторам нужны деньги сегодня. И они тоже имеют на это право. Так что мы имеем то что имеем. Но я не думаю что все так плохо как говорит автор. Просто Виталик замучился и ему нужна помощь.

Вот это уже интересно. Спасибо буду копать в эту сторону.

Метео данные. Самые интересные. Высокое разрешение. Дампы. На сайте satdamp есть подробная информация что и на каких диапазонах передается. А том числе по нашим спутникам.

Да я в курсе. Такие конвертов как раз и используется а спутниковом телевидение. Только работают они на другой частоте. Есть переделки подобных конвертеров на частоту 8 ГГц. Но рабочих схем я не видел.

Интересно автор не пробовал работать с диапазоном 8ггц. Хочется принимать со спутника на этой частоте но не могу понять как к ней подступиться.

Там все просто. Антенны примитивные и схем навалом. Я использовал замкнутую всенаправленную. Программы для приема satdump. Единственное ещё нужен низкошумный усилитель. Но самый простой стоит реально копейки и работает хорошо. Так что тут проблем вообще не каких.

Мне это напоминает как я пытался на словах объяснить что я хочу предложить. Пока не сделал подробные картинки и видео работы понять было сложно. К сожалению тут так же. Вы следуйте несколько картинок и напишите статью с описанием и я думаю будет кому то в том числе мне интересно.

Вы не поняли для чего нужно деньги. Конечно не для создание самого прототипа как такового. Нужно для разработки нормальной документации чертежей и главное софта который будет это все обслуживать. Прототип я и сам сделаю если надо будет ту не чего сложного. Даже софт что бы это как то работало без особых проблем. Но что бы сделать все правильно и с возможностью обслуживать полноценную систему доставки конечно меня не хватит и для этого нужны узкие специалисты в количестве не одного человека. То же самое и с чертежами. Разница как примерно сделать одну машину в гараже или подготовить документацию на серию из 1000000. Для всего этого нужна команда. А команда будет хотеть денег. И заниматься этим я пока не планирую и деньги мне поэтому на это дело не нужны. Так что это не мне нужны деньги, а это я оцениваю сколько будет стоить сделать такой проект в минимальном возможном виде.

По поводу ваших предложений. Это интересно, ради этого я и начал выкладывать свои разработки. Хоть если честно не очень понятно. По поводу эллипса. Идея не кажется мне хорошей. Пропадет точность итогового позиционирования. А она очень важна. Но возможно я вас не правильно понял.

По поводу елочки не понял. Нужно схема на словах не понятно.

Люди прекрасно убивают друг друга палками и камнями.

Что делать. Других применений у меня для вас нет. А если бы было, то навредили я бы их просто так выложил. Создание прототипа который реально мог заинтересовать это работа небольшой команды хороших специалистов и пары десятком миллионов рублей на первое время. Я один явно не потяну. Может если бы сбросить лет так 30 был бы другой разговор. Хотя я начал. Даже начал печать детали пока на принтере очередная мама на принтере не сдохла. Покупать новую лень так как ну такое себе решение оказалась. Дрон под прототип тоже есть. f-450 должно хватить. Но контролер совсем древний, да и движки с регуляторами тоже надо менять на более мощные. Про приемно-передающею аппаратуру я просто молчу. Так что мы имеем то что мы имеем.

Завтра опубликую ещё одну статью по этой теме и на этом пока закончу. Тема похоже не особо интересна.

Дополню для понимания как это работает. Сначало захваты стоят по середине стола. Приземляется дрон. Захваты должны находится находятся внутри контура V образной конструкции. Это не должно быть сложно погрешность посадки может быть очень большой. После захваты начинают разъезжается в стороны и выравнивать дрон относительно окна. В крайне точке он поставят дрон точно над окном и надежно его зафиксируют. От этом как сказано в конце статьи будет подробно в следующей статье. Но матерью по ней с фото и картинками не совсем готов. Саму конструкцию я сделал и для демонстрации она в принципе готова. Но через пару дней везти семью в отпуск и вернусь через месяц так что решил дать тут подробное описание. Но статью об этом будет.

Тут и есть моя главная хитрость. Это система позиционирования и фиксации. Об этом у том числе и мой патент :). То есть специальная V конструкция на дроне. За них цепляется грибообразные захваты и выравнивают дрон над столом точно над окном приёма. Я пробивал это работает у меня даже вроде было видео на эту тему но я его сейчас не нашел.. Главное что бы захваты попали внутрь периметра. А положение дрона при этом не важно. Можно посадить с отклонением в десять сантиметров и практически с любым поворотом относительно стола. Система все выровняет и зафиксирует.

Дрон в принципе может с боксом не общается. Да и скорее всего не будет. С боксом общается сервер системы который и занимается автоматической разгрузкой - загрузкой бокса. То есть у сервера есть подключённые устройства с помощью которых он осуществляет доставку. Дрон служить только в качестве тоскателя бокса по точкам. Сначала с помощью оператора. В последствии в автоматическом режиме когда создадут такой дрон который на это будет способен.

Эта штука крепиться к любому дрону для перевозки грузов. И с помощью дополнительных устройств и под управление сервера можно совершать полностью автоматическую погрузку разгрузку груза и замену батареи. Ещё в комплекте нужны посадочные опоры и направляющие для фиксации и правильной фиксации дрона на столе станции приёма дронов. Но там надо много чего показывать и рассказывать что в одну статью все не влезет. Если будет интерес продолжу.

Information

Rating
Does not participate
Location
Мурманск, Мурманская обл., Россия
Date of birth
Registered
Activity

Specialization

Разработчик приложений, Гис-программист
Старший
SQL
Базы данных
PHP
MySQL
Python