Шумодав для рацайки. Часть первая, идейная.

Шумодав для рацайки. Часть первая, идейная.

Давно хотел заняться писанием, но долго не доходили руки.
Сейчас начну. Это будет мой первый пост.

1. Что имеем.
Имеем 2 Си-Би радиостанции — Megajet-555 Megajet-555 (далее — Мегажуть) и Alan42 (далее — Алан), автомобиль Ford-Focus или просто Фокус (в ПТСке написано Ford Fokus… у меня вопроc… хотя, наверное, я уже знаю на него ответ), на нем антенна Sirio-Triflex на месте штатной антенны. Так же есть антенна на магните для опытов.

Имеем 5 отладочных комплектов для АРМов от ST:
  • STM32L-Discovery
  • STM32F4-Discovery
  • STM32F3-Discovey
  • STM32W RF Control Kit
  • STM32 Primer


Есть осцил Tektronix TDS 220.
Стол, стул, комп с 2я мониторами, чайник, кофе, паяльник, немножко деталюшек, некоторый опыт и, главное, желание что-либо сделать.

Переизбытком времени не страдаю, поэтому то, что описано ниже, делалось урывками и с большими перерывами.

Итак…


2. О Си-Би немало песен сложено...
В общем-то я не особо хотел распыляться на тему Си-Би связи, но, несколько слов, тем не менее, скажу.
Си-Би радиосвязь появилась довольно-таки давно. У них. У нас сравнительно недавно. Причем еще пару лет назад для эксплуатации Си-Би радиостанции требовалось ее регистрировать (а не получать разрешение на ее эксплуатацию, как меня много раз спрашивали адепты секты полосатых палочек) в ГКРЧ. С конца 2011 года регистрация радиостанций Си-Би диапазона мощностью до 10Ватт отменена.
В мире для связи в Си-Би диапазоне отведены частоты от 26МГц до аж 29МГц (правда у нас не все так хорошо — можно использовать только 2 диапазона по, примерно, 400кГц каждый).

Радиостанций для Си-Би немерено! Но! Они почти все «возимые» — т.е. автомобильные. Есть хорошие, есть плохие, есть навороченные, есть дешевые, есть дорогие.

Поскольку у меня машина легковая и туда рацию размером 1 DIN встраивать особенно некуда, мой выбор пал на Алан. Ибо это одна из трех портативных СИ-Би рацаек с довольно-таки неплохими параметрами — 240 каналов и 4 Вт мощи в антенне. Правда, я не мерил, но похоже, что так и есть.

Внешний вид машины тоже не хотелось портить путем грамаздючения на нее автомобильной антенны типа Lemm 2001 TURBO… За сим я нашел антеннку Sirio Triflex, которая неплохо встает на место штатной антенны Форда не портя внешний вид. Очень много говорится об антеннах в Си-Би сообществе, но я об этом здесь говорить не буду — язык не поворачивается :)

Вот… Для чего мне нужна Си-Би связь в машине? Ну… тоже об этом много говорилось… Можно почитать форумы на радиосканере или СиБиПитер и т.п. В любом случае наличие дополнительного источника информации никогда не помешает.

Поездил я так месяц — другой и понял, что надо что-то менять… В больших городах слишком много помех чтобы комфортно общаться. Поэтому постоянно приходилось крутить ручку SQL (порога шумодава) — спросил в эфире, включил шумы и ждешь когда ответят. А если не ответят? Или едешь, а тут и реклама и помехи от предприятий и еще какие-то помехи… А если задавать шумодав, то будешь слышать только ближних респондентов, а хочется и дальних тоже. В общем, не совсем удобно.

А в прошлом году я купил новую Мегажуть. У нее есть автоматический шумодав и выходная моща в 2 раза больше чем у Алана. А еще у нее все управление было вынесено на тангенту. Ура! Я ее саму ставлю под сидение, а тангенту в консоль. Так получилось и удобно и красиво. Правда Мегажуть требует доработки, но не сложной.

После недели эксплуатации я понял, что надо что-то менять. Т.е. меня не устраивает то, как работает шумодав. Но для начала разберемся какие они бывают.

