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

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

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

Ответ
 
Опции темы Опции просмотра
Старый 09.10.2019, 21:55   #126
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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 Посмотреть сообщение
Если задать программно один сигнал - синусоиду с амплитудой 1000 и фазой 90 градусов
Синусоида с фазой 90 градусов является КОСИНУСОИДОЙ. То есть не содержит мнимой компоненты ПО ОПРЕДЕЛЕНИЮ.

А по поводу самострельного чередования единиц и значений косинуса я уже молчу... Типо "код"...

Последний раз редактировалось Марк; 09.10.2019 в 22:03.
Марк вне форума   Ответить с цитированием
Старый 09.10.2019, 22:09   #127
alxdr
Senior Member
 
Регистрация: 03.01.2009
Сообщений: 135
Вес репутации: 394/44
alxdr is just really nicealxdr is just really nicealxdr is just really nicealxdr is just really nice
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от ampersant Посмотреть сообщение
Как можно вычленить из класса комплексных чисел (плоскость),
прямую, где Im=0 ? Она все так же принадлежит плоскости комплексных чисел.
Очень просто: действительные числа - подмножество комплексных, у которых мнимая часть равна нулю. Натуральные - подмножество действтельных и тп.
alxdr вне форума   Ответить с цитированием
Старый 09.10.2019, 22:10   #128
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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 Посмотреть сообщение
Чтобы преобразование FFT было прямым и обратным, каждый входной отсчет должен быть комплексным!
Из этой глупости следует, что на выходе ДПФ (которое ничем не отличается от БПФ) не может быть комплексного спектра...
Милостивый государь, любой гармонический сигнал можно развернуть в квадратурный и тогда отсчетов будет пара. Эти отсчеты можно загрузить в ФФТ как комплексный сигнал. Но можно загрузить и просто отсчеты полного сигнала и получить на выходе комплексный спектр.
Еще раз предлагаю открыть учебник, а не нести пургу с самоуверенным видом.
Марк вне форума   Ответить с цитированием
Старый 09.10.2019, 22:42   #129
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,712
Вес репутации: 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: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Я тихо начинаю напрягаться...
Чтобы не послать Вас матом, предлагаю Вам привести пример комплексного отсчета, любитель Вы наш библиотек... В которых, правда, ни бельмес не понимаете. И используете их как Бог на душу положит...
Марк, вы еще и псих. Будьте сдержанее. Здесь вопрос о рамках мышления. Отец бы вас выпорол и за мат не одобрил.

Вот обычная синусоида из 8 точек выборки (из 8 отсчетов). Каждый отсчет - есть число. Это число школьник (и Марк тоже, шутка), который не знает о том, что любое простое число можно представить на комплексной плоскости комплексным числом, видит как число, а в общем виде оно может быть комплексное. Вопрос в уровне восприятия (Смотрит в окно - Земля плоская, а все говорят круглая, пригласил единомышленника к себе в квартиру, оба смотрят в окно - плоская же Земля).

Так вот у нас есть 8 чисел (отсчетов), они превращаются в 16 чисел (8 комплексных отсчетов), где каждое четное число равно нулю. И эти 16 чисел скармливаются функции FFT(). Так реализовано комплексное БПФ в CMSIS DSP Library. Оно работает.

