Выполнение Аудиофильтра на Живом использовании Аудиовхода Совет Intel

В этом примере мы иллюстрируем как к:

  1. Смоделируйте аудиосистему с Низкой передачей и фильтрами передачи Полосы

  2. Реализуйте его на плате Intel с помощью аудио исходного проекта

Цель этого примера состоит в том, чтобы получить аудиовход через Стрелу вход линии Комплекта разработчика SoC, обработать его на FPGA и передать обработанное аудио динамику. Вышеупомянутый рисунок показывает высокоуровневую архитектуру такой системы. Это использует аудиокодек, чтобы взаимодействовать через интерфейс к периферийным устройствам и преобразовать аналого-цифровые сигналы и наоборот. Дюйм/с Аудиокодека используется, чтобы сконфигурировать аудиокодек и для передачи аудиоданных между Intel SoC и аудиокодеком. IP Фильтра используется для обработки аудиоданных. Процессор ARM используется, чтобы управлять типом фильтра, который будет использоваться i.e. низкая передача или передача полосы.

Прежде чем вы начнете

Чтобы запустить этот пример, необходимо было установить следующее программное и аппаратное обеспечение и настроить:

Чтобы установить Стрелу Комплект разработчика SoC, обратитесь к разделу "Set up Intel SoC hardware and tools" в Рабочем процессе Элемента кода аппаратного программного обеспечения для примера Платформ SoC. Соедините аудиовход с мобильного телефона или MP3-плеера к ЛИНИИ разъем IN и или наушники или динамики, чтобы НАМЕТИТЬ разъем на Стреле SoC как показано ниже.

Введение

В следующей модели звуковой файл используется в качестве входа к подсистеме DUT, Audio_filter. При симуляции этой модели в Simulink обработанный звуковой эффект можно услышать через блок Audio Device Writer, и блок Spectrum Analyzer отображает спектрограмму отфильтрованного аудиовыхода.

modelname = 'hdlcoder_audio_filter_biquad';
open_system(modelname);

Смоделируйте Систему с Низкой передачей и Фильтрами передачи Полосы

Коэффициенты фильтра могут быть сгенерированы с помощью функции MATLAB или в Simulink. В этой модели, filterDesigner Инструмент (DSP System Toolbox) используется, чтобы сгенерировать коэффициенты фильтра для каждого типа фильтра. Затем эти коэффициенты фильтра экспортируются и хранятся как файл MATLAB. Эти коэффициенты будут использоваться, чтобы спроектировать фильтры в Simulink. В этой модели используются дискретные БИХ-блоки фильтра из Simulink®, когда Biquad низко передают или фильтры передачи полосы в зависимости от соответствующих коэффициентов фильтра.

Можно протестировать эту модель путем симуляции модели в Simulink. Область значений частот, замеченных на Спектре Анализатор и звуковой эффект, который услышали через блок Audio Device Writer, должна варьироваться в зависимости от типа выбранного фильтра. Блок Select фильтра используется, чтобы выбрать тип фильтрации, которая будет сделана на аудиовходе.

Настройте модель для стрелы комплект разработчика SoC

Для того, чтобы реализовать эту модель на Стреле SoC, необходимо сначала создать исходный проект в Qsys, который получает аудиовход на Стреле SoC и передает обработанные аудиоданные из Стрелы SoC. Для получения дополнительной информации о том, как создать исходный проект, который интегрирует модель аудиофильтра, обратитесь к Авторской разработке Исходного проекта для Аудиосистемы на примере платы Intel.

В исходном проекте левые и правые аудиоданные канала объединены, чтобы сформировать один канал. Они конкатенированы таким образом, что более низкие 24 бита являются левым каналом, и верхние 24 бита правильный канал. В модели Simulink, показанной выше, Data_in разделен в 2 канала i.e. левый и правый соответственно. Их величина разделена на 2, и 2 канала добавляются вместе, чтобы сформировать один канал. Фильтрация сделана на этом канале.

Data_in и Valid_in являются AXI4-потоковыми сигналами. Data_in содержит аудиоданные, которые будут обработаны и действия Valid_in как разрешать сигнал. Каждый фильтр сопоставлен с Вовлеченным Стрела SoC, чтобы визуально указать, работает ли фильтр или прочь.

Входом FilterSelect управляют через интерфейс AXI4.

Сгенерируйте ядро IP HDL с AXI4-потоковым Интерфейсом

Затем можно запустить HDL Workflow Advisor и использовать рабочий процесс элемента кода аппаратного программного обеспечения Intel®, чтобы развернуть этот проект на оборудовании Intel. Для более подробного пошагового руководства можно обратиться к Началу работы с Предназначением для примера Устройств Intel SoC.

1. Настройте инструмент path синтеза Куарта Intel используя следующую команду в окне команды MATLAB. Используйте свой собственный Intel путь к установке Куарта, когда вы запустите команду. Например:

hdlsetuptoolpath('ToolName', 'Altera Quartus II', 'ToolPath', 'C:\intelFPGA\18.1\quartus\bin64\quartus.exe');

2. Добавьте и папку репозитория IP и Стрелу регистрационный файл Комплекта разработчика SoC к использованию пути MATLAB после команд:

addpath(fullfile(matlabroot,'toolbox','hdlcoder','hdlcoderdemos','customboards','ipcore'));
addpath(fullfile(matlabroot,'toolbox','hdlcoder','hdlcoderdemos','customboards','ArrowSoC'));

