|
Цифровое квадратурное разложение, миф или реальность? |
|
|
|
Jan 17 2008, 17:24
|
Участник

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

|
Этот вопрос меня интересует уже несколько лет: Аналоговое или квадратурное разложение? на практике видел реализацию и того и другого, но склоняюсь к цифровому однако, алгоритма цифрового квадратурного разложения, не имеющего ошибку разложения по фазе или амплитуде не встречал.
Самый распространенный способ цифрового квадратурного разложения (цкр) - это оцифровка сигнала на частоте пч, равной 1/4 от частоты дискретизации ацп и применении коэфф. прореживания 1,0,-1,0 для одной, и 0,1,0,-1 для другой квадратуры. данный метод идеален для очень узкополосных сигналов, т.к при отстройке от частоты пч увеличивается фазовая ошибка разложения.
есть-ли алгоритмы, которые обеспечивают отсутствие ошибки разложения в широком диапазоне полос сигнала и применимые для целочисленной арифметики (отсчетов ацп)?
все моделирование проводил в матлабе в м-файлах, и пока не нашел того алгоритма, который-бы меня устроил
|
|
|
|
|
Jan 17 2008, 20:12
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(pimen @ Jan 17 2008, 20:24)  ...есть-ли алгоритмы, которые обеспечивают отсутствие ошибки разложения в широком диапазоне полос сигнала и применимые для целочисленной арифметики (отсчетов ацп)? Конечно есть  , возмите даташит на любой DDC (digital down converter) (например ad6620), там структурная схема и достаточное для понимания алгоритма описание.
--------------------
ну не художники мы...
|
|
|
|
|
Jan 18 2008, 00:47
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(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)  ... данный метод идеален для очень узкополосных сигналов, т.к при отстройке от частоты пч увеличивается фазовая ошибка разложения.
есть-ли алгоритмы, которые обеспечивают отсутствие ошибки разложения в широком диапазоне полос сигнала и применимые для целочисленной арифметики (отсчетов ацп)?
Да, есть. Это интерполяция "недостающих" отсчётов сигнала в квадратурных каналах, и искусственное "совмещение времени выборок", с использованием "смещённых во времени" коэффициентов фильтров-интерполяторов. Интерполирующие фильтры могут при таком подходе использоваться одновременно и в качестве канальных фильтров (например, типа приподнятого косинуса). Однако, для сигналов с полосой в мегагерц и выше, придётся применять мощный вычислитель (предпочтительнее - на ПЛИС).
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jan 18 2008, 10:19
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(pimen @ Jan 17 2008, 20:24)  ...данный метод идеален для очень узкополосных сигналов, т.к при отстройке от частоты пч увеличивается фазовая ошибка разложения... Скажите, пожалуйста, что Вы понимаете под "фазовой ошибкой разложения"?
|
|
|
|
|
Jan 18 2008, 11:56
|
Участник

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

|
Цитата(alex_os @ Jan 17 2008, 23:12)  Конечно есть  , возмите даташит на любой DDC (digital down converter) (например ad6620), там структурная схема и достаточное для понимания алгоритма описание. читал, может не нашел нужных слов. при численном моделировании обязательно возникала ошибка квадратурного разложения Цитата(729 @ Jan 18 2008, 13:19)  Скажите, пожалуйста, что Вы понимаете под "фазовой ошибкой разложения"? фазовая ошибка разложения : возникает в процессе разложения сигнала на квадратуры. в идеальном случае разница фаз сигналов всегда составляет 90 градусов (они ортогональны). однако при отстройке по частоте ортогональность нарушается, что и называется ошибкой разложения. ошибка увеличивается при отстройке по частоте и может достигать 45 градусов
|
|
|
|
|
Jan 18 2008, 13:58
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(pimen @ Jan 18 2008, 14:56)  фазовая ошибка разложения : возникает в процессе разложения сигнала на квадратуры. в идеальном случае разница фаз сигналов всегда составляет 90 градусов (они ортогональны). однако при отстройке по частоте ортогональность нарушается, что и называется ошибкой разложения. ошибка увеличивается при отстройке по частоте и может достигать 45 градусов Давайте по порядку. 1. Разница фаз каких сигналов в идеале составляет 90 градусов? 2. При отстройке по частоте чего от чего?
|
|
|
|
|
Jan 18 2008, 15:01
|
Участник

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

|
Цитата(729 @ Jan 18 2008, 16:58)  Давайте по порядку. 1. Разница фаз каких сигналов в идеале составляет 90 градусов? 2. При отстройке по частоте чего от чего? 1. если подать на вход синус, допустим на частоте 19 МГц и при частоте дискретизации 80МГц, то после квадратурного разложения при частоте ПЧ, равной 1/4 Fд мы получим синус и косинус (квадратуры) с частотой 1МГц. разница фаз которых и должна быть равна точно 90 гр 2. при отстройке входного сигнала от частоты ПЧ . для примера чуть выше - это значение составит 1МГц
|
|
|
|
|
Jan 18 2008, 15:40
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(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МГц) без всякой фазовой разбежки - голая тригонометрия. Откуда у Вас берется разбежка фаз? (Поправил сообщение).
Сообщение отредактировал 729 - Jan 18 2008, 15:45
|
|
|
|
|
Jan 18 2008, 15:44
|
Участник

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

|
Цитата(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)
|
|
|
|
|
Jan 18 2008, 15:56
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(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 раза, то есть берете каждый второй отсчет. Правильно я понял?
Сообщение отредактировал 729 - Jan 18 2008, 15:56
|
|
|
|
|
Jan 18 2008, 16:02
|
Участник

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

|
Цитата(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 отсчета Вы всё это слегка фильтруете- это и фильтрация и децимация одновременно все работает так...
|
|
|
|
|
Jan 18 2008, 16:14
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(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 градусов между действительной и мнимой частями во временной области.
|
|
|
|
|
Jan 18 2008, 16:15
|
Участник

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

|
Цитата(729 @ Jan 18 2008, 19:07)  Умножаем его на exp(j2pi*20/80*n) и умножение на 1,0,-1,0 для одной, и 0,1,0,-1 - это одно и тоже. А Вы спектр своего сигнала после децимации смотрели? да, конечно гармоника вблизи нуля и гармоника вблизи частоты дискретизации ну и шумы
Сообщение отредактировал pimen - Jan 18 2008, 16:15
|
|
|
|
|
Jan 18 2008, 16:21
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952

|
Цитата(pimen @ Jan 18 2008, 19:15)  да, конечно гармоника вблизи нуля и гармоника вблизи частоты дискретизации ну и шумы Вторая гармоника - это Вы недофильтровали то, что нужно было отфильтровать. Она и дает Вам фазовый сдвиг между квадратурами.
Сообщение отредактировал 729 - Jan 18 2008, 16:23
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|