Специальные радиосистемы
Логин  Пароль   Регистрация   
На главную
наш магазин радио
объявления
радиорейтинг
радиостанции
радиоприемники
диапазоны частот
таблица частот
аэродромы
статьи
файлы
форум
поиск
Радиостанции Аргут в нашем магазине
Запись, запись и еще раз запись.
Некоторые проблемы качества записей.
Начало » Цифровая обработка сигналов
Разместил: SergUA6 6.0
Авторские права © http://www.radioscanner.ru
Прикрепленные файлы 1. файл zip Файл-приложение к статье (677.6 Kb)
2. файл zip Файл-приложение к статье (598.9 Kb)


Запись, запись и еще раз запись.

Поговорим о записях. О тех проблемах и нюансах с которыми приходится сталкиваться регулярно, о тех возможностях которые заложены в SA последних версий.

Собственный загрузчик в SA появился не просто так, одной из причин его разработки стало, с одной стороны, достаточно широкое распространение формата I/Q, и с другой, как ни странно, относительно низкое качество записей в этом формате.

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

Несколько I/Q записей с ресурса http://www.iw3aut.altervista.org/files/samples/index.php

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



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

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



Динамический дипазон таких "сигналов" чрезвычайно низкий, спектрально такие записи выглядят очень плоско и безжизненно, я их называю "мертвыми" записями, фоновый уровень шума, обусловленный грубой дискретизацией по уровню, очень высок. Для анализа такие записи представляют крайне сомнительный(честно говоря вообще никакого) интерес, несмотря на то, что это I/Q формат который должен обеспечивать наивысшее качество.

Эта проблема очень характерна для SDR приемников, мы с ней столкнулись около 4-х лет назад, однако попытки обратить внимание на чудовищное качество поставляемого материала для анализа, особого понимания не нашли, по крайней мере поток неликвидного материала ничуть не уменьшился.

Достаточно любопытно наблюдать все это сегодня, когда качество SDR приемников неуклонно растет, разрядность АЦП повышается, а проблема как была так и существует и никуда исчезать не собирается. :)

Может показаться, что в основе проблемы недостаточное усиление в трактах обработки сигнала SDR приемников. На самом деле это не совсем так. В ЦОС(DSP) все увязано в единое целое, ничто не берется из ниоткуда, и ничто не исчезает в никуда. Если основной АЦП имеет разрядность в 16 бит, то эти 16 бит распределяются по всей полосе оцифровки, и если эта полоса, например 40 мГц, то на один разряд приходится ~600-620 Гц. Это значит, если после такого АЦП вы попытаетесь выделить из 40 мГц, полосу к примеру в 10 кГц, то никогда там не будет полноценных 16 бит, а будет всего лишь примерно 20-40 разрядов/уровней. На самом деле это достаточно грубый и прямолинейный пример, но в целом это соответствует действительности, хотя и является всего лишь одной из проблем связанных с разрядностью АЦП используемых в современных SDR приемниках. Эта проблема достаточно легко маскируется различными обеляющими фильтрами, переходом на более высокую разрядность или на арифметику с плавающей точкой после АЦП, но это не меняет реального положения вещей, и вынуждает разработчиков решать непростые вопросы, сузить основную полосу оцифровки до приемлимых величин, использовать более мощные и более дорогие АЦП с разрядностью в 24, 32 бита и выше, или просто закрыть глаза на проблему замаскировав её.

Сегодня представлено достаточно много SDR приемников имеющих на борту весьма мощные АЦП, и обеспечивающих выход сигнала в 24-х или 32-х битном формате. Мы не будем рассматривать аспекты, насколько "честные" эти 24 или 32 бита, в какой полосе обработки эти биты используются и т.д., предполагаем, что все честно. Казалось бы в такой ситуации, качество записей должно быть на высоте по умолчанию, однако это далеко не всегда так.

