
- •Методические указания
- •Проектирование цифрового графического эквалайзера
- •Содержание
- •Задание
- •1. Описание работы эквалайзера
- •1.1.Типы эквалайзеров
- •1.2.Принцип работы с эквалайзером и его применение
- •2. Разработка эквалайзера
- •2.1. Схема эквалайзера
- •2.2. Проектирование фильтров эквалайзера
- •3. Моделирование эквалайзера в Simulink
- •3.1. Описание модели
- •Краткая справка по matlabguide
Краткая справка по matlabguide
Чтобы вызвать редактор интерфейсов введите команду guideв workspace. Далее в появившемся окне выберите опцию создания нового пустого интерфейса. Открывшийся редактор будет очень похож на знакомый VisualStudio с обрезанным функционалом.
Разместив все элементы на поле нужно создать для каждого из них т.н. Callbackfunction (функцию, обрабатывающую события, связанные с данным элементом). Для этого в контекстном меню для каждого элемента выбираем пункт Viewcallbacks>>Callback. Откроется редактор кода интерфейса. Шапка будет иметь приблизительно такой вид: function ‘элемент’_Callback(hObject, eventdata, handles). Также вместе с шапкой автоматически создаются некоторые комментарии (в этой среде закомментированной считается строка, начинающаяся с “%” ), которые зачастую оказываются полезны при отладке.
Функции бегунков-регуляторов усиления должны иметь следующий код:
function slider1_Callback(hObject, eventdata, handles) x=round(get(hObject,'Value')); set(handles.txt1, 'String', [int2str(x) ' dB']); set_param('equalizer/Gain1','db',int2str(x)); end
Где:
Slider1 – имя «бегунка» txt1–имя текстового блока, отображающего текущий уровень усиления equalizer/Gain1 – ссылка на блок Gain1 модели equalizer.mdl.
Кнопка включения\паузы:
function pushbutton1_Callback(hObject, eventdata, handles) x=get(hObject,'String'); if strcmp(x,'Play') load_system('equalizer'); set_param('equalizer', 'SimulationCommand', 'start'); set(hObject,'String', 'Pause'); elseifstrcmp(x,'Play') set_param('equalizer', 'SimulationCommand', 'pause'); set(hObject,'String', 'Play'); end end
Параметры аналогичны.
Кнопка выключения:
function pushbutton2_Callback(hObject, eventdata, handles) set_param('equalizer', 'SimulationCommand', 'stop'); end
Полезную информацию для отладки как интерфейса, так и модели Simulink, предоставляет MATLABHelp. Прежде чем спрашивать у гугла стоит спросить у него. Я серьезно!