Сохранен 112
https://2ch.hk/ra/res/177728.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

ЦАП для DDS-синтезатора

 Аноним 03/07/15 Птн 18:34:52 #1 №177728 
14359376924370.jpg
Сап, радиач.

Конструирую тут потихоньку опенсорцовый DDS-синтезатор околозвуковых частот.

Не "ололо, посмотрите, я прикрутил к ардуине матрицу R-2R", а более серьёзное устройство, с возможностью синтеза сигнала произвольной формы и автоматического построения АЧХ.

Общая идея - МК1 (управляющий) -> МК2 (аккумулятор фазы + сумматор) -> статическое ОЗУ -> ЦАП.

И нужна помощь по ЦАП.

Что посоветуешь, радиач?
Нужно:

- только зарубежная (бо опенсорс);
- только параллельная (чтобы можно было используя жёсткую логику передавать на неё отсчёты с ОЗУ);
- миллиона два отсчётов в секунду;
- 8 или 10 бит (если будет 16-будет вообще зашибись, поставлю две ОЗУшки);
- такая, чтобы можно было в рознице (хотя-бы на заказ) достать;
- корпус - предпочтителен SMD (печатаю платы фотолитографией), выводной - допустим, BGA - не предлагать.


С меня - К570ПА1 :3
Аноним 03/07/15 Птн 18:35:20 #2 №177729 
Быстрофикс - К572ПА1
Аноним 03/07/15 Птн 20:55:01 #3 №177739 
>>177728
http://www.analog.com/en/products/digital-to-analog-converters/da-converters/dac8562.html#product-overview
http://www.efind.ru/icsearch/?search=DAC8562
Аноним 04/07/15 Суб 00:31:30 #4 №177762 
Многоуважаемый Иван, ты?
Аноним 04/07/15 Суб 03:07:30 #5 №177770 
>>177762
Нет. Иван - это какрй-то местный персонаж?
Аноним 17/10/15 Суб 22:46:44 #6 №190406 
Бамп.
Аноним 17/10/15 Суб 23:16:06 #7 №190411 
>>177728 (OP)

почти в любом cortex-m есть DAC 8~14bit, который можно усилить через ОП, чо ещё надо?
Аноним 23/10/15 Птн 17:20:06 #8 №191425 
>>190411
- миллиона два отсчётов в секунду;

Нужно чтобы от на ЦАП шли отсчёты из внешней ОЗУ, адреса которой в свою очередь крутит счётчик.
Аноним 23/10/15 Птн 20:21:13 #9 №191442 
>>191425
Теорема Котельникова.
Аноним 24/10/15 Суб 00:27:38 #10 №191508 
>>191425

>миллиона два отсчётов в секунду
>внешней ОЗУ

cortex-m4

есть контролер DRAM
DAC может забирать семплы из DRAM с помощью DMA, если на время работы DMA DAC потушить всю остальную перефирию и усыпить ядро MCU то DAC будет работать без задержек практически на частоте шины (~50Mhz) можно с делителем

нахуя ты хочешь нагородить всё на рассыпухе когда есть такие ардуины? махарайщих дохуя?

>>191442

>Теорема Котельникова.

математик дохуя? эта сраная теорема имеет отношение к синусу, для сигналов сложной формы желательно имеет десятикратный запас по частоте
Аноним 24/10/15 Суб 00:34:15 #11 №191509 
>>191508
> эта сраная теорема имеет отношение к синусу
Ты хотел сказать к спектру.
Аноним 24/10/15 Суб 08:53:15 #12 №191534 
>>191509>>191508
К гармоническим сигналам, уебки.
Аноним 24/10/15 Суб 15:40:13 #13 №191598 
>>191534
К полосе сигнала, мудак.
Аноним 24/10/15 Суб 19:39:32 #14 №191645 
>>191598

к кубатуре круга, дебилы
Аноним 25/10/15 Вск 02:54:23 #15 №191729 
14457308631170.jpg
>>191508
Ты наглухо отбитый? Какие синусы? Какие, нахуй,
>миллиона два отсчётов в секунду
?
Тебе для околозвука 44 кГц частоты дискретизации за глаза хватит. Ну, если сильно надо, можешь до 192 кГц поднять, если овердохуя точность требутся. Но выше уже смысла не имеет.
Перечитай еще раз теорему Котельникова. Она относится к максимальной частоте в спектре сигнала. Спектре, Карл! По Фурье. Там по определению разложение сложного сигнала в ряд гармонических функций!
Синусы у него, блять, ну охуеть.
Аноним 25/10/15 Вск 03:23:38 #16 №191733 
14457326185490.gif
>>191729

>максимальной частоте в спектре
>Карл! По Фурье
>сложного сигнала в ряд гармонических функций

диваный теоретик?

берём пилу на частоте 10kHz
оцифровываем её на частоте 20kHz
в лучшем случае если применим апроксимацию будем наблюдать ибаную синусоиду на частоте 10kHz
если без апроксимации будем наблюдать просто хуету

уважамый теоретик проведите эксперимент и объяните результат

подсказка:

https://ru.wikipedia.org/wiki/%D0%A7%D0%B0%D1%81%D1%82%D0%BE%D1%82%D0%B0_%D0%9D%D0%B0%D0%B9%D0%BA%D0%B2%D0%B8%D1%81%D1%82%D0%B0


Поэтому частоту дискретизации выбирают с запасом
Аноним 25/10/15 Вск 07:23:53 #17 №191755 
>>191733
Уважаемый практик, я в проведении подобных идиотских экспериментов не нуждаюсь. А вот вы, видимо, лекции по данной теме таки просрали.
Надеюсь, ты понимаешь, что спектр твоей десятикилогерцовой пилы бесконечно широк (либо ограничен по одному из общеизвестных критериев, но все равно весьма широк), и что при дискретизации на такой частоте и последующем восстановлении в спектре результирующего сигнала останется лишь одна гармоника — 10 кГц, ибо только она удовлетворяет требованиям теоремы? Все остальные, высшие составляющие в лучшем случае будут отфильтрованы ФНЧ, в худшем — размазаны муаровым узором по всему спектру.

И снова советую, перечитай еще раз определение теоремы Котельникова.
Теорема Котельникова гласит, что частота дискретизации для данного сигнала должна быть в два раза больше, чем максимальная частота в спектре этого сигнала. Там про сигнал любой формы речь идет. Где ты там синусы увидел, болезный? И про десятикратный запас по частоте — пиздеж. Его нужно определять для каждого сигнала отдельно, хотя бы в соответствии с критериями ограничения спектра.

Я тебе и предлагаю выбирать частоту дискретизации с запасом. От 44 до 192 кГц вполне хватит для твоих игр с пилой (и большинством других сигналов). Но нахуя такой ебический-то, на целых два, а то и три порядка? Микропроцессор больше нечем нагружать?
Аноним 25/10/15 Вск 08:00:18 #18 №191759 
>>191755

>лекции по данной теме таки просрали

угадал чертяка

>но все равно весьма широк

воот именно поэтому чем больше частота дискретизации тем лучше и нет предела совершенству

>перечитай еще раз определение теоремы Котельникова

нет, небуду, сам читай это математическое говно

>вполне хватит для твоих игр с пилой

нет нужно больше

>Микропроцессор больше нечем нагружать?

нечем

Аноним 25/10/15 Вск 11:36:49 #19 №191767 
>>191733
Ебать дебил! Ты - ОП? Тогда все вообще печально, ты же, блядь, основ не знаешь, а собрался сделать какой-то синтезатор, да еще и в опенсорц им насрать. Страшная тайна - переломы в твоей ебучей пиле, как и переломы в ебучем меандре, в идеальных условиях имеют бесконечное количество гармонических составляющих с бесконечным спектром и на практике, в принципе, не реализуемы, всегда есть лишь какой-то уровень приближения.
Аноним 25/10/15 Вск 12:31:52 #20 №191771 
>>191767
>ты же, блядь, основ не знаешь, а собрался сделать какой-то синтезатор, да еще и в опенсорц им насрать.
ну будьте же вы хабралюдьми
Аноним 25/10/15 Вск 12:36:17 #21 №191772 
>>191767

