| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| определяне на фазова разлика ..... http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=3170 |
Страница 1 от 1 |
| Автор: | ToHu [ Нед Окт 29, 2006 6:42 pm ] |
| Заглавие: | определяне на фазова разлика ..... |
Знаи, в момента ползвам FFT но той е оптимизиран точно за тая цел, при което семплирането се прави с 4/3 F, но пък самия алгоритъм не е много точен. Гледам различни FFT алгоритми, но нещо не мога да вдяна, досега съм ползвал ето това http://alglib.sources.ru/fft/ като за РС, но не ми се е налагало да определям фазово отместване а само честтотен спектър. Тая библиотека ми дава или честотно разпределение или ми възстановява сигнала, но как обаче се смята фазово отместване, за сведение само сигнала е cosin функция. По дебелите книги пише artang(Im/Re), но това не ми дава тея стойности ..... естествено това съм го чел толкова отдавна че нищо не ми еостанало в главата, няма да откажа малко свежи идеи. |
|
| Автор: | zaphod [ Нед Окт 29, 2006 11:16 pm ] |
| Заглавие: | |
това дето го пише в дебелите книги е така, atan(Y/X) ти дава фазата. Y е интеграл на сигнала умножен по sin(w*t), Х е интеграл на сигнала умножен по cos(w*t). ако сигнала ти е само cos, както твърдиш, фазата ти е 0, понеже У ще излезе 0. имай предвид, че в съседните канали ще получиш сигнал, който е с фазова модулация, тоест в зависимост от момента време, ще дава различни стойности. предполагам, сигнала ти няма да съвпадне по честота с никой от каналите на спектъра, така че нито един канал няма да отразява вярно фазата му. въобще, най-добре кажи какво се мъчиш да правиш. |
|
| Автор: | ToHu [ Нед Окт 29, 2006 11:39 pm ] |
| Заглавие: | |
Ами това е все за далекомера, оригиналния алоритъм позлва този начин за намиране на фзовата разлика м-у излъчения и приетия сигнал, но там изпозлват някакво оптимизирано фурие което семплира на 4/3 от честотта на носещия сигнал. В момент аиам възможност да семплирам на по висока честота, това ще подобри и точноста на корелация. Тъй като сметката ще се прави на РС а не в контролера имам възможност да ползвам и не толкова оптимизирано фурие. Идеята е да си сметна тази фазова ралика, за да се повиши точноста на измерване, т.е. да влезе под това кеото дава корелацията. Та корелацията ми дава моента в който имам съвпадение, това е точно ехото което ми трябва. Като знам къде се намира като отети вземма времеви интервал от двете страни на точката в която имам корелация, по 32 от двете страни. Така към фурието подавам основно ехото. От там нататък ледва да определя каква е фазовата разлика, и най-накрая да я компенсирам според това от кой отчет съм почнал фурието. Та .... намерих една статийка по въпроса, по скоро дискусия http://www.dsprelated.com/showmessage/62741/1.php а по специално това : phi2-ph1 = sgn( Im )*pi/2 - arctan(Re/Im) where Re = mean{ x1(t)*x2(t) } and Im = -mean{ x1'(t)*x2(t) } кудето х1 е еталонна честота, това в случай че се сравняват две честоти. |
|
| Автор: | zaphod [ Пон Окт 30, 2006 9:30 am ] |
| Заглавие: | |
а, ясно. според мене, самата идея за фурие е лоша. в случая е ясно че върнатия сигнал е с честотата на предавания, така че защо ти е спектър? проектирай сигнала само върху носещата (предполагам не спираш генератора), демек интегрирай произведението по носещата и по дефазираната на 90 градуса носеща. произведението по носещата ти е реалната част, по дефазираната носеща ти е имагинерната част. все едно правиш фурие, но само за един канал - носещата. иначе, както ти казах, приемания сигнал ще се окаже между два канала на фурието, и ще стане така че и двата ще ти показват глупости. |
|
| Автор: | ToHu [ Вто Окт 31, 2006 9:55 am ] |
| Заглавие: | |
Да, това което предлагаш е подобно, да не кажа същото на линка който съм дал, наистина това е по добрия вариант ми се струва. А фурието, защото така беше направен оригиналният алгоритъм, те го използват за да намерят фазата но това няма някакво особенно значение, въпросът е да има резултат. Ще го пробвам това, то аз почнах д го пробвам, ама нещо се отвлякох с други неща |
|
| Автор: | Syrius-B [ Вто Окт 31, 2006 12:05 pm ] |
| Заглавие: | |
Честотен анализ ти е нужен, само ако ще отчиташ бързи движения на обекта, който отразява сигнала. Ако те интересува само разстоянието - напълно достатъчно е амплитудния анализ. Има и други "номера" в акустиката - но ... всъщност пътя зависи от това, "къде искаш да отидеш". Така и не се разбра, какво точно правиш (сигурно е тайна |
|
| Автор: | ToHu [ Вто Ное 07, 2006 1:18 am ] |
| Заглавие: | |
Ами знчи с фазовтаа ралика се орпавих, мерси за съветите. А относно това какво равя, не е тйана, няколк ъпъти споменах, далекомер, трбяв ад амери разстоянието до лицето, и от там идва такава грешка че и без температурна компнесация да е пак няма да разберът,обаче възложителя си държи на точност и ше му я дам щом иска |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|