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

Unfog

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

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

  • Посещение

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


  1. Про среду - нашел. Немного изменю вопрос - каким способом лучше находить амплитуду гармоники заданной частоты, если частота шума неизвестна (может относительно быстро меняться)?
  2. В смысле эта задача принципиально не может быть решена за 200 мс? Это для общего развития больше вопрос. Тогда есть идея - я могу с большим окном точно определять частоту полезного сигнала, приняв, что она быстро изменяться не может. Значит мне нужно только точно определить амплитуду полезного сигнала, частоту которого я знаю, шумы не интересуют. 1. Для этого использовать лучше FindFit? 2. Curve Fitting и есть FindFit? 3. Какой средой вы пользуетесь?
  3. Так у меня с этим, как я понял, и проблема. Шум может находиться рядом с сигналом. И если делать окно 200 мс, то на определения максимума будет влиять шум, т. к. он будет в полосе 5Гц. По сути мне необходимо с окном 200 мс обеспечить ширину спектра каждого отсчета хотя бы 1 Гц, или эти принципиально невозможно?
  4. Чтобы выделить полезный сигнал. Он может быть с частотой от 88 до 92 Гц. Более секунды получается, если делать фильтр, который пропускает полосу 1 Гц, с крутой АЧХ, чтобы соседние гармоники подавить.
  5. Если я правильно понял, то здесь http://www.dsplib.ru/content/goertzelmod/goertzelmod.html в формуле 17 как раз и написано, что при разнице между гармониками в 1 Гц, окно должно быть больше частоты дискретизации. Или я что то неверно понял?
  6. Задача: найти амплитуду полезного сигнала с частотой от 88 до 92 Гц. При этом в этой же полосе есть шумы, которые нужно отсеять. Например сигнал 90 Гц, шум - 91 Гц. При этом требования по отработки скорости изменения амплитуды - порядка 200 мс. Данные с АЦП, fs до 200 кГц. Пробовал два варианта: 1. БПФ - при разрешении по частоте один Гц - частота дискретизации, как я понимаю, должна быть равна окну БПФ, и как следствие страдает быстродействие (окно заполнится сигналом с новой амплитудой только через одну секунду). 2. Банк полосовых фильтров, но при задании полосы пропуская 1 Гц, постоянная времени тоже больше одной секунды. Желательно отсеять шум отличный на 0.5 Гц от полезного сигнала. Есть ли какие-нибудь варианты решения данной задачи?
  7. Где то видел, но могу ошибаться, что Макс 10 по структуре ПЛИС это Циклон 3 (ну или крайне схож с ним), просто рядом еще энергонезависимую память воткнули. И Макс10 можно грузить по JTAG (без сохранение в CFM), при это понятие ресурса, имхо, совсем не важно.
  8. Да, прошу прощения, у меня ошибка. Не обратил внимание, что индексы в tempBuf указаны с 3 по 0.
  9. Да, можно. Но нужно помнить про прерывания.
  10. 1. Если нужно работать с копией: void foo(type obj). При этом будет вызван конструктор копирования, со всеми вытекающими (стек, скорость). 2. Если нужно работать с исходным объектом: а) Объект можно/нужно изменять: void foo(type* obj) б) Объект нельзя изменять: void foo(const type& obj) При sizeof(type) больше разрядности процессора/контроллера второй вариант быстрее первого, т. е. нужно передать только адрес объекта.
  11. Схемы платы нет? Есть ли на плате CPLD? Возможно MSEL-ами задана не AS конфигурация. Попробуйте сделать полный Erase EPCS. Отреагирует ли плата.
  12. Не очень понял вопрос. Нужно как то хранить посылки разной длины? Список списков подойдет?
  13. А зачем именно приклеивать? Можно сделать пару отверстий и привязать нитками. А их можно залить лаком. Получится и надежно, и разбирать проще.
  14. Для исключения повторной компиляции содержимого h-файла несколько раз еще можно использовать следующие приемы: #ifndef DEFINE_H_ #define DEFINE_H_ int i = 0; #endif /*DEFINE_H_*/ или #pragma once
  15. То есть если у меня 1000 IO с альтеры выходит, нужно каждый на осциллографе посмотреть? Да еще с уникальным сигналом. Думаю тема о другом. Для вашего предложения JTAG не нужен.
  16. Не совсем понятно, что значит "через". Для 3 циклона:
  17. Думаю просто ошибка в шелкографии. Можно проверить: на пине 9, по идее, должен быть сигнал TDI, а 6 вроде не подключается. По крайней мере у бластера Альтеры так.
  18. Спасибо! Я почему то уперся в Альтиум (хотя могли бы и сделать возможность смены пути к репозиторию)) Решение: svn relocate
  19. Altium 15.0 Так случилось, что местонахождения репозитория в сети изменилось. В настройках "Data management" -> "Design repositories" репозиторий успешно подключается. При попытке сделать коммит проекта, который уже находится по контролем версий вылезает ошибка, в которой указано, что он не может найти репозиторий, при этом указывается путь, в по которому он раньше лежал. Я так понимаю, что где то в проекте хранится путь к репозиторию, но найти не смог. Помогите, пожалуйста.
  20. Если есть возможность самому выбирать протокол, достаточно легко реализовать какой-нибудь простой байт-стаффинг, например как тут. Собрали в буфер, расшифровав на лету, далее передали на обработку по коду команды. При этом, по опыту, крайне желательно передавать длину посылки. Например 0-й байт - команда, 1-й - длина передачи, дальше тело, в конце контрольная сумма. P.S. У данного алгоритма возможен большой оверхед (до двух раз, если все посылка из FEND будет состоять), но зато сам алгоритм очень простой.
  21. Прошу прощения за оффтоп, но А можно пруф? Как то не нашлось об этом ничего.
  22. Таймер умышленно не подключен к шине?
  23. Нет, это не сложно. Но у университете меня этому не научили (ЛЭТИ). А когда пришел на работу, то тут все об этом только говорили, а по факту никто нормально не смог в синхронный дизайн. С другой стороны, писать в требованиях очевидные вещи, тоже не очень... Можно и на собеседовании уточить =)
×
×
  • Создать...