|
|
  |
Определение амплитуды и фазы сигнала, Алгоритм Герцеля - практическая реализация. |
|
|
|
Oct 27 2014, 17:34
|
Знающий
   
Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454

|
Примеров применения в сети достаточнонапример здесь: http://www.dsplib.ru/content/goertzel/goertzel.htmlИ как как всегда абстрактно: Цитата Пусть N=8, исходный сигнал s(n) показан на рисунке 3. Рассчитаем при помощи алгоритма Герцеля спектральный отсчет S(k) с номером k=1. Мне нужно определить ампдитуду и фазу сигнала от датчика. Датчик будет запитываться одной частотой в диапазоне от 4 до 20 кГц. Сигнал с него имеет длительность до 300 миллисекунд. Я рассчитываю обрабатывать сигнал частями по 10..20 миллисекунд. АЦП 12 разрядов. Например я хочу определить фазу с точностью до 5 градусов, (точность амплитуды пока опустим). Первый вопрос - какую частоту оцифровки сигнала выбрать? Второй вопрос - по сколько отсчетов брать в работу?
|
|
|
|
|
Oct 27 2014, 18:10
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(misyachniy @ Oct 27 2014, 20:34)  АЦП 12 разрядов. Например я хочу определить фазу с точностью до 5 градусов, (точность амплитуды пока опустим). Первый вопрос - какую частоту оцифровки сигнала выбрать? Второй вопрос - по сколько отсчетов брать в работу? Поскольку вам никто не отвечает, попробую я, хотя и не поручусь за точность ответа. Считаю так. 5 градусов - это 1/72-часть от полного оборота. Значит порядок величины будет таков, чтобы период интересующей вас частоты (той самой, к которой собрались применять алгоритм Герцеля) был представлен 72-мя точками в массиве. Впрочем, если посмотреть на ситуацию более оптимистично, то хватит и половины - 36 точек на период (т.к. обе половины периода симметричны). А дальше уж сами решайте, с какой частотой вам снимать данные и как долго их накапливать в массиве, чтобы обеспечить данное условие. Но по грубой прикидке частота оцифровки должна в 36 раз превышать частоту измеряемого сигнала, а массив достаточной длины, чтобы в него проместился хотя бы один ее полный период.
|
|
|
|
|
Oct 27 2014, 18:57
|
ʕʘ̅͜ʘ̅ʔ
    
Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691

|
Частота отсчетов любая, удовлетворяющая критерию Найквиста. Но самое простое для ваших измерений и вычислений - взять частоту отсчетов ровно в 4 раза превышающую частоту измеряемого сигнала. Чем больше периодов измеряемого сигнала вы накопите в согл. фильтре, тем лучше. Естественно, специально накапливать отсчеты в массиве смысла нет. Простые вычисления делаются по мере поступления отсчетов. Цитата(misyachniy @ Oct 27 2014, 18:34)  Первый вопрос - какую частоту оцифровки сигнала выбрать? Второй вопрос - по сколько отсчетов брать в работу?
|
|
|
|
|
Oct 28 2014, 16:19
|
Знающий
   
Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454

|
Цитата(Fat Robot @ Oct 27 2014, 20:57)  Частота отсчетов любая, удовлетворяющая критерию Найквиста. Но самое простое для ваших измерений и вычислений - взять частоту отсчетов ровно в 4 раза превышающую частоту измеряемого сигнала.
Чем больше периодов измеряемого сигнала вы накопите в согл. фильтре, тем лучше.
Естественно, специально накапливать отсчеты в массиве смысла нет. Простые вычисления делаются по мере поступления отсчетов. Сигнал не постоянный а импульсный , изменяющийся. На рисунке приведен сигнал с синхронного детектора. Собственно синхронный детектор исключается из схемы. На сколько я понимаю, максимальные значения амплитуды и фазы будет зависеть от количества выборок которые предполагается обрабатывать за один раз. Значения будут размазываться. Пусть частота выборки будет в 4 раза выше частоты сигнала. Тогда меня интересует отсчет номер 1 , если считать от 0? Нужно ли мне сбрасывать фильтр в 0, или можно непрерывно вычислять значение амплитуды и фазы, усредняя значение с выхода фильтра по своему усмотрению?
Эскизы прикрепленных изображений
|
|
|
|
|
Oct 29 2014, 09:14
|
ʕʘ̅͜ʘ̅ʔ
    
Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691

|
Я понял почти все слова по-отдельности, но совсем не понял ваших вопросов. Какая структурная схема вашего оценивателя? В каких точках получены зависимости? Чем они вас не устраивают? Задача-то, в общем, не слишком сложная, как я понял: есть датчик, на него подается сигнал с определенной известной частотой. Датчик (например, пусть это будет колебательный контур) в зависимости от внешних воздействий меняет амплитуду и фазу сигнала, которые мы хотим оценить. Сама частота на время оценивания считается постоянной и известной. Цитата(misyachniy @ Oct 28 2014, 17:19)  Значения будут размазываться.
усредняя значение с выхода фильтра
|
|
|
|
|
Oct 29 2014, 17:54
|
Знающий
   
Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454