неа не оп
просто мимокрокодил
решил тебя потролировать :3
азазазаза
Аноним 25/10/15 Вск 13:30:13 #22 №191780 
>>191759
>воот именно поэтому чем больше частота дискретизации тем лучше и нет предела совершенству

хуйней не занимайся

https://xiph.org/~xiphmont/demo/neil-young.html
Аноним 25/10/15 Вск 15:23:12 #23 №191790 
>>191780

статья теоретическое говно

на практике 24/192 звучат значительно лучше чем недомузыка
Аноним 25/10/15 Вск 15:27:20 #24 №191791 
14457760409930.png
>>191759
>угадал чертяка
Очень плохо.
>воот именно поэтому чем больше частота дискретизации тем лучше и нет предела совершенству
Есть предел совершенству. И этот предел определяется энергетическим критерием. Фактически, можно ограничить спектр твоей пилы примерно в области пятой-седьмой гармоники, при этом сохранится примерно 95% энергии сигнала. Частота дискретизации в таком случае, по Котельникову, для десятикилогерцовой пилы должна быть не менее 100-140 кГц. Вот и возьми 192 кГц, как раз с запасом. Этого достаточно для подавляющего большинства практических применений. Вот и не стоит добавлять себе работу (а конечному продукту — стоимость), и искать какое-то мифическое совершенство. А то найдешь ведь...
>нет, небуду, сам читай это математическое говно
Ты и матан на первом курсе не учил? Тебе же хуже. Так и помрешь непрошибаемым дураком, будешь бредить о каких-то там синусах, не зная основ того, с чем работаешь.
>нет нужно больше
Приведи доказательства. Только не надо опять хуиты пороть, докажи с точки зрения математической теории.
>нечем
Так возьми более дешевый процессор, или ардуинщик дохуя?

Вот, смотри прикрепленный пик. Спектр пилообразного импульса (считай, один период твоей десятикилогерцовой пилы) ограничен сверху частотой 96 кГц. Смотри, какая охуенная пила выходит после обратного преобразования! 96,8% энергии исходного сигнала сохранилось, и форма почти идеальная!
Но нет, блджад! Тебе зачем-то нужен запас по частоте на два порядка! Нахуя?
Аноним 25/10/15 Вск 15:32:26 #25 №191793 
>>191772
О́Пушка не палится.
Аноним 25/10/15 Вск 16:36:41 #26 №191795 
>>191790
да у тебя же CONFIRMATOIN BIAS

или ты двойное слепое тестирование проводил?
Аноним 25/10/15 Вск 16:37:39 #27 №191796 
>>191791
>и форма почти идеальная!
НИТ ТЫ ЧО СМАРИ КАКИЕ РИППЛЫ Я ИХ НА СЛУХ ОЩУЩАЮ
Аноним 25/10/15 Вск 17:48:22 #28 №191809 
>>191791

>возьми более дешевый процессор

нет

>Смотри, какая охуенная пила выходит

нет, хуёвая

Аноним 25/10/15 Вск 20:45:59 #29 №191839 
>>191809
Нет, охуенная.
Аноним 27/10/15 Втр 10:34:02 #30 №192080 
>>191796
>>191809


У тебя органы слуха, в одной из популярных моделей, это набор ПФ, с очень плохим АЧХ, и не совсем линейным ФЧХ. Так, что ты там и не такие риплы слушаешь, и больше 22 кГц не воспринимаешь.

Теорема Котельникова (их вообще 4, кто не читал, просто принято объединять в одну) работает хорошо, для полосовых сигналов.

Если твой сигнал не полосовой - тебе нужно ограничить его по полосе НЧ фильтром. А далее, тебе верно сказали, 95% мощности, должно попадать в полосу пропускания, для восстановления сигнала.
Аноним 27/10/15 Втр 18:39:05 #31 №192109 
>>192080
>Так, что ты там и не такие риплы слушаешь, и больше 22 кГц не воспринимаешь.

блять можно было догадаться что капс подразумевает сарказм?

>тебе верно сказали, 95% мощности, должно попадать в полосу пропускания

почему именно 95?
Аноним 27/10/15 Втр 20:57:11 #32 №192121 
>>192080
Чувак, анон >>191796 троллирует жи.
А по поводу моделей органов слуха, не доставишь ли линк на инфу по ним? Хочу узнать поподробнее.
>>192109
90-95% — общепризнанный энергетический критерий для эффективной ширины спектра сигнала.
Аноним 28/10/15 Срд 00:08:21 #33 №192140 
>>192121
>А по поводу моделей органов слуха, не доставишь ли линк на инфу по ним? Хочу узнать поподробнее.

http://www.dataq.com/data-acquisition/general-education-tutorials/fft-fast-fourier-transform-waveform-analysis.html


http://www.dspguide.com/ch22/1.htm
Аноним 28/10/15 Срд 00:08:56 #34 №192141 
>>192121
>90-95% — общепризнанный энергетический критерий для эффективной ширины спектра сигнала.

это стандарт или еркомендация? где можно подробнее ознакомиться?
Аноним 28/10/15 Срд 11:08:38 #35 №192158 
>>192121
>>192121

алдошина и. "основы психоакустики", классический трактат на данное время.
ЦИТАТА:
можно считать, что периферическая
слуховая система содержит банк полосовых фильтров ("слуховых фильтров") с нерекрывающимися полосами (Рис. 8). Их ширина свыше 1кГц составляет
примерно 10-17% от центральной частоты (например, на частоте 1000 Гц ширина полосы составляет 160
Гц). С шириной слуховых фильтров связано известное понятие "критической полосы" - внутри этой полосы звуковая информация интегрируется слухом; при выходе за пределы этой полосы происходит
скачкообразное изменение слуховых ощущений, и это подтверждается экспериментами по маскировке,
громкости, фазовой чувствительности и др.

Вообще, советую читать литературу, профильную, очень помогает.
Аноним 28/10/15 Срд 11:17:38 #36 №192159 
>>192141
>>192141

В литературе так пишут. например Журавлев В.И. Методы модуляции-демодуляции радиосигналов в системах передачи цифровых сообщений/В. И. Журавлев, Н. П. Трусевич. - 2005, хотя такую книгу трудно скачать.

Спектры они, к сожалению, обычно бесконечны. (тут вообще надо это строго доказать, и сказать что это не периодические и пр. пр.) Опытным путем, очень давно выяснили, что обычно 95 % энергии сигнала группируется в одной области, а остальные 5 % в бесконечности.

НУ, если ты прочитаешь алдошину, то поймешь, что слух это куча фильтров, причем после фильтров нелинейная система(грубо говоря модулятор), которому на частоты больше 22 кГц глубоко положить.
Аноним 28/10/15 Срд 20:58:00 #37 №192209 
>>192158

>околозвуковых частот

околозвуковые частоты это ещё незначит что их ктото собирается вообще слушать ушами, это может быть просто условное обозначение диапазона частот и для описание меандра даже в этом диапазоне, чем больше частота дискретизации тем лучше, ограничение только экономические соображения, такто акустикодрочеры
Аноним 29/10/15 Чтв 09:00:06 #38 №192282 
>>192209
>чем больше частота дискретизации тем лучше

по какому критерию лучше? опять фантазии ?
Аноним 29/10/15 Чтв 15:35:49 #39 №192312 
>>192282
так ему небось нужны ВЕРТИКАЛЬНЫЕ ФРОНТЫ
sageАноним 29/10/15 Чтв 15:58:01 #40 №192314 
>>192312

купил китайскую махарайку ФРОНТЫ ЗАВАЛЕНЫ
похуй так пойдёт потомучто ДЁШИВО
Аноним 29/10/15 Чтв 16:50:41 #41 №192320 
>>192282
Так ведь выходной фильтр. Он же частоту дискретизации должен срезать. Чем она дальше от частоты среза, тем проще и надёжнее фильтрация.
Аноним 30/10/15 Птн 09:32:45 #42 №192404 
>>192320
не понял о чем ты, если честно.
Чем она дальше, тем порядок фильтра будет больше, если цифровой фильтр (КИХ), а аналоговому всё равно как ты понимаешь.
Проще и надежнее вообще не термины ЦОС.
Аноним 30/10/15 Птн 18:51:04 #43 №192461 
>>191767
Нет, то не оп.

