Передача информации через СТОЛ

Intro

Рассмотрим упрощенное решение задачи по передаче информации через среду в которой электромагнитные волны затухают сильно-сильно, да и провода проложить вряд ли получиться. Зато нет практически никаких ограничений по скорости, энергии и проч.



Взятая среда хоть и глуха для электромагнитных волн, зато отлично пропускает акустические колебания, в общем вибрирует )

Модуляция

Было принято решение попытаться замодулировать акустические (сейсмические волны) по всем законам радиотехники, чтобы на выходе получить наилучшие показатели сигнал/шум.
Первоначально рассматривался вариант взять за основу теорию навигационного спутникового сигнала и сильно ее испохабить, т.е. мы излучаем ортонормированную функцию (ортонормированная функция — м-последовательность, код Голда, Баркера и прочее), ее замечательность заключается в корреляционной обработке, в идеальном случае автокорреляционная функция представляет собой треугольник амплитуда которого зависит от базиса (длины последовательности). Когда обе функции совпадают имеем пик, если хотяб на шажок раздвинуть — ничего не имеем. Это позволяет даже жутко слабый сигнал выделить из мощнейших помех, в теории помехи могут хоть 100500 миллионов раз превосходить передаваемый сигнал, мы просто берем последовательность с длинным-длинным базисом коррелируем с опорной последовательностью и шум побежден!

src=«we.easyelectronics.ru/uploads/images/00/07/62/2014/04/04/ffada00b38.jpg» class=«image-center» alt="" />

Грубо говоря перед нами стоит задача передавать всего три команды — формируем три функции, передатчик излучает последовательность, например №1, приемник принимает сигнал и начинает его коррелировать по очереди с последовательностями №1, №2, №3. короче смотрим картинку:



Вроде как все круто, можно начинать изобретать вибро-кодовую молотилку! но мы не ищем легких путей, да и 3 команды слишком мало, если потребуется расширить до 10 команд еще нормально, а вот делать корреляцию со 100 последовательностями потребуется уж сильно мощный вычислитель.

Второй вариант модуляции


В основе второй идеи лежит относительная -фазовая телеграфия (ОФТ) или однополосная модуляция с подавленной несущей (SSB), чем они отличаются друг от друга, если передавать цифру я так и не понял. Зато ОФТ (ака SSB) превосходят по соотношению сигнал/шум ЧТ (частотную телграфию) как минимум в 2 раза, а амплитудную модуляцию более 4 раз.

проблема
небольшое отступление связано с тем, что поведение сейсмических волн отличается от электромагнитных не в лучшую сторону, в плане того, что нельзя просто так взять и повернуть фазу сигнала на 90 градусов — если мы качнули в одну сторону мы не можем сразу же качнуть в туже сторону, потому что среда уже сама качнулась и колеблеться в обратную сторону. В общем нужно думать как менять фазу:
если код сообщения меняет знак из 0 в 1 и наоборот мы вносим дополнительную задержку, равную длине полуволны:



Общий же вид передачи сообщения:


Демодуляция


Теперь наступает самое интересное — надо демодулировать сигнал. С корреляционной обработкой принципе все понятно, бери больше- кидай дальше, только и делай, что коррелируй, а вот со вторым сигналом много интереснее, во-первых надо восстановить несущую частоту, для этого надо входной сигнал перемножить на опорный сигнал с гетеродина, пропустить через фильтр нижних частот и получить исходные биты информации.
Для этого можно было бы использовать обычный ФАПЧ, однако есть одно но, так как мы передаем сигнал с фазовой модуляцией у нас есть два устойчивых состояния — в фазе и противофазе(сдвиг на 90 град), обычная же ФАПЧ сначала схватиться и настроиться под сигнал в фазе, потом броситься перестраиваться на сигнал в противофазе, потом обратно, потом снова, и в общем на выходе выдаст нам не пойми чего.

Тут на помощь приходит детектор Костаса, по сути это та же ФАПЧ только дополненая еще одним каналом для работы с квадратурными сигналами.

