Автор |
Сообщение |
|
Дата: 19 Ноя 2011 14:56:08 · Поправил: mikasa76 (19 Ноя 2011 15:10:14)
#
Vanadi
Mesh
Именно про этот, более общий случай, когда имеется оцифрованный сегмент широкополосного группового сигнала и нам из него надо выделить достаточно узкополосный сигнал я и имел ввиду, когда говорил о трехкаскадном интерполяторе. Теперь понятно, что Vanadi имел ввиду именно согласованный FIR фильтр демодулятора, тогда с порядком фильтра 65, 69, 73, ... согласен. Я же имел ввиду фильтры в полифазной структуре интерполятора, а они и есть основная нагрузка при обработке, потому как остальная реализация демодулятора это мелочь с точки зрения вычислительных затрат :)
|
|
Дата: 19 Ноя 2011 15:09:53
#
mikasa76 Ну да всё прально. Но всё ж, говоря про общие случаи я б не говорил что как остальная реализация демодулятора это мелочь с точки зрения вычислительных затрат :) Сигналики разные, скоростя тактовые есь и под 1 мегагерц и 2 и 10. И за каждую операцию умножения "лишнюю" битва нехилая идёт, ну эт в общем случае. :-)
|
Реклама Google
|
|
|
Дата: 19 Ноя 2011 15:18:04 · Поправил: mikasa76 (19 Ноя 2011 15:24:55)
#
Mesh
Я понимаю, конечно, что сигналы и приемники разные бывают, а так же руки, которые их разрабатывают :), но я как раз имел ввиду именно этот случай - 5 кГц в полосе 300 МГц!!!!!!. Так что в этом случае ЧМ демодулятор потребует гораздо меньших затрат, чем входной дециматор. И за каждую операцию умножения "лишнюю" битва нехилая идёт, ну эт в общем случае.
над этим я уж поверьте не один год бьюсь, здесь нужна не только параметрическая (так скажем грубая) оптимизация кода, но и самое главное правильно спроектированная структура приемника, потому как один и тот же приемник казалось бы для одного и того же сигнала, но разные ручки сделают по-разному :)
Грубо (в первом приближении) можно сказать так, что основополагающим параметром, отвечающем за вычислительную нагрузку, является отношение частоты дискретизации к символьной скорости.
|
|
Дата: 19 Ноя 2011 15:26:26 · Поправил: Mesh (19 Ноя 2011 15:32:57)
#
mikasa76 Да я ж ничего против не имею. :) оптимизация кода это вобще один из худших или так скажем не лучший метод оптимизинга, лучшие резалты даёт оптимизинг алгоритмов с потом оптимизацией кода, но это оченно сложная тема. Обычно, типикал, оптимизируют код, это не требует глубоких знаний всех протекающих процесов, и тож иногда даёт сильный выйгрышь но реал хай-фай оптимизинг оченно сложная задача, особливо если она до этого ни кем не решалась, или решения запатентованы или неизвестны.
Грубо (в первом приближении) можно сказать так, что основополагающим параметром, отвечающем за вычислительную нагрузку, является отношение частоты дискретизации к символьной скорости. Сшенно согласен. ;) И по этому удивляет как некоторые повышают дискрет в десятки раз перед демодингом, ясный пень что это проще простого, но лопатить семплы софту или железу приходися в холостую, то есь никакой оптимизации вобще нет и не пахнет, ну да ладно эт тема такая скользкая. Иногда надо что б что-то было, не до фитюлек так сказать, да и голова как бы не оченно болит. :-)
|
|
Дата: 19 Ноя 2011 15:31:25
#
Mesh +100 !!!!!!! именно так и есть
|
|
Дата: 19 Ноя 2011 16:53:23 · Поправил: Vanadi (20 Ноя 2011 02:41:07)
#
mikasa76 Если Вы преднамеренны заняться "прореживанием групповых (многополосных) сигналов" предлагаю вашему вниманию популярную статью - чтиво последних месяцев веб-журнала "Аrxiv" |
|
Дата: 19 Ноя 2011 17:59:16 · Поправил: mikasa76 (19 Ноя 2011 18:00:08)
#
Vanadi к счастью (или к сожалению) для меня заняться "прореживанием групповых (многополосных) сигналов" уже не является проблемой :) по крайней мере для тех приложений, где я это использовал :). за ссылку спасибо.
|
|
Дата: 19 Ноя 2011 22:29:25 · Поправил: Vanadi (20 Ноя 2011 02:42:44)
#
Как уже заметил Mesh, в дециматоре "M со стрелкой вниз" нет никакого фильтра; это только безинерционный downsampler (sampling rate compressor) - прореживалка отсчётов (по Mesh) - действующая по формальному алгоритму: x[n] = xL[nM]; n = 0,1,2,... (в обозначениях с предыдущего рисунка).
Lork и всем заинтересованным этой актуальной темой (SDR, CR, … поcмотрите статью) предлагаю проделать упражнение с последующего рисунка; спектр последовательности w[n] для M приближающися к Q := Fc/B, я думаю рассеет все сомнения на счёт отсутствия в этой схеме какого-либо селективного фильтра. Так как это упражнение есть частным случаем экспериментов Меsh (для Fs = 4Fc, т.е. для m = 1) с 30 Окт 23:28:51, советую послужится таким, как у него, входным сигналом xL[i], при условии, что этот сигнал чист (без внеполосных помех).
На этом рисунке сохранена нотация с предыдущих схем.
|
|
Дата: 16 Янв 2012 20:49:01
#
|
|
Дата: 25 Янв 2012 12:46:12
#
демодулятор FM-сигнала в формате I/Q (комплексная огибающая)
Если кому ещё понадобится, можно будет найти в составе PhViewer 2.0. Консольная утилита iq2fr. По этому адресу |
|
Дата: 12 Апр 2012 15:37:31
#
Всем заинтересованным демодуляцией и дискриминацией сигналов с бинарной FM предлагаю мою статью. |