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

jcxz

Свой
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о jcxz

  • Звание
    Гуру
  • День рождения 01.12.1974

Контакты

  • ICQ
    311337544

Информация

  • Город
    Омск

Посетители профиля

13 503 просмотра профиля
  1. mega128 + какой LCD 320x240 ?

    Что значит "потянула"? А почему она может не потянуть? Да хоть 800x600 - какая разница?
  2. Шумы как раз есть. И могут быть довольно значительного уровня: процентов 10 точно, а может и больше. Попробовал (Matlab) экстраполировать кубическим сплайном и сплайном Эрмита ('spline', 'cubic'): пока шума нет - всё отлично, но стоит добавить хоть немного шума - график может улететь очень далеко от цели :((( Вот на картинке привожу результат своего эксперимента (зелёная - идеальный исходный сигнал; синие кружки - взятые на нём отсчёты с добавленным шумом == 5%; фиолетовая и синяя кривые - результаты интерполяции вышеуказанными сплайнами; после исходных сэмплов я продолжил экстраполяцию ещё на требуемую мне длину в 2 сэмпла). На интервале интерполяции (между взятыми сэмплами) поведение вполне нормальное, но за пределами (экстраполяция) в зависимости от наложившегося шума, график может или примерно следовать как надо, а может (как на картинке ниже) улететь в произвольном направлении. Раз от разу (с разными шумовыми выборками) получается разный результат. :((((((
  3. Да, картинки красивые, но какой от них толк??? Мне нужно: формула? || алгоритм? В которые, если подставить N последних сэмплов, то оно выдаст 2 следующих прогнозируемых сэмпла. Всё.
  4. Отучайтесь говорить за других! Вы не знаете как сделано у других. И даром ясновидения, как видно, не обладаете. Во-первых: это не "сделано кем-то до меня", структуры, описывающие периферию, я делаю всегда сам. Для каждого используемого МК. Во-вторых: если Вы видите только один способ сделать что-то, то это не значит, что другие люди не видят иных способов сделать это. Описание периферии можно точно также натягивать на адресное пространство МК посредством командного файла линкёра. А можно и задавать абсолютные адреса для таких структур. Я делал и так и так - когда как мне было удобнее.
  5. Многие производители заказывают датчики для себя, под свою схему. Характеристики датчика (размеры, форма, изолирующий материал и его толщину и т.п.) указываются в заказе. Так что найти такой будет нереально. Сталкивался уже с таким: тоже хотели найти УЗ-датчик аналогичный тому, что стоит в некоем девайсе (маркировки тоже не было). Даже в тех УЗ-датчиках, что продаются готовыми обычно нет подробных характеристик, даже диаграммы направленности как правило нет. В своё время потратили несколько месяцев на поиски и переписывание с различными производителями, заказывание образцов. Так что - только самостоятельно: посчитать, заказать (или самим изготовить), померить, переделать, ... А ещё есть много продавцов, которые продают материалы (пластины) для изготовления датчиков самостоятельно, под свои характеристики. Правда мы искали датчик не на 40 кГц, а на несколько МГц. С 40 кГц ситуация несколько проще конечно. Но если производитель рассчитывал свой девайс на некую диаграмму направленности, мощность, режим работы (совмещённый или раздельный) и т.п., то тоже вряд-ли что найдётся.
  6. А линкёр у Вас сам по себе решает куда что размещать? Или всё-таки им руководите Вы? Всё это элементарно решается заданием линкёру карты размещения секций в памяти. Ни в одном из этих случаев задание абсолютного адреса размещения не нужно. Вы же переменным в программе не задаёте абсолютных адресов, надеюсь? ;)
  7. Он меняется быстро только для низких частот. Для высоких - меняется мало. Т.е. когда сигнал имеет частоту близкую к Fs/10, то его частота к концу периода может измениться на <= 10%, а когда он имеет частоту около Fs/1000 то его частота на границах периода может отличаться даже в разы (в худшем случае).
  8. Мне не нужно экстраполировать на много отсчётов вперёд. Мне нужно всего 1...2 отсчёта (см. исходное сообщение). А в качестве базы для построения могу использовать много предыдущих сэмплов. Поэтому нужен такой метод, который посмотрев на историю скажем из >= 3 прошлых сэмплов с точностью до +-20% предскажет следующие 1...2 сэмпла. И не потребует слишком много тактов CPU. Все алгоритмы интерполяции заточены именно на интервал "внутри". Я понимаю, что как-то можно их переделать под интервал "вовне", но для кубических и пр. - затрудняюсь это сделать. Для линейной конечно - без проблем. Поэтому и прошу ссылку на описание где это разложено по шагам. В принципе мне достаточно даже не значения через 1...2 сэмпла, а всего лишь знака - с какой стороны от оси Y , будут находиться сэмплы через некоторое время. Но время желательно иметь возможность задать точно, например: через 1.3 Ts.
  9. Это уже что-то из области мифологии. :) Можете привести ссылки на конкретные случаи? Киллера пришлют??? 8-O Так можно мочить любого абонента, стоящего у базовой станции с телефоном. Он ведь тоже часть энергии в себя принимает.
  10. Я работаю с WDT. Именно с WDT (т.е. - внешним). А вот Вы - без WDT. Так как внутренний WDT как раз бессилен против космических частиц и пр. случайных внешних явлений. Он пригоден разве что для оживления девайса после программных багов. Надеюсь не нужно объяснять - почему. Так замените здесь WDT на обычный таймер. Или контролируйте время в уже тикающем ISR Systick.
  11. Ну хорошо - сделали Фурье. А дальше что? Как следующий сэмпл предсказать? Фурье не подходит ещё по причине больших вычислительных расходов (как писал в исходном сообщении). Ресурсов есть - менее 4800 тактов Cortex-M4F на один сэмпл. Даже лучше ещё эту цифру умножить на ~0.7. Или даже на 0.7 * 0.5
  12. Фурье не поможет - частота сигнала может сильно меняться. За период может измениться в разы. см.выше.
  13. Он только близок к синусоидальному. Часто именно синусоидальный. Но в ряде случаев может иметь синусоидальность на очень ограниченном интервале сэмплов: на высокой частоте (близкой к 10 сэмплам на период) - это может быть даже 1-2 периода сигнала, но на низких частотах за один период частота синусоиды может даже в несколько раз измениться. Т.е. - частота синусоиды может плавно нарастать, и если скажем при 0 градусов она была равна F, то при 359 градусов этого же периода она уже может быть равна F*3. Частота сигнала меняется в очень широких пределах: от почти 0 до 1/10 Fs. Поэтому я и писал, что нужен метод экстраполяции по последним нескольким сэмплам. Пускай даже не очень точный.
  14. Я ещё в изначальном сообщении писал, что линейная экстраполяция меня не интересует. Из-за характера сигнала. Я знаю что "можно". Вопрос был о конкретном алгоритме (ссылке на его описание или исходник реализации).
  15. Это оно самое и есть. Скорее - "не разрешать". Потому что он по дефолту - запрещён.