Автор |
Сообщение |
|
Дата: 24 Фев 2010 14:30:55 · Поправил: AKT (24 Фев 2010 14:33:01)
#
чудес не будет, на 16 бит теоретических 96.3 dB
Если при 16-ти битной оцифровке делать многократную выборку за один период сэмплирования, то вполне возможно математически повысить эквивалентную разрядность.
Как Вам это?... http://rx3akt.narod.ru/dig_rx.htm |
|
Дата: 08 Мар 2010 23:54:53 · Поправил: sea2000 (09 Мар 2010 00:12:47)
#
Чтоб не плодить темы спрошу здесь и вопрос мой будет скорее всего к Mesh и топикстартеру.
Каким ПО вы пользуетесь при работе с файлами формата к примеру - WAV/1ch/16bit/80mHz size>1Gb? Есть что нибудь в природе типа SV для таких записей? Или иначе - можно ли адаптировать SV для обработки таких данных? (с учетом использования multi-core процессоров)
|
Реклама Google
|
|
|
Дата: 09 Мар 2010 00:46:22
#
sea2000
Не было таких файлов пока. SV вообще не поддерживается уже года 2 как минимум, и мы не планируем развивать эту версию в дальнейшем. SA переводить на такие объемы данных, тоже пока не планируем и вряд ли это возможно на текущем движке, гораздо более прозаичных проблем достаточно. Теоретически можно сделать все, но боюсь что если кто и сделает, это будем не мы, то есть не наша команда. :) Что есть на практике не в курсе.
|
|
Дата: 09 Мар 2010 01:05:39
#
SergUA6
Сорри, имел в виду SA, но не суть. Есть вот такая задача. Есть файлы в формате wav в которых записан спектр полосой в 40мгц (10бит*90мгц). Мне нужно из этого спектра вырезать кусочек вдоль и поперек.. :-) короче все как в SA только файлы большие. Вот в чем затык. Демка SA при попытке открыть такой файлик вываливается в нирвану, а SV виснит тарахтя винчестером. Как быть?
|
|
Дата: 09 Мар 2010 01:30:33
#
sea2000
Вообще SA free и SV это одно и тоже, различия очень мелкие и непринципальные, обе эти версии мертвые и очень сильно устаревшие. Вдоль SA вырежет это не проблема, 80 мГц тактовой роли особой не играют, но из 157-ми мегабайтного фрагмента. Как вырезать этот фрагмент из гигабайтного файла я пока не вижу подходящих решений. 10 бит на 40 мГц? Если вырезать нужно 3-х или 10-ти килогерцовую полосу, там ничего не останется от 10 бит, у нас как раз на эту тему статья готовится. Какой выход можно придумать с большими файлами? Просто нарезать файл в наглую на фрагменты по 100-150 мегабайт, с выравниванием по отсчету конечно, и загружать и просматривать каждый отдельно.
|
|
Дата: 09 Мар 2010 01:39:48
#
SergUA6
Жаль что не выйдет. И еще, Если вырезать нужно 3-х или 10-ти килогерцовую полосу, там ничего не останется от 10 бит - как это может отразиться на динамике? (правда мне и нет нужды так узко резать, требуется минимум 150кгц). С интересом почитаю вашу статью - заинтригован.. :-)
|
|
Дата: 09 Мар 2010 02:03:37
#
sea2000
На динамике это и отразится, в худшую сторону. У Вас 2^10, то есть всего 1024 уровня градаций сигнала в полосе 40 мГц. Грубо получается для белого шума 40 кГц на разряд. Для полосы в 150 кГц получается всего 4-5 разрядов, даже не бит!, в самых радужных приближениях. Это конечно грубо, и если весь сигнал в этих 150 кГц, то все 1024 разряда достанутся ему, но сомневаюсь я в таком чудесном исходе. :) Хорошо если в действительности Уровней 10-20 сигналу достанется в такой полосе, и это уже будет удачей. Статья вообще-то не про это, но этот вопрос планируем затронуть, так как он напрямую связан с качеством записей.
|
|
Дата: 10 Мар 2010 10:46:22
#
sea2000
В принципе, можно обеспечить условную навигацию, крупными сегментами по 50-100 мегабайт на этапе предварительного просмотра при загрузке. Но должен сразу сказать, что по форме сигнала, да еще в крупномасштабном виде, очень трудно определить, что именно в фрагмент попадает, есть там нужная часть или нет. Так как форма сигнала в общем случае малоинформативна сама по себе. Но если это хотя бы частично решает проблему в какой-то мере, то почему бы и не сделать. В общем, в планы включаем как одну из текущих задач.
|
|
Дата: 11 Мар 2010 20:34:00
#
SergUA6
А если нужный фрагмент будет больше 157мбайт? Можно будет его в новой (платной) версии вырезать? (офф конечно, нужно было изначально в тему про SA постить, короче проехали :-)
И еще что хотел спросить. В вашем софте заметил при операции с данными очень бережное отношение к фазе. Ваш движок на FFT построен? (если не секрет конечно) Если на нем, тогда понятно почему мои 10бит рассыпались в узкой полосе. Или я все же ошибаюсь в корне?
|
|
Дата: 11 Мар 2010 22:26:08
#
sea2000
Размер в 157 мегабайт выбран из практических соображений, на бОльших размерах работа программы вызывает раздражение своей медлительностью и неудобством. Конечно мы в поисках решения проблем оптимизации и повышения быстродействия ядра, но прорыва в этом направлении пока не ожидается. Скорее всего получится повысить время обработки некоторых операций раза в два-три, но это не те решения которые позволяют комфортно работать с данными за сотни мегабайт.
Вообще относительно таких размеров. Довольно часто нам присылают файлы за 100 и более мегабайт. У меня большие вопросы как их получили, и что мешает на этапе записи вырезать нужный фрагмент как по времни так и по частоте? Обычно, нужные для анализа данные занимают максимум одну десятую общего объема таких файлов. Стандартно практикуется совершенно избыточная частота дискретизации и как следствие совершенно избыточная общая полоса записи.
Нельзя рассматривать SA как off-line приемник, в рамках универсального анализатора конечно есть возможность делать очень много вещей с записями, но вырезание сегментов из гигабайтных файлов это не основная задача.
Мы включили в планы реализацию быстрого просмотра больших файлов с возможностью загрузки нужного фрагмента, боюсь что пока большего обещать вряд ли можем, и то, еще предстоит выяснить насколько это вообще реализуемо, пока есть сама идея, как ее решить красиво, возможно ли это, и во что выльется, уже покажет время.
Относительно бережного отношения к фазе, да как-то с самого начала было решено, что ничего лишнего по возможности, в сигнал анализатор привносить не должен, и мы стараемся этой линии придерживаться, иногда правда это невозможно или требует уж слишком серьезных жертв в производительности.
Основной движок конечно на базе FFT. Но распыление бит с этим не связано. Это стандарная проблема, в DSP все увязано в единое целое, и нет шансов получить качественно полосу в 150 кГц из полосы в 40 мГц при 10 битном целочисленном передставлении, потеря в динамике гарантированна, другой вопрос насколько это действительно важно и нужно. В общем случае, я считаю это неприемлимым, но для каких-то конкретных сигналов это вполне может быть и нормальным решением. Все зависит от задачи.
|
|
Дата: 24 Июл 2010 19:37:31
#
SergUA6 Основной движок конечно на базе FFT. Но распыление бит с этим не связано. Это стандарная проблема, в DSP все увязано в единое целое, и нет шансов получить качественно полосу в 150 кГц из полосы в 40 мГц при 10 битном целочисленном передставлении, потеря в динамике гарантированна, другой вопрос насколько это действительно важно и нужно. В общем случае, я считаю это неприемлимым, но для каких-то конкретных сигналов это вполне может быть и нормальным решением. Все зависит от задачи.
можно уточнить, что имеется в виду под этим:
– при фильтрации сигнала с понижением частоты дискретизации необходимо увеличивать разрядность, чтобы не потерять информацию о сигнале
– свой вариант
если первый вариант, то вопросов нет, на уровне методички по основам ЦОС
если второй, то интересно
|
|
Дата: 24 Июл 2010 21:19:11
#
На динамике это и отразится, в худшую сторону. У Вас 2^10, то есть всего 1024 уровня градаций сигнала в полосе 40 мГц. Грубо получается для белого шума 40 кГц на разряд. Для полосы в 150 кГц получается всего 4-5 разрядов, даже не бит!, в самых радужных приближениях. Это конечно грубо, и если весь сигнал в этих 150 кГц, то все 1024 разряда достанутся ему, но сомневаюсь я в таком чудесном исходе. :) Хорошо если в действительности Уровней 10-20 сигналу достанется в такой полосе, и это уже будет удачей. Статья вообще-то не про это, но этот вопрос планируем затронуть, так как он напрямую связан с качеством записей.
Основной движок конечно на базе FFT. Но распыление бит с этим не связано. Это стандарная проблема, в DSP все увязано в единое целое, и нет шансов получить качественно полосу в 150 кГц из полосы в 40 мГц при 10 битном целочисленном передставлении, потеря в динамике гарантированна, другой вопрос насколько это действительно важно и нужно. В общем случае, я считаю это неприемлимым, но для каких-то конкретных сигналов это вполне может быть и нормальным решением. Все зависит от задачи.
SergUA6
Вы тут дико заблуждаетесь.... у меня на столе лежит приемник с ADC 16 bit 130MIPS (теоретический BDR =, 96dB) после фильтрации с передискретизацией полосы в 192 кГц, измеренный BDR = 125 dB. И то он ограничен возможностями ADC.
Для примера можете взять аудио Sigma-Delta ADC... они по сути вообще однобитные, но после передискретизации на выходе имеем 24bita и BDR=144dB.
Конечно, если тупо выделить полосу, отфильтровать и остальное выкинуть, то потери будут неизбежны....
|
|
Дата: 24 Июл 2010 21:38:01
#
sergo2007
Вообще я бы и не отвечал на этот вопрос, так как он адресован не мне, имеется ввиду пост sea2000. Но упоминается SV, и SA, счел возможным описать проблемы которые обязательно возникнут при попытках вырезать из 40 мГц записи, сегменты в 10-50-100 кГц в SA.
|
|
Дата: 24 Июл 2010 23:16:21
#
SergUA6
Ну так эти проблеммы возникают только при использовании SA... но в вашей статье, упоминаются проблеммы SDR примников.... и в этой статье Запись, запись и еще раз запись. вы утверждаете что
Если основной АЦП имеет разрядность в 16 бит, то эти 16 бит распределяются по всей полосе оцифровки, и если эта полоса, например 40 мГц, то на один разряд приходится ~600-620 Гц. Это значит, если после такого АЦП вы попытаетесь выделить из 40 мГц, полосу к примеру в 10 кГц, то никогда там не будет полноценных 16 бит, а будет всего лишь примерно 20-40 разрядов/уровней. На самом деле это достаточно грубый и прямолинейный пример, но в целом это соответствует действительности, хотя и является всего лишь одной из проблем связанных с разрядностью АЦП используемых в современных SDR приемниках
Это не верно в корне, при грамотном подходе к фильтрации. |
|
Дата: 25 Июл 2010 00:09:34
#
sergo2007
Стараюсь, по возможности, воздерживаться от участий в дискуссиях. Это отнимает слишком много времени и сил. С Вашего позволения, воздержусь от продолжения и в этой теме. Поймите правильно, достаточно много более актуальных для меня проблем, нежели проблемы SDR приемников связанные с недостаточной глубиной оцифровки широкополосных ADC. Если статья в корне неверная, есть возможность написать другую, более верную. Любая здоровая, аргументированная активность в разделе анализа сигналов и DSP, только приветствуется.
|
|
Дата: 25 Июл 2010 09:59:46 · Поправил: Mesh (25 Июл 2010 10:05:23)
#
sergo2007 Прикольно, неужели в самом деле, нет проблемы выделениия узкополосок из оцифровок с явно недостаточным ДД для этих целей? :-) Ну, дык есть на форуме сигналик где можно всё показать как это делается. Тема Работа с фазовыми сигналами - Страница 2 и запись полосой где-то 35 мегагерц
Увеличить
ГСМ имеет с/ш где-то примерно 7-10 дб. Запись 16 бит. Я как понял, нет проблем вырезать эту ГСМ, уровень которй будет ессно детским, и при грамотном подходе к фильтрации довести его до полного ДД 16 бит с сохраннением текущзего с/ш? При том что полоса ГСМ за 200 и вырезать нужно где-то 300. Имхо, вы уроните с/ш раза в два, елси не больше. А при полосках в 10 или 30 килогерц вырезать красиво эти 10 или 30 и довести до полных 16 бит без ощутимых потерь анриал. Имхо конечно, но тем и интересней посмотреть на резалты. |
|
Дата: 25 Июл 2010 10:55:16
#
|
|
Дата: 25 Июл 2010 11:04:21 · Поправил: Mesh (25 Июл 2010 11:19:49)
#
YuriVR Да если б я статью писал, я б с удовольстивем подискутпровал. Я привёл пример, покажите как это всё рвботет, на записях. Производя передискретизацию бы банальлно сужаете полосу дигитирования. :-) Против кто? И к стати, по моему в статье так и сказано, чем раньше весь ДД уйдёт в нужное место тем лучше всем.
|
|
Дата: 25 Июл 2010 11:26:39
#
Mesh YuriVR Да если б я статью писал, я б с удовольстивем подискутпровал. Я привёл пример, покажите как это всё рвботет, на записях. Производя передискретизацию бы банальлно сужаете полосу дигитирования. :-) Против кто?
я не совсем понял, что вызывает сомнение, и что нужно показать (по поводу примера с GSM), поэтому сформулирую условия эксперимента в понятной мне форме:
имеется АЦП с частотой дискретизации 100 кГц и эффективной разрядностью 16 бит
производится оцифровка сигнала с шириной спектра 10 Гц на ПЧ 25 кГц, при этом уровень сигнала – 1 ЕМР
необходимо показать, что при фильтрации и понижении частоты дискретизации ОСШ в полосе 10 Гц не ухудшится сколь либо существенно (допустим, более чем на 1 дБ)
такая задача?
|
|
Дата: 25 Июл 2010 11:38:39 · Поправил: Mesh (25 Июл 2010 11:40:31)
#
YuriVR Что-то теперь я не понимаю. В чём проблема? В оцифровывании узкополосных сигналов или в выкоыривании узкополосок из широких уже дигитизированых отсчётов? Имхо, моё сугубое имхо, статья про второе. Что-то очередная какая-то шерсть и рыбу напоминает. Кто вообще заикался что невозможно оцифровать узкополосный сигнал с номальным ДД? Пример приведённый вами искуственный, и пардон даже с заголовком статьи не вяжется. Цитирую, "все не так, это полное заблуждение, это SA так фильтрует, если подойти грамотно к фильтрации, то". Вот и хочу увидеть это то. Всё.
|
|
Дата: 25 Июл 2010 11:43:20
#
Mesh YuriVR Что-то теперь я не понимаю. В чём проблема? В оцифровывании узкополосных сигналов или в выкоыривании узкополосок из широких уже дигитизированых отсчётов? Имхо, моё сугубое имхо, статья про второе. Что-то очередная какая-то шерсть и рыбу напоминает. Кто вообще заикался что невозможно оцифровать узкополосный сигнал с номальным ДД? Пример приведённый вами искуственный, и пардон даже с заголовком статьи не вяжется. Цитирую, "все не так, это полное заблуждение, это SA так фильтрует, если подойти грамотно к фильтрации, то". Вот и хочу увидеть это то. Всё.
уточняю, в моем примере оцифровываться будет полоса от 0 до 50 кГц, что в остальной части полосы – не важно, главное условие – полезный сигнал находится вокруг частоты 25 кГц и его уровень – 1 ЕМР
|
|
Дата: 25 Июл 2010 11:52:04 · Поправил: Mesh (25 Июл 2010 12:14:27)
#
YuriVR Ну не лукавте пожалуйста, у вас братся будет 50 кгц, а реальлно оцифровываться будет то что нужно, с каким-то там запасом. Да и нелюблю я вот эту говорильно, есть сигнал, запись, задача обозначена, сделайте это. Зачем уточнять что имеется в виду? Всё написано. Мне просто сказать будет нечего, кроме как да действительно, вы правы на все 100. А так мы сейчас тут будет рассказывать сказки друг другу, до бесконечности.
|
|
Дата: 25 Июл 2010 14:21:46
#
YuriVR
Понятно что при сильной передискретизации узкополосного сигнала можно фильтрацией уменьшить шум квантования. Но тут речь о другом совершенно, чем шире полоса приёмника тем выше должен быть динамический диапазон тракта, в более широкую полосу попадает больше мощных передатчиков, АРУ масштабирует сигнал чтобы впихнуть в узкие ворота АЦП, чем шире полоса тем меньше становится уровень полезного сигнала, положительного эффект от фильтрации шумов квантования недостаточно, нужно увеличивать разрядность АЦП.
|
|
Дата: 25 Июл 2010 17:35:55
#
Mesh YuriVR Ну не лукавте пожалуйста, у вас братся будет 50 кгц, а реальлно оцифровываться будет то что нужно, с каким-то там запасом. Да и нелюблю я вот эту говорильно, есть сигнал, запись, задача обозначена, сделайте это. Зачем уточнять что имеется в виду? Всё написано. Мне просто сказать будет нечего, кроме как да действительно, вы правы на все 100. А так мы сейчас тут будет рассказывать сказки друг другу, до бесконечности.
если взять тот сигнал с GSM, то как оценить то ОСШ, которое сейчас в нем есть? "на глаз" по спектрограмме? не научно
если же синтезировать сигнал, то будет видно, что есть на каждом этапе, и как меняется ОСШ
в модели легко можно рассмотреть отдельно поведение сигнала и шумов, отключая их по очереди и т.п.
плюс если есть понимание процессов, то нет проблем, чтобы придумать условия эксперимента, который бы подтвердил наличие этого понимания
я в детстве делал демодулятор ЧВС в железе (с последующими испытаниями на трассе), который на входе имел сигнал с полезной полосой 100 кГц, представленный в виде IQ с частотой дискретизации 200 кГц, а полосы внутри этих 100 кГц выделялись примерно по 300 Гц, так что лично мне здесь все ясно, просто хотел внести немного ясности и для других
|
|
Дата: 25 Июл 2010 17:48:20
#
petr0v YuriVR
Понятно что при сильной передискретизации узкополосного сигнала можно фильтрацией уменьшить шум квантования. Но тут речь о другом совершенно, чем шире полоса приёмника тем выше должен быть динамический диапазон тракта, в более широкую полосу попадает больше мощных передатчиков, АРУ масштабирует сигнал чтобы впихнуть в узкие ворота АЦП, чем шире полоса тем меньше становится уровень полезного сигнала, положительного эффект от фильтрации шумов квантования недостаточно, нужно увеличивать разрядность АЦП.
об этом в комментарии к статье SergAU6 я упоминал, но если рассматривать этот момент подробнее, то не стоит и забывать про нелинейные искажения, которые есть в том же АЦП, проблема не только в масштабировании сигнала
а если же смотреть только на масштабирование (т.е. брать в расчет только ДД по шумам), то при оцифровке сигнала со спектром, близким к спектру шума, проигрыш от масштабирования при увеличении полосы будет полностью компенсироваться выигрышем от передискретизации при условии применения АЦП с одинаковой эффективной разрядностью в каждом случае и увеличением частоты дискретизации во столько же раз, во сколько расширяется полоса
для приемника прямого усиления с расширением полосы понижается уровень полезного сигнала и возникает интермодуляционный шум за счет нелинейности АЦП
но и в приемнике с гетеродином не все гладко – шумы и дискреты в спектре гетеродина образуют побочные каналы приема, т.е. опять же собирается шум и помехи в полосу полезного сигнала
если почитать статьи Хазан Г.К., к которым я отослал интересующихся, то можно увидеть оценки по поводу того, что выгоднее в каждом конкретном случае – супергетеродин или приемник прямого усиления
|
|
Дата: 25 Июл 2010 19:05:51 · Поправил: Mesh (25 Июл 2010 19:06:39)
#
YuriVR Познавательная история про детство. :-) К сожалению ни на шаг ни придвинула к реальным резалтам, а именно выделеннию сигнала GSM из предложенного файла, по методам которые вы тут чудесно расписываете. Ну и ладно. :-) Первый раз что ли. И к стати, вы сознательно вводите людей в заблуждение упоминая приёмники прямого усиления? Они каким боком вобще тут?
|
|
Дата: 25 Июл 2010 19:19:00 · Поправил: YuriVR (25 Июл 2010 19:25:27)
#
Mesh YuriVR Познавательная история про детство. :-) К сожалению ни на шаг ни придвинула к реальным резалтам, а именно выделеннию сигнала GSM из предложенного файла, по методам которые вы тут чудесно расписываете. Ну и ладно. :-) Первый раз что ли. И к стати, вы сознательно вводите людей в заблуждение упоминая приёмники прямого усиления? Они каким боком вобще тут?
про GSM уже говорил – как определить ОСШ в данном сигнале, не подвергая его фильтрации, чтобы потом сравнить, изменилось ли оно или нет?
если предложите объективный метод, то можно и GSM фильтровать
а чем Вас не устраивает синтезированный сигнал, на примере с которым все будет максимально транспарентно ?
по поводу приемников прямого усиления – SDR приемники КВ диапазона часто строят именно по такой схеме, т.е. без преобразования частоты, так что если взялись обсуждать SDR, то не следует забывать как о плюсах, так и о минусах по сравнению с предыдущим поколением, которое было с преобразованием частоты
|
|
Дата: 25 Июл 2010 19:39:09
#
YuriVR Действительно, вот же кино, есть файл реальный физический файл. Но нет ни какой возможности, доказать на этом файле, что ваши чудесные методы работают или не работают. Ну и ладно, файл плохой, понятно. Или я виноват, не предложил методику, тож сканает. С приёмиками странно, вобще есть название SDR, к чему тут упоминать ППУ не совсем понимаю, ну и ладно мои проблемы. Ладно, вопросов нет, успехов.
|
|
Дата: 26 Июл 2010 00:45:37 · Поправил: sergo2007 (26 Июл 2010 00:52:18)
#
SergUA6
Mesh
неужели в самом деле, нет проблемы выделениия узкополосок из оцифровок
Если будем просто фильтровать FFT интересующий сигнал и производить понижение дискрета, то потери неизбежны...
А если проведем полноценное DDC и будем использовать CIC фильтры, где мы не будем просто вот так выкидывать отсчеты, то мы ничего не потеряем, а еще выиграем соотношение сигналшум.
Вот как это сделано в QS1R http://www.srl-llc.com/images/qs1r_ddc.png
Показываю наглядно как это происходит в реале...
К сожалению специально писать софт только для того чтобы отфильровать ваш пример желания нет, так что показываю на уже существующем софте. в качестве примера взял несущую ОРТ. Записать полосу 62 Мгц возможности нет, так что только картинки.
на входе имеем ADC 16 Bit 125msps, передискретизации нет, полоса 62.5Мгц, видим несущую с соотношением сш 30db
Увеличить
теперь фокус..... ничего не меняя во входной части, делаем хитрую передискретизацию... и получаем: разрешение 32bit, 250ksps и соотношение сш 50db... :-)
Увеличить
При всем при этом в полосе оцифровки были не менее слабые сигналы... и они сш не ухудшили.... |
|
Дата: 26 Июл 2010 02:58:21
#
sergo2007 Блин уже спать пошёл, тут вы со своими картинками. Если будем просто фильтровать FFT интересующий сигнал и производить понижение дискрета, то потери неизбежны... Ну дык, об этом и речь, только FFT тут не особо влияет, ну да ладно. К сожалению специально писать софт только для того чтобы отфильровать ваш пример желания нет Жаль, жаль, демострация сняла б все вопросы. Картинки конечно хорошо, но реал пример лучше. А то будет как с полифазным FFT и такое оно и сякое, если смотреть только на картинки так прямо чудо. А на деле всё тож самое только без пуговиц. Реал примеры нужны, было стало, с файлами. Чистая несучка не очень убеждает, это синус, его можно и без CIC привести в божеский вид, и поднять с/ш. Как раз сигналик нужен, что б глянуть повело его не повело и куда. И давно этот Хопенгауер или как его там это придумал? Что-то наличие интеграторов в том виде как они юзаются толкает к мысли, что к постоянке это дело ну очень должно быть чувственно. И сакраментальный вопрос, где софт с этими фильтрами поднимающими с/ш при выерезании из широких полос, и как-то выходит так, что вобще нет проблем, что ли? Типо любой сигналик с любым дискретом по амплитуде, можно превратить в hi-fi чудо? Мутняк какой-то есть, так не бывает. Почему и нужна полная раскладка, вот оно до-файл, вот оно после-файл.
|
Реклама Google |
|