Код:
int16_t Input[8] = {0, 707, 1000, 0, -707, -1000, -707};
int16_t InputComplex[16] = {0, 0, 707, 0, 1000, 0, 0, 0, -707, 0, -1000, 0,-707,0};
Если и после этого не понятно, то все плохо. Покажите вашу реализацию FFT?
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 09.10.2019 в 23:00.
Pridnya вне форума   Ответить с цитированием
Старый 09.10.2019, 23:16   #130
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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 Посмотреть сообщение
Так вот у нас есть 8 чисел (отсчетов), они превращаются в 16 чисел (8 комплексных отсчетов), где каждое четное число равно нулю. И эти 16 чисел скармливаются функции FFT(). Так реализовано комплексное БПФ в CMSIS DSP Library. Оно работает.
И как сказанное Вами доказывает, что на выходе комплексного БПФ при нулях мнимой части на входе спектр будет действительным?
Комплексный БПФ, как и комплексный ДПФ, оперирует экспонентами, а не синусами-косинусами. Это позволяет оперировать на входе квадратурными сигналами. Но В ЛЮБОМ СЛУЧАЕ на выходе будет комплексный спектр.
При нулевом мнимом массиве на входе составляющие отрицательных частот будут равны нулю. И только.
Поэтому одноточечный ДПФ имеющий на входе обычные действительные отсчеты даст на выходе комплексное число - выход единственного фильтра.
Марк вне форума   Ответить с цитированием
Старый 09.10.2019, 23:23   #131
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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 Посмотреть сообщение
Покажите вашу реализацию FFT?
А Вы в каком то месте показали свою?
Мне публиковать тут АСМ код конкретного изделия с комментариями?
Марк вне форума   Ответить с цитированием
Старый 09.10.2019, 23:35   #132
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,712
Вес репутации: 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. И свою реализацию для DFT, где определяется синусная, косинусная составляющая, амплитуда и фаза. Похожий код использовался в двух серийных приборах - цифровая релейная защита с большим количеством алгоритмов, где необходимо было считать токи, напряжения, направление мощности, ток обратной последовательности, сумму высших гармоник до 13-й, направление тока нулевой последовательности (в нейтрали).

Мне как раз тогда не подошел алгоритм Complex FFT из CMSIS DSP Library, т.к. в выходном массиве не было информации о фазе отдельных гармоник. Алгоритм давал просто симметричный спектр относительно половины массива, пришлось использовать DFT, внутри которого все есть.

Вы можете выложить свой входной массив (отсчеты), выходной массив (спектр), если не жалко, то и код функции DFT и/или FFT можно выложить. Или хоть что-нибудь, что есть. Кстати, у меня есть PIC24 и dsPIC33. И два PICKit - 2 и 3. Можете пожертвовать код, авось ошибку найдем или допилим вместе.
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 09.10.2019 в 23:47.
Pridnya вне форума   Ответить с цитированием
Старый 09.10.2019, 23:50   #133
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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 Посмотреть сообщение
Я вам привел код из примеров к CMSIS DSP Library для Complex FFT.
Это шутка такой?
Это не код БПФ. Это просто использование библиотечной функции. У Вас нет никакого своего кода.
И приводить здесь свой код я не буду, хотя бы потому, что для этого нужно НА РАБОТЕ вырезать из проекта текст функции, снабдить его комментариями, чтобы было понятно что, откуда и куда.
А еще потому, что я не публикую код изделий. Максимум иногда могу очень кратко описать алгоритм. И только. Это служебная информация.

По поводу комплексного ДПФ/БПФ. Количество отсчетов 2N. А число выходных фильтров N/2.
В вещественном ДПФ/БПФ отсчетов N, а число выходных фильтров тоже N/2.
Но и в том и в другом случае выходные массивы равны N (в комплексном для положительных частот).
Вопрос телезрителям: Что из себя представляет выходной массив комплексного/вещественного Фурье, если в нем значений вдвое больше чем фильтров?
Марк вне форума   Ответить с цитированием
Старый 09.10.2019, 23:55   #134
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 46
Сообщений: 1,676
Вес репутации: 2423/83
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Марк, отсчет может быть комплексным, вот его представление Re+j0, где мнимая часть комплексного числа равна нулю.

DimaS вне форума   Ответить с цитированием
Старый 09.10.2019, 23:57   #135
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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 Посмотреть сообщение
пришлось использовать DFT
Ну наверное потому, что Вы не разобрались с комплексным ФФТ.
Марк вне форума   Ответить с цитированием
Старый 09.10.2019, 23:58   #136
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,712
Вес репутации: 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: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Это шутка такой?
Это не код БПФ. Это просто использование библиотечной функции. У Вас нет никакого своего кода.
И приводить здесь свой код я не буду, хотя бы потому, что для этого нужно НА РАБОТЕ вырезать из проекта текст функции, снабдить его комментариями, чтобы было понятно что, откуда и куда.
А еще потому, что я не публикую код изделий. Максимум иногда могу очень кратко описать алгоритм. И только. Это служебная информация.

