Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизСжать график. Найти похожие ветки
← →
Inovet © (2012-10-11 07:53) [40]> [38] Pavia © (11.10.12 06:34)
> как и ваш Adobe Audition
Оно Adobe
> [38] Pavia © (11.10.12 06:34)
> Единственное что я не согласен с тем что надо строить синусойду(такая
> возможность у меня имеется) при интерполяции. Это неверно.
> Между точками мы можем провести кривую любым способом.
На картинках синусоида, потому что там действительно синусоида, я же написал какая, было бы другое, и апроксиморовалось бы иначе. Картинку я привёл к пояснению [8]. Построй по точкам - получишь фигню.
← →
Inovet © (2012-10-11 07:56) [41]> [39] Павиа (11.10.12 07:13)
> Вот тут и кроется заблуждение вы падаете на вход синусойду
> и ожидаете синусойду. А подайте не синусойду а к примеру
> меандер(п-образный сигна) или лучше экспоненту. В результате
> вы не получите желаемого у вас будут непонятные волны.
Не бывает прямоугольных сигналов, всегда волны и будут.
← →
Inovet © (2012-10-11 08:02) [42]На тебе прямоугольник 20000 Гц
http://s1.ipicture.ru/uploads/20121011/ueQVh5rr.jpg
← →
Inovet © (2012-10-11 08:06) [43]На тебе две синусоиды 13333 и 20000
http://s2.ipicture.ru/uploads/20121011/9ADNuVH0.jpg
← →
han_malign (2012-10-11 08:43) [44]
> На тебе две синусоиды
- уперся блин - нафиг не нужны никакие фильтры и интерполяции при отображении осциллограммы оцифрованного звука...
Нужно тупо красиво нарисовать огибающую не потеряв информативности при отображении большого куска сигнала в один пиксель полосу...
Как видно на рисунке это делается полутонами, и по сути напоминает закрашивание карандашом линии с амплитудой сигнала...
1 1
111 3
1111 ==> 4
111 3
11 2
← →
Inovet © (2012-10-11 08:48) [45]> [44] han_malign (11.10.12 08:43)
> Нужно тупо красиво нарисовать огибающую
При масштабе меньше разрешения так и будет, выше обсуждали как, при достаточном разрешении надо апроксимировать иначе будеьт фигня,. Тут же пытаются доказать обратное.
← →
Inovet © (2012-10-11 08:53) [46]> [44] han_malign (11.10.12 08:43)
> Как видно на рисунке это делается полутонами, и по сути
> напоминает закрашивание карандашом линии с амплитудой сигнала
Да хоть в цветочек с горошком, какая разница как он там разукрасит, важно что разукрашивать.
← →
han_malign (2012-10-11 09:11) [47]
> при достаточном разрешении надо апроксимировать
- не будет там достаточного разрешения, потому что 20-ти минутный трек кусками по 10 миллисекунд никто разглядывать не будет, тем более при воспроизведении в реальном времени...
З.Ы. Частотную составляющую все-таки надо бы учитывать, т.к. ужимаем и по амплитуде тоже
- * -
* 2
- * -
1/2
- -
1/2
- * -
- но тут линейной интерполяции - за глаза...
← →
Pavia © (2012-10-11 09:16) [48]
> Inovet © (11.10.12 08:02) [42]
Я отвас больше экспоненту хотел видить.
но ладно вот вам табличка сигналы и их отоброжения в зависимости от интерполяци
http://postimage.org/image/ad4zw4hav/full/
Налучшей результат находится на диаганали.
Красными линиями показано значение в точке.
← →
han_malign (2012-10-11 09:36) [49]
> важно что разукрашивать
- задачи восстановить аналоговый сигнал по заведомо известному закону не стоит. Предположение о гармонической форме исходного сигнала, мягко говоря, не обоснованно. К примеру, в шипящих фонемах - гармоник маловато будет...
← →
Jeer © (2012-10-11 12:10) [50]Это обычная задача DSP и не наду тут "разводить кроликов" насчет "красивше".
Решать ее надо правильными методами, основанными на теории обработки сигналов, тогода будет и правильно и "красивше".
Интерполяция тут при чем ?
Стоит задача децимации, т.е. уменьшения частоты дискретизации.
Инженерным или научным ( как хотите ) методом является именно предварительная фильтрация, затем децимация или как показано мной выше совмещение операций фильтрации и децимации на CIC-фильтрах.
Пример 1.
http://s017.radikal.ru/i440/1210/5f/2ed7dac76240.jpg
Серый - исходный сигнал, полученный из белого шума формирующим фильтром ( ФНЧ первого порядка ), аналог звукового сигнала.
Черный - децимация 1:100 исходного ( серого ) сигнала.
Красный - фильтрация исходного сигнала скользящим усреднением, т.е. выделение НЧ-составляющей для обеспечения нормальной децимации.
Как видим, черный и близко не лег к основной НЧ составляющей.
Пример 2.
http://s47.radikal.ru/i117/1210/56/be776ec7d2cc.jpg
Серый и красный - тоже самое, а черный - децимация 1:100 отфильтрованного ( красного ) сигнала.
Совпадение более, чем удовлетворительное при столь высокой децимации.
← →
Inovet © (2012-10-11 13:02) [51]> [48] Pavia © (11.10.12 09:16)
> Налучшей результат находится на диаганали.
Да вот в трёх приведённыйх примерах наиболее близкий к реальности будет sine. Некрасивый, но правдивый.
← →
Inovet © (2012-10-11 13:05) [52]> [47] han_malign (11.10.12 09:11)
> - но тут линейной интерполяции - за глаза...
Может быть, но мин макс лучше.
← →
Inovet © (2012-10-11 13:14) [53]> [50] Jeer © (11.10.12 12:10)
> и не наду тут "разводить кроликов" насчет "красивше"
Как раз задача и стоит красивше, а не правильнее. Ну типа - визуализировать звуковую дорожку, как сфотографировать канавку на грамластинке или осциллограмму, а потом понизить разрешение фотографии. Никто по ней не будет определять параметры сигнала, достаточно видеть где тише, где громче для навигации, а больше и не надо. С ФНЧ этого как раз не будет видно.
← →
Inovet © (2012-10-11 13:16) [54]> [47] han_malign (11.10.12 09:11)
> - не будет там достаточного разрешения, потому что 20-ти
> минутный трек кусками по 10 миллисекунд никто разглядывать
> не будет
Не будет - и хрен с ним. А если будет, так надо сделать нормально.
← →
Inovet © (2012-10-11 13:27) [55]> [53] Inovet © (11.10.12 13:14)
> визуализировать звуковую дорожку
Кстати, на киноплёнке её и так видно.
http://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/35_mm_RUS.svg/2000px-35_mm_RUS.svg.png?uselang=ru
← →
Pavia © (2012-10-11 13:28) [56]
> Да вот в трёх приведённыйх примерах наиболее близкий к реальности
> будет sine. Некрасивый, но правдивый.
Ошибаетесь.
Торт состоит из коржей хотя разрезается на дольки(куски).
вы просто привыкли видеть его разрезанным.
Также и с синусойдами. Отсюда вас и неправильное представление о реальности.
← →
Inovet © (2012-10-11 13:37) [57]> [56] Pavia © (11.10.12 13:28)
> Также и с синусойдами. Отсюда вас и неправильное представление о реальности.
Хорошо, смотрим диагональ.
Прамоугольник.
1. при такой частоте выборок невозможны столь крутые фронты и спады.
2. Лучше, но углы торчат, тоже не может быть.
3. Правдиво
Экспонента.
1. На краях не может быть так, ещё и прямоуггольная.
2. Края не реальные.
3. Правдиво
Синусоида.
1. Даоеко от реальности в квадрате.
2. Получше, но углы не бывают.
3. Правдиво
← →
Inovet © (2012-10-11 14:04) [58]> [53] Inovet © (11.10.12 13:14)
> визуализировать звуковую дорожку
Пример визуализации со спектром
Тхе Беатлес - Йестырдей
http://s2.ipicture.ru/uploads/20121011/vJjZBlEh.jpg
с этого mp3
http://muzyaka.com/song/851
← →
Jeer © (2012-10-11 14:49) [59]Фантазируем дальше.
Предположим у ТС не стоит задача децимации.
У него задача показать огибающую по уровню громкости.
В этом случае, все упрощается - достаточно использовать простейшую цифровую модель амплитудного детектора.
Как мы помним - это диод и конденсатор + цепь разрядки.
Значит, моделируем диод и разное время зарядки и разрядки.
Для "диода" достаточно abs()
Конденсатор с разными постоянными времени моделируется ФНЧ первого порядка с изменяемой, в зависимости от направления тока, постоянной времени.
http://s017.radikal.ru/i406/1210/a5/661c447bec6b.jpg
Т.е. мы произвели амплитудное детектирование AM-сигнала, где в качестве несущей частоты (частот) выступает спектр звукового сигнала.
Модель чрезвычайно проста и физична, в отличии от геометрических построений, а главное - давно отработана в радиоприемниках.
Ее можно, улучшать вводя адаптивность постоянной времени от уровня рассогласования, использовать каскадное соединение ФНЧ первого порядка или фильтр втрого порядка.
// arY[] - массив входных данных
// arYF[] - отфильтрованный массив
// A - эквивалент постоянной времени
Yi := 0;
for i := 0 to High(arY) do begin
Ya := abs(arY[i]); \\ "выпрямление"
if Yi < Ya then A := 0.05 \\ моделирование времени заряда-разряда
else A:= 0.003;
Y := A*Ya + (1-A)*Yi; \\ фильтр
Yi := Y; \\ фильтр
arYF[i] := Y;
end;
Децимация проходит на ура
http://s019.radikal.ru/i621/1210/b9/526a1022b928.jpg
← →
Jeer © (2012-10-11 14:59) [60]Наконец, после "амплитудного детектора" ставим такой же простейший ФНЧ и получаем вполне сносное и физически обоснованное видение процесса:
http://s017.radikal.ru/i412/1210/e2/2a8157e3f023.jpg
A - const
Y := A*Ya + (1-A)*Yi; \\ фильтр
Yi := Y; \\ фильтр
← →
Jeer © (2012-10-11 15:02) [61]К огибающему сигналу после его децимации вообще претензий нет
http://s019.radikal.ru/i636/1210/b4/272450e61768.jpg
← →
Jeer © (2012-10-11 15:06) [62]Могу еще пофантазировать, что ТС, говоря о гистограмме ( а не тренде ), имел в виду визуализацию спектра сигнала :)
Тут все просто до безобразия (если не заморачиваться с вейвлетами):
- медленный и тупой DFT;
- быстрый и умный FFT;
- сверхбыстрый и хитрый Герцель ( Goertzel )
+ гистограмма, то бишь столбики.
← →
Inovet © (2012-10-11 15:16) [63]> [62] Jeer © (11.10.12 15:06)
> Могу еще пофантазировать, что ТС, говоря о гистограмме (
> а не тренде ), имел в виду визуализацию спектра сигнала :)
Это вряд ли.:)
С детектором похоже на то. Интересно как обычно делают в том же Аудишн, да и везде они похоже выглядят. Что-то мне думается, фильтр они не ставят - меставми выбросы видно.
← →
Inovet © (2012-10-11 15:22) [64]> [59] Jeer © (11.10.12 14:49)
Насчёт времён заряда и разряда. Это в аналоге так, а в цифре можно в ближайшее будущее подсмотреть, чтобы ровнее было. Нет?
← →
Jeer © (2012-10-11 15:27) [65]Вот вариант с адаптивной подстройкой времени заряда-разряда
var
i: integer;
Ya, Y, Yi, A, K: TFloat;
function _Adaptive(const k, dX: TFloat): TFloat;
begin
Result := k * (0.01 + abs(dX));
end;
begin
Yi := 0;
for i := 0 to High(arY) do begin
Ya := abs(arY[i]);
if Yi < Ya then K := 0.5
else K := 0.01;
A := _Adaptive(K, Yi - Ya);
Y := A * Ya + (1 - A) * Yi;
Yi := Y;
arYF[i] := Y;
end;
end;
Тут обошлись одним фильтром с подстраиваемой T
http://i053.radikal.ru/1210/c9/398e969f7a46.jpg
← →
Jeer © (2012-10-11 15:39) [66]
> Это в аналоге так, а в цифре можно в ближайшее будущее
Это и в цифре и а аналоге одинаково, если онлайн обработка.
Тот алгоритм, что я привел как аналог AM - легко применяется для онлайн обработки.
Если данные уже получены в виде некоего массива - можно улучшать до бесконечности.
← →
Pavia © (2012-10-11 15:40) [67]
> Хорошо, смотрим диагональ.Прамоугольник.1. при такой частоте
> выборок невозможны столь крутые фронты и спады.2. Лучше,
> но углы торчат, тоже не может быть.3. ПравдивоЭкспонента.
> 1. На краях не может быть так, ещё и прямоуггольная.2. Края
> не реальные.3. Правдиво
Прямоугольной может быть и есть. А то что АЦП выступает в роле фильтера это вопрос второй.
Да мы можем подогнать под АЦП скругив. Но гораздо наглдее и реальне прямоугольные.
← →
Inovet © (2012-10-11 16:04) [68]> [67] Pavia © (11.10.12 15:40)
Ну ты понял. Или абстракция с идеализацией и с бесконечно высокой скоростью выборок, или реальность - то, что будет на выходе. Даже без АЦП сгенерировали красивые прямоугольники, а на выходе ЦАП+ФНЧ от них может остаться, в зависимости от частоты, отдалённо похожее на идеал, а то и синусоида.
← →
han_malign (2012-10-11 16:17) [69]
> А если будет, так надо сделать нормально.
- нормальная визуализация - это максимально информативная с минимальным искажением входных данных...
Это вообще может быть не оцифровка аналогового сигнала, а любая дискретная выборка - например почасовой счетчик срабатываний турникета за последний год, или плотность сетевого трафика, или гистограмма распределения на большом динамическом диапазоне(тот же спектр) - и `тут не надо "разводить кроликов"` и резать или выдумывать промежуточные отсчеты...
> Это обычная задача DSP
- DrawLine(i, ...); - уга, ага - классическая задача обработки сигналов, может еще и преобразование Фурье для построения огибающей сделать?
И "красивше" там - насчет визуального выявления локальных артефактов на больших выборках, для быстрой навигации и последующей детализации...
← →
Jeer © (2012-10-11 16:30) [70]
> DrawLine(i, ...); - уга, ага - классическая задача обработки
> сигналов
Передергивать не надо. Drawline - это метод рисования, а не обработки.
Привыкли, панимаешь, к геометрии :)
> это максимально информативная с минимальным искажением входных
> данных.
Критерии информативности и минимальности - в студию.
А так - это просто треп.
← →
Jeer © (2012-10-11 16:34) [71]
> А то что АЦП выступает в роле фильтера это вопрос второй.
>
Это где Вам такое приснилось ? :)
← →
Inovet © (2012-10-11 17:01) [72]> [69] han_malign (11.10.12 16:17)
> Это вообще может быть не оцифровка аналогового сигнала,
> а любая дискретная выборка
Автор, после несколько раз заданного наводящего вопроса, ответил, что там такое. Но и для физически иных данных не факт, что не надо. И турникет, и трафик тоже могут в обе стороны работать - методы годятся, либо, в особых случаях, в одну сторону - "всех впускать, никого не выпускать" - с постоянной составляющей, когда-то всё равной выпустят, но может уже в другом качестве - другие методы.
← →
Pavia © (2012-10-11 18:59) [73]
> Это где Вам такое приснилось ? :)
Может я немного не правильно выразился.
Во-первых АЦП отсекает частоты которые ниже частоты дискретизации.
Во-вторых АЦП состоит из конденсатора и компараторов. Так вот конденсатор и выполняет роль фильтера.
← →
Inovet © (2012-10-11 19:08) [74]> [73] Pavia © (11.10.12 18:59)
Оба постулата неверны
← →
Игорь Шевченко © (2012-10-11 19:51) [75]В-третьих, у него внутре неонка
← →
Jeer © (2012-10-11 20:29) [76]
> Во-первых АЦП отсекает частоты которые ниже частоты дискретизации.
>
> Во-вторых АЦП состоит из конденсатора и компараторов. Так
> вот конденсатор и выполняет роль фильтера.
Оба-на, а народ-то и не знал, откуда выдирать конденсаторы.
Пойду гляну на свои запасы АЦП - наверняка сотню кондеров из них щипчиками по-вытаскиваю.
По делу:
Правильным применением любого АЦП, как функционального узла, является применение его в совокупности с предварительным аналоговым фильтром НЧ, для удаления частот выше частоты Найквиста ( теорема Котельникова ).
Из чего конкретно состоит тот или иной АЦП - это второй вопрос, архитектурный и "кондеров" там может не быть вообще :)
Но, именно такая связка ФНЧ + АЦП будет работать технически грамотно.
> В-третьих, у него внутре неонка
+100500 :)
← →
han_malign (2012-10-12 09:15) [77]
> Критерии информативности и минимальности - в студию.
- вы человек ученый - вам поток звуковой энергии интересен, но ведь есть люди которым и импульсные выкидыши важны - а вы их все сгладить норовите...
Минимальность - это отсутствие сфальсифицированной - даже по Вашим Высшим законам - информации...
(например, основным преимуществом медианного фильтра считается отсутствие искаженных значений в выборке)
Информативность
Простой пример: чистая гармоника - на эскизе заведомо сливается в полосу, т.е. огибающая - прямая.
Но, если построить правильное полутоновое изображение - крутизна градиента цвета фактически соответствует крутизне фронта волны - можно прикинуть частоту, увидеть биение частот - фактически можно отобразить FM-радио "в оригинале"...
Еще проще: набор чистых цифровых стробов - по интенсивности цвета выкидышей на эскизе можно легко прикинуть наличие и ширину посылок...
Изначально стояла задача нарисовать эскиз осциллограммы сигнала, а не смоделировать какой либо тракт обработки этого сигнала...
А при построении эскизов - применяются алгоритмы обработки изображения, а не звука...
← →
Inovet © (2012-10-12 09:23) [78]> [77] han_malign (12.10.12 09:15)
> даже по Вашим Высшим законам
Законы природы безличностны и действуют для всех одинаково, в отличие от личных фантазий. Не так давно была ветка на тему цифровых сигналов, там тоже разговоры шли о вымышленных красивостях. Другое дело, когда красивость нужна для красивости, пусть при этом как раз потеряется объективность и будут внесены искажения. Это уже художества, не плохо, нет, но надо понимать разницу и область применения.
← →
Inovet © (2012-10-12 09:29) [79]Вот в посте
> [58] Inovet © (11.10.12 14:04)
картинка - это же не для красивости в плеере сделана, а для работы. Например, можно из спектра взять прямоугольную область и применить затем в фильтре.
← →
Inovet © (2012-10-12 09:37) [80]> [79] Inovet © (12.10.12 09:29)
А осцилограмма там же нужна для точного позиционирования как раз при сильном увеличении, для нарезки или той же фильтрации и прочих обработок, причём сразу будет виден правильный реальный результат, а не какая-то идилия.
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.64 MB
Время: 0.206 c