|
|
  |
Цифровое квадратурное разложение, миф или реальность? |
|
|
|
Jan 19 2008, 10:10
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(pimen @ Jan 17 2008, 20:24)  По существу Вашего вопроса в начале темы: 1. Конечно, если позволяют частоты, то цифровая квадратурная демодуляция (расквадратуривание), тут даже сомнений нет. Три основные узла квадратурного демодулятора – гетеродин, смеситель, фильтр – в цифре могут быть выполнены с заданной точностью всегда. В аналоге всё будет упираться в элементную базу, разброс параметров, сложность настройки, температурные гуляния и прочее. 2. Квадратурная демодуляция возможна не только для узкополосных сигналов. Она может быть выполнена для сигналов с любым соотношением центра полосы и ширины полосы. Даже если полоса сигнала начинается от 0 Гц. 3. Алгоритмов, которые обеспечивают ОТСУТСТВИЕ ошибок разложения, нет и никогда не будет. Но классический алгоритм квадратурного демодулятора в цифровом исполнении всегда может обеспечить заданную точность (уровень вносимых шумов и продуктов нелинейностей). 4. Классический алгоритм квадратурной демодуляции может быть выполнен с заданной точностью в целочисленной арифметике. Забыл добавить - при квадратурной демодуляции ВСЕГДА требуется фильтрация прямого или инверсного спетра исходного сигнала. Кстати, в вашем примере на нулевую частоту Вы сносите инверсный спектр. Если Вам кто-то будет говорить, что расквадратуривание можно осуществить хитрой манипуляцией отсчетов и из знаков, то не верьте! В самом "идеальном" случае от таких манипуляций получатся так называемые "уши".
Сообщение отредактировал 729 - Jan 19 2008, 10:25
|
|
|
|
|
Jan 21 2008, 19:35
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 21-01-08
Пользователь №: 34 289

|
Очень интересный вопрос Вы подняли однако. Может быть, посоветуете, что можно почитать по данному вопросу?
З.Ы.: С более или менее подробным описанием столкнулся лишь в книге: Побережский Е.С. - "Цифровые радиоприемные устройства."
|
|
|
|
|
Jan 21 2008, 20:01
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(4xSH @ Jan 21 2008, 22:35)  Очень интересный вопрос Вы подняли однако. Может быть, посоветуете, что можно почитать по данному вопросу?
З.Ы.: С более или менее подробным описанием столкнулся лишь в книге: Побережский Е.С. - "Цифровые радиоприемные устройства." Почитать, напрмер, в описании DDC типа AD6620 от Analog Devices. Но грамотного описания процессов в DDC я, если честно, так и не встретил. Более-менее нормально описано у Романюка Ю.А. в "Основы цифровой обработки сигналов" в 1-ом томе. Если Вас интересует что-то более конкретно, то напишите мне в личку - если смогу, постараюсь пояснить.
|
|
|
|
|
Jan 26 2008, 19:00
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 13-11-07
Пользователь №: 32 296

|
По - моему кто-то явно пытается изобрести велосипед...DDC конверторы используются повсеместно и никакой значительной ошибки цифрового разложения нет и быть не может - используется чистая математика и никаких скрытых фокусов нет. Насколько точно возьмешь отсчеты опорного синуса косинуса, настолько точным будет разложение, все под контролем. Достаточно 32768 отсчетов синуса косинуса для получения приближенного синуса косинуса с уровнем помех не более -90 дб при длине фазового аккумулятора 32 бит (при условии осуществления дизеринга округляемой фазы, коррекция Тейлором еще лучше) Вот как раз с аналоговым разложением, насколько мне известно, все значительно сложнее, бывают траблы с выдерживанием ортогональности. З.Ы, На мой взгляд, DDC - один из самых простых элементов при ЦОС. В ПЛИС реализуется легко и непринужденно. Да и математика там тривиальная - перемножение комплексных экспонент, все на поверхности лежит. Есть проблемы значительно интереснее.
|
|
|
|
|
Jan 26 2008, 20:51
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(Singer @ Jan 26 2008, 22:00)  По - моему кто-то явно пытается изобрести велосипед...DDC конверторы используются повсеместно и никакой значительной ошибки цифрового разложения нет и быть не может - используется чистая математика и никаких скрытых фокусов нет. Насколько точно возьмешь отсчеты опорного синуса косинуса, настолько точным будет разложение, все под контролем. Достаточно 32768 отсчетов синуса косинуса для получения приближенного синуса косинуса с уровнем помех не более -90 дб при длине фазового аккумулятора 32 бит (при условии осуществления дизеринга округляемой фазы, коррекция Тейлором еще лучше) Вот как раз с аналоговым разложением, насколько мне известно, все значительно сложнее, бывают траблы с выдерживанием ортогональности. З.Ы, На мой взгляд, DDC - один из самых простых элементов при ЦОС. В ПЛИС реализуется легко и непринужденно. Да и математика там тривиальная - перемножение комплексных экспонент, все на поверхности лежит. Есть проблемы значительно интереснее. В случае, который описал автор темы, ситуация простая - фазовый сдвиг разложения возник не из-за точности получения отсчетов NCO (там АБСОЛЮТНАЯ точность), а из-за плохой фильтрации второго спектра после сноса полосы сигнала в ноль. К сожалению, на практике такое случается довольно часто. И происходит это из-за неполного понимания процессов в DDC.
|
|
|
|
|
Jan 30 2008, 20:39
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 21-01-08
Пользователь №: 34 289

