Цитата(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