Оконная функция - понятно, его конкретная реализация - непонятна. На википедии в формулах к окнам не расписано даже, чем является та или иная буква в формуле. Ну ладно, в той же книжке на осцил приведено окно Хеннинга, типа х = cos^2 [(x/1024 - 1/2)*Pi]. Это ещё как-то можно перевести в код.
Для каждого фильтра - я даже не понимаю, для какого фильтра? Частотного? Как он реализуется именно в привязанной к действительности формуле?
[uquote="Electricman",url="/forum/viewtopic.php?p=4151654#p4151654"]Для каждого фильтра - я даже не понимаю, для какого фильтра? Частотного?[/uquote]
А какие еще могут быть фильтры?
Ваша безграмотность столь велика, что вам следует начать с самых азов. Простой тригонометрии.
Добавлено after 3 minutes 24 seconds:
[uquote="Electricman",url="/forum/viewtopic.php?p=4151654#p4151654"]На википедии в формулах к окнам не расписано даже, чем является та или иная буква в формуле.[/uquote]
Как это не написано? Там всего две буквы. Текущий отсчет и общее число отсчетов.
В математике я не силён, не скрываю, туда же и тригонометрия. Но всё же был задан конкретный вопрос. И как я понимаю, у вас конкретного примера нет. Конкретно с ДПФ получен ответ, для расчётов по нему мне хватит математических знаний, пускай и со скрипом. Окно Хемминга - тоже, формула привязанная к действительности, а не к высшей математике. Период есть, косинусы-квадраты посчитать можно, подставляй значения и считай. А вот по фильтрам я такой формулы не нашёл. Ладно, это уже после нового года буду думать.
[uquote="Electricman",url="/forum/viewtopic.php?p=4151669#p4151669"]А вот по фильтрам я такой формулы не нашёл.[/uquote]
По каким еще фильтрам? Каждый частотный результат ДПФ и есть сигнал в ФИЛЬТРЕ с АЧХ определяемой оконной функцией. АЧХ оконных функции приведены в той же википедии. Это АЧХ НА ЧАСТОТЕ ФИЛЬТРА.
Последовательность расчета я вам привел. Что еще вам требуется?
Посмотрим, что в итоге выйдет, вроде отчасти приходит понимание. Просто для кого-то это просто, особенно кто с этим работает. Для меня не так сложно это перевести в машкоды какого-нибудь Z80. Было бы что переводить.
Мне с программированием тоже никто ничего толком не объяснил. "Всё просто, в интернете всё написано"... А сам я нашёл только чёткое, краткое и понятное описание программирования 580ВМ80.
[uquote="Electricman",url="/forum/viewtopic.php?p=4151691#p4151691"]Мне с программированием тоже никто ничего толком не объяснил. "Всё просто, в интернете всё написано"... А сам я нашёл только чёткое, краткое и понятное описание программирования 580ВМ80. [/uquote]
Тоже какая то чушь. Система команд любой платформы доступна, если речь идет об АСМе. Но кроме системы команд нужно знать АРХИТЕКТУРУ процессора, чтобы не заниматься изобретением деревянных велосипедов.
может мне попробовать обьяснить....
ну смотри - оконная функция это абстракция, чтобы перевести абстрактный бесконечный повторяющийся сигнал в анализируемый кусок. У нас есть массив куда мы складываем отсчеты. Величина этого массива - ширина нашего окна. Частота с которой мы берем выборки (то как быстро работает АЦП) накладывает ограничения на максимально возможную анализируемую частоту. Т-е если у нас частота дискретизации 400 кГц, то максимально что мы можем увидеть в спектре - 200 кГц. С другой стороны - нижняя частота зависит он ширины окна. Если у нас в окно не помещается период ниже 1 кГц, то нет смысла анализировать что-то ниже. Вот мы получили два параметра частоты исходя из частоты дискретизации и ширины окна. Шаг с которым мы будем делать анализ - зависит от сетки на которую мы будем проецировать спектр. Допустим там все тоже просто - 200 точек. Отсюда получаем шаг в 1 кГц.
Теперь анализ. Нам надо взять некую элементарную гармонику и найти ее корреляцию с исходным массивом. Чтобы найти корреляцию, надо взять эту гармонику, заполнить значениями такой же массив и перемножить их. Но заметьте - есть такая штука как фаза. Нам не известно в какой фазе пребывает гармоника в исходном сигнале. А свой измерительный, пробный массив мы заполнили допустим косинусоидой с начальной фазой ноль. Можем не угадать. Чтобы было наверняка, берут две гармоники - косинусоиду и синусоиду, делаем две свертки, а потом по формуле находим значения амплитуды и фазы найденной гармоники в исходном сигнале. И это все повторяется 200 раз. Довольно затратный вычислительный процесс. Есть упрощения, например фазу обычно не считают.
Надеюсь что я верно все вспомнил и описал без ошибок. Если что - поправят.
Речь идёт о машкодах. Я их там упомянул. А с АСМом они идут хоть и рядом, но не совсем. АСМ 8080 и его машкоды это почти одно и то же, а вот дальше уже начинается разница.
[uquote="Electricman",url="/forum/viewtopic.php?p=4151724#p4151724"]Речь идёт о машкодах.[/uquote] Машинные коды ничем от АСМа не отличаются. Разве только нет макросов и читабельность АСМа выше. В машкодах писать - мазохизм. Если нет собственно ассемблера, то формальный ручной перевод в машинный код нужно делать после написания текста на ассемблере.
КРАМ писал(а):Машинные коды ничем от АСМа не отличаются.
Ну как сказать... Найти таблицу машкодов на х86 не получилось, как и на другие. И без компьютерного ассемблера машкоды сложно получить. Чуть проще в этом ПДП-11, но это другой изврат. Если помнить типы адресации, да как формируется опкод - то проблем нет.
А так в большинстве случаев и АСМа не надо, всё вбивается на ходу, временами даже без подсматривания в таблицу машкодов.
Но мы ушли от темы Фурье. В общем, попробую, поэкспериментирую. Определюсь только с типом данных, хватит ли простых дробей или всё же плавающая запятая. Хотя хотелось бы остаться в привычных 16-ричных данных.
Если возникнут проблемы - обращусь.
[uquote="Electricman",url="/forum/viewtopic.php?p=4151732#p4151732"]Определюсь только с типом данных, хватит ли простых дробей или всё же плавающая запятая. Хотя хотелось бы остаться в привычных 16-ричных данных.
Если возникнут проблемы - обращусь. [/uquote]
Я во всех проектах считаю Фурье и фильтры только в фикс пойнтах. Тем более, что основная масса моих проектов сделана на dsPIC33 и в их DSP основной формат аккумуляторов - это 40-битный фикспойнт. Для сигналов получаемых с 12-битных АЦП флоат без нужды.
Добавлено after 9 minutes 59 seconds:
[uquote="Electricman",url="/forum/viewtopic.php?p=4151732#p4151732"]Найти таблицу машкодов на х86 не получилось[/uquote]
А какой с этого прок? Куда эти машкоды девать? Вообще писательство программ для суперскалярных архитектур даже на АСМе - так себе задача...
Хотелось бы перепрыгнуть на нечто более производительное с 8080. Хоть для всякого его мощностей хватает, но чувствуется, что 8 бит маловато. Поэтому у меня всё 8 бит, даже АЦП (хотя оно 10 бит на деле).
Осцил, кстати, тоже на ВМ80, и считает Фурье секунд 40. Не быстро, но я никуда не тороплюсь, риалтайм не требуется.
[uquote="КРАМ",url="/forum/viewtopic.php?p=4151565#p4151565"]Частота дискретизации выбирается не менее, чем в 2 раза выше верхней частоты анализа, но с учетом реального спектра сигнала.[/uquote]
Это при работе в первой зоне Найквиста. Для узкололосного сигнала сигнала частота дискретизации может быть и меньше верхней частоты сигнала.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Даунсемплинг возможен только если УВХ в АЦП имеет пригодную для этого действа апертуру.
Да и потребность автора вопроса не предполагает стробоскопического преобразования.
Добавлено after 46 seconds:
Модератор шалит?
И чо ему не понравилось?
Добавлено after 13 minutes 4 seconds:
Ладно, продублирую, возможно модератор бухой и случайно стёр мой технический вопрос...
И так, 15*25/(25+190)=1,7в - падение напряжения на R4 или к переходу БЭ Q4 подключили источник напряжения 1,7в тааак? И при чём ко входному контуру... У нас ведь два контура входной базовый и выходной коллекторный тааак ?
[uquote="Express",url="/forum/viewtopic.php?p=4155996#p4155996"]1,7в - падение напряжения на R4[/uquote]
так
[uquote="Express",url="/forum/viewtopic.php?p=4155996#p4155996"]к переходу БЭ Q4 подключили источник напряжения 1,7в тааак?[/uquote]
не так