Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Общетехнические вопросы

Общетехнические вопросы Общие вопросы аналоговой и цифровой электроники.

Ответ
 
Опции темы Опции просмотра
Старый 10.10.2019, 11:18   #151
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Любезный Pridnya, не нужно мне приводить никаких примеров. Я не буду разбираться в причинах, по которым Вы не получили результата. И не буду ничего ни с чем сравнивать.
Есть совершенно очевидные вещи, которые не требуют никакого кода - ни своего, ни чужого.
Котельников нам завещал делать отсчетов вдвое больше, чем верхняя частота сигнала.
На этом основании число отсчетов одного периода синусоиды даст вполовину меньше фильтров.
Вот и объясните почтенной публике с какого перепуга у Вас осталось 16 отсчетов "ни пришей-ни пристегни".
И не надо замыливать вопрос какими то дополнительными никчемными примерами.
Марк, я вам и DimaS могу могу задать входной массив, а вы вдвоем найдете спектральные составляющие, их амплитуды и фазы. Вам обоим даже код показывать не придется. ОК? Вот и посмотрим, кто не может считать.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 11:21   #152
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

ЗЫ. Почитайте тут и на том завершим бессмысленный спор:
https://docviewer.yandex.ru/view/0/?...89MCJ9&lang=ru
Смотрим особенно внимательно картинку 5-6
Мне действительно надоело.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 11:40   #153
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
ЗЫ. Почитайте тут и на том завершим бессмысленный спор:
https://docviewer.yandex.ru/view/0/?...89MCJ9&lang=ru
Смотрим особенно внимательно картинку 5-6
Мне действительно надоело.
Значит считать не будем.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 11:45   #154
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Не будем. Мне неинтересно делать тривиальные вещи. Инженер не должен работать методом проб и ошибок.
Нужно понимать что делаешь. Вы не понимаете от слова совсем. Просто тыкаете рандомно на всякие кнопки в попытке получить результат.
В этом смысле Вы от Алекса ничем не отличаетесь. Наличие диплома никак не влияет на эти отличия. Оба самоучки от сохи.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 11:53   #155
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Не будем. Мне неинтересно делать тривиальные вещи. Инженер не должен работать методом проб и ошибок.
Нужно понимать что делаешь. Вы не понимаете от слова совсем. Просто тыкаете рандомно на всякие кнопки в попытке получить результат.
В этом смысле Вы от Алекса ничем не отличаетесь. Наличие диплома никак не влияет на эти отличия. Оба самоучки от сохи.
Марк, покажите, что вы умеете применять теоретические знания. Найдите амплитуды и фазы всех гармоник. 64 точки отсчета. В массиве несколько гармоник.

Код:
int16_t Input[64] = { 
728,934,910,692,403,195,182,384,724,1057,1238,1190,934,585,294,185,
295,560,841,991,918,631,234,-122,-305,-264,-48,211,364,308,36,-358,
-728,-934,-910,-692,-403,-195,-182,-384,-724,-1057,-1238,-1190,-934,-585,-294,-185,
-295,-560,-841,-991,-918,-631,-234,122,305,264,48,-211,-364,-308,-36,358};
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 12:00   #156
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Марк, покажите, что вы умеете применять теоретические знания.
Мой рабочий день стоит $100. Я и так слишком много времени потратил на Ваши глупости.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 12:29   #157
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Мой рабочий день стоит $100. Я и так слишком много времени потратил на Ваши глупости.
Неужели у вас решение займет целый день? Вы же специалист. Я вам массив входных данных дал.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 14:24   #158
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Читайте и краснейте от стыда, "знаток" Вы наш...

Цитата:
Библиотека CMSIS DSP включает в себя специализированные алгоритмы для вычисления БПФ реальных последовательностей данных. БПФ определяется по сложным данным, но во многих приложениях ввод является реальным. Реальные алгоритмы БПФ используют преимущества свойств симметрии БПФ и имеют преимущество в скорости перед сложными алгоритмами одинаковой длины.
Алгоритм Fast RFFT основан на CFFT смешанного радиуса, что экономит использование процессора.
Действительная длина N прямого БПФ последовательности вычисляется с использованием шагов, показанных ниже.

input -> cfft N/2 -> split rfft process -> rfft output
Быстрое преобразование Фурье