Грубо говоря у нее есть 2 устойчивых состояния — ловит сигнал в фазе, потом когда сигнал меняет фазу прекрасно работает с противофазным сигналом!
В общем смотрим картинки:
красный — входной сигнал, синий — сигнал с ГУНа

что получается если их перемножить:

а теперь их проинтегрируем (лучший ФНЧ — это интегратор, теории всяких критерий оптимальности это утверждают, поверим им на слово. )


треугольничек вверх — «1», вниз — «0».

Причем здесь стол?


Сидеть и моделировать в MatLabe, конечно круто, но хочется быстро проверить это дело в реальности.

%Вставляю манипулированный сигнал
clear all;
clc;
Fs = 10000;  %частота дискритезации
Fc = 120.0000; % Частота несущей сигнала
Tend = 1;% 120 колебаний один бит
n = 1;
Tm = 0:1/Fs:Tend;
Y1 = zeros(size(Tm));%0:1/Fs:Tend-1/Fs;
for t = 0:1/Fs:Tend;
    if (sin(2*pi*Fc*t)>= 0)
        Y1(n) = sin(2*pi*Fc*t);
    else
        Y1(n) = 1*sin(2*pi*Fc*t);
    end
    n=n+1;
end
Tmiddle = 1/(2*Fc);  
t = 0:1/Fs:Tmiddle;
Y2 = 0.25*sin(2*pi*Fc*t);

Yphi = zeros(1,1000);
%spectr_add = zeros(1,2243);
Ysig1 = [ Y1 Y2 Y1 Y2 Y1 Y2 Y1 Y1 Y2 Y1 Y1 Y1 Y2 Y1 Y2 ];
Ysig2 = [Y1 Y1 Y2 Y1 Y1 Y2 Y1 Y1 Y1 Y2 Y1 Y2 Y1 Y2 ];
Ysum = [Yphi Ysig1 Ysig2 Ysig2 Ysig1 Yphi];
time = 1:length(Ysum);
time = time.*(1/Fs);

plot(time,Ysum);
grid on;
wavwrite(Ysum,Fs,'temp4.wav')


в общем получаем .WAV файл (не знаю как его прикрепить к статье), с нудными завываниям на частоте 120Гц.

направляем дешевую колонку Genius в стол и передатчик готов.
Принимаем это дело на геофон установленный на столе (такими штуками геологи проводят сейсморазведку на нефть и прочие богаства, по сути очень чувствительный акселерометр)

подключенный к компьютеру через USB-АЦП.

Что имеем на входе:


Фрагмент работы детектора Костаса:

следует обратить внимание насколько унылый синус излучает колонка (показан красным), тем ни менее работает! )

а это уже после перемножения и фильтарции (фильтровал баттервортом 4-го порядка, про оптимальность интегратора помню но уже не хотелось с ней возиться).


передача данных осуществлена успешно, скорость конечно позволяет желать лучшего но не суть. Многие вещи изложил весьма поверхностно, но их лучше самим изучать, хочется порекомендовать и высказать благодарность ресурсу: www.dsplib.ru

the end!
  • +14
  • 04 апреля 2014, 09:15
  • Sheld

Комментарии (54)

