Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Цифровое квадратурное разложение
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
pimen
Этот вопрос меня интересует уже несколько лет:
Аналоговое или квадратурное разложение?
на практике видел реализацию и того и другого, но склоняюсь к цифровому
однако, алгоритма цифрового квадратурного разложения, не имеющего ошибку разложения по фазе или амплитуде не встречал.
Самый распространенный способ цифрового квадратурного разложения (цкр) - это оцифровка сигнала на частоте пч, равной 1/4 от частоты дискретизации ацп и применении коэфф. прореживания 1,0,-1,0 для одной, и 0,1,0,-1 для другой квадратуры.
данный метод идеален для очень узкополосных сигналов, т.к при отстройке от частоты пч увеличивается фазовая ошибка разложения.
есть-ли алгоритмы, которые обеспечивают отсутствие ошибки разложения в широком диапазоне полос сигнала и применимые для целочисленной арифметики (отсчетов ацп)?


все моделирование проводил в матлабе в м-файлах, и пока не нашел того алгоритма, который-бы меня устроил
gab
Мы используем Фдискр=16*8МГц, ПЧ=16*5МГц.
Полоса +-16МГц. Фазовая ошибка при отстройке +-10МГц < 5 градусов.
alex_os
Цитата(pimen @ Jan 17 2008, 20:24) *
...есть-ли алгоритмы, которые обеспечивают отсутствие ошибки разложения в широком диапазоне полос сигнала и применимые для целочисленной арифметики (отсчетов ацп)?


Конечно есть smile.gif, возмите даташит на любой DDC (digital down converter) (например ad6620), там структурная схема и достаточное для понимания алгоритма описание.
Stanislav
Цитата(pimen @ Jan 17 2008, 20:24) *
Этот вопрос меня интересует уже несколько лет:
Аналоговое или квадратурное разложение?
на практике видел реализацию и того и другого, но склоняюсь к цифровому
однако, алгоритма цифрового квадратурного разложения, не имеющего ошибку разложения по фазе или амплитуде не встречал.
Любой квадратурный преобразователь имеет ошибку.
Однако, принимая во внимание качество современных АЦП, цифровой представляется более предпочтительным.

Цитата(pimen @ Jan 17 2008, 20:24) *
...Самый распространенный способ цифрового квадратурного разложения (цкр) - это оцифровка сигнала на частоте пч, равной 1/4 от частоты дискретизации ацп и применении коэфф. прореживания 1,0,-1,0 для одной, и 0,1,0,-1 для другой квадратуры...
И самый плохой, наверное...
Оцифровывать сигнал теоретически можно на любой частоте, большей удвоенной полосы сигнала.
На практике выбирают её в 2 или более раз выше минимально допустимого теорией. Уделяя пристальное внимание чистоте опорного сигнала АЦП и величине его (АЦП) апертурной неопределённости (джиттера времени выборки), конечно.

Цитата(pimen @ Jan 17 2008, 20:24) *
...
данный метод идеален для очень узкополосных сигналов, т.к при отстройке от частоты пч увеличивается фазовая ошибка разложения.
есть-ли алгоритмы, которые обеспечивают отсутствие ошибки разложения в широком диапазоне полос сигнала и применимые для целочисленной арифметики (отсчетов ацп)?
Да, есть. Это интерполяция "недостающих" отсчётов сигнала в квадратурных каналах, и искусственное "совмещение времени выборок", с использованием "смещённых во времени" коэффициентов фильтров-интерполяторов.
Интерполирующие фильтры могут при таком подходе использоваться одновременно и в качестве канальных фильтров (например, типа приподнятого косинуса).
Однако, для сигналов с полосой в мегагерц и выше, придётся применять мощный вычислитель (предпочтительнее - на ПЛИС).
729
Цитата(pimen @ Jan 17 2008, 20:24) *
...данный метод идеален для очень узкополосных сигналов, т.к при отстройке от частоты пч увеличивается фазовая ошибка разложения...

Скажите, пожалуйста, что Вы понимаете под "фазовой ошибкой разложения"?
pimen
Цитата(alex_os @ Jan 17 2008, 23:12) *
Конечно есть smile.gif, возмите даташит на любой DDC (digital down converter) (например ad6620), там структурная схема и достаточное для понимания алгоритма описание.

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

