|
|
 |
Ответов
|
Aug 23 2010, 07:01
|
Группа: Новичок
Сообщений: 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. неее...давайте 50$... 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) копируем мнимую часть, если преобразование у нас вещественное. Может и копировать есть смысл только вещественную чать?
|
|
|
|
|
Aug 24 2010, 04:49
|

Местный
  
Группа: Участник
Сообщений: 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.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|