|
|
 |
Ответов
|
Apr 8 2009, 18:10
|
Частый гость
 
Группа: Свой
Сообщений: 80
Регистрация: 3-08-06
Пользователь №: 19 287

|
Цитата Нужно думать не про байты, а про принцип Про байты я говорил для внесения однозначности  Цитата Но двигать то надо на Fs/2. Потому откуда там у него "0"-ли я тоже не догнал. Мож он перепутал со случаем когда частота дискретизации в 4-е раза выше макимальной частоты сигнала? АЦП оцифровывает на частоте 200 МГц (Fs), т.е. имеем спектр от 0 до 100 МГц (Fs/2). Далее оцифрованный сигнал прогоняется через DDC, где все добро сдвигается на -50 МГц (-Fs/4), делается еще кое-какая обработка, так что имеем спектр от -50 до 50 МГц. Комплексные отсчеты выдаются уже в PC, где через драйвер приложение получает эти комплексные данные в виде I1,Q1,I2,Q2,I3,Q3..., разрядность каждого I и Q - 16 бит, вместе они составляют 32 бита (а на старой плате АЦП были вещественные отсчеты 16 бит). Приложение, кроме всего прочего, рисует осциллоскоп и спектр. Со спектром все легко - отFFTил полученные данные, вычислил power на каждую полосу и нарисовал. С осциллоскопом аналогично, в принципе сейчас одним цветом рисуется вещественная часть, а другим - мнимая. Но это временная "затычка", хочется отображать полноценный вещественный сигнал, восстановленный из комплексного. Для этого нужно сдвинуть спектр сигнала обратно на +50 МГц (Fs/4) и отфильтровать. Хорошо, положим на байты, они и в самом деле не при чем, будем считать элементами по 16 бит. Возьмем 8 отсчетов. Как я понял из объяснений выше: - имеем 16 элементов: I0, Q0, I1, Q1, I2, Q2, I3, Q3, I4, Q4, I5, Q5, I6, Q6, I7, Q7; - искусственно повышаем частоту дискретизации: I0, Q0, 0, 0, I1, Q1, 0, 0, I2, Q2, 0, 0, I3, Q3, 0, 0, I4, Q4, 0, 0, I5, Q5, 0, 0, I6, Q6, 0, 0, I7, Q7, 0, 0; - далее что-то делаем (умножаем на комплексную экспоненту) и получаем итого тоже 16 элементов: R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15; - а по описанному выше - итого лишь 8 элементов? R0=I0, R1=-Q1, R2=-I2, R3=Q3, R4=I4, R5=-Q5, R6=-I6, R7=Q7. Поясните, пожалуйста, где противоречие. Понимаю, что надоел уже своей тупизной, но подробно спросить мне вроде как не у кого - в компании либо все заняты, либо только один человек может объяснить, но не адаптированно для идиотов (т.е. для меня), а на языке, предполагающим мои некоторые знания, которых у меня нет :D
|
|
|
|
|
Apr 8 2009, 22:26
|
Участник

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