ОП-я и я сюда изредка заглядываю.
Аноним 30/10/15 Птн 19:03:20 #44 №192464 
>>191508
ОП на связи.

Есть подозрение, что ЦАП в МК будет прилично так шуметь.

Ну и опять-же, контроллер ради DMA? Я хочу либо на рассыпухе, либо на плисине собрать схему загрузки/выгрузки в статическое ОЗУ + аккумулятор фазы.

Общая идея такова:
1) Есть SRAM 32K x 8, быстрые как понос;
2) Есть схема загрузки/выгрузки в/из ОЗУ;
3) На компе аппроксимируемый нужный сигнал отсчётами, получаем 32К отсчётов, загружаем в ОЗУ;
4) Есть 4-байтный аккумулятор фазы, есть 4-байтный регистр инкремента фазы.
5) По импульсам опорного генератора аккумулятор складывается с регистром инкремента.
6) Старшие 15 бит используются как адрес для ОЗУ, на выход ОЗУ непосредственно подключены входы ЦАП.
7) Вуаля, синтез сигнала нужной формы (если что - не аудиофил, хочу приборчик общего назначения). Высокочастотный DDS у меня есть (AD8950), шумит кстати, скотина.
Аноним 31/10/15 Суб 01:21:55 #45 №192520 
>>192464
Оп, ты все усложняешь.
1.Отсчеты синуса в ПЗУ не нужно каждый раз синтезировать, или загружать. Массив прописывается ручками в коде.
2. ты пишешь 32 к отсчетов. каждый по 8 бит, но ты используешь 16 битный ЦАП, зачем? Шумы от твоего генератора будут выше, чем шумы дискретизации. Нужно и отсчеты хранить 16 битные.

Плис ради такого примитивного DDS - из пушки по воробьям. Cortex m3 хватит. Особенно, если разберешься какой длины тебе нужна таблица
Аноним 31/10/15 Суб 11:10:29 #46 №192565 
>>192520
Не синуса же, а произвольного сигнала.

ОЗУшки стоит две, т.е. максимум 16 бит разрешение.
Аноним 31/10/15 Суб 16:30:23 #47 №192586 
>>192565
>>Не синуса же, а произвольного сигнала

ты что-то явно путаешься. из отсчетов одного синуса генерируются все сигналы произвольной формы:-D
Аноним 31/10/15 Суб 16:43:34 #48 №192592 
>>192404
Ой, дебил. попробуй-ка за октаву девяносто децибел срежь аналоговым фильтром.
аналоговому всё-равно у него...
Аноним 31/10/15 Суб 16:54:00 #49 №192593 
>>192592
дебил здесь только ты. на 90 дБ у тебя IQ срезало
Аноним 31/10/15 Суб 18:45:48 #50 №192606 
>>192593
Так я до сих пор не вижу фильтра, которому пофиг на разницу между частотой дискретизации и частотой среза.

Давай, докажи, что твоя мамаша-шлюха тужилась не ради того, чтобы народить очередного хуеплёта
Аноним 31/10/15 Суб 19:08:52 #51 №192608 
>>192586
Ну-ка поясни. Ты мне что, предлагаешь БПФ делать?
Аноним 31/10/15 Суб 20:13:29 #52 №192618 
>>192606
Так я до сих пор не вижу фильтра, которому пофиг на разницу между частотой дискретизации и частотой среза.

Ты что-то говоришь, сам не понимая ничего.
>>Он же частоту дискретизации должен срезать.
что эта фраза означает? СРЕЗАТЬ ЧАСТОТУ ДИКРЕТИЗАЦИИ... Что ты сказал? зачем её нужно "срезать?"
>>не вижу фильтра, которому пофиг на разницу между частотой дискретизации и частотой среза.
что значит пофиг? о чем ты?
Аноним 31/10/15 Суб 20:16:38 #53 №192619 
>>191733
>в лучшем случае если применим апроксимацию будем наблюдать ибаную синусоиду на частоте 10kHz
Так как высшие гармоники находятся выше частоты 20 кГц, т.е. в ультразвуке, ты не отличишь звучание ебаной синусоиды на частоте 10 кГц от пилы на той же частоте. Поэтому довольно похуй, что ты будешь наблюдать.
>>192618
Здесь момент простой. Мы должны отфильтровать все, что выше половины частоты дискретизации (по теореме Котельникова, чтобы избежать алиасинга). Если бы у нас был бы в распоряжении идеальный фильтр с полосой пропускания в виде прямоугольника, то проблем бы не было. Но на самом деле таких фильтров нет, и вообще, чем меньше порядок у фильтра, тем менее он уродует звук. Поэтому лучше всего иметь завышенную частоту дискретизации (намного выше того, что реально требуется), а частоту среза фильтра установить намного ниже этой завышенной частоты.
Аноним 31/10/15 Суб 20:17:15 #54 №192620 
>>192608
я предлагаю тебе расписать задачу, конкретнее, какие сигналы ты хочешь формировать?
квадратурные сигналы полосовые формируются одной таблицей с синусом. Управляя напрямую фазовым аккумуляторм, ты можешь задать любой вид модуляции, что дает тебе большое разнообразие типовых сигналов. Конечно нужно учитывать, какой тебе нужен шаг перестройки, и какой уровень внеполосных изулучений ты готов терпеть.
Аноним 31/10/15 Суб 20:27:55 #55 №192626 
>>192619
>>Мы должны отфильтровать все, что выше половины частоты дискретизации (по теореме Котельникова, чтобы избежать алиасинга). Если бы у нас был бы в распоряжении идеальный фильтр с полосой пропускания в виде прямоугольника, то проблем бы не было. Но на самом деле таких фильтров нет, и вообще, чем меньше порядок у фильтра, тем менее он уродует звук. Поэтому лучше всего иметь завышенную частоту дискретизации (намного выше того, что реально требуется), а частоту среза фильтра установить намного ниже этой завышенной частоты.


Ты немного путаешься. НЧ фильтр, которым ты борешься с наложением частот. стоит перед АЦП, и он как ты понимаешь аналоговый.

>>Но на самом деле таких фильтров нет, и вообще, чем меньше порядок у фильтра, тем менее он уродует звук.

Опять фантазии

>>Поэтому лучше всего иметь завышенную частоту дискретизации (намного выше того, что реально требуется), а частоту среза фильтра установить намного ниже этой завышенной частоты.

Полоса между полосой пропускания и задержки называется полоса расфильтровки. Частота дискретизации обычно берется с её учетом. Но, вот "намного выше" это уже фантазии. У телефонистов полоса расфильтровки у речевого канала - 600 Гц, при том, что спектр речевого сигнала 0,3-3,4 кГц, частота дискретизации - 8 кГц. И все хорошо, поверь.


>>192320

Вот что там имеет ввиду под
>>Так ведь выходной фильтр. Он же частоту дискретизации должен срезать. Чем она дальше от частоты среза, тем проще и надёжнее фильтрация.

я думаю никому не понятно.
Аноним 31/10/15 Суб 20:32:05 #56 №192628 
>>192626
>частота дискретизации - 8 кГц. И все хорошо, поверь.
Для восьми бит почему бы и нет?

>Ты немного путаешься. НЧ фильтр, которым ты борешься с наложением частот. стоит перед АЦП, и он как ты понимаешь аналоговый.

Нет, он не путается, это просто ты выблядок,который почему-то решил, что ты что-то знаешь.
Аноним 31/10/15 Суб 20:37:44 #57 №192631 
>>192628
>>Для восьми бит почему бы и нет?

Причем здесь 8 бит? Для 16 будет тоже самое.

>>Нет, он не путается, это просто ты выблядок,который почему-то решил, что ты что-то знаешь.