Динамический диапазон 16 битных записей примерно 96 дБ, 24-х битных около 145 дБ, 32-х битных порядка 193 дБ. Если рассматривать реально существующие форматы которые широко используются для записей, то для 32-х битных чисел с плавающей точкой это за 700 дБ, а для 64 битных за 7000-8000 дБ. Это фантастические величины динамического диапазона, отобразить которые в реальности на спектре не возможно, вы просто не увидите разницы между 650 и 680 дБ, в противном случае спектр будет напоминать мелко нарубленный хаотический цветной салат, разобраться в котором будет очень не просто, да и вряд ли возможно, уже на 16 битах, качественное отображение полного динамического диапазона является определенной проблемой, не говоря уже о том, что воспроизвести те же 140-145 дБ для 24-х битных записей, весьма и весьма непросто.

Плавно подходим к проблеме. Большой динамический диапазон хоть и гарантирует должное качество, но не гарантирует автоматическое решение всех проблем, умение использовать всю потенциальную мощь заложенную в оборудование остается за человеком, однако далеко не все это понимают, и хуже всего, абсолютно не желают вообще разобраться в этих вещах, что несколько удивительно.

Типичный, даже классический пример. Запись 24-х битная, что должно обеспечить динамический диапазон в 140-145 дБ.



Хорошо видно, что случайная, импульсная помеха, полностью сводит на нет все преимущества 24-х битного формата, так как в этой записи на основной сигнал пришлось около 5000-7000(!) разрядов, из примерно 16700000 возможных. Львиная доля динамического диапазона потрачена на безупречное представление, случайного, одиночного мощного импульса, в ущерб основным данным. А учитывая, что в этой записи общая полоса 96 кГц, а сам сигнал требующий анализа занимает 3 кГц, то в итоге шансы получить картину приведенную ранее очень и очень велики.

Эта проблема усугубляется еще и тем, что очень часто, по различным причинам, требуются именно 16 битные записи, и в этом случае прямая конвертация оказывает очень плохую услугу. Обычно используют для этих целей какие либо звуковые редакторы. Загружают файл как 24-х или 32-х битный и сохраняют как 16-ти. При таком подходе, запись перед сохранением масштабируется, и любая программа честно старается провести это масштабирование так, что бы обеспечить маскимальную точность от оригинала. В этом случае, даже если оригинал обеспечивает достаточное качество для анализа, например в предыдущем примере на основной сигнал отдать 100000-300000 разрядов, а на импульс те же 12000000-16000000 то после масштабирования будет, на импульс примерно 65000 разрядов, а на основной сигнал около 1200-1500. То есть в итоге получается тоже самое, максимальная детализация случайной помехи, и грубая детализация собственно того, что нужно.

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



Должен сказать, что эта возможность в SA и введена именно для записей 24-х и 32-х битных форматов, включая и формат с плавающей точкой, так как 8-ми и 16-ти битные данные обычно уже приводятся к нужному масштабу заранее, и если уровень таких записей очень мал изначально, то ни какое масштабирование и усиление не изменят ситуацию в лучшую сторону.

16-ть бит в подавляющем большинстве случае более чем достаточная величина дискретизации по уровню, если соблюдать простое правило, сигнал должен по возможности максимально полно использовать весь динамический диапазон, и чем раньше это происходит тем лучше. Максимально полно, совсем не означает от максимума до минимума, вполне разумная величина до 70%-80% полного диапазона, небольшой запас всегда нужно оставлять, врочем это касается не только 16-ти бит, а любого другого формата так же.

Обычно проблемы с 16-ти битной дискретизацей возникают, когда в запись вгоняют полосы за десятки и сотни мГц, в надежде потом вырезать нужные сегменты в десятки кГц. Это ошибка. Что касается SA, то мы сразу говорим, SA конечно универсальный анализатор, и позволяет сделать очень многое с записью, но это не off-line приемник, и возлагать на SA эти функции по меньшей мере не рекомендуется. SA прекрасно справится с 50 мГц и выше, если сам сигнал имеет полосу порядка в 10-20 мГц, но мы не можем ничего гарантировать если кто-то намерен из 50 мГц вырезать и анализировать сигналы в 5-10 или 100 кГц. Все это можно и нужно делать на этапе приема сигнала, то есть в RX, собственно это одна из основных задач приемника, которую почему-то зачастую стремятся переместить на анализаторы.

