|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.05.2011, 12:18 | #1 |
Регистрация: 17.05.2011
Сообщений: 4
|
Дискретное преобразование фурье
Задача: есть косинусоида, например 18*cos(100*2*3.14*t+12) необходимо посчитать ее спектр, т.е. разложить в ряд Фурье и "увидеть" одну палку на значении 100(т.е. все остальные нули).....
вот программа....сначала массив(arrayA[i]) забивается значениями синусоиды...а затем считаю фурье по всем известной формуле дискретного преобразования....суть в том что выдает мне то же количество значений(300) но другие числа...хотя должно быть только одно! т.к. спектр косинуса-1 значение(палка) Код:
Последний раз редактировалось Petrow; 17.05.2011 в 12:23. |
17.05.2011, 12:51 | #2 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 239
|
Ты помоему где то не там посморел формулу для дискретного преобразования, точнее не до конца дочитал, т.к. не среднегеометрического ни тангенса я у тебя не нашел.
Читай тут: http://slonpts.narod.ru/algo/math/furie/06.html Вот пример на C# который я когда-то писал Код:
В примерес синусойдой, в связи с ограниченой точностью вычисления не во всех остальных гармониках будет нулевая амплитуда, так что возможно надо будет дополнительно вводить фильтрацию, вроде того, что если амплитуда меньше 0,00001 то не учитываем эту гармонику.
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
Последний раз редактировалось KobolD; 17.05.2011 в 12:53. |
17.05.2011, 17:03 | #3 |
Регистрация: 17.05.2011
Сообщений: 4
|
переделал....но вместо одного значения продолжают появляться 1000!!
Код:
Последний раз редактировалось Petrow; 17.05.2011 в 17:42. |
18.05.2011, 12:42 | #4 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 239
|
забыл амплитуду на количество отсчетов ноделить ( в твоем случае на 1000)
Я же говорю что "фильтрафию" надо делать Код:
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
|
18.05.2011, 18:25 | #5 |
Регистрация: 17.05.2011
Сообщений: 4
|
ага) Спасибо !! получилось!!
|
17.11.2011, 23:27 | #6 |
Новичок
Джуниор
Регистрация: 17.11.2011
Сообщений: 1
|
123456789test
Последний раз редактировалось vadaa; 18.11.2011 в 00:08. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двумерное преобразование Фурье | marina_sergina | Помощь студентам | 0 | 08.05.2011 20:23 |
дискретное преобразование фурье | alexdadaev | Общие вопросы C/C++ | 2 | 21.01.2011 13:42 |
Преобразование Фурье | fina | Помощь студентам | 0 | 17.06.2010 14:00 |
Быстрое преобразование Фурье (комментарии). | brendog | Общие вопросы C/C++ | 2 | 21.07.2009 01:15 |
простое преобразование фурье на паскале | locky7fm | Помощь студентам | 2 | 13.04.2009 21:37 |