Цитата(729 @ Jan 18 2008, 13:19) *
Скажите, пожалуйста, что Вы понимаете под "фазовой ошибкой разложения"?

фазовая ошибка разложения :
возникает в процессе разложения сигнала на квадратуры. в идеальном случае разница фаз сигналов всегда составляет 90 градусов (они ортогональны). однако при отстройке по частоте ортогональность нарушается, что и называется ошибкой разложения. ошибка увеличивается при отстройке по частоте и может достигать 45 градусов
729
Цитата(pimen @ Jan 18 2008, 14:56) *
фазовая ошибка разложения :
возникает в процессе разложения сигнала на квадратуры. в идеальном случае разница фаз сигналов всегда составляет 90 градусов (они ортогональны). однако при отстройке по частоте ортогональность нарушается, что и называется ошибкой разложения. ошибка увеличивается при отстройке по частоте и может достигать 45 градусов

Давайте по порядку.
1. Разница фаз каких сигналов в идеале составляет 90 градусов?
2. При отстройке по частоте чего от чего?
pimen
Цитата(729 @ Jan 18 2008, 16:58) *
Давайте по порядку.
1. Разница фаз каких сигналов в идеале составляет 90 градусов?
2. При отстройке по частоте чего от чего?

1. если подать на вход синус, допустим на частоте 19 МГц и при частоте дискретизации 80МГц, то после квадратурного разложения при частоте ПЧ, равной 1/4 Fд мы получим синус и косинус (квадратуры) с частотой 1МГц. разница фаз которых и должна быть равна точно 90 гр
2. при отстройке входного сигнала от частоты ПЧ . для примера чуть выше - это значение составит 1МГц
729
Цитата(pimen @ Jan 18 2008, 18:01) *
1. если подать на вход синус, допустим на частоте 19 МГц и при частоте дискретизации 80МГц, то после квадратурного разложения при частоте ПЧ, равной 1/4 Fд мы получим синус и косинус (квадратуры) с частотой 1МГц. разница фаз которых и должна быть равна точно 90 гр
2. при отстройке входного сигнала от частоты ПЧ . для примера чуть выше - это значение составит 1МГц

Если мы подадим на вход синус 19 МГц и при частоте дискретизации 80МГц и расквадратурим частотой sin(Fд/4) и cos(Fд/4), то на выходе на частоте 1МГц мы получим честные sin(1МГц) и cos(1МГц) без всякой фазовой разбежки - голая тригонометрия.
Откуда у Вас берется разбежка фаз?

(Поправил сообщение).
pimen
Цитата(729 @ Jan 18 2008, 18:40) *
Если мы подадим на вход синус 19 МГц и при частоте дискретизации 80МГц и расквадратурим частотой sin(-Fд/4) и cos(-Fд/4), то на выходе на частоте 1МГц мы ничего не получим. На частоте 79МГц мы получим честные sin(79МГц) и cos(79МГц) без всякой фазовой разбежки - голая тригонометрия.
Откуда у Вас берется разбежка фаз?

забыл:
оцифровка сигнала на частоте пч, равной 1/4 от частоты дискретизации ацп и применении коэфф. прореживания 1,0,-1,0 для одной, и 0,1,0,-1 для другой квадратуры. после этого идет децимация (сумм по 2)
729
Цитата(pimen @ Jan 18 2008, 18:44) *
забыл:
оцифровка сигнала на частоте пч, равной 1/4 от частоты дискретизации ацп и применении коэфф. прореживания 1,0,-1,0 для одной, и 0,1,0,-1 для другой квадратуры. после этого идет децимация (сумм по 2)

Терминология у Вас немного непривычная, но, вроде, что-то становится понятно.
Если я всё правильно понял, то имеем на входе sin(2pi*19/80*n). Умножаем его на exp(j2pi*20/80*n).
Далее суммой по 2 отсчета Вы всё это слегка фильтруете, а потом децимируетев 2 раза, то есть берете каждый второй отсчет. Правильно я понял?
pimen
Цитата(729 @ Jan 18 2008, 18:56) *
Терминология у Вас немного непривычная, но, вроде, что-то становится понятно.
Если я всё правильно понял, то имеем на входе sin(2pi*19/80*n). Умножаем его на exp(j2pi*20/80*n).
Далее суммой по 2 отсчета Вы всё это слегка фильтруете, а потом децимируетев 2 раза, то есть берете каждый второй отсчет. Правильно я понял?