По поводу комплексного ДПФ/БПФ. Количество отсчетов 2N. А число выходных фильтров N/2.
В вещественном ДПФ/БПФ отсчетов N, а число выходных фильтров тоже N/2.
Но и в том и в другом случае выходные массивы равны N (в комплексном для положительных частот).
Вопрос телезрителям: Что из себя представляет выходной массив комплексного/вещественного Фурье, если в нем значений вдвое больше чем фильтров?
Для БПФ у меня действительно нет своего кода. Несколько разных реализаций я освоил (код не мой).

За конкретику спасибо. Понятно.

Значений в два раза больше чем фильтров из-за того, что вторая часть симметричная (относительно половины) - мнимые частоты (1 я гармоника налагается на N-1 и т.д.), это нужно для того, чтобы из выходного массива получить исходный сигнал для обратного FFT, т.е. чтобы математически совпало. А так смысла особого нет - просто симметричный кусок спектра.
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 10.10.2019 в 00:15.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 00:09   #137
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,712
Вес репутации: 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: Быстрое преобразование Фурье. Метод разложения на множители.

DimaS, наконец-то увидели, рад знакомству. У тебя глаза еще больше будут, если ты узнаешь, что из отрицательных чисел можно извлекать корни и те квадратные уравнения, которые в школе не решались (дискриминант меньше нуля) имеют решение - два комплексных корня.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 04:13   #138
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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 Посмотреть сообщение
Для БПФ у меня действительно нет своего кода. Несколько разных реализаций я освоил (код не мой).

За конкретику спасибо. Понятно.

Значений в два раза больше чем фильтров из-за того, что вторая часть симметричная (относительно половины) - мнимые частоты (1 я гармоника налагается на N-1 и т.д.), это нужно для того, чтобы из выходного массива получить исходный сигнал для обратного FFT, т.е. чтобы математически совпало. А так смысла особого нет - просто симметричный кусок спектра.
А умные книжки бают, што на выходе вещественного и комплексного Фурье, включая БПФ, вторая половина выходного массива - это мнимая часть. Мало того, эти умные книжки писаны в Аналог девайсе....
Отрицательные частоты равные нулю занимают вторую половину (N...2N-1) КОМПЛЕКСНОГО Фурье, у которого на выходе 2N элементов. А куда же делись еще N/2?
В общем я уже притомился, излагая очевидное.
Если Вы доверяете только своим ошибкам и не желаете изучать матчасть, я тут совершенно не причем. У меня иссяк энтузиазм Вам что либо объяснять. Живите со своими химерами....

Последний раз редактировалось Марк; 10.10.2019 в 04:18.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 04:40   #139
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,527
Вес репутации: 4829/116
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
DimaS, наконец-то увидели, рад знакомству. У тебя глаза еще больше будут, если ты узнаешь, что из отрицательных чисел можно извлекать корни и те квадратные уравнения, которые в школе не решались (дискриминант меньше нуля) имеют решение - два комплексных корня.
да что корень... вот ln(-1)
ampersant вне форума   Ответить с цитированием
Старый 10.10.2019, 08:57   #140
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 46
Сообщений: 1,676
Вес репутации: 2423/83
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
DimaS, наконец-то увидели, рад знакомству. У тебя глаза еще больше будут, если ты узнаешь, что из отрицательных чисел можно извлекать корни и те квадратные уравнения, которые в школе не решались (дискриминант меньше нуля) имеют решение - два комплексных корня.

Еще бы найти такой АЦП, с которого бы шел комплексный сигнал!
DimaS вне форума   Ответить с цитированием
Старый 10.10.2019, 08:59   #141
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,712
Вес репутации: 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: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от ampersant Посмотреть сообщение
да что корень... вот ln(-1)
И разгадку нужно приводить, а то не всем понятно.

Цитата:
Сообщение от DimaS Посмотреть сообщение
Еще бы найти такой АЦП, с которого бы шел комплексный сигнал!
Да все уже поняли, что АЦП обычный, просто математика в комплексных числах.