На самом деле эти проблемы не такая большая тайна, и тем более удивительно, что мало кто вообще смотрит и понимает, что именно в записи есть. Огромный процент полного неликвида гуляет по сети, кочует с одного сайта на другой, я с некоторым удивлением обнаруживаю "новые" ресурсы, где якобы лежат "примеры" и "образцы" различных сигналов, причем эти "образцы" мы видели еще 5-6 лет назад, на совершенно других ресурсах, под совершенно аналогичным "соусом", и которые ни когда, ни примерами, ни образцами, не были и не будут.

Удачи.

Комментарии к статье
Автор Комментарий
YuriVR
Участник
5.0
25 Июл 2010 08:47 · Поправил: 25 Июл 2010 10:53


Может показаться, что в основе проблемы недостаточное усиление в трактах обработки сигнала SDR приемников. На самом деле это не совсем так. В ЦОС(DSP) все увязано в единое целое, ничто не берется из ниоткуда, и ничто не исчезает в никуда. Если основной АЦП имеет разрядность в 16 бит, то эти 16 бит распределяются по всей полосе оцифровки, и если эта полоса, например 40 мГц, то на один разряд приходится ~600-620 Гц. Это значит, если после такого АЦП вы попытаетесь выделить из 40 мГц, полосу к примеру в 10 кГц, то никогда там не будет полноценных 16 бит, а будет всего лишь примерно 20-40 разрядов/уровней. На самом деле это достаточно грубый и прямолинейный пример, но в целом это соответствует действительности, хотя и является всего лишь одной из проблем связанных с разрядностью АЦП используемых в современных SDR приемниках. Эта проблема достаточно легко маскируется различными обеляющими фильтрами, переходом на более высокую разрядность или на арифметику с плавающей точкой после АЦП, но это не меняет реального положения вещей, и вынуждает разработчиков решать непростые вопросы, сузить основную полосу оцифровки до приемлимых величин, использовать более мощные и более дорогие АЦП с разрядностью в 24, 32 бита и выше, или просто закрыть глаза на проблему замаскировав её.

хотя Вы и модератор, но вводить людей в заблуждение не следует
для начала всем интересующимся советовал бы почитать хотя бы это
http://www.radioscanner.ru/files/download/file10740/dsp4d.rar
– лекции по основам ЦОС для американских студентов на русском (от Analog Devices), написано очень понятно, хорошо доходит до студентов, проверено на десятках людей
также советую погуглить по ключу "передискретизация" или "oversampling"

теперь остановимся на процитированной крамольной фразе
пусть у нас имеется АЦП с номинальной разрядностью 16 бит и максимальной частотой дискретизации 100 МГц
пусть эффективная разрядность у него будет 14 бит
пусть нам необходимо оцифровать сигнал на ПЧ 70 МГц с полезной полосой 10 кГц
пусть этот сигнал на ПЧ выделен идеальным фильтром с бесконечным ослабление в полосе задерживания, и ширина этой полосы тоже 10 кГц (для простоты счета)
теперь подумаем, что выгоднее с точки зрения минимизации шумов квантования – установить частоту дискретизации равной 100 МГц или ограничиться Котельниковым и установить ее равной 20 кГц

если установить частоту дискретизации равной 100 МГц, то шумы квантования "размажутся" по полосе 50 МГц, соответственно, на полосу 10 кГц придется лишь одна пятитысячная часть энергии шумов (50 МГц / 10 кГц), т.е. если мы корректно произведем понижение частоты дискретизации с фильтрацией, и доведем частоту дискретизации до тех же 20 кГц, то шумов АЦП в этой полосе будет столько же, сколько при использовании АЦП с частотой дискретизации 20 кГц и эффективной разрядностью 14+6=20 бит (выигрыш по мощности в 5000 раз – это 37 дБ, т.е. 6 с небольшим разрядов)
если установить частоту дискретизации равной 20 кГц, то все шумы АЦП окажутся в полосе 10 кГц