|
Цитата(Ykidia @ Apr 8 2009, 22:10)  Про байты я говорил для внесения однозначности  АЦП оцифровывает на частоте 200 МГц (Fs), т.е. имеем спектр от 0 до 100 МГц (Fs/2). Далее оцифрованный сигнал прогоняется через DDC, где все добро сдвигается на -50 МГц (-Fs/4), делается еще кое-какая обработка, так что имеем спектр от -50 до 50 МГц. Комплексные отсчеты выдаются уже в PC, где через драйвер приложение получает эти комплексные данные в виде I1,Q1,I2,Q2,I3,Q3..., разрядность каждого I и Q - 16 бит, вместе они составляют 32 бита (а на старой плате АЦП были вещественные отсчеты 16 бит). Приложение, кроме всего прочего, рисует осциллоскоп и спектр. Со спектром все легко - отFFTил полученные данные, вычислил power на каждую полосу и нарисовал. С осциллоскопом аналогично, в принципе сейчас одним цветом рисуется вещественная часть, а другим - мнимая. Но это временная "затычка", хочется отображать полноценный вещественный сигнал, восстановленный из комплексного. Для этого нужно сдвинуть спектр сигнала обратно на +50 МГц (Fs/4) и отфильтровать. Хорошо, положим на байты, они и в самом деле не при чем, будем считать элементами по 16 бит. Возьмем 8 отсчетов. Как я понял из объяснений выше: - имеем 16 элементов: I0, Q0, I1, Q1, I2, Q2, I3, Q3, I4, Q4, I5, Q5, I6, Q6, I7, Q7; - искусственно повышаем частоту дискретизации: I0, Q0, 0, 0, I1, Q1, 0, 0, I2, Q2, 0, 0, I3, Q3, 0, 0, I4, Q4, 0, 0, I5, Q5, 0, 0, I6, Q6, 0, 0, I7, Q7, 0, 0; - далее что-то делаем (умножаем на комплексную экспоненту) и получаем итого тоже 16 элементов: R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15; - а по описанному выше - итого лишь 8 элементов? R0=I0, R1=-Q1, R2=-I2, R3=Q3, R4=I4, R5=-Q5, R6=-I6, R7=Q7. Поясните, пожалуйста, где противоречие. Понимаю, что надоел уже своей тупизной, но подробно спросить мне вроде как не у кого - в компании либо все заняты, либо только один человек может объяснить, но не адаптированно для идиотов (т.е. для меня), а на языке, предполагающим мои некоторые знания, которых у меня нет :D Извините, наверно я в своем предыдущем посте вас запутал. Когда я писал про комплексный сигнал I+jQ, я говорил о сигнале после добавления нулей и фильтрации, как вам 729 уже пояснил. Смотрите предыдущий пост 729, лучше не объяснить: Цитата .. и получаем уже другую нумерацию отсчетов - их уже 16 комплексных. Вот из них-то и получаются R-итые. То есть: I0, Q0, 0, 0, I1, Q1, 0, 0, I2, Q2, 0, 0, I3, Q3, 0, 0, I4, Q4, 0, 0, I5, Q5, 0, 0, I6, Q6, 0, 0, I7, Q7, 0, 0; после фильтрации превращается в некую i0, q0, i1, q1, i2, q2, ..., i14, q14, i15, q15. После умножения на (новую) Fs/4 получим: R0=i0, R1=-q1, R2=-i2, R3=q3, R4=i4, R5=-q5, R6=-i6, R7=q7, ... Вот и ответ на вопрос про число байтов там и там - число байтов не изменится (Вы же информацию не потеряли и новой не добавили, с чего им измениться). Еще можете посмотреть приведенный мной выше пример, даже если на матлабе не пишете, его можно читать просто как псевдокод, чтобы понять, как это работает. Немного "веселых картинок" на тему: спектр исходного комплексного сигнала:
спектр сигнала после вставки нулей, до фильтрации
спектр сигнала после фильтрации
спектр после умножения на экспоненту и взятия реальной части
и что будет, если частоту дискретизации не повышать (нули то есть не вставлять, не фильтровать), а просто перейти к реальному сигналу (то есть умножить на экспоненту и взять реальную часть)
Цитата Никакого принудительного повышения частоты "0"-ми не должно быть. Просто I и Q отсчеты должны идти по 2-а одинаковых значения подряд - ведь такой сигнал продецимированный обратно в любом порядке должен остаЦЦо прежним. Мы не меняем форму его спектра(функцию) а лишь сужаем его(уменьшаем скорость изменения функции относительно частоты дискретизации) Если я правильно понял, то вы предлагаете из сигнала типа [i1 i2 i3 i4...] сделать сигнал [i1 i1 i2 i2 i3 i3 i4 i4...], как альтернативу вставки нулей? Но такая операция это тоже самое, что и вставить нули, а потом пропустить через КИХ ФНЧ с ИХ равной h=[1 1]. Но у такого фильтра очень плохая АЧХ. Вот как будет выглядеть спектр после фильтрации этим фильтром
потом все что видно по бокам завернется в полосу полезного сигнала при переходе к реальному сигналу. Для комплексного сигнала из двух синусов
получится реальный сигнал с еще двумя "завернувшимися" синусами
с уважением, leksa
Сообщение отредактировал leksa - Apr 8 2009, 22:30
--------------------
A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away (Antoine de Saint-Exupery)
|
|
|
|
Сообщений в этой теме
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 729 Цитата(Ykidia @ Apr 8 2009, 22:10) .....,... Apr 8 2009, 18:36 DRUID3 Цитата(Ykidia @ Apr 8 2009, 21:10) АЦП оц... Apr 8 2009, 20:09 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 aa.veter Цитата(DRUID3 @ Apr 4 2009, 15:21) какой ... Aug 23 2010, 07:01 bahurin Цитата(aa.veter @ Aug 23 2010, 11:01) Виж... Aug 24 2010, 04:49 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
|
|
|