В классе, который выводит из coder.fft.StandaloneFFTW3Interface
, реализуйте lock
и unlock
методы, которые вызывают код С, чтобы управлять блокировкой.
Запишите функции C, которые инициализируют, устанавливают и сбрасывают блокировку. Чтобы управлять блокировкой, этот пример пользуется библиотекой OpenMP. Для различной библиотеки измените код соответственно.
Запишите классу коллбэка БПФ myfftcb
это:
Используйте этот класс в качестве шаблона. Замените fftwLocation
с местоположением вашей установки библиотеки FFTW.
Установите параметры конфигурации генерации кода.
Для генерации кода с MATLAB® Coder™
codegen
команда, набор:
CustomFFTCallback
к 'myfftcb'
.
CustomSource
к 'mylock.c'
.
CustomInitializer
к 'mylock_initialize();'
.
Для генерации кода с приложением MATLAB Coder, набором:
Custom FFT library callback к myfftcb
.
Additional source files к mylock.c
.
Initialize function к mylock_initialize();
.
Для генерации кода от блока MATLAB Function при помощи Simulink® Coder, установленного эти параметры:
Custom FFT library callback к myfftcb
.
В , под Additional build information, устанавливает Source files на mylock.c
.
В , под Insert custom C code in generated, устанавливает Initialize function на mylock_initialize();
.
Сгенерируйте код.