|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.10.2015, 10:26 | #1 |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
Запуск библиотеки FFT C#
Решил я воспользоваться этой библиотекой, хочу сначала просто сделать БПФ на любое число выборок любого сигнала.
http://www.fftw.org/install/windows.html http://www.fftw.org/fftw2_doc/fftw_2.html Я знаю, как подключить к проекту dll и добавить h-файл. Теперь мне надо понять, как будет выглядеть основной код для этой задачи. У меня к Вам 2 вопроса. 1. Я вообще программирую с помощью Windows Forms, поэтому в идеале я жду простейший вариант кода, либо подскажите хоть как-то, чтобы разобраться, что писать. 2. Я посмотрел примеры, ориентируюсь на ссылки выше, но нашел только код Код:
|
14.10.2015, 12:22 | #2 |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
Нашел, как это уже делали. http://ru.stackoverflow.com/question...80%D1%8C%D0%B5
Проблема в том, что я запустил этот проект, понял, что в fin входные данные, в fout - выходные. Я решил перенести это в свой проект. Все заступорилось с подключения библиотеки. Смотрите, я добавил библиотеку fftwlib.dll в проект, написал "embedded resource", затем ищу в Reference fftwlib и не могу найти. В проекте пишу строчку Код:
|
14.10.2015, 13:09 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Насколько я помню, сборки подключаются так:
Безымянный.jpg
I'm learning to live...
|
14.10.2015, 13:26 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
1. Лично я вам несколько раз, что не надо сборки добавлять как файлы в проект или как ресурсы. Используйте меню для референсов.
2. Либа с http://www.fftw.org - это действительно просто либа, не сборка 3. Вы в первом посте ссылаетесь на нативную либу, а во втором сетуете, что взяли код из примера использования обертки либы, а обертку не взяли Может вам начать с чего-нибудь попроще?.. |
14.10.2015, 14:18 | #5 |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
Я долго мучался, и в итоге библиотеку он видит. Через референсы и добавляю, но проблема в том, что когда я переносил dll в корень проекта, среда Visual его не видела в референсах. Проблема была в том, что я хотел добавить через Reference, но не мог найти библиотеки, которую надо добавить. Ну ок.
Посмотрите, пожалуйста, пример, я руководствовался ссылкой, которую указал выше, но я не знаю, как из консольного приложения переписать windows forms. Что мне надо изменить в исходном коде, чтобы у себя не иметь ошибок и тп. Когда я, например, скопипастил класс public class FFTWtest перед стандартным классом windows forms, начало писать ошибки по поводу дальнейшей инициализации windows forms. Я просто еще не соображаю, где брать классы и примеры, чтобы использовать функции из dll. На математическом уровне-то все ясно - мне сейчас надо сделать просто входной и выходной массивы, на входе пилу, например, подать входной сигнал на обработку библиотеке FFTW, и результат записать в выходной массив. А вот подробнее - я вообще не знаю, с чего начать, с каких функций! Даже этот пример меня не очень пока вдохновил, не могу продвинуться http://forum.sources.ru/index.php?showtopic=368270 Следующий код я переосмыслил и записал к себе в приложение Windows Forms Код:
Код:
Последний раз редактировалось Stilet; 14.10.2015 в 15:42. |
14.10.2015, 15:40 | #6 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
Посмотрите на https://github.com/tszalay/FFTWSharp...arp/Interop.cs Обратите внимание на всякие там DllImport... |
|
14.10.2015, 16:02 | #7 |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
ООО, я просто 2 dll добавил, которые в вашей сборке были указаны, и у меня перестало выдавать ошибку!! Серьезно что ли? А как правильно тогда вообще эту сборку в проект добавлять? Получается, Reference здесь нужна не на dll, а на проект FFTWSharp, который я должен добавить в свой проект? Кстати, здесь попроще код http://ru.stackoverflow.com/question...81-idisposable
Последний раз редактировалось Krasi; 14.10.2015 в 16:05. |
14.10.2015, 16:10 | #8 |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
Уже ближе, тогда что у меня в коде может быть неверно сейчас? Это от начала до конца операция БПФ, и исходные данные, и выходные можете видеть.
Код:
Последний раз редактировалось Krasi; 14.10.2015 в 16:13. |
14.10.2015, 16:34 | #10 |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
Теперь вопрос попроще. Чтобы протестировать работу этого кода, я хочу использовать гармонический сигнал. И тут я забыл, что синус выдает double, а мне надо float.
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запуск многопоточной DLL библиотеки | shalva1234 | C# (си шарп) | 1 | 16.07.2014 09:17 |
FFT | asdbsa | Visual C++ | 3 | 22.09.2013 21:39 |
Частота и амплитуда FFT | WorldMaster | C# (си шарп) | 17 | 16.12.2012 17:58 |
Проблема с БПФ (FFT) | Teddy_bear | Общие вопросы C/C++ | 2 | 13.01.2012 18:13 |