Автор |
Сообщение |
|
Дата: 09 Дек 2006 10:32:33 · Поправил: Вебмастер (02 Дек 2007 22:27:39)
#
Подскажите пожалуйста, есть сигнал на 44100 16бит, какие предварительные преобразования с ним нужно сделать, чтобы для демодуляции можно было использовать БПФ?, т.е. как подогнать разнос между поднесущими и размерностью БПФ?
|
|
Дата: 09 Дек 2006 11:44:51
#
Михась
Путем точной и аккуратной передисретизации.
|
Реклама Google
|
|
|
Дата: 09 Дек 2006 12:10:38
#
OFDM
Звучит заманчиво. А что означает точно и аккуратно? Лагранж подойдет?
|
|
Дата: 09 Дек 2006 12:17:24
#
Михась
Звучит заманчиво А нет вариантов, если только самому не писать БПФ, но всё равно не выйдет точно, передискр то самое и единственно верное, Лагранж подойдет? подойдёт в самый раз будет. Когда будешь писать, проверь всё на очень низких синусоидах, там сразу заметны всякие нестыковки.
|
|
Дата: 09 Дек 2006 12:21:39
#
И в догонку. Любое знание относительно, следовательно как я могу точно передескретизировать, если идеально точно не знаю разноса (есть только предположение, оценка скоко должно быть, а реально может на герц два десять разниться). Есть ли возможность на приемном конце определить разнос реальный и соответственно дальше уже передескретизировать точно и аккуратно?
|
|
Дата: 09 Дек 2006 12:33:07
#
Михась
Есть ли возможность на приемном конце определить разнос реальный Есть, но потрудится не подецки нужна, софт самому прийдётся писать для этого, не видел в природе для этих целей, он может и есть но не в широком ходу. Варианты такие, пишешь определялку разноса ОФДМ, с плавным передискром, и руками подгоняешь до полной точности разноса с размера БПФ.
|
|
Дата: 09 Дек 2006 12:41:25
#
OFDM
но потрудится не подецки нужна - не страшно :)
пишешь определялку разноса ОФДМ - какой принцип? Перебор? Если да, то это несерьезно и не красиво. Или есть какоенибудь типа нелинейного преобразования на выходе которого разнос проявляется (типа как такт после фурье квадрата огибающей)?
|
|
Дата: 09 Дек 2006 12:48:20
#
Михась
какой принцип? Крутишь дискр пока линии не станут линиями, а не бяками вот и весь принцип, нелинейных преобразований не знаю, не пробовал, может кепстральный анализ сюда втулить попытатся, по идее должна быть одна четкая линия если всё точно попадёт, не проверял.
|
|
Дата: 09 Дек 2006 14:34:57
#
OFDM
Крутишь то крутишь, а про типа несущей то забыли? Надо же и несущую подгонять и дискретизацию, т.е. перебор получается по двум параметрам :-(
|
|
Дата: 09 Дек 2006 14:46:15
#
Михась
Гм... несущая в ОФДМ? Там или пилоттоны из набора тонов или пилот в начале как в GW, а какая несущая ещё?
|
|
Дата: 09 Дек 2006 15:07:26
#
OFDM
Еще несущей нету :-)
Но это к вопросу о том, как точно ты в начале цепляешься за пилот - ошибки измерений и т.д.
Часто все проблемы вылазят из того, что ты думаешь, что у тебя частота дискретизации 44100 (или 8000 или ...), а на самом деле 44050, 44150 и т.д. и хрен проверишь ее, да еще и плывет со временем, поэтому знания о положении пилота и другие параметры оказываются неточными и по хорошему их надо суметь определить (уточнить) на месте.
|
|
Дата: 09 Дек 2006 15:16:30
#
Михась
;) Часто все проблемы вылазят из того, что ты думаешь Нет, проблемы такого сорта это чиста патаму чта думать не хотят, дискр, тактовая и несущая да и вообще всё это взаимноотносительные штуки, скажи пожалуйста какая на хрен разница, если увеличить дискр в два раза и всё остальное тоже? Да ни какая! Называй ты тактовую хоть мегагарцем или сделай её такую искуствено ничего не изменится, за один такт один бит, символ или что там.
|
|
Дата: 09 Дек 2006 15:30:01
#
OFDM
Все это так, но есть одно маленькое но, это истинно когда ты точно знаешь свою частоту дискретизации, а практика показывает, что частоты звуковухи непредсказуемы в большинстве случаев, накушался уже. Непредсказуемы конечно в не бешенных пределах, но для срыва синхронизации достаточно.
А мерить реальную частоту каждый раз совсем не улыбается.
|
|
Дата: 09 Дек 2006 15:45:55
#
Михась
Нет, ты не понял, постарайся, это ключ к решению многих проблем. Смотри. Реально тебе фиолетово, какая частота у карты, что с того что у тебя получится абсолютный разнос между несущими не 100 гц как задумано на передаче, а 90? Да ничего, важно что бы для твоей дискры это было правильно, а если это так то что с того что такт стал чуть меньше или больше? Ничего! Это такой же такт как и на передаче и несёт ровно такую же инфу. Твоя задача для сигнала и своей дискретизации точно определить длину БПФ, или что то же самое для своей длины БПФ подгнать дискретизацию под сигнал, что из того, что оно уедет куда то в сторону в результате? Н и ч е г о ! Попытки выйти на "абсолютные правильные" значения это тупик, это бой с ветряными мельницами. ;)
|
|
Дата: 09 Дек 2006 16:04:38
#
OFDM
На абсолютные согласен - незачем.
Но как перебором одной fd обойтись пока не пойму.
Если я зафиксирую размерность БПФ типа 2^N, то подбором fd я должен добиться чтоб fd/(2^N) соответствовало разносу поднесущих. Кроме того полученные бины Фурье должны быть отцентрованы по центрам поднесущих. Если я перебираю только fd то неужели не возможна ситуация, когда разнос я подберу, а центры поднесущих окажуться не по центру бинов, а между ними? Или эта ситуация не страшна?
Просто я исхожу из ситуации, что БПФ используемый при демодуляции должен иметь бины с разносом несущих и бины должны оказаться по центру поднесущих.
|
|
Дата: 09 Дек 2006 16:19:44
#
Михась
Так потрудится прийдётся это да, реально у тебя три проблемы, фазировка тактовых циклов с началом выборки, сама дискретизация и юстировка положения несущих в пределах 0,5 относительно центров. ;)
|
|
Дата: 09 Дек 2006 19:52:18
#
Может я и не по теме, но...
DRM радио вроде использует OFDM. Есть свободно доступные исходники программы декодировки (кажется Dream или как-то так называется). Там, конечно, используются библиотеки, возможно не доступные в исходниках, но пища для ума там должна быть.
|
|
Дата: 10 Дек 2006 13:56:16
#
Разбираясь с OFDM возник вопрос. Если 14 поднесущих - БПФ на 16 точек, 12 поднесущих - БПФ16, 61 поднесущая - БПФ64. Здесь параметр типа КПД понятный получается. А как быть с М39, здесь БПФ должен быть 64, т.е. около половины каналов впустую?
Проясните пожалуйста, в чем тут изюминка.
|
|
Дата: 10 Дек 2006 14:42:19
#
Вариантов два или юзаете бпф с четным кол-вом отсчетов дополняя нулями остаток, это гибкий хороший подход, тогда передискретизация займёт не ведущую роль, или дополняте нулями то что есть и юзаете 2^n со всеми вытекающими.
|
|
Дата: 10 Дек 2006 14:53:29
#
OFDM
юзаете бпф с четным кол-вом отсчетов дополняя нулями остаток - пардон, не понял, можно поподробнее
|
|
Дата: 10 Дек 2006 15:00:31
#
Михась
Так эта, БПФ вообщето делается на любой размер выборки, просто устоялись алгоритмы на 2^n как легко реализуемые, это иногда осложняет работу, а иногда и делает её невозможной, на 2*n сделать чуть проще чем любой размер.
|
|
Дата: 10 Дек 2006 15:08:28
#
OFDM
Вроде да, о таких фокусах слышал, но кажись также про эти подходы говорили и то, что затраты на логигу иногда перешибают все плюсы, поэтому такие подходы и не особо распространены.
Но если взять за основу, что без проблем БПФ можно делать не только степени двойки, а и просто четной длины, то Вы хотите сказать что в М39 именно этот подход и применен?, делается БПФ на 40, 42, 44, 46?
|
|
Дата: 10 Дек 2006 15:22:01
#
Михась
Не могу знать как делают профи для М39 но логично юзать хотя бы на 40 всего один нулевой осчёт нужен, он погоды не делает, а там они может на 39 и написали. Их тьма целая этих алгоритмов и есть ну очень впечатляющие, по скорости значительно выше чем 2^n при соразмеримых размерах выборки, например 1008 и 1024 то который на 1008, процентов на 40 требует меньше операций умножения и всего на 5-10 проц больше сложения чем банальный.
|
|
Дата: 10 Дек 2006 15:35:26
#
OFDM
Если так на самом деле, то круто! ( про 1008 и 1024 ).
Но, во-первых, выше упоминал, что обычно здесь подсчитывают только умножение и сложение и напрочь забывают, что программа состоит и из других действий и зачастую эти другие действия (которые и относятся к логике алгоритма) перевешивают весь выигрыш от сокращения числа умножений участвующих в основе алгоритма.
Во-вторых, наверное здесь все не универсально. Ну сложилось так, что 1008 переплюнуло 1024, но далеко не факт, что такой фокус получится и на 1010, т.е. получается, что под каждую размерность надо крапотливо ручками выводить оптимальный алгоритм, адское терпение надо иметь.
|
|
Дата: 10 Дек 2006 15:47:45
#
Михась
Да думаю 2*n за глаза хватит, тем более на маленьких выборках и скорости другие, не так критично всё это, все плюсы других алгоритмов на больших размерностях, на маленьких они примерно одного порядка все работают, тут важнее другое всё четко и правильно без дураков, уж не в два раза пустышек и картина соответсвенно ближе к истиной намного.
|
|
Дата: 10 Дек 2006 15:51:16
#
OFDM
Наверное да.
А есть где-нибудь в заначке описание или пример типа БПФ для 2*n?
|
|
Дата: 10 Дек 2006 15:58:32
#
|
|
Дата: 10 Дек 2006 16:00:06
#
OFDM
СЭНКС!!!
|
|
Дата: 12 Дек 2006 00:14:06
#
OFDM
Михась
39 тоновый модем по мил110 это офдм или похожее но не оно? Есть ли там такое понятие как в офдм802.11 так называемые защитные интервалы от межсимвольных искажений?
|
|
Дата: 23 Дек 2006 13:47:58
#
Господа, участники этой ветки, подскажите пожалуйста, как правильно и грамотно сформировать OFDM сигнал? Решил я пощупать OFDM, и начал с синтеза, и тут же уперся в ряд не решаемых со своими знаниями проблем, кто может проконсультировать по некоторым вещам? Интересует в первую очередь, как выкручиваются с нулевой и N-1 частотой, у меня они ведут себя как то не очень здорово, во первых они рядом, во вторых они как то смешиваются некрасиво. Их просто отбрасывают? Тогда непонятно почему это прямо нигде неуказывают?
|
Реклама Google |
|