3.Какие бывают шумоподавители и что надо о них знать.

Это я закопипастил с какого-то сайта. Этот текст встречается во многих местах. Ну и немножко отредактировал.

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

  • Пороговый. Это самый простой и самый неудобный в городах шумоподавитель. Распространён только в радиостанциях CB.
  • Спектральный или ASQ. Это шумоподавитель пришедший из профессиональных раций, не из радиолюбительских, а именно из профессиональных. Наиболее удобен и комфортен в использовании. В основном именно этот шумоподавитель имеется в рациях диапазона LPD и PMR. Так же он устанавливается в некоторые модели сиби радиостанций.
  • CTCSS. Шумоподавитель который отсекает ненужных Вам корреспондентов — Вы будете слышать только тех кто имеет тот же код что и у Вас, а Вас будут слышать все. Этот этот шумоподавитель имеется практически во всех рациях LPD и PMR. Ставится он и в некоторых радиостанциях CB, хотя там его полезность весьма сомнительна.
  • DSC. Этот шумоподавитель можно назвать более совершенным или более помехозащищённым вариантом CTCSS в гражданских рациях встречается крайне редко, отдельно рассматривать смысла нет, всё относящееся к CTCSS можно отнести и к нему.


Подробнее про каждый шумодав:

Пороговый шумоподавитель.

Представляет из себя простой регулятор — компаратор уровня принимаемого сигнала (несущей). Этот регулятор просто поднимает порог чувствительности уровня выше и шум не воспринимается как сигнал, соответственно радиостанция замолкает и больше не шипит. Насколько выше поднят порог зависит от положения регулятора. Поэтому он и называется пороговым. Положение регулятора в свою очередь может зависеть от помех в том месте где Вы находитесь. В городах уровень помех намного выше. А например рядом с троллейбусами и ЛЭП их просто катастрофически много. Следовательно, чем больше помех, тем больше Вы закрутите регулятор чтобы не слышать шума. Чем больше Вы закрутите регулятор тем выше будет порог. Главный недостаток этого шумоподавителя — невозможность отличить сигнал от шума или помех. То есть он по сути снижает чувствительность радиостанции и дальние корреспонденты не смогут превысить своим сигналом тот порог который выставлен Вами ручкой регулировки. В целом работу этого шумоподавителя можно сравнить с наушниками для строителей, одели их и шум строительной техники и оборудования резко упал, хорошо и тихо, но и своего товарища Вы будете слышать с трудом. Только тут ещё и регулятор есть, чем больше закрутим тем тише будет. Соответственно мощную и расположенную недалеко рацию Вы, скорее всего, услышите, а вот более слабых корреспондентов — нет. При этом дополнительные помехи проходят постоянно и вынуждают так же постоянно крутить ручку закрывая шумоподавитель, а по проезде помехи откручивать обратно — иначе мало что услышите или вообще ничего не услышите. В итоге 1-2 часа поездок по крупному городу запросто или приведёт Вас в бешенство или привыкните периодически слушать шум от помех и не крутить эту идиотскую ручку.
У данного шумоподавителя всего два плюса. Первый это его цена, для производителя совсем копейки, значит не сказывается на стоимости оборудования. Второй это возможность полностью открыть шумоподавитель, нужно в сложных условиях связи на предельной дальности, в шуме можно попробовать разобрать что Вам говорит корреспондент.
В целом данный вид шумоподавителя больше подходит для полевого, а не городского использования. За городом помех практически нет и там проблем с ручкой не будет. Запросто можно за 400-500 километров повернуть ручку не более 2-3 раз при проезда под ЛЭП или рядом с ней.