|
Цитата(SM @ Oct 29 2014, 08:26)  А что вообще подразумевается под фазой и амплитудой для этого (явно негармонического) сигнала? На верхнем графике сигналы после синхронного детектора. на них видно как меняется амплитуда и фаза отклика от детектируемого объекта. Я хочу исключить синхронный детектор и обрабатывать "сырой" сигнал который заходит на синхронный детектор.
|
|
|
|
|
Oct 29 2014, 18:09
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(misyachniy @ Oct 29 2014, 20:54)  На верхнем графике сигналы после синхронного детектора. А до синхронного детектора что? Синусоидальный сигнал? Если да, Вы можете засинхронизировать частоту дискретизации с частотой сигнала? Насчет кол-ва выборок, обрабатываемых за 1 раз - чем больше, тем лучше - тем выше сигнал/шум. Насчет "отсчета №1" - это мне не понятно, о чем вообще. По сути, у Вас коррелятор с exp(jwt), где w равна частоте входного сигнала. Отсчетов у него нет - накопили результат за какое-то время, и нашли его аргумент и модуль - фазу и амплитуду. И все. А как считать эту корреляцию - алгоритмом Герцеля, или прямо в лоб, это вопрос уже тридесятый, результат то один.
|
|
|
|
|
Oct 29 2014, 18:21
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(misyachniy @ Oct 29 2014, 21:12)  Засинхронизировать можно. но будет присутсвовать флуктуация фона как по амплитуде так и по фазе. Это не страшно, чем больше время наблюдение (и накопления в фильтре), тем меньше влияние этих флуктуаций - они, ведь, по сути, шум. Но все это на грани телепатии. Вы, все таки, вопрос то понятно задайте.
|
|
|
|
Guest_TSerg_*
|
Oct 30 2014, 06:21
|
Guests

|
Цитата(Fat Robot @ Oct 29 2014, 12:14)  Я понял почти все слова по-отдельности, но совсем не понял ваших вопросов. Аналогично. Если сигнал является затухающей гармоникой, то, вероятно лучше, делать оценку сдвига фазы от опорной синусоиды по двум первым минимаксам амплитуды.
|
|
|
|
|
Nov 2 2014, 11:37
|
ʕʘ̅͜ʘ̅ʔ
    
Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691

|
Подаете сигнал на квадратурный преобразователь. В качестве опоры - ваша известная частота в 10 кГц. Если вы можете управлять частотой отсчетов, то для упрощения работы смесителей см. мой предыдущий пост в этой ветке. Фильтры после смесителей подбираете исходя из компромиса: точность измерений (шум на выходе), частота выдачи некоррелированных измерений, временной интервал, на котором амплитуду и фазу можно считать постоянной. Преобразуете квадратурные отсчеты с выхода фильтров в полярные координаты. Ничего нового. Цитата(misyachniy @ Nov 2 2014, 09:32)  Амплитуда и фазовый сдвиг в начале нарастает а затем спадает.
|
|
|
|
|
Nov 5 2014, 08:42
|
Местный
  
Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639

|
Цитата(misyachniy @ Nov 4 2014, 19:03)  Понятно. Толку от темы никакой. Можно модератору удалить полностью. Не надо горячиться. Товарищи сверху правильно написали: в вашем случае, вам и только ВАМ самим нужно чётко понять, что вы понимаете под фазой и амплитудой вашего апериодического сигнала. Например, как я вижу по вашей картинке, по вашему "псевдогароническому" импульсу можно получить спектр на выбранном вами интервале, естественно соблюдая теорему Котельникова. И считать, что фаза и амплитуда имплуьса есть амплитуда и фаза первой гармоники в спектре, которая превышает заданный уровень. В вашем случае это будет физически осмысленно: у вас в спектре будет одна здоровая НЧ-гармоника и кучка более высокочастотных и фаза этой здоровой гармоники будет показывать с какого момента начался ваш импульс (поскольку при малых по сравнению с длительностью вашего импульса t он будет почти совпадать с этой гармоникой). P.S. Кстати, я не прав: теорему Котельникова в вашем случае можно и не соблюдать, т.к. вас интересует только НЧ-часть спектра. А вот пр.Гёрцеля вам не поможет: вы, я так понял, заранее не знаете "период" вашего сигнала, а занчит не знаете где расположена максимальная гармоника. А ПГ, если мне не изменяет память (а искать лень) при более чем двух отсчётах спектра уже проигрывает по производительности БПФ.
Сообщение отредактировал Kluwert - Nov 5 2014, 08:48
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|