|
Цитата(729 @ Jan 21 2008, 23:01)  Почитать, напрмер, в описании DDC типа AD6620 от Analog Devices. Но грамотного описания процессов в DDC я, если честно, так и не встретил. Более-менее нормально описано у Романюка Ю.А. в "Основы цифровой обработки сигналов" в 1-ом томе. Спасибо за ссылку на книжки... DataSheet AD6620 давно уже является настольно книгой, т.к. часто использую этот DDC в своей работе. Меня же данный вопрос больше интересовал в плане возможностей реализации алгоритма работы DDC на конкретной ПЛИСки. А точнее применение различных квази квадратичных методов. Поясню… В данный момент пришлось столкнуться с острой необходимостью реализации DDC + цифровой демодулятор на базе FLEX10KA. В виду ограниченных аппаратных возможностей данной ПЛИСки реализация полноценного DDC ИМХО практически не реальная задача. В поисках вариантов решения обратил внимание на методы описанные у Побережского в указанной мной книге, а так же метод описанный в статье: Д.М.Пиза, Ю.Л.Мейстер – ”Цифровые методы формирования квадратурных составляющих в системах приема и обработки радиолокационных сигналов”(стр.79).З.Ы.: Повторюсь, фактически приходится изобретать велосипед, тк "железна" часть к сожалению неприкосновенна. Меня интересуют возможные ”подводные камни”?
Сообщение отредактировал 4xSH - Jan 30 2008, 20:40
|
|
|
|
|
Jan 31 2008, 09:07
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(4xSH @ Jan 30 2008, 23:39)  Спасибо за ссылку на книжки... DataSheet AD6620 давно уже является настольно книгой, т.к. часто использую этот DDC в своей работе. Меня же данный вопрос больше интересовал в плане возможностей реализации алгоритма работы DDC на конкретной ПЛИСки. А точнее применение различных квази квадратичных методов. Поясню… В данный момент пришлось столкнуться с острой необходимостью реализации DDC + цифровой демодулятор на базе FLEX10KA. В виду ограниченных аппаратных возможностей данной ПЛИСки реализация полноценного DDC ИМХО практически не реальная задача. В поисках вариантов решения обратил внимание на методы описанные у Побережского в указанной мной книге, а так же метод описанный в статье: Д.М.Пиза, Ю.Л.Мейстер – ”Цифровые методы формирования квадратурных составляющих в системах приема и обработки радиолокационных сигналов”(стр.79).З.Ы.: Повторюсь, фактически приходится изобретать велосипед, тк "железна" часть к сожалению неприкосновенна. Меня интересуют возможные ”подводные камни”? К сожалению, условия Вашей задачи отсутствуют, поэтому что-то разумное посоветовать в этом смысле невозможно. Но в том примере, что Вы привели, суммирование 2-соседних отсчетов с децимацией в 2 эквивалентно децимирующему фильту CIC2 первого порядка. Стоит Вам увеличить порядок этого CICа до 4, как вторая палка будет раздавлена уже на 112дБ - вполне приемлемый, по-моему, результат. CIC фильтры легко реализуются на ПЛИС. Только и нужны, что сумматоры. В случае CIC2 4-го порядка достаточно иметь 8 сумматоров, самый "страшный" из которых имеет 20 разрядов для 16-ти разрядных входных данных. А статью, которую Вы привели, лучше больше не читайте. Во-первых, в ней в корне неверен интерполяционный подход. Во-вторых, сама идея статьи только увеличивает затраты на обработку в конкретном случае накопления отсчетов, особенно если она делается на процессорах.
|
|
|
|
|
Feb 2 2008, 22:24
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(rsv @ Feb 2 2008, 23:00)  добалю своих пять копеек абсолютно согласен с коллегами насчёт плохой фильтрации на выходе, я делал подобный проект на спартане е 500, и там на выходе был ФНЧ 30 порядка. однако, есть ещё один ньюанс: если на входе подобного устройства есть даже небольшое постоянное смещение, то возникает ещё и паразитная амплитудная модуляция. для решения этой проблемы я ставил на входе ещё и ППФ 20 порядка с центральной частотой в равной 1/4 частоты дискретизации Если позволите, то немного уточню. Постоянка на входе АЦП это такой же в частотной области сигнал, как и все остальные. Если сигнал перенести на нулевую частоту путем умножения на комплексную экспоненту с частотой w0, то и постоянка переползёт на некоторую частоту, и она (переползшая постоянка) подлежит фильтрации так же, как и второй спектр. Какой-либо АМ тут быть не должно.
|
|
|
|
|
Feb 3 2008, 11:22
|
Частый гость
 
