Перейти к содержанию
    

blackfin

Свой
  • Постов

    4 156
  • Зарегистрирован

  • Победитель дней

    4

Весь контент blackfin


  1. Вероятно, там не только ключи и усилители. Там могут быть еще и аналоговые фазовращатели (что-то типа ADAR1000). Получается "гибридная" АФАР: hybrid-beamforming-receiver-dynamic-range.pdf
  2. Статья по теме: System-Level-LO-Phase-Noise-Model-for-Phased-Arrays-with-Distributed-Phase-Locked-Loops.pdf
  3. Если вопрос в терминологии, то да, можно назвать их "когерентными". Вики: Wiki:
  4. Сделать таблицу на 56 строк (если кол-во единиц равно 3) и обращаться к ней по случайному адресу.
  5. Вышла книга: Software Defined Radio with Zynq UltraScale+ RFSoC Кто-нибудь может скачать и поделиться?
  6. 1. Сделать два различных "include" файла inc1.h и inc2.h: inc1.h `define A ... inc2.h `define B ... 2. Подключать в проект либо первый, либо второй inc*.h файл с помощью опции: См: UG901, стр 18. PS. И есть ещё такой способ:
  7. Стандартный подход основан на использовании Polyphase Decomposition: \(H(z)=\frac{1-z^{-1}}{1-K\cdot z^{-1}}=\frac{(1-z^{-1})\cdot(1+K\cdot z^{-1})}{1-K^2\cdot z^{-2}}=\frac{1-z^{-1}+K\cdot z^{-1}-K\cdot z^{-2}}{1-K^2\cdot z^{-2}}=\) \(=\frac{1-K\cdot z^{-2}-(1-K)\cdot z^{-1}}{1-K^2\cdot z^{-2}}=\frac{1-K\cdot z^{-2}}{1-K^2\cdot z^{-2}}-\frac{1-K}{1-K^2\cdot z^{-2}}\cdot z^{-1}=H_1(z^2)-H_2(z^2)\cdot z^{-1}\) Семплы на выходе обоих фильтров \(H_1(z^2)\) и \(H_2(z^2)\) вычисляются не в каждом такте, а только в четных тактах клока.
  8. Тогда начните с классики.. :) Эту тему обсуждают на форуме уже больше 13 лет:
  9. Не только дискретизация вносит ошибку в измерение фазы. Аналоговый фильтр (так же как и цифровой) с помощью которого делают преобразование Гильберта имеет очень длинную импульсную характеристику. Поэтому и переходной процесс в этом фильтре тоже будет длинным. Но переходной процесс в фильтре будет вносить искажения в полученный комплексный сигнал, если сам сигнал изменяется быстрее, чем закончился переходной процесс. Как следствие, для сигналов с быстро меняющейся частотой возникнет ошибка в измерении фазы в полученном аналитическом сигнале.
  10. Ну, если всё знаете, то давайте точную численную оценку для величины ошибки измерения частоты вашим методом.. :) Параметры сигнала у вас есть. ТС их уже неоднократно озвучил..
  11. Вникал.. А вот вы, похоже, так и не вникли.. :) И фаза ему не нужна. Это ваши очередные фантазии. Ему нужна частота:
  12. Вы, похоже, не очень-то внимательно прочитали все пожелания ТС'а: Как быстро? Думаю, можно считать, что быстро. За 1 период частоты основной гармоники запросто. Думаю, это можно считать быстро. А теперь представьте себе "гармонический" сигнал на интервале одна(!) секунда у которого частота изменяется 200 раз за эту секунду, причем, по случайному закону в пределах от 10 Гц до 400 Гц. Смогут ли все эти ваши алгоритмы (ФАПЧ и прочие Фурье с Гильбертами) вычислить все эти двести(!) различных частот основной "гармоники"..? :)
  13. Не факт.. "Дьявол прячется в деталях..": Так что формально, первый может получать и "500 000 руб. до вычета налогов".. :)
  14. В инструкции на любой измерительный прибор указана точность, с которой этот прибор измеряет физическую величину. Ошибка измерения может быть как со знаком плюс, так и со знаком минус. Мы выбираем знак ошибки для наихудшего сценария. Так мы получим верхнюю оценку точности нашего измерителя.
  15. Можно прикинуть ошибку измерения, при условии что: Пусть измеренные значения гармонического сигнала \(S(t)=A\cdot\sin(\omega t+\varphi)\) в точках \(t_1,t_2,t_3\) равны: \(\\ S_1'=S_1+\delta_1, \\ S_2'=S_2+\delta_2, \\ S_3'=S_3+\delta_3, \) где: \(S_1,S_2,S_3\) - точные значения сигнала, а \(\delta_1,\delta_2,\delta_3\) - включают в себя шумы, нелинейные искажения и погрешности измерительного прибора. Тогда измеренная по трем точкам частота сигнала равна: \(F+\delta F = \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+\delta_1+S_3+\delta_3}{2S_2+2\delta_2}\big]\) где: \(\Delta t=t_3-t_2=t_2-t_1\) Выберем момент времени \(t_2\) таким, что: \(|\delta_1|<< |S_2|,|\delta_2|<< |S_2|,|\delta_3|<<|S_2|\). Тогда находим: \(\\ F+\delta F = \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+\delta_1+S_3+\delta_3}{2S_2\cdot(1+\frac{\delta_2}{S_2})}\big] \approx \\ \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+\delta_1+S_3+\delta_3}{2S_2}\cdot(1-\frac{\delta_2}{S_2})\big] = \\ = \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[(\frac{S_1+S_3}{2S_2}+\frac{\delta_1+\delta_3}{2S_2})\cdot(1-\frac{\delta_2}{S_2})\big] \approx \\ \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{\delta_1+\delta_3}{2S_2} - \frac{S_1+S_3}{2S_2}\cdot\frac{\delta_2}{S_2}\big]\\ \) Рассмотрим наихудший случай, когда все три погрешности суммируются с одинаковым знаком. Полагая: \(\delta_1 = \delta_3=\delta\) и \(\delta_2=-\delta\cdot sign(\frac{S_1+S_3}{S_2})\) находим: \(\\ F+\delta F \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{\delta}{S_2} + \big|\frac{S_1+S_3}{2S_2}\big|\cdot\frac{\delta}{S_2}\big] \) Учитывая, что для идеального синусоидального сигнала \(\big|\frac{S_1+S_3}{2S_2}\big|\leqslant 1\), находим для наихудшего случая: \(\\ F+\delta F \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{\delta}{S_2} + \frac{\delta}{S_2}\big] = \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{2\delta}{S_2}\big] \) Теперь воспользуемся разложением функции \(\arccos(x)\) в ряд Тейлора: \(\\ F+\delta F \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}+\frac{2\delta}{S_2}\big] \approx \\ \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}\big]-\frac{1}{2\pi\cdot\Delta t}\cdot \frac{1}{\sqrt{1-\Big[\frac{S_1+S_3}{2S_2}\Big]^2}}\cdot\frac{2\delta}{S_2} \) Так как производная функции \(\arccos(x)\) при \(x \to \pm1\) стремится к \(-\infty\), нам нужно ограничить значения \(S_1,S_2,S_3\) используемые при вычислении частоты соотношением: \(\big|\frac{S_1+S_3}{S_2}\big|\leqslant 1\) Тогда для максимальной погрешности измерения находим: \(\\ F+\delta F \approx \frac{1}{2\pi\cdot\Delta t}\cdot\arccos\big[\frac{S_1+S_3}{2S_2}\big]-\frac{1}{2\pi\cdot\Delta t}\cdot \frac{2}{\sqrt{3}}\cdot\frac{2\delta}{S_2} \) Заметим, что при \(-\frac{1}{2} \leqslant x \leqslant +\frac{1}{2}\) функция \(\arccos(x)\) принимает значения в диапазоне: \(\frac{\pi}{3}\leqslant \arccos(x) \leqslant \frac{2\pi}{3}\) Из этого неравенства мы можем найти диапазон частот, которые могут быть с приемлемой точностью измерены данным методом: \( \frac{1}{6\Delta t} \leqslant F \leqslant \frac{1}{3\Delta t} \) или \( \frac{F_d}{6} \leqslant F \leqslant \frac{F_d}{3} \), где \(F_d\) - частота дискретизации. При этом относительная ошибка измерения частоты не превышает: \( \frac{\delta F}{F} \leqslant \frac{12}{\pi\sqrt{3}}\cdot\frac{\delta}{S_2}\) Теперь, учитывая что: \(100 \leqslant SNR\), находим относительную ошибку измерения частоты: \(\frac{\delta F}{F} \leqslant \frac{12}{\pi\sqrt{3}}\cdot\frac{\delta}{S_2} = \frac{12}{\pi\sqrt{3}}\cdot 10^{-5}\), при условии, что выбранные для измерения частоты значения \(S_1',S_2',S_3'\) удовлетворяют ограничению: \(|S_1'+S_3'|\leqslant |S_2'|\).
  16. Найти экстремумы функции..
  17. Сравнил по случаю две стратегии имплементации в V22.2.1. Результаты такие: Crossbar: 8x8, шина: AXIS - 72 бит ПЛИС: XCKU060-2-i Частота: 500 MHz -mode out_of_context Synthesis: Flow_AlternateRoutability Implementation: Performance_RefinePlacement Slack = +0.001 ns Synthesis: Flow_AlternateRoutability Implementation: Performance_NetDelay_low Slack = +0.028 ns PS. В проекте очень мало логики (~3%) и много проводов. Logic Level Distribution +-----------------+-------------+----+-----+-----+-----+ | End Point Clock | Requirement | 0 | 1 | 2 | 3 | +-----------------+-------------+----+-----+-----+-----+ | clk | 2.000ns | 39 | 168 | 482 | 311 | +-----------------+-------------+----+-----+-----+-----+
  18. Так стратегии P&R меняются от версии к версии Vivado и я заметил, что в V21.2 запас по slacks на одних и тех же проектах немного больше, чем в V22.2. Но это не точно, так как зависит, возможно, от характеризации самих кристаллов. Со временем, у Xilinx'а появляются более точные временные модели задержек внутри чипов. IMHO. Ну и самые последние версии Vivado часто оказываются глючными. Так что у нас в конторе в ходу версия V21.2, как самая стабильная. Но ничто не мешает попробовать собрать проект и в версии V21.2, и в версии V22.2 и сравнить результаты. :)
×
×
  • Создать...