Спектральный шумоподавитель или ASQ.
Этот вид шумоподавителя пришёл из профессиональной связи, хотя с успехом применяется и радиолюбителями. Обычно его называют ASQ хотя это не совсем точно, более коректно называть его спектральным шумоподавителем. Название же AUTO SQUELCH в сокращении ASQ не так чтоб неправильно, но всё же не совсем верно и скорее изыск маркетологов. С другой стороны управляет работой звука он автоматически, поэтому и такое название ему подходит. Этот шумоподавитель является умным и не регулирует уровень как пороговый. Он вообще ничего не регулирует. Его работа — прослушивать эфир и в случае обнаружения сигнала от другой радиостанции включить динамик. При пропадании полезного сигнала динамик отключается. На самом деле это очень упрощённо но понятно. В реальности полезный сигнал определяется по изменению спектра, шум имеет больше высокочастотных составляющих, а при наличии передающей радиостанции, частотный спектр сигнала меняется. Поэтому более правильно называть этот шумоподавитель спектральным, его процессор отслеживает спектр поступающего к нему сигнала и реагирует включением и отключением усилителя звука Вышей рации при наличии или отсутствии полезного сигнала. Самое главное преимущество данного вида шумоподавителя в том, что он не меняет чувствительность радиостанции как пороговый. Этот шумоподавитель по сути вообще ничего не регулирует. Но есть и недостатки. Первый заключается в том что шумоподавитель всегда находится в закрытом состоянии и если он решил что полезного сигнала нет, то Вы его никак не услышите даже на фоне шумов. Данный шумоподавитель можно сравнить с автоматическими дверями, Вы к ним подходите и они открываются. Если никто не подходит, то они не открываются. Но зачастую можно видеть как ребёнок подходит к дверям и..., и двери не открываются. Вот так и в нашем случае с этим шумоподавителем, он может не открыться, а возможности отключения в радиостанциях диапазонов LPD и PMR обычно не предусмотрено. Так же не во всех сиби радиостанциях имеется возможность его отключения. Но в целом правильный и хороший шумоподавитель этого типа идеален для поездок по городам и крупным населённым пунктам, за городом в отсутствии помех актуальность снижается очень быстро — там нет помех и дешёвый пороговый шумоподавитель справляется с задачей без проблем. Второй недостаток связан с его ценой, наличие в сиби радиостанции этого типа шумоподавителя сказывается на её цене в сторону увеличения. На цене раций LPD и PMR это не сказывается, для них это в общем-то штатная система шумоподавления, в некоторых даже есть возможность её небольшой регулировки.

Система кодового(тонового) шумоподавления CTCSS.
Обе рассмотренные выше системы являются именно системами шумоподавления. Данная же система имеет несколько другое предназначение. При использовании системы CTCSS Вам надо ввести определённые номера кодов в радиостанции. Если в двух рациях введены одинаковые коды то при передаче первая радиостанция будет передавать кроме речи ещё и пилот-тон с этим кодом. Вторая, услышав и опознав «свой» код, откроет шумоподавитель и Вы услышите корреспондента. При наличии других сигналов в эфире без этого кода шумоподавитель открываться не будет. Данная функция используется в двух вариантах.
В случае занятости канала и постояных разговоров там других людей, которых Вы слышать не хотите, а хотите услышать только своих. Вводите одинаковые коды и не слышите других. Не забывайте — они Вас могут слушать!
В случае использования репитера. Репитер закрывается на код и для его использования надо заранее ввести в свою рацию этот же код.
То есть по сути это не столько система шумоподавления сколько сервисная функция позволяющая двум корреспондентам или целой группе использовать рацию в загруженном канале, но не слышать чужие разговоры. Ну или позволит воспользоваться репитерами, значительно увеличив дальность связи.
На радиостанциях CB данные шумоподавители практически не устанавливаются в силу специфики диапазона и невозможности качественной работы вообще и стабильной работы в частности.

здесь я закончил копипастить.

Другие
На мой взгляд, никакой из вышеперечисленных ШП не спавляется полностью со своими задачами по ряду причин — то ли это индустриальные помехи и пороговый шумодав открывается, то ли это дальние респонденты несколько меняют спектральный состав :) эфира и ASQ открывается. Однако, несколько компаний делают шумодавы для мобилок, гарнитур, конференционных систем и т.д. Так вот они давят именно шум. Т.е. шумодав там не просто затыкает динамик, а именно подавляет места с шумом на XXX децибел и не трогает места с голосом.