Цитата:
Сообщение от Марк Посмотреть сообщение
А умные книжки бают, што на выходе вещественного и комплексного Фурье, включая БПФ, вторая половина выходного массива - это мнимая часть. Мало того, эти умные книжки писаны в Аналог девайсе....
Отрицательные частоты равные нулю занимают вторую половину (N...2N-1) КОМПЛЕКСНОГО Фурье, у которого на выходе 2N элементов. А куда же делись еще N/2?
В общем я уже притомился, излагая очевидное.
Если Вы доверяете только своим ошибкам и не желаете изучать матчасть, я тут совершенно не причем. У меня иссяк энтузиазм Вам что либо объяснять. Живите со своими химерами....
Марк, а по каким книжкам вы учились? Можно автора, название и год издания.
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 10.10.2019 в 09:06.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 09:27   #142
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 46
Сообщений: 1,676
Вес репутации: 2423/83
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение

Да все уже поняли, что АЦП обычный.

А бывает "не обычный"?
DimaS вне форума   Ответить с цитированием
Старый 10.10.2019, 09:51   #143
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,712
Вес репутации: 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: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от DimaS Посмотреть сообщение
А бывает "не обычный"?
Дмитрий, не долби мозг. Просто не все поняли, зачем на входе комплексного FFT используется массив двойной длины и зачем половину элементов нужно заполнять нулями. Пришлось долго объяснять. Оно так часто бывает, что кто-то годами прятал свой секретный алгоритм БПФ (на ассемблере для PIC24), а потом с ужасом узнал, что аналогичное решение давно стало стандартным (в той же CMSIS DSP Library) и использовать его могут вчерашние студенты. Кроме того, мы еще не сравнивали требования алгоритма к аппаратной части и скорость вычислений.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 10:35   #144
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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 Посмотреть сообщение
Марк, а по каким книжкам вы учились? Можно автора, название и год издания.
Нельзя. Мне надоело самоуверенному незнайке объяснять очевидные для любого инженера вещи.
Ответ куда делась половина бинов из положительных частот я так и не услышал.
В приведенном ВАМИ примере синус был разбит на 32 отсчета. 32 мнимых отсчета были добавлены как 1. Бог с ними, должны быть нулевые, но ладно.
На выходе получили 64 бина. 32 на положительных частотах и 32 на отрицательных. Но всего частотных фильтров при 32 отсчетах может быть только 16. Еще раз вопрос для незнайки: куда девать 16 "лишних" бинов?
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 10:39   #145
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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 Посмотреть сообщение
Просто не все поняли, зачем на входе комплексного FFT используется массив двойной длины и зачем половину элементов нужно заполнять нулями.
Это только Вам представляется, что об этом никто не знает. Разговор вообще не шел о коплексном БПФ, есличо. Он тут Вами зачем то был приплетен с баяном о том, что нужно заполнять мнимую часть нулями.
Туфта про скалярный выход БПФ так и осталась туфтой.
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 10:41   #146
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,712
Вес репутации: 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: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Нельзя. Мне надоело самоуверенному незнайке объяснять очевидные для любого инженера вещи.
Ответ куда делась половина бинов из положительных частот я так и не услышал.
В приведенном примере синус был разбит на 32 отсчета. 32 мнимых отсчета были добавлены как 1. Бог с ними, должны быть нулевые, но ладно.
На выходе получили 64 бина. 32 на положительных частотах и 32 на отрицательных. Но всего частотных фильтров при 32 отсчетах может быть только 16. Еще раз вопрос для незнайки: куда девать 16 "лишних" бинов?
Про какие вы 32 отсчета и т.д., я не понял.

