реклама на сайте
подробности

 
 
> Преобразование комплексного сигнала в вещественный
RadioWave
сообщение Nov 30 2006, 11:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 12-07-06
Пользователь №: 18 761



Подскажите, пожалуйста, быстрый алгоритм преобразования сигнала, представленного
в квадратурных комплексных отсчетах, в вещественный сигнал.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aa.veter
сообщение Aug 23 2010, 07:01
Сообщение #2





Группа: Новичок
Сообщений: 6
Регистрация: 23-08-10
Пользователь №: 59 060



Цитата(DRUID3 @ Apr 4 2009, 15:21) *
какой именно обработки? Выше указали их много...


я делал бы так.

есть n*I, n*Q временных отсчетов.

1) cFFT //получили n*I n*Q в частотной области

2) тупо сдвинули все частотные отсчеты в сторону положительных на 50 MHz. Имеем только положительные отсчеты спектра.

3) дополняем отрицательную часть спектра до 2*n элементов в соответствии с правилами спектра Фурье для действительных последовательностей. Вещественная ось четная симметрия([i]=[N-i]). Мнимая - нечетная симметрия([i]=-[N-i]), "0"-й и "N/2" отсчеты пусты т.е. "0"...

4) RealRFFT //обратное для действительных чисел.

получаем действительную временнУю последовательность для 2*n действительных отсчетов.

Этот блочный алгоритм вполне работоспособен для Real Time. smile.gif

неее...давайте 50$... biggrin.gif

P.S.: временнОй метод с преобразованием Гильберта тоже проканает, при отвратительном результате для "0"-й частоты. Просто мне частотные методы "ближе"...


Вижу, что теме уже год, но уж очень точно попало в мою задачу. Имею 2048 комплексных отсчетов (2048 I и 2048 Q). И так 95 раз в секунду. Что образует частоту дискретизации 196078 Гц. Нужно демодулировать амплитудный сигнал (AM USB) по частоте 1500 Гц (здесь я имею ввиду частоту относительно нулевой - по крайней мере я так понимаю). Здесь сигнал это картинка: наличие сигнала на 1500 Гц это черный пиксел, отсутствие - белый. В идеале получать где-нибудь 4000 пикселей в секунду.

Подойдет ли мне такая реализация? :

Хочу 1) использовать вышеописанный алгоритм преобразования комплексного сигнала в вещественный частотным сдвигом. 2) Далее наверно применять КИХ фильтр для выделения нужной частоты. 3) Затем разделить полученный за секунду вещественный отфильтрованный сигнал на 4000 кусков и каждый кусок сравнивать с прототипом минимальной амплитуды = если выше, то черный, если ниже, то белый.

to DRUID3: есть у меня сомнения, что я правильно понимаю, что такое четная и нечетная симметрия. Если есть массив a, то для четной симметрии в массив b надо записывать b[i] = a[N-i], а для нечетной b[i] = -a[N-i], правильно? и так до i < N/2?

Еще вопрос по RealFFT. Нашел реализацию сей функции по адресу http://algolist.manual.ru/maths/fft.php Там есть функция void RealFFT(real *ddata, ulong Len, int Dir). Здесь Dir означает направление преобразования. Мне же нужно обратное? (для преобразования из частотного представления в сигнал).

Вот, а зачем выше (перед RealFFT) копируем мнимую часть, если преобразование у нас вещественное. Может и копировать есть смысл только вещественную чать?
Go to the top of the page
 
+Quote Post
bahurin
сообщение Aug 24 2010, 04:49
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Цитата(aa.veter @ Aug 23 2010, 11:01) *
Вижу, что теме уже год, но уж очень точно попало в мою задачу. Имею 2048 комплексных отсчетов (2048 I и 2048 Q). И так 95 раз в секунду. Что образует частоту дискретизации 196078 Гц. Нужно демодулировать амплитудный сигнал (AM USB) по частоте 1500 Гц (здесь я имею ввиду частоту относительно нулевой - по крайней мере я так понимаю). Здесь сигнал это картинка: наличие сигнала на 1500 Гц это черный пиксел, отсутствие - белый. В идеале получать где-нибудь 4000 пикселей в секунду.

Подойдет ли мне такая реализация? :

Хочу 1) использовать вышеописанный алгоритм преобразования комплексного сигнала в вещественный частотным сдвигом. 2) Далее наверно применять КИХ фильтр для выделения нужной частоты. 3) Затем разделить полученный за секунду вещественный отфильтрованный сигнал на 4000 кусков и каждый кусок сравнивать с прототипом минимальной амплитуды = если выше, то черный, если ниже, то белый.


вы имеете квадратуры зачем вам для демодуляции назад вещественный сигнал? Сдвигайте ваш комплексный сигнал на 1500 Гц (т.е. в ноль) и выделяйте амплитудную огибающую

