Jump to content

    

DRUID3

Свой
  • Content Count

    1827
  • Joined

  • Last visited

Community Reputation

0 Обычный

About DRUID3

  • Rank
    山伏
  • Birthday 03/19/1980

Контакты

  • Сайт
    http://dsp.la.net.ua
  • ICQ
    0

Информация

  • Город
    Kyyiv

Старые поля

  • skype
    vidliudko
  • LinkedIn
    DRUID 3
  • G+
    druidthree

Recent Profile Visitors

8429 profile views
  1. Добавлю только, что был приятно удивлен в "матплотлиб" возможностью рисовать график в реальном времени. Правда не знаю стоит ли оно ~1.5 гигамипса ...
  2. Цитата(_Pasha @ Dec 14 2012, 13:20) Он еще и фазу хочет двигать.. Не пойдет дифур... Так чо? Фазу двигать там просто - частоту много сложнее. Дифур пишет в "кольцо", а по кольцу прыгай куда хошь. Этож гармоника. Кстати у простейшего DDS построенного только на таком принципе нет и не может быть никакого "усечения фазы" - это на заметку тем кто разрабатывает "сверхчистые" синтезаторы.
  3. Интеграл

    Цитата(demiurg_spb @ Dec 14 2012, 13:24) Может я чего-то не понимаю? В чём смысл (достоинство) приведенного вами кода для дискретной функции? Точность... Ошибка вычисления... Функция на входе то ожидается аналитическая.
  4. Цитата(Сергей Борщ @ Dec 14 2012, 12:39) И чем же нас fixed point не устраивает? коэффициент умножить, результат поделить. Ну нас то устраивает, но если бы все было так просто стал бы стартер спрашивать? Цитата(Сергей Борщ @ Dec 14 2012, 12:39) Работает прекрасно. sin(), кстати, в целых числах тоже может лишь 1,0,-1 выдавать, значит, вольно или невольно, но фиксированную точку использовать придется. Ну он и в тех трех как бы не совсем целые выдает, но не в этом суть. А в том, что если стартеру нужно очень быстро и сразу в int то быстрее чем на IIR у него не выйдет(ну разве что таблица), но первые значения(переходной процесс) все-равно придется отбрасывать - и перестройка по частоте получается не мгновенная - это да, минус.
  5. Цитата(Сергей Борщ @ Dec 14 2012, 11:34) Чем не подходит? Еще можно генерить по алгоритму Герцеля. Пример тут и тут ...можно... Но я его так для integer и не научился эффективно применять. Это для fix или float скорее. Можно еще дифуром генерить - сопряженные полюса на единичной окружности и вуаля. Я тут недавно ссылку на книгу Роде и Шварца приводил.
  6. Интеграл

    Цитата(Zelepuk @ Dec 14 2012, 11:52) Я полагаю конструкции вида (*f)(a) можно просто заменить на указатель на массив... Ну а если она не массивом задана? Цитата(Zelepuk @ Dec 14 2012, 11:52) (с тем же индексом)? ??
  7. Цитата(beaRTS @ Dec 12 2012, 16:28) ну, я просматривал оный вопрос. И правда, самый гемор со вставкой Питона в С/С++. Легче С/С++ в Питон приделать. ...не в том дело, что куда сложно вделать, а в том что у них совсем разная типизация и там можно наломать дров. Что-бы подключить C-шную библиотеку к пайтону нужен немалый изврат и смысл всей затеи теряется если нет целей просто "ускорить" исполнение скрипта на PC.
  8. Я не такой образованный и умный как fontp, но, думаю вижу как это можно решить "в лоб" ... Цитата(Xenia @ Dec 12 2012, 04:44) Вопрос: Возможно ли из известной последовательности P, представляющей собой сумму полезного сигнала с его эхом, выделить полезный сигнал в чистом виде? При этом коэффициент ослабления k тоже неизвестен. Решение подразумевается в смысле наименьших квадратов, поскольку достаточно очевидно, что задача переопределена. Цитата(Xenia @ Dec 12 2012, 09:06) Как я уже упомянула выше, пропустить тестовый сигнал через данный канал связи я не в силах. Будь иначе, то задача решалась бы много проще посредством выявления у системы переходной функции. Кроме того, это не "канал связи" порождает эхо, а эхо возникает внутри самого излучателя сигнала, будучи производимым чем-то вроде внутреннего отражателя, сопутствующего природе излучателя. ...тогда мостовая(компенсирующая) схема включения с моделью и даже не оптимизация(генетические там или градиентные алгоритмы) - полуслепой поиск модели, одномерный подбор k. По-сути Вам то нужно подобрать один единственный коэффициент - задержка то задана.
  9. На скриптовом языке все быстро пишется. Формировать последовательности, проверять валидность алгоритмов - самое то, ГУИ быстренько "накидать". Для тестирования C-кода (без привязки к ЦОС) я так и не пробовал. вообще задачи софт-тестеров и разработчиков DSP-алгоритмов разные. Сам код на C в python просто так не вставишь, нужно немного переделать(а это оверхед). Хотя в NumPy вообще как-то C++ можно заюзать, но я так глубоко не копал. В SciLab можно библиотеки использовать. По-поводу тестирования на железе. Это само собой, но и софт-тесты обязательны - железо мало ли что может показать - от наводок до софтовых но не связанных с алгоритмом ошибок.
  10. Цитата(bornbash @ Dec 10 2012, 10:17) К сожалению, не приходилось никогда заниматься построением квадратурных вещей. Теорию почитал вроде как (http://dspsys.org/vsa/23-iqdemod). хороший сайт... Цитата(bornbash @ Dec 10 2012, 10:17) Но что-то не вполне понимаю, как при возбуждающем синусе можно использовать на приемной стороне логические уровни? Можно ссылку? Погуглите - "детектор Тайлоу" или "любительский SDR приемник". Можно было бы напрямую это в контроллере, но у Вас очень высокие частоты, а скорость изменения сигнала намного меньше - оверхед.
  11. Цитата(phantom @ Dec 7 2012, 21:03) При этом отпадает необходимость последующей цифровой фильтрации для ограничения спектра. Так не бывает. Только для "постоянки"... Цитата(TigerSHARC @ Dec 10 2012, 07:42) Хотя "ловить" мегагерцовые прерывания всё равно не получится. А нужно оно? Не для всякого реалтайма эти "ксеномаи" нужны. В QEX за прошлый кажется год(нет, вру 2010, №9, 11) - проект любительского SDR с ucLinux на blackfin 537. Реалтайм? Да. Радар можно сделать. В конце концов звук то в реалтайме как-то "линукс" и "виндовс" пишут/играют - понятно, что реалтайм там переносится на контроллер(аудио например) а нереалтаймовым буферированием пренебрегают, но для многих задач это самое то.
  12. FFT на асм для ARM7TDMI (AT91SAM7xx)

    Цитата(hd44780 @ Dec 6 2012, 09:11) Почистил мусор всякий - расчёт FFT вместе со спектром - 7-8ms по 512-байтовой выборке. От палок этих вроде избавился, пока на этом остановлюсь. ...рано. Что-то уж очень большие цифры. Тем более, что мы(Вы) используем RealFFT. По-поводу логарифмирования и корня: sqrt() - это же число в степени 0.5 - а она легким движением руки переносится в показатель степени основания логарифма или просто выносится за логарифм. Потому никакой целочисленный корень не нужен. Кстати, это оффтоп, но у меня есть веские основания полагать почему так развита была теория "кепструмов" для распознавания речи в эпоху малопроизводительных ЭВМ без float - а просто легкое целочисленное вычисление - смотрим дальше по тексту. С корнем разобрались. Теперь с логарифмом. Из его свойств (находящихся в доступном доступе, входящих в школьную программу) видно, что логарифм произведения чисел равен сумме их логарифмов. Тогда нужно определить вес одного пикселя(вычислять меньшие величины нет смысла) узнать какому значению он соответствует и поместить его в таблицу(значение и его логарифм). Получив тот или иной сэмпл, мы узнаем "сколько порций пикселов" в него входит(делением) и складываем их - это и есть наш логарифм. Понятное дело делить лучше не на порции напрямую а "сотни", "десятки", "единицы"(так же и складывать) или "единицы", "пары", "квадры", "хексы" и т.д. Это не я такой умный, а Pilot с "винграда". У него на форуме я такое нашел. Правда тогда я и не допер этот способ, а потом допер и вышла лабуда. А почему лабуда? А потому, что мы ищем не логарифм от 1 до 32768, а логарифм 0.001 до 0.999, а уже эту сетку домножаем на как по x 32768 так и по y.
  13. кратко - выдержат(колонки)... Диапазон DAC-звуковухи и DSP почти совпадают(у звуковухи там регулировать можно)... Напрямую - может сгореть(контроллер).
  14. Они не стандартизированы. В СССР был такой еще стандарт 600 Ом, но сейчас его уже нет. Вход колонок ~1-10kOhm - вполне подойдет.