немного не так
Если я всё правильно понял, то имеем на входе sin(2pi*19/80*n). -правильно
Умножаем его на exp(j2pi*20/80*n). - этого умножения нет. есть умножение на 1,0,-1,0 для одной, и 0,1,0,-1 для другой квадратуры
Далее суммой по 2 отсчета Вы всё это слегка фильтруете- это и фильтрация и децимация одновременно
все работает так...
729
Цитата(pimen @ Jan 18 2008, 19:02) *
немного не так
Если я всё правильно понял, то имеем на входе sin(2pi*19/80*n). -правильно
Умножаем его на exp(j2pi*20/80*n). - этого умножения нет. есть умножение на 1,0,-1,0 для одной, и 0,1,0,-1 для другой квадратуры
Далее суммой по 2 отсчета Вы всё это слегка фильтруете- это и фильтрация и децимация одновременно
все работает так...

Умножаем его на exp(j2pi*20/80*n) и умножение на 1,0,-1,0 для одной, и 0,1,0,-1 - это одно и тоже.
А Вы спектр своего сигнала после децимации смотрели?


Цитата(pimen @ Jan 18 2008, 19:02) *
немного не так
Если я всё правильно понял, то имеем на входе sin(2pi*19/80*n). -правильно
Умножаем его на exp(j2pi*20/80*n). - этого умножения нет. есть умножение на 1,0,-1,0 для одной, и 0,1,0,-1 для другой квадратуры
Далее суммой по 2 отсчета Вы всё это слегка фильтруете- это и фильтрация и децимация одновременно
все работает так...

У Вас в спектре должны быть 2 составляющие - одна с 1 уровнем на 1МГц, а вот вторая (плохо отфильтрованная до децимации) на 39МГц с уровнем порядка -28дБ. Вот Вам и фазовый сдвиг отличный от 90 градусов между действительной и мнимой частями во временной области.
pimen
Цитата(729 @ Jan 18 2008, 19:07) *
Умножаем его на exp(j2pi*20/80*n) и умножение на 1,0,-1,0 для одной, и 0,1,0,-1 - это одно и тоже.
А Вы спектр своего сигнала после децимации смотрели?

да, конечно
гармоника вблизи нуля и гармоника вблизи частоты дискретизации
ну и шумы
729
Цитата(pimen @ Jan 18 2008, 19:15) *
да, конечно
гармоника вблизи нуля и гармоника вблизи частоты дискретизации
ну и шумы

Вторая гармоника - это Вы недофильтровали то, что нужно было отфильтровать. Она и дает Вам фазовый сдвиг между квадратурами.
729
Цитата(pimen @ Jan 17 2008, 20:24) *

По существу Вашего вопроса в начале темы:

1. Конечно, если позволяют частоты, то цифровая квадратурная демодуляция (расквадратуривание), тут даже сомнений нет.
Три основные узла квадратурного демодулятора – гетеродин, смеситель, фильтр – в цифре могут быть выполнены с заданной точностью всегда. В аналоге всё будет упираться в элементную базу, разброс параметров, сложность настройки, температурные гуляния и прочее.

2. Квадратурная демодуляция возможна не только для узкополосных сигналов. Она может быть выполнена для сигналов с любым соотношением центра полосы и ширины полосы. Даже если полоса сигнала начинается от 0 Гц.

3. Алгоритмов, которые обеспечивают ОТСУТСТВИЕ ошибок разложения, нет и никогда не будет. Но классический алгоритм квадратурного демодулятора в цифровом исполнении всегда может обеспечить заданную точность (уровень вносимых шумов и продуктов нелинейностей).

4. Классический алгоритм квадратурной демодуляции может быть выполнен с заданной точностью в целочисленной арифметике.

Забыл добавить - при квадратурной демодуляции ВСЕГДА требуется фильтрация прямого или инверсного спетра исходного сигнала. Кстати, в вашем примере на нулевую частоту Вы сносите инверсный спектр.
Если Вам кто-то будет говорить, что расквадратуривание можно осуществить хитрой манипуляцией отсчетов и из знаков, то не верьте! В самом "идеальном" случае от таких манипуляций получатся так называемые "уши".
4xSH
Очень интересный вопрос Вы подняли однако. Может быть, посоветуете, что можно почитать по данному вопросу?