Группа: Свой
Сообщений: 119
Регистрация: 16-07-07
Из: Тула
Пользователь №: 29 160

|
Цитата(729 @ Feb 3 2008, 01:24)  Если позволите, то немного уточню. Постоянка на входе АЦП это такой же в частотной области сигнал, как и все остальные. Если сигнал перенести на нулевую частоту путем умножения на комплексную экспоненту с частотой w0, то и постоянка переползёт на некоторую частоту, и она (переползшая постоянка) подлежит фильтрации так же, как и второй спектр. Какой-либо АМ тут быть не должно. конечно, Вы правы. в этом случае просто вылезает несущая на частоте 1/4 от тактовой и также фильтруется. Просто во время отладки во избежание возможных глюков мне хотелось иметь "идеальный" сигнал после всех каскадов устройства. вот и получилась такая схема. Из минусов - вфодной фильтр делается по полностью параллельной реализации, что увеличивает расход ресурсов кристалла, в вто время как на выходе стоят фильтры-дециматоры с последовательной реализацией. Однако, ресурсы кристалла мне позволили сделать так, как я сделал и я оставил всё в таком виде ради удобства отладки.
|
|
|
|
|
Feb 29 2008, 11:39
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 30-11-07
Пользователь №: 32 846

|
Цитата(Михаил_K @ Feb 29 2008, 14:29)  Нифига не поянл, чего хотите. Оцифровать сигнал на ПЧ и расквадратурить? Все делается просто как валенок! Один сопособ.
1. Оцифровка должна быть произведена такой частоте, чтобы спектр сигнала не вылезал за границы половины и полной частоты дискретизации (теорема котельниокова). 2. Сигнал умножается на sin и cos, которые формируются на цифровом генераторе. Ошибки по фазе у них нет, соотвественно и неквадратурности тоже. 3. Снесенный в ноль сигнал фильтруется.
Второй способ. 1. Над оцифрованным сигналом проводится преобразование гильберта. 2. Сигнал на комплексном умножителе умножается на несучку и сносится в 0. Фильтрация в данном случае уже не нужна.
Кстати, на счет не квадратурности. Вторым способом мы уже давно демодулируем сигналы QAM256 с отличным качеством, и если есть неквадратурность, то она составляет доли минут. а можно о втором способе подробнее. я не нашел доступной статьи для моего понимания (т.е без интегралов...) или ссылочку, где это описано.
|
|
|
|
|
Feb 29 2008, 12:00
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 30-11-07
Пользователь №: 32 846

|
Цитата(Михаил_K @ Feb 29 2008, 14:55)  О преобразовании гильберта можно почитать в книжке А.Б.Сергиенко "Цифровая обработка сигналов". А смысл очень прост. Оцифрованный сигнал подвергается этому преобразованию, в результате имеем комплексный сигнал, спектр которого не имеет зеркальной составляющей. Вследствие этого можно после преобразования понизить частоту дискретизации в два раза. Если это сделать, то и пребразоватеь гильберта проще получается. Фактически это и есть процесс расквадратуривания. А дальше уже просто смещение спектра. Как известно умножение комплексного сигнала на комплексную синусойду не дает суммарной (или разностной) гармоники, поэтому фильтровать от удвоенной частоты не нужно. Кстати, это не значит, что не нужно выполнять согласованную фильтрацию или фильтрацию по соседнему каналу, если вы принимаете какой-нибудь QAM сигнал. теорию я представляю на практике пробовал моделировать с целыми числами в м-файлах матлаба, но не получилось а книгу попробую найти
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|