RSS свернуть / развернуть
Опаздал немного, а так было бы очень в тему :)
+2
До этого момента думал, что только с написанием диссертации опаздываю, оказывается еще куда-то опоздал! :(
0
На первое апреля пост с таким заголовком вкатил на отличненько бы.
+4
Там, где 1 апреля пошутил DIHALT остальным пошутить уже не удастся.
0
Но он же шутил не здесь, а на глагне)
0
Опоздал с изучением русского языка.
-3
Читать противно. Без обид.
-3
Ничего подобного, статья читается очень даже хорошо, никакого отвращения не возникает и главное все понятно. Спасибо Sheld за проделанную работу!!!
0
раскрыть комментарий
-11
Злоба твоя, берет свое начало в твоем невежестве.
В конце стать есть ссылка на учебные материалы, это может тебе помочь!!!
+2
Магия!
0
0
«но зачем?!» — это уже совсем другая история :)
0
Как вариант: наладить связь с экипажем затонувшего цельнометаллического объекта… O_o
0
или сообщить мине, закопанной глубоко-глубоко под землей, что пора взрываться ) или позвонить автономному роботу-кроту, ползающему под землей и ищущему нефть )
0
Угу, например спросить у кильки в банке: «Как ты там? Соус не горчит?» =)
+3
А подводными модельками разве не акустически управляют?
0
0
, чем они отличаются друг от друга, если передавать цифру я так и понял.
Понял? Не понял? Если поняли, расскажите другим, чтобы поняли.
фильтровал баттеркортом 4-го порядка
Чем-чем?
0
тогда уж butthurtом :).

Заодно когда уже готова установка можно пробовать разные типы модуляции. Или взять момед Зюхель, сдвинуть его по частоте вниз и с ним пробовать законнектиться.
+2
butthurt не фильтр, он скорее генератор.
+1
Спасибо, подправил!
0
Круто, что еще сказать.
Чтобы передать таким способом данные чему-то глубоко под землей, понадобится что-то помощнее Гениуса. Так что сейсмические связисты будут более шумные, чем любители мощного сабвуфера в своей машине, с нудящим на всю округу унылым трансом.

Зашел на этот dsplib.ru и понял, что уже процентов на 70 позабыл за последние годы математику сложнее 9го класса школы :(
+1
  • avatar
  • Ozze
  • 05 апреля 2014, 10:19
Так ведь так можно под водой информацию передавать.
0
Очень интересно!!!
Ждем реализации в железе!!!
0
  • avatar
  • Aneg
  • 06 апреля 2014, 15:46
Спасибо, если не сорвем график, то в конце апреля будут испытания в шахте ;)
0
Как здорово, а сюда отчет будет?
0
сделаю, в случае положительного результата.
0
А что за шахта? Очень интересно :)
0
железную руду добывают, глубина метров 800 или 900
0
Принимаем это дело на геофон установленный на столе (такими штуками геологи проводят сейсморазведку на нефть и прочие богаства, по сути очень чувствительный акселерометр)
Геофон — это велосиметр, напряжение на его выходе пропорционально скорости колебаний. На картинке — именно желтый трехкомпонентный велосиметр, не акселерометр. Чувствительность его — 18 В*с/м, это не очень много, есть приемники в 10 и более раз чувствительные. Сейсморазведку проводят не геологи, а геофизики :)
+1
Использовался именно желтый трехкомпонентный геофон, как на картинке. Не очень понял на счет размерности чувствительности — 18 вольт в секунду на метр? на этот «велосиметр» гугл не очень охотно гуглится, поэтому приходиться использовать его методом «научных итераций», а можно по подробнее на счет более чувствительных приемников? Кстати при помощи усилителя Ку =5000, даже на этот геофон получалось детектировать удар кувалдой по земле на расстоянии метров 200-300!
Конечно, геофизики, а не геологи )
0
на счет размерности чувствительности — 18 вольт в секунду на метр?
Всё верно. Чувствительность = U/v, напряжение делить на скорость.
В/(м/с)=В·с/м.
0
18 вольт в секунду на метр?
Вольт-секунд. Вольт в секунду — это В/с.
+1
У меня включился мозг и начал требовать ответы: как катушка размещенная в поле постоянного магнита может мерить скорость?! пока пришел к тому, что все таки геофон изначально — это измеритель ускорения, но за счет серьезной индуктивности (аж 4 Гн!!!), необходимой для достижения чувствительности — измеряемое ускорение интегрируется, и получается скорость, на которую и дают инфу: 18 вольт-секунд на метр.
0
При движении катушки, размещенной в поле постоянного магнита, в катушку наводится ЭДС, прямо пропорциональная скорости движения катушки относительно магнита (закон Фарадея), ее и меряет АЦП. На самом деле это упрощенное представление процесса. Если подойти строго, то велосиметр измеряет и скорость, и ускорение и вторую производную смещения сразу: в разных частях его рабочей полосы они вносят разный вклад в общий выходной сигнал. Чтобы понять, что там и как детально, надо посмотреть на дифур, который описывает поведение велосиметра и на его АЧХ. Но в основном — это скорость.
Индуктивность и интегрирование тут не при делах: чтобы получился ФНЧ-интегратор, надо добавить последовательно с катушкой конденсатор, но так никто не делает.
КУ=5000 и 300 м до кувалды — это обычное дело, если АЦП 24-бита, то и усиления не надо, все замечательно запишется и с КУ=1, если долбить в чистом поле :)
В качестве примера более чувствительного велосиметра можно взять советский СК1П, у него чутье 160 В*с/м.
+1
очепятался, надо читать так: «велосиметр измеряет и скорость, и ускорение и вторую производную скорости сразу»
0
Спасибо за ответ! СК1П буду искать на пробу, но перспектива таскать с собой еще и 15 кг сейсмоприемник немного расстраивает )
0
Есть такая метода, называется «деконволюция», которая позволяет сделать из записи маленького геофона с собственной частотой 10 Гц, запись дорогого и тяжелого низкочастотного приемника с частотой 0.5 Гц и ниже. Суть состоит в обратной фильтрации записи высокочастотного приемника фильтром, имеющим передаточную функцию обратную к передаточной функции короткопериодного датчика, потом фильтрацию ФВЧ на заданное число герц, например 0.5 Но найти СК1П или подобный все равно надо будет, вам же захочется убедится самому, ну и для отладки :)
Вот статья: opg.sscc.ru/attachments/083_deconvolution1.pdf
+1
С корреляцией все-таки интереснее, было бы.
0
Красивая статья! Автор, так держать! Читаю и офигеваю…
0
  • avatar
  • Dmi
  • 06 апреля 2014, 21:50