Реальная последовательность первоначально обрабатывается так, как если бы она была сложной для выполнения CFFT. Позже, этап обработки преобразует данные, чтобы получить половину частотного спектра в сложном формате. За исключением первого комплексного числа, которое содержит два действительных числа X [0] и X [N / 2], все данные являются комплексными. Другими словами, первая сложная выборка содержит два упакованных реальных значения.
Вход для обратного RFFT должен иметь тот же формат, что и выход прямого RFFT. Первый этап обработки предварительно обрабатывает данные для последующего выполнения обратного CFFT.

input -> split rifft process -> cifft N/2 -> rifft output

Плавающая точка.
Основными функциями являются arm_rfft_fast_f32 () и arm_rfft_fast_init_f32 () . Старые функции arm_rfft_f32 () и arm_rfft_init_f32 () устарели, но все еще документированы.
БПФ реальной N-точечной последовательности имеет четную симметрию в частотной области. Вторая половина данных равна конъюгату первой половины, перевернутой по частоте. Глядя на данные, мы видим, что мы можем однозначно представлять БПФ, используя только N / 2 комплексных чисел. Они упакованы в выходной массив в чередующихся вещественных и мнимых компонентах:
X = {real [0], imag [0], real [1], imag [1], real [2], imag [2] ... real [(N / 2) -1], imag [(N) / 2) -1}
Бывает, что первое комплексное число (real [0], imag [0]) на самом деле все действительное. real [0] представляет смещение постоянного тока, а imag [0] должно быть 0. (real [1], imag [1]) - это основная частота, (real [2], imag [2]) - первая гармоника и так далее.

Реальные функции FFT упаковывают данные частотной области таким способом. Прямое преобразование выводит данные в этой форме, и обратное преобразование ожидает входные данные в этой форме. Функция всегда выполняет необходимое преобразование битов, поэтому входные и выходные данные всегда находятся в нормальном порядке. Функции поддерживают длины выборок [32, 64, 128, ..., 4096].
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 14:33   #159
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Читайте и краснейте от стыда, "знаток" Вы наш...
Марк, откуда это? Там есть решение от автора текста? И теперь давайте примените решение с использованием CMSIS DSP Library для Complex FFT 64-х точечное. И возьмите входной массив.
Код:
int16_t Input[64] = { 
728,934,910,692,403,195,182,384,724,1057,1238,1190,934,585,294,185,
295,560,841,991,918,631,234,-122,-305,-264,-48,211,364,308,36,-358,
-728,-934,-910,-692,-403,-195,-182,-384,-724,-1057,-1238,-1190,-934,-585,-294,-185,
 -295,-560,-841,-991,-918,-631,-234,122,305,264,48,-211,-364,-308,-36,358};
В массиве два гармоники было, 1-я и 7-я, а в спектре видны 1-я, 7-я и 57-я и 63-я. Спектр симметричный. Картинка чуть кривовата, это Libre Calc так столбцы рисует.
Миниатюры
Спектр.png  
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 10.10.2019 в 14:39.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 14:44   #160
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Марк, откуда это? Там есть решение от автора текста?
Это доки на смсис дсплиб, ващето...

Последний раз редактировалось Марк; 10.10.2019 в 14:49.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 14:48   #161
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
В массиве два гармоники было
Признайтесь, трудно быть упрямым?
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 14:49   #162
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Это доки на смсис дсплиб, ващето...
Как называется документ и его версия? Ссылку можно? И откуда там на русском текст?
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 14:57   #163
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Странно, что Вы не в курсе о том, что документация CMSIS имеет html формат.
Поэтому я тупо открыл текущую версию документации (она была у нас на сервере, поскольку мы пишем под STM32, в том числе). Ну и включил гугел переводчик в браузере. Вся страница оказалась на русском. Я скопипастил текст в свое сообщение, но картинки в тексте пришлось заменить на текст, тем более, картинки очень простые. Речь о цепочке расчета в ту и другую сторону.

ЗЫ.

Нажмите на изображение для увеличения
Название: 2019.10.10 14-59-39.jpg
Просмотров: 6
Размер:	302.5 Кб
ID:	11476
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 15:05   #164
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Странно, что Вы не в курсе о том, что документация CMSIS имеет html формат.
Поэтому я тупо открыл текущую версию документации (она была у нас на сервере, поскольку мы пишем под STM32, в том числе). Ну и включил гугел переводчик в браузере. Вся страница оказалась на русском. Я скопипастил текст в свое сообщение, но картинки в тексте пришлось заменить на текст, тем более, картинки очень простые. Речь о цепочке расчета в ту и другую сторону.
Она у меня есть. Где кусок (в каком разделе), который вы копировали и переводили? Гуголь не мог так красиво перевести технический текст, это перевод человека.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 15:14   #165
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Гуголь не мог так красиво перевести технический текст
Вот только не надо тут следствие устраивать... Разговор уже давно перешел в фарс...
Мне загонять Вас в угол до конца? Или Вы наконец возьмете за труд открыть раздел ВЕЩЕСТВЕННОГО ФФТ (rfft), легко найти этот текст по картинкам с зелеными квадратиками и САМОСТОЯТЕЛЬНО включить гугель переводчик. Я заменил в тексте одно единственное слово. "и так далее" в моем тексте переводчик вывел как "скоро".