З.Ы.:
С более или менее подробным описанием столкнулся лишь в книге:
Побережский Е.С. - "Цифровые радиоприемные устройства."
729
Цитата(4xSH @ Jan 21 2008, 22:35) *
Очень интересный вопрос Вы подняли однако. Может быть, посоветуете, что можно почитать по данному вопросу?

З.Ы.:
С более или менее подробным описанием столкнулся лишь в книге:
Побережский Е.С. - "Цифровые радиоприемные устройства."

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

В случае, который описал автор темы, ситуация простая - фазовый сдвиг разложения возник не из-за точности получения отсчетов NCO (там АБСОЛЮТНАЯ точность), а из-за плохой фильтрации второго спектра после сноса полосы сигнала в ноль.
К сожалению, на практике такое случается довольно часто. И происходит это из-за неполного понимания процессов в DDC.
4xSH
Цитата(729 @ Jan 21 2008, 23:01) *
Почитать, напрмер, в описании DDC типа AD6620 от Analog Devices.
Но грамотного описания процессов в DDC я, если честно, так и не встретил.
Более-менее нормально описано у Романюка Ю.А. в "Основы цифровой обработки сигналов" в 1-ом томе.

Спасибо за ссылку на книжки...

DataSheet AD6620 давно уже является настольно книгой, т.к. часто использую этот DDC в своей работе. Меня же данный вопрос больше интересовал в плане возможностей реализации алгоритма работы DDC на конкретной ПЛИСки. А точнее применение различных квази квадратичных методов. Поясню…

В данный момент пришлось столкнуться с острой необходимостью реализации DDC + цифровой демодулятор на базе FLEX10KA. В виду ограниченных аппаратных возможностей данной ПЛИСки реализация полноценного DDC ИМХО практически не реальная задача. В поисках вариантов решения обратил внимание на методы описанные у Побережского в указанной мной книге, а так же метод описанный в статье:
Д.М.Пиза, Ю.Л.Мейстер – ”Цифровые методы формирования квадратурных составляющих в системах приема и обработки радиолокационных сигналов”(стр.79).

З.Ы.: Повторюсь, фактически приходится изобретать велосипед, тк "железна" часть к сожалению неприкосновенна. Меня интересуют возможные ”подводные камни”?
729
Цитата(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-ти разрядных входных данных.
А статью, которую Вы привели, лучше больше не читайте. Во-первых, в ней в корне неверен интерполяционный подход. Во-вторых, сама идея статьи только увеличивает затраты на обработку в конкретном случае накопления отсчетов, особенно если она делается на процессорах.
rsv
добалю своих пять копеек
абсолютно согласен с коллегами насчёт плохой фильтрации на выходе, я делал подобный проект на спартане е 500, и там на выходе был ФНЧ 30 порядка. однако, есть ещё один ньюанс: если на входе подобного устройства есть даже небольшое постоянное смещение, то возникает ещё и паразитная амплитудная модуляция. для решения этой проблемы я ставил на входе ещё и ППФ 20 порядка с центральной частотой в равной 1/4 частоты дискретизации
729
Цитата(rsv @ Feb 2 2008, 23:00) *
добалю своих пять копеек
абсолютно согласен с коллегами насчёт плохой фильтрации на выходе, я делал подобный проект на спартане е 500, и там на выходе был ФНЧ 30 порядка. однако, есть ещё один ньюанс: если на входе подобного устройства есть даже небольшое постоянное смещение, то возникает ещё и паразитная амплитудная модуляция. для решения этой проблемы я ставил на входе ещё и ППФ 20 порядка с центральной частотой в равной 1/4 частоты дискретизации

Если позволите, то немного уточню. Постоянка на входе АЦП это такой же в частотной области сигнал, как и все остальные. Если сигнал перенести на нулевую частоту путем умножения на комплексную экспоненту с частотой w0, то и постоянка переползёт на некоторую частоту, и она (переползшая постоянка) подлежит фильтрации так же, как и второй спектр. Какой-либо АМ тут быть не должно.
rsv
Цитата(729 @ Feb 3 2008, 01:24) *
Если позволите, то немного уточню. Постоянка на входе АЦП это такой же в частотной области сигнал, как и все остальные. Если сигнал перенести на нулевую частоту путем умножения на комплексную экспоненту с частотой w0, то и постоянка переползёт на некоторую частоту, и она (переползшая постоянка) подлежит фильтрации так же, как и второй спектр. Какой-либо АМ тут быть не должно.

конечно, Вы правы. в этом случае просто вылезает несущая на частоте 1/4 от тактовой и также фильтруется. Просто во время отладки во избежание возможных глюков мне хотелось иметь "идеальный" сигнал после всех каскадов устройства. вот и получилась такая схема. Из минусов - вфодной фильтр делается по полностью параллельной реализации, что увеличивает расход ресурсов кристалла, в вто время как на выходе стоят фильтры-дециматоры с последовательной реализацией. Однако, ресурсы кристалла мне позволили сделать так, как я сделал и я оставил всё в таком виде ради удобства отладки.
Михаил_K
Нифига не поянл, чего хотите. Оцифровать сигнал на ПЧ и расквадратурить?
Все делается просто как валенок!
Один сопособ.

1. Оцифровка должна быть произведена такой частоте, чтобы спектр сигнала не вылезал за границы половины и полной частоты дискретизации (теорема котельниокова).
2. Сигнал умножается на sin и cos, которые формируются на цифровом генераторе. Ошибки по фазе у них нет, соотвественно и неквадратурности тоже.
3. Снесенный в ноль сигнал фильтруется.

Второй способ.
1. Над оцифрованным сигналом проводится преобразование гильберта.
2. Сигнал на комплексном умножителе умножается на несучку и сносится в 0.
Фильтрация в данном случае уже не нужна.

Кстати, на счет не квадратурности. Вторым способом мы уже давно демодулируем сигналы QAM256 с отличным качеством, и если есть неквадратурность, то она составляет доли минут.
pimen
Цитата(Михаил_K @ Feb 29 2008, 14:29) *
Нифига не поянл, чего хотите. Оцифровать сигнал на ПЧ и расквадратурить?
Все делается просто как валенок!
Один сопособ.

1. Оцифровка должна быть произведена такой частоте, чтобы спектр сигнала не вылезал за границы половины и полной частоты дискретизации (теорема котельниокова).
2. Сигнал умножается на sin и cos, которые формируются на цифровом генераторе. Ошибки по фазе у них нет, соотвественно и неквадратурности тоже.
3. Снесенный в ноль сигнал фильтруется.

Второй способ.
1. Над оцифрованным сигналом проводится преобразование гильберта.
2. Сигнал на комплексном умножителе умножается на несучку и сносится в 0.
Фильтрация в данном случае уже не нужна.

Кстати, на счет не квадратурности. Вторым способом мы уже давно демодулируем сигналы QAM256 с отличным качеством, и если есть неквадратурность, то она составляет доли минут.


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

теорию я представляю
на практике пробовал моделировать с целыми числами в м-файлах матлаба, но не получилось
а книгу попробую найти
Михаил_K
Не очень знаком с FLEX10KA. Но могу сказать, что я для обеспечения требуемого качетсва использовал преобразователь Гильберта на 16 умножителях, т.е. 32 порядка. И еще, выше был разговор о смещении нуля АЦП. Вещь довольно неприятная, поэтому перед подачей сигнала на DDS или преобразователь гильберта от постоянной составляющей нужно избавляться, иначе можно получить много гадости.
petrov
Цитата(Михаил_K @ Feb 29 2008, 15:40) *
Не очень знаком с FLEX10KA. Но могу сказать, что я для обеспечения требуемого качетсва использовал преобразователь Гильберта на 16 умножителях, т.е. 32 порядка.


Для 32 порядка достаточно 8 умножителей, если взять АЧХ симметричной относительно pi/2, т. к. каждый второй отсчёт ИХ будет равен нулю.
Михаил_K
Цитата(petrov @ Feb 29 2008, 18:41) *
Для 32 порядка достаточно 8 умножителей, если взять АЧХ симметричной относительно pi/2, т. к. каждый второй отсчёт ИХ будет равен нулю.

Прошу прощения, Вы абсолютно правы, просто порядок в конце рабочего дня уже не правильно посчитал. wacko.gif Он равен 64.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.