Автор |
Сообщение |
|
Дата: 12 Сен 2007 17:02:33 · Поправил: Vladikavkaz (13 Сен 2007 09:39:06)
#
Добрый день.
Возможно ли получая I Q составляющие сигнала вычислить его частоту? Как?
Спасибо.
|
|
Дата: 12 Сен 2007 17:37:56
#
Vladikavkaz:
Возможно ли получая I Q составляющие сигнала...
А что такое "IQ составляющие сигнала"?
|
Реклама Google
|
|
|
Дата: 12 Сен 2007 17:46:19
#
Возможно ли получая I Q составляющие сигнала вычислить его частоту? Как?
SDR ?
Опишите подробней.,а то звучит так ,"слушая компакт диск могу ли я определить скорость врашения его?"
|
|
Дата: 12 Сен 2007 18:01:13 · Поправил: Vladikavkaz (12 Сен 2007 18:01:27)
#
semizador, комплексные составляющие сигнала
RadioKoteg, В программе получаю временные отсчеты со значениями I и Q. Возможно ли, наблюдая заданный интервал времени, вычислить частоту сигнала?
|
|
Дата: 12 Сен 2007 18:02:39
#
Что такое SDR ?
|
|
Дата: 12 Сен 2007 18:17:33
#
Что такое SDR ?
SDR - Software Defined Radio ,приемник прямого преобразования ,у их тоже есть I и Q по которым идет последующая обработка сигналов.
В общем от неполноты вопроса я с SDR спутал.
|
|
Дата: 12 Сен 2007 18:22:34
#
Vladikavkaz
Возможно (в цифре приближенно), но только мгновенную (в цифре условно мгновенную). Для этого надо вычислить производную от unwrap-нутого четырехквадрантного арктангенса (atan2) отношения Q/I.
Если нужно пояснить, что всё это значит, то спрашивайте.
|
|
Дата: 12 Сен 2007 18:33:58
#
Если нужно пояснить, что всё это значит, то спрашивайте.
:) нужно.
Не хватает знаний, подскажите, где посмотрть описания методов вычисления частоты.
|
|
Дата: 12 Сен 2007 19:21:46 · Поправил: 614 (12 Сен 2007 19:23:37)
#
Vladikavkaz
Тут не так сложно:
1. Мгновенная частота определена, как производная фазы (любая книга по радиотехнике). После получения квадратур I и Q (или комплексного сигнала I, Q) фаза равна atan2(Q,I) (atan2 - четырехквадрантный арктангенс отношения двух чисел, штатная функция, например в Borland C Builder), это из определения фазы комплексного числа - справочники по математике.
2. Unwrap-нутая фаза - это фаза без скачков на 2pi. Алгоритм unwrap очень простой. Сейчас по памяти точно не помню, попозже напишу его. Там анализируется разность двух соседних отсчетов фазы, и либо добавляется 2pi, либо вычитается 2pi (или pi, не помню сечас). Сам термин в импортной литературе устоявшийся. Ссылку сразу не дам, не помню. По-моему, где-то у Analog Devices есть.
3. Чтобы посчитать мгновенную частоту, надо взять призводную от фазы. В цифре точно посчитать производную нельзя - требуется фильтр с бесконечной импульсной характеристикой (поэтому я написал условно мгновенная частота - чтобы её оценить, нужен большой интервал наблюдения). Есть много приближенных формул расчета производных. Можно посмотреть в справочнике по математике Бронштейна и Семендяева в разделе численные методы. Из-за простоты очень популярна оценка производной в виде первой разности - y`(n)=y(n)-y(n-1). Но это очень грубая оценка (если не самая грубая), применение её часто приводит к большим недоразумениям. Литературы по численным методам много. Для начала можно посмотреть в упомянутом справочнике по математике.
Вроде всё. Если будут вопросы, то спрашивайте:)
|
|
Дата: 13 Сен 2007 09:31:31
#
Спасибо! Даже не ожидал такого развернутого ответа.
|
|
Дата: 13 Сен 2007 09:55:18
#
Vladikavkaz ;) Завидую вам по хорошему, а вообще абстрактные задачи не имеют нормального ответа.
Как вы собираетесь вычислять по указаному способу сигнал с двумя частотами? А с тремя? Что вы получите выполняя указаные выше дейстыия? Хорошо поставленый вопрос это почти гарантия правильного ответа, а так это просто типа поговорили.
|
|
Дата: 13 Сен 2007 11:06:54
#
Браво, 614-й!
|
|
Дата: 13 Сен 2007 14:05:11 · Поправил: 614 (13 Сен 2007 17:55:36)
#
Vladikavkaz
Алгоритм unwrap для фазы:
1. Переменные:
i - номера отсчетов;
pi=2.0*3.141592653589793; (=2pi)
Q[i], I[i] - квадратурный и синфазный (по-другому мнимый и
действительный) отсчеты сигнала;
dph - приращение фазы;
ph[i] - выходные отсчеты unwrap фазы;
temp[i] - промежуточная переменная.
2. Алгоритм:
temp[i]=atan2(Q[i],I[i]);
dph=temp[i]-temp[i-1];
if(dph>(pi/2))
{
dph=dph-pi;
}
else
{
if(dph<(-pi/2))
{
dph=dph+pi;
}
}
ph[i]=ph[i-1]+dph;
|
|
Дата: 24 Окт 2007 23:46:09
#
Mesh
А как Вы определите понятие частоты для двухчастотного сигнала? Например, для суммы двух синусов с частотами 2 Герца и sqrt(2) Герца (sqrt() - квадратный корень)?
|
|
Дата: 25 Окт 2007 09:30:10
#
614 А как Вы определите понятие частоты для двухчастотного сигнала? Вы у меня спрашиваете? Вообщето это я спрашивал, что будет делать Vladikavkaz с 'развернутым ответом' в этом случае. ;) И моё резюме ничего он не сделает, потому что вопрос абстрактен ссамого начала, и ответы такие же. ;) А правильный ответ на вопросВ программе получаю временные отсчеты со значениями I и Q. Возможно ли, наблюдая заданный интервал времени, вычислить частоту сигнала? очень простой, возможно, юзать надо ФФТ и не парить себе моск. ;)
|
|
Дата: 25 Окт 2007 15:00:07
#
Mesh
Для меня в вопросе ключевым словом было слово СИГНАЛ.
А как Вы с помощью FFT будете вычислять частоту СИГНАЛА я так и не понял:)
|
|
Дата: 04 Ноя 2007 03:49:37
#
Vladikavkaz
Определите пожалуйста какую частоту сигнала вы сибираетесь определять... Частоту дискретизации, частоту тактирования, или частоту поднесущей сигнала?
|
Реклама Google |
|