Есть z(t) = I(t)+j *Q(t) нужно сместить на 1500 Гц для этого умножаем на комплексную экспоненту получаем z0(t) = I0(t)+j*Q0(t) = z(t)*exp(-j*2*pi*f0*t), где f0 = 1500 Гц.
Теперь выделяем амплитудную огибающую: A(t) = sqrt(I0(t)^2 + Q0(t)^2). Все амплитудный демодулятор готов никаких фильтров не надо никаких fft.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- RadioWave   Преобразование комплексного сигнала в вещественный   Nov 30 2006, 11:57
- - subver   Цитата(RadioWave @ Nov 30 2006, 14:57) По...   Nov 30 2006, 13:42
|- - subver   Цитата(subver @ Nov 30 2006, 16:42) sqrt(...   Dec 1 2006, 05:52
- - _pegas_   Цитата(RadioWave @ Nov 30 2006, 11:57) По...   Nov 30 2006, 17:38
- - Pathfinder   Что значит вещественный сигнал? Если речь о полосо...   Dec 1 2006, 14:14
|- - _pegas_   Цитата(Pathfinder @ Dec 1 2006, 14:14) Чт...   Dec 2 2006, 01:48
- - 729   Цитата(RadioWave @ Nov 30 2006, 11:57) По...   Dec 2 2006, 14:54
|- - RadioWave   Цитата(729 @ Dec 2 2006, 14:54) Цитата(Ra...   Dec 5 2006, 10:07
- - RadioWave   В продолжение моей темы. Помогите, пожалуйста раз...   Dec 18 2006, 14:46
|- - =GM=   Цитата(RadioWave @ Dec 18 2006, 11:46) В ...   Dec 18 2006, 20:53
|- - SM   Цитата(RadioWave @ Dec 18 2006, 14:46) Те...   Dec 19 2006, 02:52
- - RadioWave   Может, я использую неправильно термины, поэтому по...   Dec 19 2006, 10:45
|- - SM   Цитата(RadioWave @ Dec 19 2006, 10:45) Мо...   Dec 19 2006, 19:43
- - Pathfinder   RadioWave, непонятно какую низкочастотную составля...   Dec 20 2006, 18:48
- - Ykidia   ЦитатаРаспространённый вариант получения квадратур...   Apr 3 2009, 14:50
|- - shf_05   Цитата(Ykidia @ Apr 3 2009, 20:50) Есть м...   Apr 4 2009, 07:20
|- - DRUID3   Цитата(Ykidia @ Apr 3 2009, 17:50) Есть м...   Apr 4 2009, 11:21
||- - =GM=   Цитата(DRUID3 @ Apr 4 2009, 10:21) тупо с...   Apr 6 2009, 17:24
|- - 729   Цитата(Ykidia @ Apr 3 2009, 18:50) Прошу ...   Apr 4 2009, 13:08
- - Ykidia   Цитатакакой именно обработки? Выше указали их мног...   Apr 6 2009, 01:32
|- - 729   Цитата(Ykidia @ Apr 6 2009, 05:32) 729 И...   Apr 6 2009, 15:23
- - Ykidia   Поясните, пожалуйста, подробнее, если можно.   Apr 6 2009, 15:22
- - leksa   Пример в помощь (обсуждаемый алгоритм на языке м...   Apr 6 2009, 18:58
- - qxov   Не вполне понятно, зачем это нужно. Быть может, бо...   Apr 7 2009, 06:46
|- - Serg76   Цитата(qxov @ Apr 7 2009, 10:46) Не вполн...   Apr 8 2009, 16:52
- - Ykidia   С комплексными числами работаю при отображении спе...   Apr 8 2009, 15:59
|- - DRUID3   Цитата(=GM= @ Apr 6 2009, 20:24) Не имеем...   Apr 8 2009, 16:06
|- - qxov   Цитата(Ykidia @ Apr 8 2009, 19:59) С комп...   Apr 9 2009, 07:05
- - Ykidia   Цитатавсе верно Вы поняли... Я про вышеописанное: ...   Apr 8 2009, 16:28
|- - DRUID3   Цитата(Ykidia @ Apr 8 2009, 19:28) Я про ...   Apr 8 2009, 17:08
|- - Serg76   Цитата(DRUID3 @ Apr 8 2009, 21:08) ...ког...   Apr 8 2009, 17:20
|- - DRUID3   Цитата(Serg76 @ Apr 8 2009, 20:20) Я сказ...   Apr 8 2009, 17:21
- - Ykidia   ЦитатаНужно думать не про байты, а про принцип Про...   Apr 8 2009, 18:10
|- - 729   Цитата(Ykidia @ Apr 8 2009, 22:10) .....,...   Apr 8 2009, 18:36
|- - DRUID3   Цитата(Ykidia @ Apr 8 2009, 21:10) АЦП оц...   Apr 8 2009, 20:09
|- - leksa   Цитата(Ykidia @ Apr 8 2009, 22:10) Про ба...   Apr 8 2009, 22:26
- - Ykidia   729 leksa DRUID3 За терпение и подробные объяснени...   Apr 9 2009, 12:30
|- - leksa   Цитата(Ykidia @ Apr 9 2009, 16:30) Что за...   Apr 9 2009, 15:30
- - otshelnik86   красивые картинки   Apr 9 2009, 17:35
- - Ykidia   Круто. Все понятно, дальше некуда. Большое спасибо...   Apr 14 2009, 11:02
- - pirri   i'm not sure that my question matches this top...   Sep 9 2009, 09:19
- - hobgoblin   Можно еще применить алгоритм CORDIC в режиме вычис...   Aug 24 2010, 10:56
- - aa.veter   Цитата(bahurin @ Aug 24 2010, 08:49) вы и...   Aug 24 2010, 13:46
|- - hobgoblin   Цитата(aa.veter @ Aug 24 2010, 17:46) что...   Aug 26 2010, 07:13
- - aa.veter   похоже, амплитуда сдвинутого сигнала равна амплиту...   Aug 25 2010, 15:03
- - aa.veter   В общем после сдвига сигнала фильтрую лишние часто...   Aug 26 2010, 13:18
- - aa.veter   Еще: почему мне все-таки приходится фильтровать? я...   Aug 27 2010, 13:35


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 15:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01439 секунд с 7
ELECTRONIX ©2004-2016