Нажмите на изображение для увеличения
Название: 2019.10.10 15-17-13.jpg
Просмотров: 8
Размер:	211.2 Кб
ID:	11477

Нажмите на изображение для увеличения
Название: 2019.10.10 15-20-45.jpg
Просмотров: 5
Размер:	235.7 Кб
ID:	11478

Последний раз редактировалось Марк; 10.10.2019 в 15:21.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 15:34   #166
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Вот только не надо тут следствие устраивать... Разговор уже давно перешел в фарс...
Мне загонять Вас в угол до конца? Или Вы наконец возьмете за труд открыть раздел ВЕЩЕСТВЕННОГО ФФТ (rfft), легко найти этот текст по картинкам с зелеными квадратиками и САМОСТОЯТЕЛЬНО включить гугель переводчик. Я заменил в тексте одно единственное слово. "и так далее" в моем тексте переводчик вывел как "скоро".
Я про RFFT из CMSIS DSP Library вообще речи не вел, я привел код для CFFT, вот ссылка. Такой же пример (CFFT) шел и в примерах для STM32F4xx. Для чего вы RFFT привели?
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 15:47   #167
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Во первых, rfft делается как cfft, о чем ПРЯМО указано в доке.
Во вторых, я показал, что ВЕЩЕСТВЕННЫЙ БПФ дает на выходе КОМПЛЕКСНЫЙ СПЕКТР.
В третьих, про комплексный БПФ зачем то заговорили Вы сами. Никто не предлагал делать комплексный БПФ. Тема разговора была про комплексный выхлоп БПФ, на что Вы безапелляционно заявили, что БПФ, в отличии от ДПФ, на выходе дает только модуль.
Поэтому не стоит делать хорошую мину при плохой игре.
БПФ, как и ДПФ, ПО ОПРЕДЕЛЕНИЮ дает комплексный выход. Вход может быть как комплексный, так и вещественный. На обратимость преобразования это не влияет.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 15:51   #168
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Во первых, rrft делается как cfft, о чем ПРЯМО указано в доке.
Во вторых, я показал, что ВЕЩЕСТВЕННЫЙ БПФ дает на выходе КОМПЛЕКСНЫЙ СПЕКТР.
В третьих, про комплексный БПФ зачем то заговорили Вы сами. Никто не предлагал делать комплексный БПФ. Тема разговора была про комплексный выхлоп БПФ, на что Вы безапелляционно заявили, что БПФ в отличии от ДПФ, на выходе дает только модуль.
Поэтому не стоит делать хорошую мину при плохой игре.
БПФ, как и ДПФ, ПО ОПРЕДЕЛЕНИЮ дает комплексный выход. Вход может быть как комплексный, так и вещественный. На обратимость преобразования это не влияет.
Хорошо. Я RFFT из CMSIS не проверял. А ваше утверждение про комплексных выхлоп означает что в выхлопе есть информация о фазах гармоник? Т.е. комплексный выхлоп означает, что в выхлопе есть действительная и мнимая часть каждой гармоники? Или как? Через DFT получается симметричный спектр, 1-я гармоника накладывается на 63-ю и фаза первой 30 градусов, а 63-й минус 30 градусов.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 16:00   #169
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Т.е. комплексный выхлоп означает, что в выхлопе есть действительная и мнимая часть каждой гармоники?
Вы не в состоянии прочесть русский текст? По моему в доке это ОЧЕВИДНО показано, вплоть до расположения в выходном массиве.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Через DFT получается симметричный спектр, 1-я гармоника накладывается на 63-ю и фаза первой 30 градусов, а 63-й минус 30 градусов.
Это чушь. В результате ДПФ получается массив равный с входным размером. Половина массива действительная и половина мнимая.
64 отсчета дают 64 выходных точки. Итого - 32 фильтра с комплексными выходами.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 16:25   #170
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Это чушь. В результате ДПФ получается массив равный с входным размером. Половина массива действительная и половина мнимая.
64 отсчета дают 64 выходных точки. Итого - 32 фильтра с комплексными выходами.
С этим я не спорил. Для ДПФ 64 точки выборки дают 64 выходных точки. Вы называете 64 точки на выходе 32-мя фильтрами. Пусть так. А где информация о фазе, если на выходе 1-я и 63-я выходная точка равна 1000? В исходном сигнале была амплитуда 1000 и фазовый сдвиг 30 градусов.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 16:40   #171
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Я уже сказал, что с форматом смсис библиотеки я разбираться не хочу и не имею времени. Но в исходном сигнале был синус с 90 градусным сдвигом. А это вообще то КОСИНУС. Косинус не имеет мнимой составляющей в спектре. Нужно сделать сдвиг 45 градусов. Мнимая и вещественная компонента будут равны.
Кроме того, совершенно непонятно каким таким образом из синуса амплитудой 1000 получилась палка высотой 32000?
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 16:48   #172
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Я уже сказал, что с форматом смсис библиотеки я разбираться не хочу и не имею времени. Но в исходном сигнале был синус с 90 градусным сдвигом. А это вообще то КОСИНУС. Косинус не имеет мнимой составляющей в спектре. Нужно сделать сдвиг 45 градусов. Мнимая и вещественная компонента будут равны.
Кроме того, совершенно непонятно каким таким образом из синуса амплитудой 1000 получилась палка высотой 32000?
Там амплитуда вычисляется как BIN*2/FFT_SIZE = 32000*2/64 = 1000. Почему так - не знаю. Попробую задать синус со сдвигом 45 градусов, посмотрю.
PS: Как ни крути фазу - 1-я и 63-я точка все равно по 32000.
PPS: А вы рабочий пример для RFFT видели?
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 16:54   #173
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Почему так - не знаю.
Это квинт-эссенция проблемы. Нужно понимать почему так.
Нужно задавать себе вопрос почему БПФ странным образом не дает комплексного выхода, а не считать, что теория фуфло...
Наконец, нужно ХОТЯ БЫ РАЗ написать код самому. Чтобы понять как потом использовать библиотеку не рандомно, а с полным пониманием и управляемостью.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 16:56   #174
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,624
Вес репутации: 3612/107
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
PS: Как ни крути фазу - 1-я и 63-я точка все равно по 32000.
PPS: А вы рабочий пример для RFFT видели?
1. Это значит, что нужно брать исходник и сверить его с теорией. Исходник не велик, я бегло его пробежал.
Расчета модуля в нем нет - это точно. А значит получить модуль этот код не в состоянии.
2. Нет, не видел.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 16:59   #175
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,719
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
1. Это значит, что нужно брать исходник и сверить его с теорией. Исходник не велик, я бегло его пробежал.
2. Нет, не видел.
Амплитуды считает правильно (1000,500,250), выходные преобразуем BIN*2/FFTSIZE, а на фазовый сдвиг (30,45,60) никакой реакции.
Код:
Buf[j] = ( 
 1000.0 * sin(2.0 * 3.14159 * i * 1.0/ SAMPLES + 2.0 * 3.14159 * 30.0 / 360.0) 
+ 500.0 * sin(2.0 * 3.14159 * i * 2.0/ SAMPLES + 2.0 * 3.14159 * 45.0 / 360.0)
+ 250.0 * sin(2.0 * 3.14159 * i * 3.0/ SAMPLES + 2.0 * 3.14159 * 60.0 / 360.0)); // Re.
Buf[j+1] = 1; // Im.

testOutput[0] = 64.000023
testOutput[1] = 31999.978516
testOutput[2] = 16000.010742
testOutput[3] = 8000.039551
testOutput[4] = 0.046386
...
testOutput[60] = 0.046386
testOutput[61] = 8000.039062
testOutput[62] = 16000.010742
testOutput[63] = 31999.976562
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 7 (пользователей: 0 , гостей: 7)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем/как отлаживать код написаный на Си в WinAVR Yokel Микроконтроллеры других производителей 49 30.09.2014 09:48
Присоветуйте тип и способ управления MOSFETом "верхнего" плеча dr_Sash Источники питания и силовая электроника 37 08.09.2012 18:50
подключение магнитолы Sergey1 Общетехнические вопросы 10 27.12.2007 22:39
Помогите, пожалуйста, найти ошибку в коде Катя Микроконтроллеры других производителей 26 08.12.2007 14:58
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00


Часовой пояс GMT +3, время: 05:12.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot