Самурай
-
Постов
731 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
Сообщения, опубликованные Самурай
-
-
-
В 24.02.2024 в 14:37, srf55 сказал:
Появилась задача сделать антиалайзинговый фильтр (ФНЧ).
Этот ФНЧ будет стоять перед входом в SAR АЦП (частота дискретизации 250 кГц) AD7682.
Рабочая полоса входного сигнала: 0..100 кГц.
Сам фильтр решил делать с такими параметрами (Поправьте, пожалуйста, если не прав. Возможно вообще можно сделать всё проще или сложнее 🙂 )
- Pass Band Frequency (частота полосы пропускания) = 125 кГц (взял такую, чтобы неоднородность АЧХ в рабочей полосе была минимальной, отодвинул частоту среза от рабочей полосы)
- Stop Band Frequency (частота полосы заграждения) = 250 кГц
- Stop Band Attenuation (ослабление в полосе заграждения) = 40 dB
Антиалайзинговый фильтр у Вас немного странный... Нормальный должен давить все, что выше 125кГц, и не начинать давить, как у Вас, а заканчивать! Т.е. эти самые 40дБ должны быть если и не на 125кГц, то хотя бы на 150кГц... Ну это если по честному нужно не менее 40дБ подавления всего не нужного в Вашей полосе 0...100кГц.
Дальше, неоднородность АЧХ это конечно хорошо, но у фильтра есть еще и неоднородность групповой задержки... Особенно сильной в полосе 50...100кГц. Я не знаю Вашей задачи, может быть это и не важно, а может и нет...
Еще чисто для уточнения: АЦП 4-х канальный, Вы используете только 1 канал? Если нет, то частоту дискретизации 250кГц надо делить на количество каналов...
- 3
-
В 04.11.2023 в 09:29, alexPec сказал:
Т.е. имеем 3 ядра B4096, в каждом из которых одновременно выполняются 16 операций (подозреваю, MAC) за такт, на частоте 287 МГц. Итого получаем 3*16*287 = 13776 М операций/сек.
Что мешает прочитать документ, на который Вы дали ссылку полностью? Там же чуть выше:
B4096: 4096 Peak Ops (operations/per clock)
B4096 (8x16x16): 53540 LUT, 105008 FF, 562 DSP
Очевидно, что Ваши подозрения не имеют оснований...
-
В 14.09.2023 в 22:00, C2000 сказал:
Думал может есть способ как то побороть
Может быть и есть какой способ, но Вы сначала скажите, чем этот "всплеск" Вам мешает? Что у Вас за сигналы? Какая задача? И вообще, если Вас не устраивает просто скользящее среднее, то может подойдет скользящее среднее с децимацией (он же CIC), там буфер не нужен...
-
В 14.09.2023 в 19:45, C2000 сказал:
Но моделирование показало что Баттерворд дает всплеск на старте
:)))))
Ладно, открою один секрет - ЛЮБОЙ фильтр дает всплеск на старте...
-
В 28.08.2023 в 12:10, repstosw сказал:
Что в этом случае будет с девиацией частоты и полосой пропускания? Они тоже увеличатся в 1,2 раза ?
Ну, про полосу Вы же сами пишете, что она тоже увеличилась?:) За цифровой домен сомнений нет, все частоты должны пропорционально поменяться, включая и полосу (если не трогать настройки). Тогда согласно формуле:
логично предположить, что и девиация должна быть больше на 20%. Ну это при условии, что все аналоговые и аналого-цифровые блоки трансивера такое повышения частоты вытерпят:)
-
В 28.08.2023 в 09:03, repstosw сказал:
Не сходится.
Ну я же говорю, для 4GFSK полоса будет уже, чем для 4FSK, не в 83/58 раз конечно, но уже. Опять же Carson’s Rule по ссылке выше это для случая, когда в полосу попадает 98...99% мощности, что наверно перебор, т.е. полосу можно и сузить.
В 28.08.2023 в 08:46, repstosw сказал:Но индекс модуляции маловат - всего 0,3. Оно имеет право быть?
Нормально.
-
Опубликовано · Изменено пользователем Самурай · Пожаловаться
В 27.08.2023 в 10:15, repstosw сказал:1. Девиацию частоты для 4FSK
Пять минут гугления и мы находим ответ на родине трансивера.
В 27.08.2023 в 10:15, repstosw сказал:2. Девиацию частоты для 4GFSK (BT=0.5)
Тут и вовсе далеко ходить не надо. Даташит, стр.6:
Да, цифры с первой ссылкой немного отличаются, но во-первых, слегка разные модуляции, а во-вторых, могут отличаться методики измерения мощности сигнала. Но для начала вполне достаточно и этого, потом подогнать по вкусу.
- 1
-
В 13.08.2023 в 10:37, _4afc_ сказал:
Жаль его не развести с зазором 0.35\0.35 - можно было бы в резоните на 105мкм сделать холодным в двух слоях.
Да не будет он холодным, тем более на двух слоях. Это не говоря о том, что на двух слоях его не развести, а если развести, то велком "у меня источник не работает, па-ма-ги-те!". Сами Vishay на дев-борде делают минимум 4 слоя, а на 10А варианте и все 6.
Еще из нюансов: даташит молчит как раба об лед о любых условиях измерения температуры! Видно сказывается менталитет, либо местный, либо наш родной... Есть только одинокий график температуры от тока (но где и как получен - хз), на котором уже холодом не очень то пахнет - 55С для 5А (но правда для 48В входного). Тепловое сопротивление кристалл-среда выглядит несколько фантастично (12C/W), при этом ни полслова, на чем измеряли, если как все нормальные люди на своих отладочных платах, то это 70мм х 50мм и 6 слоев с кучей переходных.
Но вообще, добра этого много (доступ через впн), наверно и у Китая что-то похожее уже есть. И да, все, что касается тепловых характеристик, рекомендую смотреть у нормальных производителей, что бы потом сюрпризов не было... или повторять один в один дев-борду.
-
В 11.07.2023 в 19:01, _sda сказал:
Как думаете, решаема ли эта проблема?
Так, а вариант от vervs? Он то проще будет...
-
-
В 11.07.2023 в 09:33, _sda сказал:
Функция imagesc необычно располагает шкалу Y, сверху вниз. Условие
If
y(1)
>y(2)
, then the image is flipped up-down.не срабатывает.
Это можно изменить?
Можно, см. ф-ю yticklabels
-
В 01.06.2023 в 16:09, _pv сказал:
Никто не мешает, но это будет точно такая же асинхронная порнография как по ссылке fpga4fun, только на входе этого защёлкивателя, из xor на клоковом входе с выходом триггера, для защёлкивания обоих фронтов. Ровно с теми же проблемами чувствительности к звону на входе.
Два триггера защелкивают SCL, первый по заднему фронту SDA, второй по переднему фронту SDA. Получаем два сигнала признака старта/стопа. Оба эти признака с автосбросом (синхронным), если, конечно по SDA не одни нули слать, что как-бы возможно, но очень маловероятно. Можно и асинхронный сброс придумать, дабы не зависеть от данных. Полностью от асинхронщины наверно не избавиться, но явной порнографии вроде нет:)
-
В 01.06.2023 в 12:57, Doka сказал:
В принципе всё защёлкивание адресов, данных внутри слейва можно сделать по SCL, тоже самое с формированием АСК.
Но вот в чём засада - так это то как детектировать START & STOP события?
Кто мешает защелкивать SCL передним/задним фронтом SDA?:)
-
В 03.05.2023 в 14:22, xvr сказал:
Сам микроконтролер питается от 3.3В и 0.7В получают внутри с помощью LDO. КПД при этом получается около 20%. В теории импульсный понижающий преобразователь мождет дать больший КПД.
Бывают ли в принципе импульсные понижающие преобразователи на такие токи?
TPS628436: КПД под 80% обещают для 10мкА. Что там с другими параметрами не смотрел...
- 1
-
В 25.04.2023 в 14:19, Maverick_ сказал:
подскажите как оптимально описать такую функцию в потоковом описании (pipeline)
y[n] = a2 * x[n-2] + a1 * x[n-1] + a0 * x[n] - 2 * y[n-1] - y[n-2]
где a1, a2, a0 коеф-ти
Странный какой-то у Вас фильтр... Смотрим передаточную функцию:
\(H(z)=\frac{a0+a1*z^{-1}+a2*z^{-2}}{1+2*z^{-1}+z^{-2}}\)
И видим двойной полюс на единичной окружности на частоте Fs/2. Из чего следует, что:
1. Данный фильтр имеет смысл только в одном случае, а именно когда на этой же частоте расположен и двойной ноль. Во всех остальных случаях фильтр будет неустойчив или на грани устойчивости, это не считая дико-кривой АЧХ:)
2. Числитель передаточной функции имеет всего лишь 2-й порядок, а это значит, что он задает расположение только 2-х нулей на z-плоскости. Но из предыдущего пункта следует, что эти нули должны быть а) двойные и б) лежать на частоте Fs/2. Т.е. совпадать с полюсами фильтра. Т.е. числитель и знаменатель сокращаются и остается... константа:))). Но, позвольте, а где же тогда фильтр???:)
Где-то у Вас ошибка...:)
-
В 24.04.2023 в 22:16, _sda сказал:
Мне показалось что filtfilt поможет избавиться от переходного процесса после фильтрации. Похоже я ошибся.
Да, ошиблись. Переходной процесс от фильтра будет всегда, нет переходного процесса - значит нет фильтра (точнее есть, но с одним коэффициентом:))) ). Очевидно, что в общем случае для произвольного сигнала уменьшить длительность переходного процесса можно только ослабив требования к фильтру, т.е. уменьшив его порядок. Вы не сказали, как сильно надо давить и какая переходная зона, может Вам КИХ 6...10-го порядка за глаза хватит, в том числе и по искажениям:)
-
В 24.04.2023 в 17:26, _sda сказал:
В обычных фильтрах содержание первых выходных отсчётов не может зависеть от общего количества отсчётов. Это как то связано с инверсией во времени?
Да.
В 24.04.2023 в 17:26, _sda сказал:Если это так, то есть ли вообще какой-нибудь способ отфильтровать конечное количество отсчётов без влияния переходного процесса?
Нет.
В 24.04.2023 в 17:26, _sda сказал:Я возлагал надежды на filtfilt, но похоже что он здесь не помощник
Надежды на что? В чем именно не помощник?
-
В 24.04.2023 в 12:27, _sda сказал:
Реакция фильтра почему-то зависит от количества отсчётов в сигнале
Переходной процесс. Он не успел закончиться...
-
В 25.03.2023 в 22:49, makc сказал:
Поправил на всех страницах классических тем
Спасибо, работает.
-
В темах Neoclassic и Classic 4.5 2 вот такая ошибка сейчас, когда заходишь на https://electronix.ru/forum/ :
Браузер FF 99.0.1 и Edge 111.0.1661.51
-
Опубликовано · Изменено пользователем Самурай · Пожаловаться
В 17.03.2023 в 11:12, _sda сказал:figure(1,'MenuBar','None',...
'Name','Out Data',...
'NumberTitle','Off',...
'Position',[1300,140,500,500]);Такая запись приводит к ошибке, не понимает цифру 1.
Help Matlab-а?
f = figure;
f.Position(3:4) = [280 210];
figure(f);
plot(x,y)
-
Опубликовано · Изменено пользователем Самурай · Пожаловаться
В 10.03.2023 в 11:14, OparinVD сказал:signal BlockBytesLeft : natural range 0 to g_block_length := g_block_length;
Как предположение: У Вас сигнал BlockBytesLeft от 0 до 8, следовательно вот тут:
В 10.03.2023 в 11:14, OparinVD сказал:Block_ShReg <= S_AXIS_TDATA(BlockBytesLeft*8-1 downto 0) & Block_ShReg(Block_ShReg'high downto BlockBytesLeft*8);
с точки зрения синтезатора возможен и вот такой вариант:
Block_ShReg <= S_AXIS_TDATA(8*8-1 downto 0) & Block_ShReg(63 downto 8*8);
Что разумеется ему не понравилось...
Дополнение: Насчет разумеется я возможно и погорячился, нужно смотреть, что на такое говорит стандарт:)
-
Опубликовано · Изменено пользователем Самурай · Пожаловаться
В 09.03.2023 в 23:53, yes сказал:то есть название и возможность любой разрядности данных (16,24,32) бита как бы намекает на PCM, то есть импульсная модуляция, как напрямую на классический class D должна идти
но DAC на картинке, опять же ссылки на то, что это обычный I2S - заставили меня засомневаться....
Что-то у Вас все перемешалось... Вообще непонятно, что тут может быть непонятного?:) Это обычный усилитель с ЦАП и I2S интерфейсом, то, что он D-класс как-бы вообще фиолетово, ну да, где-то внутри есть либо ШИМ, а скорее всего сигма-дельта модулятор (совмещенный с ЦАП), ну и что? Со стороны пользователя обычный классический I2S интерфейс (либо TDM режим, не принципиально). Подключайте к Вашему процессору напрямую и подавайте обычные PCM отсчеты, не надо ничего пересчитывать ни на каком сигма-дельта калькуляторе...
комбинаторика
в Математика и Физика
Опубликовано · Пожаловаться
R = 1./sum(repmat(1./r,63,1).*i,2)