Вообще говоря, шумодавы для радиосвязи — зло! Так говорят практически все радиолюбители. Я знаю. Сам такой. Но нам не нужна «прозрачность эфира». Мы не охотимся за DX и не слушаем эфир с целью поиска дальних респондентов и изучения обстановки в Выборге, сидючи в Питере. На Си-Би просто нужна комфортная связь. Т.е. хотим, чтобы динамик не открывался ни на что, кроме голоса. Ну и, желательно, подрезать там всякие там наводки от моторов, ЛЭП и т.п.

Вот такой-то вот шумодав, наверное, нам и нужен. Если можно и провести аналогию, то это, скорее всего, более похоже на ASQ, нежели на другие виды шумодавов. Осталось понять, как такой шумодав сделать. Пока что мы этого не знаем, но можем для начала сформировать требования к устройству, которое можно вставить в возимую рацайку:
  1. Шумодав (далее ШП) должен включаться после детектора и до регулятора громкости.
  2. ШП должен иметь возможность регулировать порог стабатывания от — «все открыто» до «все закрыто». Регулировка должна быть адекватной, т.е. должны быть состояния, когда он открывается от ближних респондентов и не реагирует на дальних.
  3. Не сажать батарейку автомобиля за пол-часа.
  4. Не искажать речь.
  5. Быть «паябельным» и сравнительно недорогим.
  6. Компрессор — усиливать слабые сигналы и не трогать сильные. При этом не усиливать шум в паузах.
  7. Потом еще чего надумаем...

По сути дела нам нужен автономный детектор голосовой активности. Нам даже не нужно давить собственно шум. Нам надо только открыть динамик при наличии голоса.
Заметим, что шумоподавление не влияет на разборчивость речи, а только повышает комфортность прослушивания. Не более того.

4. Сигналы, какими мы их слышим. Или, точнее, видим.


Чтобы понять что же мы будем фильтровать запишем пару сигналов. Один — хороший, где речь разборчива и понятна, второй — типичный «15-й канал».

Для этого подключаем башмак к Алану и плохую антенну. Её за окно. В данном случае чем хуже — тем лучше. Выход динамика Алана к компу, на компе запускаем Адоб Аудишн и вперед!

Для начала запишем шумы 1ого канала ЧМ (Питер), и 15ого канала АМ (дальнобой).





Записали — смотрим на спектр. Здесь зелененькая линия — спектр сигнала ЧМ, красная — АМ. Соответственно файлы — air3.wav и air4.wav (кстати, там не только шумы. файлы внизу в архиве in.zip).

Заметим, что не совсем корректно здесь говорить о спектре сигнала. Скорее можно говорить об АЧХ детектора и всего, что перед ним помноженное на спектральную плотность шума. Однако, нам необходимо будет работать именно с этим сигналом. За сим будем считать, что спектр сигнала на выходе есть такой-то…

Итак — спектры ФМ и ЧМ. Ну… они похожи, однако, с ростом частоты они заваливаются — примерно на 15-20дБ от 400Гц до 4000кГц. Что-ж… это можно будет потом учесть.

Рассмотрим подробнее эти записи.
Рассматривать, а не прослушивать удобнее всего в Adobe Adudition, CoolEdit или подобных редакторах.

1. Файл air3.wav. Тут и фильтровать то нечего. На 1ом канале ЧМ автошумодав Мегажути работает адекватно, все слышно хорошо. Ну, разве лишь, некоторый зуд на 100Гц — что-то вроде помехи от источника передатчика. Почему от передатчика, а не мой локальный приемник? Да потому что в моменты паузы этого зуда нет.
Ниже — временная зависимость сигнала и его сонограмма.




Виден четкий переход от эфирного шума к несущей и обратно. Помеху 100Гц убрать не сложно.

2. air4.wav — вот здесь все гораздо хуже… Где-то виден переход от шума к голосу, а где-то нет. Например:




Вот это то мы будем пытаться фильтровать, усиливать улучшать и т.п., добиваясь чего-либо такого:

Здесь вверху нарисовано как должен выглядеть фильтрованный сигнал, а внизу исходный. (внизу архив — out1.zip). Забегая вперед отмечу, что это фильтровано одной из ранних версий моего шумодава на компе. Но это я очень сильно вперед забежал :)

Вообще говоря, это так уж, наверное и не надо. Так уж слишком хорошо. Шумы можно так сильно (на картинке -10дБ) и не давить, а вот адекватный, регулируемый голосовой детектор нам бы не помешал…

5. Как, что и из чего мы будем делать наш шумодав.

Порыскав по просторам интернета, я обнаружил, что всего несколько компаний делает подобные вещи. Естественно, даже речи не может идти о том чтобы у них как-либо получить подобные технологии.
В бесплатном сегменте тоже ничего разумного не нашел. Что ж, будем думать сами.

Итак, наш шумодав будет состоять из двух частей — аппаратной и программной. Мы хотим, чтобы первая была «минимальна» — в смысле как можно меньше паять и удовлетворяла требованиям выше, а вторая должна просто влезать в эту аппаратную :)

Выбор аппаратной платформы.

Спектр звука в рации занимает диапазон от 300 до 3000Гц. Поэтому, нам вполне хватит частоты дискретизации 8кГц. На том и порешим. Пока…

Считается, что для нормальных записи/воспроизведения звука нужно иметь аудио кодек бит эдак 16. Однако задумаемся. 16 бит это 96дБ динамического диапазона. Нужно ли нам столько? Ну хорошо, stm32f3xx некоторые имеют 16и битное АЦП, однако у него нет такого же ЦАПа. У него есть 12и битный ЦАП. Может нам хватит 12и бит и ЦАПа и АЦП?
12 бит это 72дБ динамического диапазона. Даже самые лучшие кассетные магнитофоны не имели столько!!!
GSM использует 13 бит и мы все хорошо слышим.
Китайские говорящие игрушки… Интересно, сколько? 1 бит? 2 бита? И ведь слышно же!

Итак, останавливаемся на том, что 12 бит для голоса вполне достаточно.
Какой проц будем использовать? Как я говорил у меня на столе их 5. Ну stm32L151 не для этого. Primer 1 тоже не то. RF Control Kit вообще для других целей. Остаются f3 и f4.
STM32F3xxx хороший проц, много периферии на борту, быстрый и т.п., но STM32F4XXX быстрее. Чем? Чем STM32F3xxx. Поэтому тренироваться будем на нем и, потом, если хватит ресурсов и не разыграются аппетиты, то спустимся до f3. Хотя, если у нас 12 бит и мы хотим выиграть еще 2 бита, то потребуется передискретизация в 16 раз, а это сразу 128кГц такта, а если еще и 3ая ПЧ 32 кГц, то… Чего-то это я сильно вперед забежал.
Кстати, чтобы избежать алиасинга на входе (ибо АЦП не есть кодеки) все-равно придется вход цифровать на большей частоте, нежели 8кГц.

АЦП имеет опорное напряжение 3 примерно вольта, значит 300мВ макс. амплитуды на выходе детектора нам надо усилить раз эдак в 5. Не проблема — rail-to-rail операционник с фильтрами НЧ на входе и выходе вполне решит задачу. ЦАП имеет такой же размах. Значит на выходе надо поставить делитель. ВСЕ!
Нет, не все. Еще стабилизатор напряжения, кварц, пару-тройку подстроечных резисторов, задающих некоторые параметры шумодава и SQL детектора, пару светодиодов для красоты, обвязка операционника, блокирующие кондеры и т.п. и вот теперь все!

P.S. почему-то не прикрепляются файлы…
  • +5
  • 21 декабря 2012, 17:11
  • diwil

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

RSS свернуть / развернуть
Отлично! Жду продолжения.
Этим летом покатался с подаренной (выброшенной мне) старенькой рацией. На трассах хорошо, в городе штатный шумодав, пороговый, вообще бесполезен. Задумываюсь о смене станции к следующему сезону.
0
  • avatar
  • ACE
  • 21 декабря 2012, 20:16