Было бы забавно по мимо обычных проводников передавать информацию по плате механической волной. можно даже придумать протокол по типу протокола микролан. =)
0
В данное же время подобная штука используется сплошь и рядом в гидроакустическом канале связи различных скваженных беспроводных систем при бурении.
0
Сравнение с гидроакустическим каналом не совсем корректно, они используют ультразвук, который через «СТОЛ» плохо передается, а у меня частота 120 Гц. Но в принципе приемы теже.
0
Ультразвук затухнет быстро. На самом деле, там не больше 1 кГц. Скорость передачи — в районе 100 бит/сек.
0
Это прямо таки какие-то военные технологии! Сигнал о начале операции по захвату Крыма вполне можно передать)))
0
А америкосы с ног сбились, не поймут, где не доглядели)))
0
Никаких шуток, эта тематика действительно изначально задумывалась, как «оружие возмездия». То есть, когда на поверхности земли все в труху и электромагнитные волны уже не ходят, командование передает из бункера сигнал ракетам на старт вибратором :) Были испытания по передаче слов с частотным кодированием, т.к. в те времена коррелятор был огромным аналоговым аппаратом, который безбожно ломался и глючил. А синусы принять с разными частотами (одна частота — одна или несколько букв) и разделить их — уже тогда было вполне реализуемо.
0
Вообще, по моему личному опыту, для того, чтобы передать монохром (синус) на расстояние 300 км за 10 минут с последующим его уверенным выделением, требуется вибратор массой 100 тонн. Жалко картинки в панорамио почикали (кстати, зачем?), а то у меня там фотка этого агрегата была.
0
А есть какие-нибудь ссылки на статьи по этой работе в открытом доступе?
0
Нет, придумай сам.
0
Так я и не шутил. Вполне себе передача информации, которую прервать практически невозможно.
0
» тем нИ менее
0
Sheld Как успехи с передачей информации по «сейсмоканалу»? Больше года уже прошло с момента публикации… Неужели не получилось?
Может источник по-мощнее подогнать?:-)
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.