Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/28: Рейтинг темы: голосов - 28, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 21.01.2010
Сообщений: 3
1

Быстрое преобразование Фурье

24.02.2011, 14:40. Просмотров 5676. Ответов 2
Метки нет (Все метки)

Доброго времени суток.
Пытаюсь реализовать на С++ создание цифрового фильтра методом свертки, при этом использую БПФ, реализованную на http://algolist.manual.ru/maths/fft.php, но получаю странный результат:
после прогона заданной частотной характеристики фильтра через обратное БПФ(пока использую FFT_T) в выходном массиве появляеются ненулевые комплексные составляющие.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  int N = FDiscr*2;
    Complex *FHar = new Complex[N];
    double *tmp_arr = new double[N];
    Complex tmp; 
    // частотная характеристика
    for (int i = 0;i<FDiscr;i++)
    {
        FHar[i].i = 0;
        if ((i<=f2)&&(i>=f1))
            FHar[i].r = 1;
        else
            FHar[i].r = 0;
    }
    FFTReOrder(FHar,FDiscr);
    // обратное бпф
    FFT_T(FHar,FDiscr,-1);
Как это можно побороть?
Чтобы насчет правильности действий не возникалли вопросы, синтез фильтра в mathcad прикреплен в Filter_exper.rar.
0
Вложения
Тип файла: rar Filter_exper.rar (64.8 Кб, 136 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2011, 14:40
Ответы с готовыми решениями:

Двумерное преобразование фурье
Где б разжиться функцией двумерного преобразования фурье? Причем, желательно, не в составе...

Дискретное преобразование Фурье (ДПФ)
Мне надо организовать ДПФ, прямое и обратное. По формулам у меня не получилось. Хочу...

Ряды Фурье дискретное преобразование
Ребята всем привет!!! столкнулся на работе с проблемкой. Решить можно путем дискретного...

Дискретное преобразование Фурье. Расхождение с matlab
Добрый день. У меня проблема следующая. Пытаюсь реализовать ДПФ на С++, формулы взял из википедии....

2
2008 / 1280 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
27.02.2011, 23:11 2
Цитата Сообщение от sinsin Посмотреть сообщение
после прогона заданной частотной характеристики фильтра через обратное БПФ(пока использую FFT_T) в выходном массиве появляеются ненулевые комплексные составляющие.
ниче не понял, какие еще ненулевые комплексные составляющие? После ifft вы должны были получить импульсную характеристику фильтра и не в комплексном виде(мнимую часть просто можно отбросить).
И естественно она не будет нулевой. Судя по коду вы пытались сделать полосовой фильтр с полосой пропускания от f1 до f2. Посмотрите в учебнике импульсную характеристику полосового фильтра и сравните со своей. Я думаю не будет сильно отличаться
0
0 / 0 / 0
Регистрация: 21.01.2010
Сообщений: 3
28.02.2011, 07:10  [ТС] 3
Проблема решена, см. [ссылка удалена]


 Комментарий модератора 
Ссылки на другие форумы запрещены.
Перечитайте правила форума.
Скопируйте решение сюда
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2011, 07:10

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

Подключение библиотеки fftw. Преобразование Фурье.
Приветствую. Есть необходимость использовать быстрое преобразование Фурье. Скачал библиотеку ,...

Быстрое преобразование Фурье
Это пример на сайте wikipedia Быстрого Преобразование Фурье. Два вопроса. 1)Как получить...

Быстрое преобразование Фурье
Помогите реализовать задачу. Дана волновая функция(6sin5pit), необходимо преобразовать её спектр с...

Быстрое Преобразование Фурье
В качестве библиотеки взял хваленую IPP, и тут возник рад вопросов, вот код: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.