Я знаю, а ты можешь только нести хуйню. Иди срезай частоту дискретизации из спектра дальше.
Аноним 31/10/15 Суб 21:08:12 #58 №192638 
>>192320

Я подумал, и догадался о чем ты, ублюдок. Дело в том, что аналоговой частью после ЦАП никогда не занимался, и редко про неё думал. Но, ты прав, ему придется исходить из того, какой фильтр он купили, или соберет. В литературе пишут, что подавить достаточно на 40 дБ, не более, думаю, такой можно всегда сколхозить
Аноним 31/10/15 Суб 21:50:08 #59 №192646 
>>177777
ебать
Аноним 01/11/15 Вск 13:49:27 #60 №192746 
>>192620
Произвольной формы (если что - в цифровой обработке сигналов не силён, потому поправь, если я где-нибудь хуйню напишу).

Например - вырабатывать не синусоиду, а лесенку. Или какой-нибудь сигнал злойиффучей формы, а-ля ПТЦС (полный телевизионный цветовой сигнал).

Я что предполагаю - рисуем, скажем, этот сигнал на компе в виде непрерывной функции от времени. Квантуем время на 32К квантов. Аппроксимацией находим значение отсчёта АЦП для каждого из этих квантов. Грузим получившуюся lookup table в ОЗУ. И начинаем синтезировать сигнал.

Понятно, что если сигнал сложный, а в регистре инкремента фазы большое число, то лажово будет, но этот случай я просто отметаю.

На деле - мне хватит синуса, нескольких пил, ступенек и меандра.

Но - раз уж лукап-таблица получается перезагружаемой, то почему-бы не дать возможность произвольной её сделать.

Да, вариант с перезагрузкой регистра инкремента фазы на каждом такте не рассматриваю.

Выше я слышал мнения, что мол Cortex-M хватит.

Есть у меня демоплата с ST32F407 (Cortex-M4, 192МГц тактовой). Что ты думаешь о варианте с кортексами?
Аноним 01/11/15 Вск 14:05:12 #61 №192751 
14463759129080.jpg
14463759129261.jpg
14463759129312.jpg
14463759129363.jpg
>>192620
Поясни, что ты имеешь в виду под "Управляя напрямую фазовым аккумуляторм"?

(Я не профессионал, любитель, но с 15+ лет стажем. Не ардуинщик, самопальное железо для PC (в ISA и USBшное) делал, с аналоговой частью - хреново).

Самое сложное, что делал - на пикче (USB-управляемый УМЗЧ).

Да, ЦАП в составе контроллера - это вообще нормально? Подозреваю, что там шумов дохвоста будет от цифровой части.
Аноним 01/11/15 Вск 16:07:25 #62 №192771 
14463832454920.jpg
>>192751
Немного дополнил первуя картинку.
Аноним 01/11/15 Вск 16:33:03 #63 №192779 
>>192746
>>Например - вырабатывать не синусоиду, а лесенку. Или какой-нибудь сигнал злойиффучей формы, а-ля ПТЦС (полный телевизионный цветовой сигнал).

Я под произвольной формы понимаю сигнал с любой модуляцией (фазовой, частотной, амплитудной), который описывается каким-то выражением. Типичная задача - формирование квадратурных модулированных сигналов на ПЧ для передатчика.,

Есть одна ПЗУ, длина которой рассчитывается из требований к чистоте спектра, и возможностей системы. В ней отсчеты сигуса, на частоте f=fd/2^n, где n- разрядность регистра фазы.
Задавая код частоты (число которое будет прибавлятся к содержимому регистра) ты можешь делать что угодно - менять частоту на ходу, или фазу. Например 100 тактов подаешь одно число, 100 тактов другое, сигнал получается цифровой ЧМ (FSK с разрывом фазы), и .т. д

Что бы сделать пилу - можно просто подавать на АЦП сигнал который будет вырабатывать твой процессор(переполнение использовать регистра по 8, 16, 32 разрядам), это проще всего, на мой взгляд. Хотя можно тоже подобрать коды частоты и их последовательность, что бы выдавать пилу.

ну, и как я говорил, да Cortex m3 хватит, если он только будет управлять регистром фазы и ПЗУ.
Аноним 01/11/15 Вск 16:39:03 #64 №192781 
>>192746

В дополнение к предыдущем моему посту :

Почитай про DDS получше, ибо я догадываюсь что ты не представляешь что это и как оно работает (без обид).

У АД и Xilinx есть курсы, легко гуглятся, но я бы советовал следующую работу :

Direct Digital Synthesizers: Theory, Design and Applications Jouko Vankka

это докторская (doctor of science) одного финна, на английском, очень доступная, особенно начало. Там описаны все принципы.
Аноним 01/11/15 Вск 18:07:11 #65 №192789 
>>192771
Я вот глядя на такие фото дропнул паять махарайки. Все-равно по хар-кам получится кал. Сделать не кал слишком сложно, долго и затратно, детали оригинал - дорого, платы придется заказывать в Китае, а корпус - отдельная песня. Нынче только ремонтирую всякую всячину. В общем, спасибо за антипример.
Аноним 01/11/15 Вск 23:20:14 #66 №192845 
>>192789
Всегда нужна цель. Махарайки "для себя" в крутых корпусах делать немножко сомнительно, тут есть разумный предел сложности прибора. А вот если на продажу - стоит задуматься об организации цеха, в котором корпусными работами занимается один человек, ручной пайкой еще человек, электротесты делает третий, а проектировочными работами занимаются вообще другие люди (делая безумные утюжные платы для проверки работоспособности прибора после расчетов в SPICE). Так всегда и работали люди в дремучие аналоговые времена, да и до сих пор некоторые работают так. Вопрос лишь в качестве исполнения - а это уже другой разговор.
Аноним 02/11/15 Пнд 11:34:26 #67 №192873 
>>192781
Нет, таки представляю. Но давай опишу, чтобы ты мог попроваить...

Есть аккумулятор фазы, минимальное его значение - это 0, максимальное - 2Pi.

Есть регистр инкремента фазы.

Есть тактовый генератор, в каждом такте регистр инкремента складывается с аккумулятором.

Старшие биты аккумулятора играют роль адреса в лукап-таблице.

Значения из таблицы - идут на ЦАП.

Дальше - стоит фильтр.

Всё так?

Я не хочу перезагружать регистр инкремента постоянно.
Аноним 02/11/15 Пнд 11:36:44 #68 №192874 
>>192789
Получился, кстати, не кал. На мой слух (не аудиофильский) звучит ОК, а USB-управления я просто нигде на рынке не видел.

Кал - в усилителе для наушников. TDA7050 самовозбуждалась, поставил пару LM386, они шумят, резисторами по выходу шум убрал. Но конструкция модульная, модуль можно заменить.
Аноним 02/11/15 Пнд 13:52:27 #69 №192894 
>>192873
ну, если быть проще то минимальное значение 0, максимальное 2^n -1, где n- разрядность.

Описал ты верно, но тогда почему ты удивляешься тому, что таблица прописывается единожды?

Если ты не будешь изменять значения регистра инкремента постоянно, а например задашь только одно какое-то, то будешь получать только один синус. А для сигналов имеющих модуляцию тебе нужно его менять, причем периодически.
Аноним 02/11/15 Пнд 14:51:23 #70 №192897 
>>192894
Да, всё верно. Я хочу не модуляцию, а сигнал произвольной формы. Для этого в лукап-таблице будет не синус. А регистр инкремента перезагружать не хочу.

Скажем - если в половине таблицы будут нули, а во второй 0xFFFF то я получу меандр.
Аноним 02/11/15 Пнд 15:04:05 #71 №192899 
>>192897
Для того что бы получить меандр не нужен DDS. Как и что бы получить пилу. Для этого не нужна ПЗУ с отсчетами сигнала. ИХ можно генерировать на ходу, в отличии от ВЧ сигналов.
Аноним 02/11/15 Пнд 15:18:03 #72 №192901 
>>192897
а вообще лол.
Неужели не приходит в голову, что ,например, ты можешь управлять значением фазового аккумулятора, а не только регистра инкремента. И задавать его так :
T/2 тактов значение по адресу которого нуль, T/2 тактов - значение по адресу которого 2^n -1 ?
Аноним 02/11/15 Пнд 17:25:32 #73 №192916 
>>192899
>>192901

