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

vladv

Участник
  • Постов

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

  • Посещение

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


  1. Однако, весело у вас тут :). GetSmart жжет! Можно мне тоже прикольнуться, а то тема засыхать начинает :). А как на счет 0+0? Конечная сумма двух действительных чисел :). Или Вы имели ввиду, что вероятность того, что случайно выбранная конечная или бесконечная сумма вещественных чисел будет равна нулю (или любому целому числу), равна нулю? Неасилил... :( Мне тут вспомнилась такая история: <<< В бытность свою при дворе Екатерины Великой, Эйлер встретил великого французского философа Дени Дидро. Тот был убежденным атеистом и пытался обратить в атеизм представителей русской знати. Разгневанная этим Екатерина обратилась к Эйлеру с просьбой пресечь деятельность французского безбожника. Эйлер поразмыслил над просьбой императрицы и объявил, что располагает алгебраическим доказательством существования Бога. Екатерина Великая пригласила Эйлера и Дидро во дворец и собрала на теологический спор всех придворных. Эйлер встал перед аудиторией и заявил: «Сир! (a + b^n)/n = x, следовательно Бог существует. Что Вы имеете возразить?» Дидро не был силен в алгебре и не мог ничего возразить. Ему оставалось только безмолвствовать. Потерпев унизительное поражение, он покинул Санкт-Петербург и вернулся в Париж. >>>
  2. "Конструирование высокоскоростных цифровых устройств. Начальный курс черной магии", Говард Джонсон, Мартин Грэхем "Высокоскоростная передача цифровых данных: высший курс черной магии", Говард Джонсон, Мартин Грэхем :)
  3. А что имеется в виду под "гармонические составляющие основной частоты"? 2, 3 и т.д. гармоники (нелинейные искажения) или спектральные составляющие вблизи основной гармоники (фазовый шум или помехи)? Если в выборку не укладывается целое число периодов, то перед преобразованием Фурье оцифрованный сигнал умножают на специальную весовую функцию (окно). Например, окно Хэннинга, Хэмминга, Блэкмана. Просто посмотрите практически любую книжке или учебник по цифровой обработке сигналов. Тут, например: http://prodav.narod.ru/dsp/index.html.
  4. Потому, что это плотность. Т.е., условно говоря, мощность в полосе 1 Гц (или, если строго говоря, то предел отношения мощность в полосе dF к ширине этой dF: p(f) = lim(P(f,dF)/dF), dF->0). Зная спектральную плотность мощности, Вы легко можете посчитать мощность шума (как впрочем и полезного сигнала) в нужной полосе: P(от f1 до f2) = integral{от f1 до f2}(p(f)*df). Если шум (или сигнал) имеет равномерное распределение по частоте (т.е. p не зависит от частоты), то все совсем просто: P(от f1 до f2) = p * (f2-f1).
  5. Ну хорошо. С опередением "смещение оценки" и "асмиптотическое смещение оценки" разобрались. И с формулой из книжки несмещенной оценки для накопленных N выборок тоже все ясно. Но вот интересно понять, формула вычисления дисперсии на лету, которую Вы привели, дает смещенную или не смещенную оценку? ... :07: Чему удивиться? То, что каждый отсчет со своей оценкой матожидания обсчитывается - это очевидно. Только при чем здесь это? Мой комментарий относился исключительно к Вашей фразе, которая не верна: "Выражение, которое привет TSerg, фактически, вычисляет оценки дисперсии по нескольким первым отсчетам, примерно по первым 20-ти. Обратите внимание, что множитель перед обновлением оценки дисперсии (квадрате разности) убывает обратно пропорционально номеру отсчета. Т.е. при каких-то значениях теущего номера обновления просто перестанут обновлять получившуюся оценку, в силу малости их весового коэффициента.".
  6. Не, вопрос в том, смещена эта оценка или не смещена (я имею ввиду формулы, которые NickNich в посте #10 привел). Ну так и "D = sum((X[n]-m)^2) / n" "асимптотически несмещенная"... А как насчет смещения (или несмещения) для конкретного N? ... Если внимательно проследить "судьбу" первого "отсчета" (X[k] - m[k])^2, то для i-й оценки дисперсии он войдет с коффициентом 1/j - как и для последнего отсчета (X[k] - m[k])^2. Это верно вообще для всех отсчетов. I.e. в D ВСЕ отсчеты (X[k]-m[k])^2 войдут с коэффициентом 1/j. Впрочем, даже в формуле D=D[i-1] + (1/i)*(X - m)^2 нельзя пренебрегать последними отсчетами, поскольку ряд 1/i расходится.
  7. Интересно, а насколько несмещенная такая оценка дисперсии? Вот, например, для накопленных n выборок несмещенной оценкой дисперсии будет: D = sum((X[n]-m)^2) / (n-1) а не, что кажется естественным: D = sum((X[n]-m)^2) / n
  8. Вот на двух транзисторах :). climit.bmp :bb-offtopic: А как сделать, чтобы картинка сразу была видна?
  9. В этом, например: МЕТОДЫ ПРОЕКТИРОВАНИЯ БИХ-ФИЛЬТРОВ Рис. 6.36 Метод инвариантности импульсной характеристики Начинается с определения H(s) для аналогового фильтра Взятие обратного преобразования Лапласа для получения импульсной характеристики Получение z-преобразования H(z) из дискретной импульсной характеристики z-преобразование выдает коэффициенты фильтра Должен быть учтен эффект наложения спектров Метод билинейного преобразования Другой метод для преобразования H(s) в H(z) Характеристики определяются дифференциальным уравнением, описывающим аналоговую систему Не важен эффект наложения спектра Метод согласованного z-преобразования Отображает H(s) в H(z) для фильтров и с полюсами, и с нулями Методы САПР Алгоритм Флетчера-Пауэла Осуществляются каскадированием биквадратных звеньев (http://www.sibsutis.ru/~mavr/LIB/Kester/06.pdf.)
  10. Переместить function [15:0] nextCRC16_D24 из module FarBPackage в module fifo_anal_rec_my вместо инстанциации FarBPackage tObj. Некоторые (все?) синтезаторы не любят, когда вызывается функция из другого модуля - слишком сложная для них конструкция.
  11. Ну передают. Только причем здесь: ? Вы же сами немного выше пишете, что: С понижающим или даже повышающим трансформатором тоже самое: "мощности в обмотках" одинаковые, а напряжения разные. P.S. К термину "мощность в обмотке", чур, не придираться :).
  12. Еще можно попробовать Nicegirl. Неоторым она больше, чем Wishbone нравится. Впрочем, посмотреть Wishbone, IMHO, это правильно и полезно. Обратите внимание, что "потеря тактов" частично компенсируется тем, что передача управления--адреса--данных-для-записи и передача прочитанных-данных--подтверждение-операции конвейеризуются (т.е. в одном цикле тактовой частоты могут одновременно передаваться читаемые данные одного лбращения и адрес/управления следующего). Хотя, для Вашей системы она может оказаться несколько изьыточной, но основные идеи можно из нее почерпнуть. Как пример более развиртОй системной шины можно посмотреть шину AMBA (спецификация открыта, можно скачать на www.arm.com). В отличии от Wishbobne, AMBA лучше приспособлена для систем с несколькими мастерами и пакетными передачами (bursts).
  13. Ну или: reg [razryadonst tut ukazat] regs[0:kak_mnogo_registrov-1]; reg/wire [razryadonst tut ukazat] inputs_loadreg[0:kak_mnogo_registrov-1]; reg/wire load; genvar i; generate for(i=0;i<kak_mnogo_registrov;i=i+1) begin: rg always @(posedge CLK) begin if(load) regs[i] <= inputs_loadreg[i]; else if(i==0) regs[i]<=regs[kak_mnogo_registrov-1]; else regs[i]<=regs[i-1]; end end endgenerate
  14. CIC-фильтр - правильное направление. При больших коэффициентах децимации, обычно вначале делают "грубую" фильрацию-децимацию на CIC, а потом на FIR с децимацией в 2-4 раза "подправляют". CIC хороши тем, что в них нет умножителей и их сложность от порядка децимации зависит слабо. Информации по CIC полно в интернете. Например: http://users.snip.net/~donadio/cic.pdf (Ну и вообще: www.yahoo.com=>search: CIC-filter). Там есть и удобная струтура (Хогенаура) и как разрядность каскадов выбрать. Переполнения, кстати, в CIC-е постоянно происходят, но не мешают. Еще у Xilinx в appnot-ах естьинформация по CIC (http://www.xilinx.com/ipcenter/catalog/logicore/docs/cic.pdf), а также по FIR и DDC. Посмотрите, на их сайте. Еще можеть быть полезно посмотреть Digital Down Convertor-ы (DDC) - микросхемы, сделанные специально для Вашей задачи. У Analog Device: AD6620, AD6634, AD6635, и т.д. или у Texas Instrument GC4016, GC5016.
  15. Хм. Ну, сделайте так (если на Verilog'е), и будет Вам за один такт: reg [n-1:0] X1,X2; //operands reg [n-1:0] M; //module reg [n-1:0] O; //output (sum-by-module) reg [n-1:0] s,d; reg ovf_next,OVF; always @* begin s = X1 + X2; {ovf_next,d} = {1'b0,s} - {1'b0,M}; end always @(posedge CLK) begin O <= ovf_next ? s : d; OVF <= ovf_next; end Т.е. не ставте регистр на выходе сумматора и вычитателя.
  16. Очень часто в приложениях, где используется сумматорование-по-модулю, выполняется условие, что при суммировании происходит не более одного "переполнения модуля" (ну или другими словами, оба слагаемых всегда меньше или равны модулю суммирования). В этом случае реализация довольно тривиальна: reg [n-1:0] X1,X2; //operands reg [n-1:0] M; //module reg [n-1:0] O; //output (sum-by-module) reg [n-1:0] s,d, reg ovf; s = X1 + X2; {ovf,d} = {1'b0,s} - {1'b0,M}; O = ovf ? s : d; Для ситуаций, когда могут быть множественные "переполнения модуля", кроме как для модуля типа 2**N, простых решений вроде бы нет. P.S. Сложение по произвольному модулю практически всегда есть в адресных генераторах DSP. Но кроме как однократного "переполнения модуля" с произвольным модулем или произвольного числа "переполнений модуля" с модулем вида 2**N я не встречал. Думаю, если было бы простое решение произвольного модуля с произвольным числом "переполнения модуля", его бы обязательно использовали. P.P.S. А как можно просто создать сумматор по модулю 5 для произвольных значений, скажем, 16-бит операндов ?
  17. Тут, скорее, описано, что с ним делать, а не что такое "adverse state" :). Могу предположить, что "adverse state" это состояние "все нули" или "все единицы". В этом случае, скремблер без исправления "adverse state" перестает скремблировать входные последовательности типа "только единицы" или "только нули" соответсвенно.
  18. Это зависит от того, что подразумевается под словами "результатом минимизации таблички". Если говорить про сам процесс создания такой комбинационной схемы, то никакая табличка там реально используется и не минимизируется. Комбинационная схема строится исходя из свойств генератора CRC (он же LFSR, он же делитель на образующий полином). Лично мне нравится такой способ. На примере 4-х бит CRC 1011 (т.е. при сдвиге старший бит XOR-ится с младшим и следующим за младшим битом) для 8-бит входного слова. Старший разряд везде слева. 1. Строим таблицу состояний регистра CRC для 8-ми тактов с начальным состоянием 0001: 0. 0001 1. 0010 2. 0100 3. 1000 4. 0011 5. 0110 6. 1100 7. 1011 2. "Транспонируем" эту таблицу так, что номер такта - это номер бита входного слова, а "1" в значении состояния означает в какой бит результата CRC надо этот входной бит по-XOR-ить: CRC[0] = D[0] ^ D[4] ^ D[7] CRC[1] = D[1] ^ D[4] ^ D[5] ^ D[7] CRC[2] = D[2] ^ D[5] ^ D[6] CRC[3] = D[3] ^ D[6] ^ D[7] Собственно, все.
  19. Ну, DDS обычно в довольно "интелектуальные" системы ставят (радары или SDR) - так, что чему управлять всегда есть.
  20. Не. Тут скорее всего речь о "военном" кристалле идет. Если пользоваться зарубежными сервисами (XFAB, например), то изготовление 2-3 месяца. Ошибки по вине разработчиков топологии - довольно странно. При современных CAD-ах они практически исключены. Скорее в схемотехнике что-то не так сделано. Впрочем, при наличии хорошего DesignKit-а от фабрики и грамотных инженерах получить аналоговый кристалл со "со средними" характеристикам с 1-ой итерации вполне реально. Но все равно 1-2 года (правда, включая итерации).
  21. qualcomm, похоже, и не думает никого догонять. Всем спасибо за ответы. Как-то неожиданно мало фирм DDS делает :(. К чему бы это? Не нужны никому?
  22. Коллеги, подскажите, кто-нибудь кроме AnalogDevices микросхемы DDS делает?
  23. Это еще не "совсем не повезт" - успеешь разобраться, прежде чем поставишь дивайс заказчику :). Бегать каждый месяц к заказчику (или от заказчика :maniac:) для замены дивайса и соответствующих об'яснений гораздо хуже...
×
×
  • Создать...