А вообще имеет смысл с рацией ездить? Я, например, далеко выезжаю раз 10 максимум в год в среднем километров за 200. В городе живу небольшом, там рация без надобности. Меня смущает, что нужно магнитную бандуру на крыше возить, как-то ввод для антенны придумывать, и не будет ли вопросов у ГИББДунов.
0
Может для Вас и не имеет смысла, а для тех, кто много ездит по трассам, очень даже имеет. Дальнобойщики предупреждают друг друга о мусорах, авариях и прочих жопах. Можно позвать на помощь, если кто-то рядом — может откликнуться. Да и в городе можно послушать таксистов и маршрутчиков на предмет где мусора притаились. Штука полезная, для тех кто постоянно за рулем.
0
и не будет ли вопросов у ГИББДунов
Нет, они тут вообще не причем. Си-би рациями можно пользоваться всем без всяких разрешений.
0
Отличное начало. Рация вешь очень полезная в дороге. Сам на легковой, но рация есть — поэтому с фурами проблем нет. Шумодав конечно помогает — так как штурман сидит и слушает (и ручки крутит если сильно громко или тихо) — еще бы если замутить через неё передавать какой-нибудь цифровой сигнал на дружественные машины — классно было бы
0
  • avatar
  • x893
  • 22 декабря 2012, 00:41
для этого есть протокол ах25 и пакетные модемы
или aprsdroid
0
ТС представляет уровень мат аппарата под затею? БПФ + кореляция + ОБПФ… Сильно сомневаюсь что стм в реал тайм осилит подобное
0
У F4 числомолотилка ядрёная.
200 млн FLOPS в секунду, этого хватит с запасом, умножение+сложение за 1 такт…
0
Представляет. Осилит четыре канала и еще чтонидь:-)
0
По сути дела нам нужен автономный детектор голосовой активности. Нам даже не нужно давить собственно шум. Нам надо только открыть динамик при наличии голоса.
Эм, а чем оно тогда от ASQ отличается, которая, как я понял, уже есть?

Алсо, картинка со спектром шума наехала на картинки радиостанции и закрыла их. Убери Align'ы и раздели картинки переводами строки.
0
  • avatar
  • Vga
  • 22 декабря 2012, 02:01
ASQ штатные оч плохо работает.
0
Есть же вроде шумоподавляющте фильтры, которые в смеси шума и голоса шум частично подавляют. Почему бы что-то такое не сделать?
0
Можете попробовать сделать так=) ТС выбрал свой путь!
0
Моя рация — это Voxtel MR160 диапазона LPD) Не вижу смысла что-либо там дорабатывать (тем паче меня оно вполне устраивает как есть, для «первый, первый, я второй, в картошку масло не клади, конец связи» ее вполне достаточно) :)
А вот выбор ТС и его причины — это чуть интереснее.
0
Обычный детектор шума, по спектральной плотности + компаратор и не нужно ничего придумывать. Тем более, что всё упаковано в микросхемы.
0
Придумано. Упаковано. Меня не устраивает.
0
Чем же?
правильно ли я понимаю, что цель Вашей работы скорее экспериментаторская, чем производственная?
0
Посмотрим, что получится дальше. На столе вроде все работает. Мож кого и заинтересует...:-)
0
Не устраивает тем, что не открывается когда надо и открывается когда не надо. Я потом допишу в чем разница си би на трассе и PMR LPD в лесу с друзьями
0
Я потом допишу в чем разница си би на трассе и PMR LPD в лесу с друзьями
Не забудь при этом апнуть топик комментом в стиде «обновлено».
P.S. почему-то не прикрепляются файлы…
Неоднократно слышу такие жалобы. Это из-за несовместимости с браузером вроде. Попробуй другой.
0
Спектр звука в рации занимает диапазон от 300 до 3000Гц
А меня, в свое время, зомбировали цифрами 0,3-3,4 кГц
0
А в чём разница то? В верхних 400Гц?
0
Ооочень интересно. Спасибо.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.