согласен, что при оцифровке сигналов в широкой полосе есть проблемы, но объяснили Вы их не совсем корректно

может, Вы хотели сказать, что при оцифровке широкой полосы уровень группового сигнала будет возрастать, соответственно, уровень полезного сигнала снижаться относительно полной шкалы АЦП
но как я показал выше, если уровень полезного сигнала будет соизмерим с уровнем помех, то падение уровня сигнала компенсируется падением шумов квантования, приходящихся на единицу полосы (за счет передискретизации)

если уж рассуждать более профессионально, то при сравнении приемников прямого усиления с супергетеродинами мы должны учитывать шумы гетеродина
вывод профессионалов – на сегодняшний день для РПУ с полосой приема порядка единиц мегагерц и более приемник прямого усиления обеспечивает лучшие параметры, чем супергетеродин
для приема сигналов с полосой порядка килогерц и десятков килогерц супергетеродин может обеспечить выигрыш при использовании современных синтезаторов частот с уровнем шумов порядка минус 170 дБ (к сигналу) на корень из Герца

если действительно интересует построение профессиональных РПУ, то советую поискать статьи Хазан Г.К. (Галина Кузьминична), чтобы проще искать – дополнительное ключевое слово "ОНИИП" (Омский НИИ Приборостроения)
Likx
Участник
2.2
30 Окт 2010 01:14


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

1.Предположим исходная полоса 1МГц, в ней 1 сигнал полосой 10кГц отношением сигнал/шум в полосе сигнала 10дБ. Цифруем сигнал с частотой 2МГц, 16 бит при раскачке всей входной смеси на полную шкалу АЦП.

2.Далее увеличиваем дискретизацию до 4МГц и 16 бит без изменения исходной полосы (1 МГц). В этом случае шумы квантования в полосе полезного сигнала (10кГц) уменшаться на 3дБ.

3.Далее в исходную полосу (1 МГц) при сохранении частоты дискретизации 4 МГц добавляем еще один сигнал полосой 10кГц, но другой частоты. В этом случае сохраняя раскачку смеси на полную шкалу уровень сигналов должен быть меньше, чем если бы был только один сигнал. Тогда вынужденное уменьшение уровня сигнала будет компенсировано снижением уровня шума за счет его растекания в большей полосе.

Получается, что 3 случай по сигнал/шум будет соответствовать 1 случаю (?).

4. Теперь ситуацию немного изменим. Исходная полоса теперь 2 МГц, частота дискретизации 4 МГц, 16 бит. В первом 1 МГц сигнал полосой 10кГц отношением сигнал/шум в полосе сигнала 10дБ, а во 2м мегагерце 20 сигналов полосой по 10кГц и отношением сигнал/шум
в полосе для каждого сигнала те же 10дБ.
Тогда получается, с одной стороны за счет перехода от 2 МГц дискретизации к 4 МГц шум квантования уменьшается на 3дБ, но так как реально увеличилась (без нарушения Котельникова) и общая входная полоса (с 1 до 2 МГц), а с увеличением полосы добавились еще 20 сигналов, то поддерживая раскачку смеси на всю шкалу АЦП уровни всех сигналов должны быть меньше на 13дБ (10*log10(21)).
Получается потеря в сигнал/шум в 10дБ (13-3).

Т.е. получается, что не всегда так, что падение уровня сигнала (за счет расширения полосы) будет компенсироваться падением шумов квантования?
Добавлять комментарии могут только зарегистрированные, активировавшие регистрацию и не ограниченные в доступе участники сайта!
Файл создан: 16 Мар 2010 13:22, посл. исправление: 17 Мар 2010 03:04
© radioscanner.ru, miniBB® 2006 | загрузка: с.