Давайте решим реальную задачу. Условие: 64 отсчета, во входном массиве зададим первую гармонику с амплитудой 1000 и фазой 90 градусов, затем посмотрим, что получится в спектре. Можно несколькими методами. И я увижу, какой у вас спектр.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 10:49   #147
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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 Посмотреть сообщение
Про какие вы 32 отсчета и т.д., я не понял.
Это просто комедия...
Вы САМИ ранее привели код из примеров к ЦМСИСу.
В этом примере аналитическая синусоида была преобразована в массив из 32 отсчетов. К ним были добавлены 32 мнимых отсчета. Итого - 64.
На выходе БПФ так же получили 64 числа.
Половина - зеркальные отрицательные частоты. Выбрасываем их. Остается 32 бина на положительных частотах.
Но при 32 отсчетах синуса можно получить только 16 фильтров.
Куда девать половину массива положительных частот?
Марк вне форума   Ответить с цитированием
Старый 10.10.2019, 10:57   #148
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 46
Сообщений: 1,676
Вес репутации: 2423/83
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Дмитрий, не долби мозг. .

Это ты тут всем его долбишь, вместе с Алексом.

Ввиду нулевых знаний по теме у обоих.
DimaS вне форума   Ответить с цитированием
Старый 10.10.2019, 11:03   #149
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,712
Вес репутации: 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: Быстрое преобразование Фурье. Метод разложения на множители.

Цитата:
Сообщение от Марк Посмотреть сообщение
Это просто комедия...
Вы САМИ ранее привели код из примеров к ЦМСИСу.
В этом примере аналитическая синусоида была преобразована в массив из 32 отсчетов. К ним были добавлены 32 мнимых отсчета. Итого - 64.
На выходе БПФ так же получили 64 числа.
Половина - зеркальные отрицательные частоты. Выбрасываем их. Остается 32 бина на положительных частотах.
Но при 32 отсчетах синуса можно получить только 16 фильтров.
Куда девать половину массива положительных частот?
У меня был пример для FFT 64, массив был двойной длины, т.к. он был из комплексных чисел. Т.е. int16_t Input[64] стало int16_t Input[64+64].

Марк, вот вам входной массив с первой гармоникой (синус, амплитуда 1000 Гц, фаза 90 градусов), покажите свой результат.
Код:
int16_t Input[64]={
999,995,980,956,923,881,831,773,707,634,555,471,382,290,195,98,
0,-98,-195,-290,-382,-471,-555,-634,-707,-773,-831,-881,-923,-956,-980,-995,
-999,-995,-980,-956,-923,-881,-831,-773,-707,-634,-555,-471,-382,-290,-195,-98,
 0,98,195,290,382,471,555,634,707,773,831,881,923,956,980,995};

Этот же сигнал в комплексных числах.

int16_t InputComplex[64+64]={
999,0,995,0,980,0,956,0,923,0,881,0,831,0,773,0,707,0,634,0,555,0,471,0,382,0,290,0,195,0,98,0
,0,0,-98,0,-195,0,-290,0,-382,0,-471,0,-555,0,-634,0,-707,0,-773,0,-831,0,-881,0,-923,0,-956,0,-980,0,-995,0,
-999,0,-995,0,-980,0,-956,0,-923,0,-881,0,-831,0,-773,0,-707,0,-634,0,-555,0,-471,0,-382,0,-290,0,-195,0,-98,0,
0,0,98,0,195,0,290,0,382,0,471,0,555,0,634,0,707,0,773,0,831,0,881,0,923,0,956,0,980,0,995,0};
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 10.10.2019 в 11:14.
Pridnya вне форума   Ответить с цитированием
Старый 10.10.2019, 11:12   #150
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,599
Вес репутации: 3588/105
Марк 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, не нужно мне приводить никаких примеров. Я не буду разбираться в причинах, по которым Вы не получили результата. И не буду ничего ни с чем сравнивать.
Есть совершенно очевидные вещи, которые не требуют никакого кода - ни своего, ни чужого.
Котельников нам завещал делать отсчетов вдвое больше, чем верхняя частота сигнала.
На этом основании число отсчетов одного периода синусоиды даст вполовину меньше фильтров.
Вот и объясните почтенной публике с какого перепуга у Вас осталось 16 отсчетов "ни пришей-ни пристегни".
И не надо замыливать вопрос какими то дополнительными никчемными примерами.
Марк вне форума   Ответить с цитированием
Ответ


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

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

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, время: 03:05.


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