3. Запустите HDL Workflow Advisor с подсистемы DUT, hdlcoder_audio_filter_biquad/Audio_filter или путем двойного клика по Launch HDL Workflow Advisor окружают модель.

В Задаче 1.1, выберите рабочий процесс IP Core Generation for Target и выберите Arrow SoC Development Kit для Целевой платформы.

В задаче 1.2, Audio System with AXI4 Stream Interface выбран для Исходного проекта.

Интерфейс AXI4-Stream используется для передачи аудиоданных между исходным проектом и IP алгоритма фильтрации. Интерфейс AXI4-Stream содержит данные (Данные) и управляющие сигналы, такие как данные, допустимые (Допустимый), (Готовое) противодавление, и контур данных (TLAST). По крайней мере, Данные и Допустимые сигналы требуются для AXI4-потоковой генерации ядра IP. В Задаче 1.3, таблица интерфейса Целевой платформы загружается как показано в следующем изображении. Порты потока аудиоданных, Valid_in, Data_in, Valid_out и Data_out, сопоставлены с AXI4-потоковыми интерфейсами, Pass_through_LED, BiQuad_LPF_LED, BiQuad_BPF_LED сопоставлены со светодиодами на Стреле, SoC и порт Filter_select параметра управления сопоставлены с интерфейсом AXI4.

Интерфейс AXI4-Stream связывается в основном/ведомом режиме, куда ведущее устройство отправляет данные в ведомое устройство. Поэтому, если порт данных является входным портом, присвойте его интерфейсу AXI4-Stream Slave, и если порт данных является выходным портом, присвойте его интерфейсу AXI4-Stream Master.

3. Щелкните правой кнопкой по Task 3.2, Сгенерируйте Код RTL и Ядро IP, и выберите Run to Selected Task, чтобы сгенерировать ядро IP. Можно найти отображение адресов регистра и другую документацию для ядра IP в сгенерированном Отчете Ядра IP.

Интегрируйте IP в AXI4-потоковое-аудио совместимый исходный проект

Затем в HDL Workflow Advisor, вы запускаете задачи Интегрирования Встраиваемой системы развернуть сгенерированное ядро IP HDL на Intel SoC.

1. Запустите Задачу 4.1, Создайте Проект. Эта задача вставляет сгенерированное ядро IP в Аудиосистему с Потоковым исходным проектом Интерфейса AXI4. Как показано в первой схеме, этот исходный проект содержит дюйм/с, чтобы обработать аудиоданные в и из Стрелы SOC. Сгенерированный проект является полным проектом, включая часть алгоритма (сгенерированный IP алгоритма DUT) и часть платформы (исходный проект). Для получения дополнительной информации о том, как создать исходный проект, который интегрирует модель аудиофильтра, обратитесь к Авторской разработке Исходного проекта для Аудиосистемы на примере платы Intel.

2. Нажмите на "Сгенерированную ссылку" проекта Altera Qsys в панели Результата, чтобы открыть сгенерированный проект разработчика платформы Ксиса.

3. В HDL Workflow Advisor запустите остальную часть задач сгенерировать модель программного интерфейса, и создать и загрузить поток битов FPGA. Выберите метод программирования Download в Целевом устройстве Программы задачи, чтобы загрузить поток битов FPGA на SD-карту на плате Intel, таким образом, ваш проект будет автоматически перезагружен, когда вы подвергнете циклу включения и выключения питания плату Intel.

Сгенерируйте исполняемый файл ARM к Настройкам параметров на Матрице FPGA

Модель программного интерфейса сгенерирована в Задаче 4.2, Сгенерируйте Модель Программного интерфейса.

1. Прежде чем вы сгенерируете код из модели программного интерфейса, прокомментируете источник аудиовхода, и аудиовыход снижают i.e Из Мультимедийного Файла, Преобразования типа данных, Буфера, Средства записи Аудио устройства и Спектра Блоки Анализатора. Эти блоки не должны быть запущены на процессоре ARM. IP Audio_filter запускается как *Filtering_Algorithm" на матрице FPGA. Процессор ARM использует интерфейс AXI4 для выбора типа фильтра i.e. Biquad Низко передают, передача Полосы или Проходят.

  1. В сгенерированной модели перейдите к Аппаратной панели и затем откройте диалоговое окно Configuration Parameters путем нажатия на Hardware Settings.

  1. Выберите Solver и установите "Время остановки" на "inf".

  2. Затем в Аппаратной Панели, Нажмите на кнопку Monitor & Tune. Embedded Coder создает модель, загружает исполняемый файл ARM на оборудование платы Intel, выполняет его и соединяет модель с исполняемым файлом, работающим на оборудовании платы Intel. Затем можно настроить параметры модели.

Тип фильтра, который будет использоваться, может быть выбран с помощью выпадающих опций в блоке Filter Select

Отфильтрованный аудиовыход можно услышать путем включения наушников или динамиков, чтобы НАМЕТИТЬ разъем на Стреле SoC. В зависимости от выбранного фильтра соответствие Вовлекло Стрелу, которую включает SoC. В этом примере LD0 включает, когда Проходят (Никакой используемый фильтр), опция выбрана, LD1 включает, когда Фильтр нижних частот Biquad выбран, LD2 включает, когда фильтр передачи Полосы Biquad выбран.