Неуниверсально же и гемор с его быстрой перезагрузкой.

А тут загрузил в ОЗУ что надо до начала генерации - и всё ОК без лишних телодвижений.

Anyway, давайте вернёмся к теме, что можете посоветовать из ЦАП?
Аноним 02/11/15 Пнд 18:01:41 #74 №192921 
>>192916
Какой может быть гемор с перезагрузкой регистра, который расположен в памяти контроллера? Это одна ассемблерная команда.
Из этого я и делаю вывод что ты не понимаешь, что такое DDS. Ты верно назвал структуру, но не более. Тебе не в домёк, что DDS сделан за тем, что бы получать любые сигналы из одной таблицы с синусом. Из изменять из форму через аккумулятор.
Из нее ты модешь сделать меандр, пилу, модуляцию, и прочее(так устроены векторные генераторы сигналов, которым не нужно ничего получать от компьютера(он конечно может, но это если богатые настройки внутреннего ПО не дают тебе того, что ты хочешь, а это редкость).

По поводу ЦАП- какие требования у тебя? сколь чистый сигнал (SFDR), какой динамический диапазон, и пр пр.



Аноним 02/11/15 Пнд 18:09:25 #75 №192925 
>>192921
А логика вокруг этой ассемблерной команды? Я всё-же хочу аккумулятор, регистр инкремента и сумматор вынести наружу, вне МК.
Аноним 02/11/15 Пнд 20:10:33 #76 №192942 
>>192626
>Ты немного путаешься. НЧ фильтр, которым ты борешься с наложением частот. стоит перед АЦП, и он как ты понимаешь аналоговый.

Оставь этот менторский тон, это я тебя учить должен.

Oversampling can make it easier to realize analog anti-aliasing filters.[1] Without oversampling, it is very difficult to implement filters with the sharp cutoff necessary to maximize use of the available bandwidth without exceeding the Nyquist limit. By increasing the bandwidth of the sampled signal, design constraints for the anti-aliasing filter may be relaxed.[2] Once sampled, the signal can be digitally filtered and downsampled to the desired sampling frequency. In modern integrated circuit technology, digital filters are easier to implement than comparable analog filters.

Т.е. ты ставишь простой аналоговый фильтр с плавным срезом, затем цифруешь с передискретизацией, потом фильтруешь в цифре уже как надо, и далее даунсэмплишь сигнал уже с нужной тебе частотой.

Иначе же тебе придется ставить аналоговый фильтр высокого порядка, который, помимо усложнения, еще и крутит фазу (цифровой sinc-фильтр фазу не трогает).

Но на самом деле последние два этапа (цифровая фильтрация + даунсэмплинг) нужны только, чтобы сэкономить память. Так как уши ультразвук не слышат, можно оставить дешевый аналоговый фильтр, оцифровать на 192 кГц и все. С синтезом все еще лучше - если не веришь, синтезируй пилу наивным методом на 44100 и 192 кГц и сравни звучание. Во втором случае алиасинга будет намного меньше - и это при тупом наивном алгоритме. Поэтому если АЦП/ЦАП позволяет работать в 192 кГц и хватает мощей, лучше работать в 192 кГц.
Аноним 02/11/15 Пнд 20:47:24 #77 №192943 
>>192942
>>Оставь этот менторский тон, это я тебя учить должен.

Что бы чему-то учить нужно в чем-то разбираться. Твою квалификацию судить не могу, не на комиссии. Потому оставь этот тон.

Если ты что-то цитируешь, давай ссылки, хотя бы библиографические. Так можно кидать любые откровения из интернета, и выдавать за научную истину.

>>Иначе же тебе придется ставить аналоговый фильтр высокого порядка, который, помимо усложнения, еще и крутит фазу (цифровой sinc-фильтр фазу не трогает).

Скажу честно, не имел дела с аналоговыми фильтрами. Ты прав, найти нужный фильтр на нужный диапазон это проблема.

Всё остальное мне известно, я рад что ты тоже понимаешь, что в цифре проще делать фильтрацию, и достаточно чаще всего лишь иметь грубые преселекторный фильтр аналоговый.

>>С синтезом все еще лучше - если не веришь, синтезируй пилу наивным методом на 44100 и 192 кГц и сравни звучание. Во втором случае алиасинга будет намного меньше - и это при тупом наивном алгоритме.
Что ты имел ввиду под "наивным методом"? Поясни пожалста.
Аноним 02/11/15 Пнд 21:05:33 #78 №192947 
>>192925
Потому ты и не понимаешь что такое DDS, и зачем он нужен (только не обижайся).
DDS нужен всем для того, что бы формировать сигналы, чаще всего модулироdанные(на НЧ, для связистов) легко, просто, и без ГУН c его проблемами. Причем формировать так, что бы не нужно было ничего загружать из компа, никуда, потому что чаще всего людям нужны типовые сигналы, отличающееся парой параметров, и они не хотят их формировать сами на компе, им нужно что бы это сделал векторный генератор, в котором находится микросхема с DDS. Конечно, векторный генератор может "проигрывать сигналы", если умеет, но это как раз неуправляемый DDS, где инкремент фазы = 1 всегда, и ты ничем не управляешь(я работаю с Agilent e4438c, потому знаю о чем говорю).

Сам метод DDS хорош тем, что имея ОДНУ (в который раз говорю) таблицу с синусом, получать кучу сигналов, без предварительной их записи в память. И при этом, сигналы могут изменятся как угодно во время работы. Сигнал в цифровом виде формируется генератором, который состоит из аккумулятора фазы, и таблички. Есть еще регистр инкремента, да, в него задается т.н "код частоты". Так,вот если ты делаешь что-то для себя и тебе нужно делать много сигналов - то самый логичный ход, это всю цифровую часть сделать на контроллере, или на плис. Но, плис для твоих задач (тактовые частоты порядка 1 МГц, если найдешь фильтр нужный как сказали тут недавно) это избыточно. Почему на контроллере - для него можно написать программу на Си в 20 строчек, которая будет выдавать амплитуду из таблицы. Размер таблицы подбирается из твоих требований к чистоте спектра. Чем она меньше, тем больше будет у тебя шумов в выходном сигнале. КАкие профиты от того, что аккумулятор и регистр инкремента будут в памяти МК - ты можешь управлять DDS так как хочешь ты, и тебе не нужно будет ничего загружать с компа, если после меандра ты захотел синус, или пилу. Ты тыкаешь кнопку на плате, и генератор переключается в другой режим работы. Ты крутишь ручку- частота меняется выходного сигнала. Вот это опенсорс, тебе никто не указывает какие параметры сигнала, и он может меняться динамически, тебе не нужно сидеть на компе его генерить, все алгоритмы уже есть в формирователе.
Аноним 02/11/15 Пнд 21:51:28 #79 №192956 
14464902885820.gif
>>192943
>Что ты имел ввиду под "наивным методом"? Поясни пожалста.
Любая генерация пилы типа i = (i + 1) % T. Возрастаем, обнуляем. У такой генерации бесконечный спектр и это создает алиасинг. На пикрелейтед его видно - у пилы спектр в виде 1/(2k+1), где k - номер гармоники, как только частота гармоники доходит до f_s/2, она "отражается" и идет до 0, потом отражается опять и идет до f_s/2. Как видно, энергетика у шума алиасинга немаленькая - ведь спектр-то бесконечный. Если же генерить на 192 кГц и фильтровать, шум будет в несколько раз меньше, потому что наиболее энергичный мусор ты отфильтруешь.

Поэтому, если есть вычислительная мощь генерировать сигнал с многократным оверсэмплингом, генерируй, то же касается работы АЦП и ЦАП.
Аноним 02/11/15 Пнд 23:17:00 #80 №192962 
14464954203610.png
14464954203641.png
>>192956
если сгенерировать цифровой сигнал(а потом сделать БПФ с ним, на компе) алиасинга не будет(прикрепил картинку). Или ты о чем о другом?

При оцифровке- опять же, из практических соображений, тебе в пиле нужен только период, он определяется первой гармоникой(если ты пилы не слушаешь на ухо), а речь и музыка сигналы полосовые, которые оцифровываются сам знаешь какими частотами. И от того, что ты оцифруешь на 192 кГц вместо 44,1 лучше не станет.

Аноним 03/11/15 Втр 00:38:36 #81 №192968 
>>192962
Я картинку тоже прикрепил, если ты не умеешь читать график и читать мое объяснение, я не виноват. Разговаривать с говном которое несет при этом "от того, что ты оцифруешь на 192 кГц вместо 44,1 лучше не станет" мне надоело.
Аноним 03/11/15 Втр 00:51:48 #82 №192969 
>>192968
Полосовой сигнал занимает полосу 0-22 кГц. Его дискретизировать можно любыми частотами больше 22 кГц. РАЗНИЦЫ НЕ БУДЕТ.
Проблемы подбора аналогового фильтра - это проблемы наличия их на рынке. К самой дискретизации они не имеют отношения.

Откуда ты высрал этот график я не знаю. Что он показывает? БПФ сигнала после оцифровки сигнала с выхода ЦАП без фильтра? или что? телепаты в отпуске.
. Я тебе пруфпик приложил(сам сделал), можешь повторить на матлабе. ТВой графиг говно и выдумка, если ты не можешь пояснить.
Аноним 03/11/15 Втр 00:57:26 #83 №192970 
Люблю радач, но пока не запостишь - на няшкач не попадешь.
Такая фигня, котаны.
Аноним 03/11/15 Втр 02:27:57 #84 №192974 
14465068775910.png
>>192969
У тебя период ровно 4 сэмпла. Это значит, первая гармоника имеет частоту fs/4. У прямоугольника гармоники идут как sin(x)+sin(3x)/3+sin(5x)/5 и т. п. Вторая гармоника имеет частоту 3fs/4. Это выше частоты Найквиста, возникнет алиас с какой частотой? Я выше объяснял, он симметрично отразится от fs/2. 3fs/4-fs/2 - т.е. fs/4 Ты подобрал ровно такой период, чтобы весь алиасинг совпадал с оригинальной волной. Если же взять любой другой период - появятся алиасы. Пикрелейтед. Мне это очевидно, тебе - нет, однако ты заявляешь "И от того, что ты оцифруешь на 192 кГц вместо 44,1 лучше не станет.".

Хочешь матлаб? Вот, бери http://pastebin.com/qeqcB45H И попробуй только скажи, что ты совсем не слышишь разницы - между чистой пилой и засранной кучей паразитных гармоник. И это - fs/20. И к задаче ОПа это имеет прямое отношение - синтез сигналов по табличке имеет те же самые проблемы с алиасингом, которые в самом простом случае решаются синтезом с более высокой частотой дискретизации. Если хочешь нормально синтезировать, нужно закладывать запас значительно выше того, что говорит Котельников.
Аноним 03/11/15 Втр 08:03:11 #85 №192978 
14465269914540.png
14465269914551.png
>>192974
Построил спектры, с твоими сигналами, которые на 44100 и на 176400. Я так понимаю, они специально подобраны что бы возникал алиансинг? Где же он в спектре???? Может я не вижу? укажи, пожалуйста.

Про прослушивание пилы на слух - это твоё субъективное восприятие, читай психоакустику.
Аноним 03/11/15 Втр 08:31:41 #86 №192983 
14465287017140.png
>>192978
Я понятия не имею, что у тебя на картинке, но это точно не пила с частотой 2000 Гц. Алиасинг у меня показан синеньким. Я, в отличие от тебя, код даю, можешь искать ошибки. Что ты делаешь, мне неизвестно http://pastebin.com/hHPbQ0Jb
>Про прослушивание пилы на слух - это твоё субъективное восприятие, читай психоакустику.
Ты нахватался какого говна по верхам, психоакустика тут не при чем. Алиасинг проявляет себя как гармоники, не кратные основной, это прекрасно слышно там, где это видно на спектре.

http://rghost.ru/7lCWr2Wnf
http://rghost.ru/7h9mM7k5D
http://rghost.ru/8zR8rJhXH
Аноним 03/11/15 Втр 10:28:52 #87 №192992 
>>192983
>>Я понятия не имею, что у тебя на картинке, но это точно не пила с частотой 2000 Гц.

это твои два сигнала, закинутые в утилиту sptool из матлаба.



>>Ты нахватался какого говна по верхам, психоакустика тут не при чем. Алиасинг проявляет себя как гармоники, не кратные основной, это прекрасно слышно там, где это видно на спектре.

Опять фантазии про чужую квалификацию(это уже навязчиво).
Психоакустика дает там модель уха. Результирующие фильтры полосовые у уха - они не очень. Ну, и старая тема - что хочешь, то и услышышь.



А теперь РАЗБОР КОДА.
На твоем графике показан результат работы функции fft (x).
Цитата из хелпа : "Y = fft(X) returns the discrete Fourier transform (DFT) of vector X, computed with a fast Fourier transform (FFT) algorithm."

И то что ты наблюдаешь синеньким - это утечка ДПФ, не более не менее.
Аноним 03/11/15 Втр 11:39:25 #88 №193010 
>>192992
>Опять фантазии про чужую квалификацию(это уже навязчиво).
Так я это вижу. Кто в этом виноват, я что ли? Я спектр пилы на 2000 Гц с чистотой 22050 с закрытыми глазами нарисовать могу, это это будет около 10 тоненьких полосок-гармоник, убывающих по гиперболе. Это очевидно любому, кто представляет, что делает fft. Ты вместо этого приносишь какую-то йобу, у которой сотни гармоник, и гиперболой там и не пахнет. И при этом даже не задумываешься, что ты принес - где у твоего графика максимум, почему он сплошной. Мне, батьке, нужно сидеть и рассматривать твой гуй, увидеть там welch's method и обозвать тебя каким-нибудь обидным словом. Хотя я тебе даже скрипт и вавки принес, просто возьми и послушай. Если ты такой солипсист и не веришь ушам, может тебе и глазам не верить? Ну и хули, все - оптический обман. Вообще все. Ложки нет.
Нет, чтобы спиздануть где-то о психоакустике, нужно в психоакустике разбираться. Для тебя же это просто ПРЕДПОЛОЖЕНИЕ основанное на твоем дилетантском говноедстве.
>это твои два сигнала, закинутые в утилиту sptool из матлаба.
У тебя там Welch. Это - метод для усреднения спектра стохастических процессов. У меня сигнал - стабильнее некуда и этот метод показывает хуй знает что. Я не буду запускать sptool и подтирать за тобой твои сопли.
>И то что ты наблюдаешь синеньким - это утечка ДПФ, не более не менее.
http://pastebin.com/dj1Dwh2B
Как видишь, ничего не изменилось. Сигнал - периодический, поэтому все, чем тебе помешает отсутствие окна - это щелчок при переходе из конца буфера в ноль. Но на спектре длиной в размер буфера ты этот щелчок не увидишь, у него энергетика примерно в длину_буфера раз меньше, чем у твоего сигнала.
То, что ты там видишь - это алиасинг. Который ты же и слышишь. Если ты не слышишь разницы между http://rghost.ru/7lCWr2Wnf и http://rghost.ru/8zR8rJhXH , то интересно, до каких еще доньев ты опустишься, чтобы доказать свою правоту.
Аноним 03/11/15 Втр 12:07:22 #89 №193013 
14465416426060.png
>>193010
Воу Воу, вот это мощный поток НЛП ты вылил.

>>Я спектр пилы на 2000 Гц с чистотой 22050 с закрытыми глазами нарисовать могу, это это будет около 10 тоненьких полосок-гармоник, убывающих по гиперболе. Это очевидно любому, кто представляет, что делает fft.

Около 10... их бесконечно много. Ну, я понимаю, ты спец.

>>Убывающих по гиперболе

Гоноровский И. С. Радиотехнические цепи и сигналы: Учебник для вузов.— 4-е изд., перераб. и доп. — М.: Радио и связь, 1986. — 512 с.

СТРАНИЦА 25 , раздел "2 Пилобразное колебание" " .. как мы видим убывают по закону 1/n"

Ну ТЫ ТО СПЕЦИАЛИСТ...


Утечка ДПФ будет всегда, когда частота гармоник не кратна частоте дискретизации.
2000 не кратно 40100. Читай литературу.

>>Нет, чтобы спиздануть где-то о психоакустике, нужно в психоакустике разбираться. Для тебя же это просто ПРЕДПОЛОЖЕНИЕ основанное на твоем дилетантском говноедстве.

У тебя предположения основанные на твоем ЧСВ. Голословные заявления и прочее. Субъективность восприятия звука - это факт, его не отменят твои заявления.

>>У тебя там Welch. Это - метод для усреднения спектра стохастических процессов. У меня сигнал - стабильнее некуда и этот метод показывает хуй знает что. Я не буду запускать sptool и подтирать за тобой твои сопли.

Хуй знает что... Ну, ясно ты не знаешь как он работает. И сказать тебе нечего. Как обычно.

И так , я выполнил твой файл.

и значит вот что :

>> wnd = blackman(length(naive))';
>> plot(abs(fft(naive .* wnd)))

Пикрелейтед.

Опять утечка. Ну, верно, в литературе говорят её можно только уменьшить, не избавишься. (Автор: Лайонс Ричард
Переводчик: Бритов А. А.
Издательство: Бином, 2011 г.
Подробнее: http://www.labirint.ru/books/273134/ , страница 90)





Аноним 03/11/15 Втр 12:13:38 #90 №193015 
>>193013
>Около 10... их бесконечно много.
В цифровом сигнале? Ты идиот. Цифровой сигнал - по определению bandlimited. Дальше не читал. Иди нахуй.
Аноним 03/11/15 Втр 12:17:39 #91 №193016 
https://ccrma.stanford.edu/~stilti/papers/blit.pdf
Аноним 03/11/15 Втр 12:30:14 #92 №193019 
>>193015
невнимательно прочитал о том, что ты имел ввиду цифровой сигнал.

На остальное тебе ответить нечем?
Аноним 03/11/15 Втр 13:26:51 #93 №193023 
14465464113290.png
14465464113291.png
>>193019
Я говорю - дальше не читал, думаешь, я соврал что ли? Разговор с тобой - это как анекдот про мальчика и море. Тебе говорят, вот он алиасинг, а ты - ды-ды-ды, мне влом признать неправоту, пойду дальше цепляться к словам и опечаткам. У меня нет никакого ЧСВ, я вообще человек мягкий в плане доставления новых знаний, но только когда меня слушают, а не занимаются воинствующим невежеством.

>как мы видим убывают по закону 1/n"
Именно. А теперь найди 1/n на твоем "спектре" (>>192978). Ветвь гиперболы, напоминаю, точек перегиба не имеет, а у твоей функции она есть. Это, если ты забыл, как выглядит функция 1/n, может тебе ее нарисовать?

>Хуй знает что... Ну, ясно ты не знаешь как он работает
Понятия не имею. Первый пикрелейтед я знаю, как получить. И там алиасинг видно. А где ты там накосячил в sptool мне неведомо, у тебя нет нужных гармоник (f, 2f, 3f, 4f и т. д.), зато куча какого-то говна. Т.е. что-то ты получил и это что-то, наверное, имеет какое-то объяснение, но это не спектр сигналов из моего скрипта.

>Утечка ДПФ будет всегда, когда частота гармоник не кратна частоте дискретизации.
Только почему-то у ideal твоей "утечки" нет, а у "naive" - есть. Какое совпадение! Пик 2. Ты можешь это хоть горшком обозвать, только ученые договорились называть это алиасингом.

Если бы разул глаза, то увидел бы, как гармоники отражаются от f_s/2 и идут в противоположном направлении, потом отражаются опять, уже от 0, и так далее. Я тут об этом писал >>192974
Вот простой скрипт, который рисует это - http://pastebin.com/C0maGbXs . Мальчик, это море, понимаешь?

>Субъективность восприятия звука - это факт, его не отменят твои заявления.
При чем тут субъективность восприятия звука, Ты заявляешь, что разница в звучании naive.wav и naive_oversampled.wav, которую видно на спектре - это психоакустика. Оок, я понял, что ты за человек, готов любые рандомные слова использовать как аргумент в споре.
Аноним 03/11/15 Втр 13:51:44 #94 №193026 
>>192947
ОК, я почитаю тот диссер.

Про "не надо с компа загружать" - таблицу для популярных сигналов можно в набортную флешку сунуть, типа нет связи с компом - грузим в ОЗУ из флешки.

Диссер тот почитаю.

Про МК - я, честно говоря, Cortex'ы ниасили пока, а на AVR такое делать - частоты и памяти не хватит.
Аноним 03/11/15 Втр 14:07:04 #95 №193030 
14465488245940.png
14465488245981.png
>>193023
>>Я говорю - дальше не читал, думаешь, я соврал что ли? Разговор с тобой - это как анекдот про мальчика и море.

Очень удобная позиция - я умный меня не понимают. Позволяет добывать новые знания.

>>А где ты там накосячил в sptool мне неведомо, у тебя нет нужных гармоник (f, 2f, 3f, 4f и т. д.), зато куча какого-то говна. Т.е. что-то ты получил и это что-то, наверное, имеет какое-то объяснение, но это не спектр сигналов из моего скрипта.

Там невозможно накосячить. Другой вопрос, что ты видишь как раз утечку, из-за размазывания энергии по соседним дискретам частоты на оси. Проверь на спектроанализаторе с сигналом ЧМ - увидешь там нет ПАЛОК.

>>Только почему-то у ideal твоей "утечки" нет, а у "naive" - есть. Какое совпадение! Пик 2. Ты можешь это хоть горшком обозвать, только ученые договорились называть это алиасингом.

Вот тут, извини, ты не понимаешь. Правда, ты не понимаешь. ideal - руками рисуешь нужное тебе число синусов, с нужными амлитудами. Ага , такой спектр у какого сигнала ? смотри картинку. Да, для НЕПРЕРЫВНОГО ПЕРИОДИЧЕСКОГО он линейчатый. Для других дискретного, ограниченного по времени (он уже у тебя ограничен) - спектр дискретный, непрерывный(1 картинка из книги). Тебе это Уэлч и показывает.


И так как частоты гармоник не кратны частоте дискретизации там тебе будет утечка. У ДПФ утечка есть всегда, когда частоты не кратны. (вторая картинка, идеальные синусы на некратной частоте почем-то не один дискрет занимают.)

>>Если бы разул глаза, то увидел бы, как гармоники отражаются от f_s/2 и идут в противоположном направлении, потом отражаются опять, уже от 0, и так далее.




Статьи прогляжу(ты кинул ссылку постом выше?, спасибо ), в них кстати, говорится исключительно про пилу. Интересно, никогда не сталкивался, я работаю только с полосовыми сигналами, и DDS использую только для них.

naive method , я так понимаю перевести лучше как "простейший метод", , так же как не звучит "коварный метода". (Hard Sync Without Aliasing. Eli Brandt).

>>При чем тут субъективность восприятия звука, Ты заявляешь, что разница в звучании naive.wav и naive_oversampled.wav, которую видно на спектре - это психоакустика. Оок, я понял, что ты за человек, готов любые рандомные слова использовать как аргумент в споре.

Я не слушаю пилы. Что ты там понял, это твои проблемы . ТВоя аппеляция на уровне- я отличаю MP3 320 кбс, от FLAC на слух без ошибок. Ну,я рад за твой слух.
Аноним 03/11/15 Втр 14:10:34 #96 №193031 
>>193026
>>таблицу для популярных сигналов можно в набортную флешку

Когда прочтешь, увидишь что нужна только одна таблица, которую можно разыграть по разному.

Если частота сигнала(синуса) будет изментся, тебе придется для каждого иметь на флешке свою копию одного периода. А так ты из одного получишь все вплоть по предела котельникова.
Аноним 03/11/15 Втр 14:25:09 #97 №193032 
>>193030
>И так как частоты гармоник не кратны частоте дискретизации там тебе будет утечка
Это по-русски называется словом алиасинг.


>ТВоя аппеляция на уровне- я отличаю MP3 320 кбс, от FLAC на слух без ошибок. Ну,я рад за твой слух.
Аноним 03/11/15 Втр 14:26:11 #98 №193033 
>ТВоя аппеляция на уровне- я отличаю MP3 320 кбс, от FLAC на слух без ошибок. Ну,я рад за твой слух.
Ты сам прекрасно слышишь разницу. Потому что это никакая не "утечка БВФ", а алиасящие синусоиды.
Аноним 03/11/15 Втр 14:30:19 #99 №193034 
14465502192830.png
>>193032
>>Это по-русски называется словом алиасинг.

ПОсмотри спектр IDEAL, и скажи почему у тебя палка не палка, а многоугольник.

Если у тебя там только синусы на частотах кратных 2000Гц
Аноним 03/11/15 Втр 14:31:33 #100 №193035 
>>193033
я не слушал.
Аноним 03/11/15 Втр 14:47:36 #101 №193037 
>>193032
>Это по-русски называется словом алиасинг.
Утечка спектра - это не алиасинг, кран.
Аноним 03/11/15 Втр 15:12:57 #102 №193039 
14465527777010.png
>>193034
Потому что у тебя plot(abs(fft(ideal.*wnd))).
Сделаешь plot(abs(fft(ideal))) - будет палка. Чему эквивалентно перемножение во временной области в частотной напоминать нужно? Свертка с пикрелейтед (там децибелы, на самом деле этот хвост внизу не виден). Дельта-функция превращается в твой "треугольник".
plot(abs(fft(ideal))) - делать правильнее, потому что сигнал периодический и период намного меньше длины буфера. Совсем правильно будет plot(abs(fft(ideal(1:88179)))), чтобы щелчок между началом и концом буфера был незаметен. Но он и так будет незаметен, потому что размер буфера намного больше.
Я домножил на окно, чтобы дать тебе понять, что это алиасинг, что БПФ тут не при чем, это свойство самого сигнала. Но тебе нужно разжевывать. Ты говоришь, у меня ЧСВ, а я ведь априори считаю тебя умнее, чем ты есть на самом деле. Дал скрипт без лишних комментариев, который заключает ответы на все твои вопросы. С каждым комментом и сеансом разжевывания ты тупеешь в моих глазах.

Да, забыл еще одну хуиту:
> Для других дискретного, ограниченного по времени (он уже у тебя ограничен)
Преобразование Фурье работает только с бесконечными периодическими сигналами. Синус и косинус, знаешь, это бесконечные периодические функции, других не завезли. Если ты делаешь DFT от конечного буфера, буфер мысленно бесконечно продолжается от минус бесконечности до плюс бесконечности, постоянно себя копируя. Из непонимания этого, собственно, идут все твои проблемы. Ты же уверен, что сигнал конечный, а он бесконечно-размноженный.

Если ты хочешь узнать, как будет выглядеть утечка в случае конечного сигнала, делай так:

plot(abs(fft([zeros(1,10000000) ideal zeros(1,10000000)])))

Тогда, при очень большом зуме, ты увидишь, что каждая из палок превратилась в фурье-образ rect-функции. То же самое правило, что перемножение во временной области эквивалентно свертке в частотной. Но вид этой штуки ничего общего с алиасингом не имеет. И кратность тут тоже не причем
Аноним 03/11/15 Втр 15:17:58 #103 №193040 
>>193037
Об этом я и толкую уже полтреда, ебанат. Хотя процессы прохожие. Утечка - это f(x)rect(x) и есть специфический результат подготовки конечного сигнала к БПФ, которое работает только с бесконечными сигналами, а алиасинг - это f(x)comb(x), и есть результат дискретизации непрерывной функции, и это часть цифрового сигнала, которая к БПФ никакого отношения не имеет.
sageАноним 03/11/15 Втр 15:22:05 #104 №193041 
>>193037

а у вас спектр утёк
Аноним 03/11/15 Втр 15:22:16 #105 №193042 
>>193040
>Об этом я и кукарекаю уже полтреда
Да я и вижу, что тут пара петухов собралась. Кукарекают один одно, другой другое и никак понять друг друга не могут.

Аноним 03/11/15 Втр 15:25:10 #106 №193043 
>>193042
Это ты нихуя понять не можешь. Пытаешься встрять в диалог на уровне доебок к отдельным фразам.
Аноним 03/11/15 Втр 15:27:48 #107 №193044 
>>193031
>>частота сигнала(синуса) будет изментся, тебе придется для каждого иметь на флешке свою копию одного периода

Зачем? Я буду просто менять значение в регистре инкремента. Я ничего не имею против его изменения, главное не в реалтайме.

Популярные сигналы - имею в виду пилу, синус и т.п.
Аноним 03/11/15 Втр 15:28:08 #108 №193045 
>>193043
>встрять в диалог
Да нахуй надо.
Аноним 03/11/15 Втр 15:37:42 #109 №193046 
14465542625700.png
>>193039

>>Ты говоришь, у меня ЧСВ, а я ведь априори считаю тебя умнее, чем ты есть на самом деле. Дал скрипт без лишних комментариев, который заключает ответы на все твои вопросы. С каждым комментом и сеансом разжевывания ты тупеешь в моих глазах.

О, да у тебя нет ЧСВ, просто ты любишь всех называть тупыми. Ну, да, скромность так и прёт. Но, это твои личные проблемы.

>>если ты делаешь DFT от конечного буфера, буфер мысленно бесконечно продолжается от минус бесконечности до плюс бесконечности, постоянно себя копируя. Из непонимания этого, собственно, идут все твои проблемы. Ты же уверен, что сигнал конечный, а он бесконечно-размноженный.

Спасибо, капитан. Еще скажи что ты знаешь откуда нижняя боковая берется и я тебя зачет поставлю.

Кратность не причем- см пикрелейтед. ОПять скажешь это не утечка?
Аноним 03/11/15 Втр 15:57:39 #110 №193050 
>>193039
Но, хоть твоё ЧСВ брызжит из всех дырок, ты заставил меня задуматься, а это дорого стоит.
Спасибо, тебе, анон, хоть ты и хуй.

Пойду перечитаю поднятые нами темы.

Аноним 03/11/15 Втр 16:23:22 #111 №193052 
>>193046
>О, да у тебя нет ЧСВ, просто ты любишь всех называть тупыми.
Не люблю. Это просто факт. При этом это не значит, что ты генетически туп, просто уперся в неправильном мнении, хули, я ж аноним, анонима можно не слушать.
>Кратность не причем- см пикрелейтед.
А, ты об этом. Я тебе выше писал, что чем больше у тебя отношение длина_буфера/период, тем тот эффект, о котором твой пикрелейтед, ниже. Если хочешь увидеть этот эффект из книжки, утечку твою долгожданную, просто сравни plot(abs(fft(ideal(1:400)))) и plot(abs(fft(ideal(1:441)))). Во втором случае утечка будет меньше, потому что 44100/2000*20=441. Об этом ты говоришь. Но с буфером размером в 100000 отсчетов этот эффект никакой роли не играет. Можешь проверить, сделай plot(abs(fft(ideal(1:4000)))), plot(abs(fft(ideal(1:40000)))) , plot(abs(fft(ideal(1:40)))) и т. п. И ты увидишь, что при стремлении размера буфера к бесконечности, кратность уже никакой роли не играет.
Аноним 03/11/15 Втр 16:27:45 #112 №193053 
>>193052
>>я ж аноним, анонима можно не слушать.

да, вот это за собой признаю, виноват. Извини. Моё ЧСВ огромно, я вот с тобой и заметил

Ладно, буду читать еще. Спасибо. ДУмаю, ОП тоже много нового узнал
comments powered by Disqus

Отзывы и предложения