MATLAB R2011b в обработке сигналов и моделировании электронных устройств
В статье рассматриваются новые возможности последней реализации (версии) R2011b, связанные с обработкой сигналов и моделированием электронных устройств.
Знакомство с новыми возможностями MATLAB R2011b
Изменений в интерфейсе системы MATLAB R2011b (рис. 1) по сравнению с предшествующей реализацией MATLAB R2011a практически нет. Обеспечены более точная индикация ошибок, переименование переменных и функций в файлах, точнее отображаются интернациональные символы. С системой поставляется пакет расширения Simulink 7.8 (R2011b). Окно с данными о системе MATLAB R2011b (рис. 1) показывает, что эта версия вышла на рынок в середине августа 2011 года. Согласно исполнению команды тестирования bench, скорость вычислений в новой версии практически не изменилась по сравнению с предшествующей реализацией.
Познакомиться с новыми возможностями MATLAB R2011b можно по справке системы (рис. 2) — в разделах Realise Notes и New Products. Полезно также просмотреть видеофайлы, где показано, как работать с системой. Они размещены в Интернете, и для их просмотра нужен стандартный браузер.
В новую реализацию MATLAB 7.13 (R2011b) введены две новые функции генерации случайных чисел. В ней также несколько доработаны функции линейной алгебры. Основные изменения произошли в пакетах расширения, входящих в инструментальные ящики Toolbox и Bloсkset. Улучшены средства выполнения параллельных вычислений. Пакет расширения Parallel Computer Toolbox 5.2 обеспечивает увеличение числа рабочих сессий с 8 до 12. Введены средства параллельных вычислений и при обработке сложных изображений, а также средства поддержки параллельных вычислений в многоядерных микропроцессорах общего применения (CPU) и графических процессорах (GPU). В пакете расширения Global Optimization Toolbox 3.2 введены смешанный алгоритм нелинейного целочисленного программирования и решатель с реализацией генетического алгоритма решения оптимизационных задач.
Ниже подробно рассмотрены средства, которые относятся к технике представления и обработки сигналов и моделированию электронных компонентов и устройств. Именно на их улучшение направлены основные усовершенствования новейшей реализации MATLAB R2011b и пакета ее расширения Simulink R2011b.
Новое в пакете приближения функций Curve Fitting Toolbox
При анализе сигналов и математическом моделировании устройств обработки сигналов особое значение имеет выбор приближений для различных сигналов и функций, представленных кривыми. Для такого приближения в MATLAB имеется пакет расширения Curve Fitting Toolbox. Хотя это довольно старый пакет, он непрерывно развивается и в новой реализации MATLAB представлен в версии 3.2. В ней есть ряд интересных новинок.
Прежде всего надо отметить расширение представлений сложных зависимостей сплайнами. Наряду со сплайновой интерполяцией возможна сплайновая регрессия, то есть приближение функций с минимизацией среднеквадратической погрешности (метод наименьших квадратов). Пример приближения облака точек тригонометрическим рядом Фурье показан на рис. 3. В данном случае все операции выполняются в командном режиме с применением функции fit.
Сплайны можно использовать и для приближения функций двух переменных, то есть поверхностей. На рис. 4 показано построение поверхности шара на основе приближения ее сглаживающими сплайнами. Такие сплайны особенно удобно использовать для приближения плавных кривых и поверхностей.
В пакет введены две новые функции — sftool и cftool — для организации интерактивного приближения функций. Указывается, что первая функция может быть исключена из последующих реализаций этого пакета расширения. Команда:
>> cftool
открывает интерактивное окно GUI интерфейса для приближения функций, показанное на рис. 5. Работа с этим окном вполне очевидна. Особое внимание в средствах приближения функций уделено регрессии, в частности нелинейной и многомерной интерполяции.
Новое в вейвлет-обработке сигналов и изображений
Один из быстро развивающихся пакетов расширения MATLAB — пакет расширения по вейвлетам. Будучи новым математическим базисом приближения произвольных сигналов и функций набором масштабируемых и сдвигаемых вейвлет-функций, похожих на «маленькие волны», вейвлеты открывают обширные возможности в анализе функций и сигналов (в том числе нестационарных), выявлении их тонких закономерностей, очистке от шума, компрессии и т. д. Общие возможности вейвлетов и вейвлет-преобразований описаны в ряде книг, например [1, 5].
Как известно, любой сигнал можно представить в виде суммы составляющих — базисных функций ψk(t), помноженных на коэффициенты Ck:
Так как базисные функции ψk(t) предполагаются заданными как функции вполне определенного вида, то только коэффициенты Ck содержат информацию о конкретном сигнале. Ряды Фурье используют в качестве базовых функций синусоиды, определенных в интервале времени от –∞ до +∞.
Вейвлеты являются новыми базисными функциями в виде коротких «волн» (вейвлетов):
Они способны перемещаться по оси времени (параметр b) и меняться по ширине (параметр a). Вейвлеты определены на конечном носителе (интервале времени).
Разумеется, чтобы точно представлять сигналы, вейвлеты должны соответствовать особым условиям, указанным в литературе по вейвлетам, например в [5]. Прямым вейвлет-преобразованием (Continuous Wavelet Transform, CWT) называют вычисление вейвлет-коэффициентов в области определения R:
Интегральное преобразование (3), применяемое для разных видов вейвлетов, называют непрерывным, если параметры масштаба a и сдвига b в ходе обработки сигнала принимают любые действительные значения. Оно избыточно по затратам времени на вычисления, но зато позволяет добиться наибольшей детализации при анализе сигналов. Такая детализация ограничена лишь принципом неопределенности. Дискретное (в частности, диадическое) преобразование не дает избыточности и отличается высокой скоростью. Важно отметить, что вейвлет-коэффициенты являются функциями не только параметров a и b, но и времени t.
В новейшей реализации Wavelet Toolbox 4.8 этого пакета заметно изменилось окно меню операций с вейвлетами (рис. 6), вызываемое командой:
>> wavenenu
Меню пополнилось тремя новыми позициями, возможности которых описаны далее. Все они реализованы и функциями командного режима.
В разделе одномерных непрерывных вейвлетов (One-Dimensional) появилась новая позиция Continuous Wavelet 1D (Using FFT). Она реализует анализ сигналов комбинированным методом — с применением вейвлетов и быстрого преобразования Фурье (FFT). Метод особенно удобен при анализе сигналов, форма которых содержит малые по длительности аномалии. На рис. 7 показан анализ линейно нарастающего сигнала с небольшой горизонтальной полочкой, едва заметной на графике сигнала: он показан в окне рис. 7 сверху. А вот на вейвлет-спектрограммах модуля и действительной части вейвлет-коэффициентов наличие полочки видно очень отчетливо. Также четко видны начало и конец исследуемого процесса, которые представляют краевые эффекты.
Вейвлет-спектрограммы позволяют легко определять и аномалии производных сигналов и функций. На рис. 8 это показано на примере анализа сигнала с нарушением непрерывности второй производной. Это изменение также едва заметно на глаз на временной зависимости сигнала. Но вейвлет-разложение сигнала четко фиксирует эту аномалию. Также четко фиксируются аномалии типа вертикального скачка разрыва.
На рис. 9 приведен пример анализа синусоидального сигнала со скачком частоты. Особенно четко этот скачок наблюдается на вейвлет-спектрограмме фазового угла (Angle). В правой части окон вейвлет-обработки сигнала по умолчанию отключены средства синтеза и представлены только результаты анализа. Однако если включить средства синтеза, то можно наблюдать графики отдельных вейвлет-коэффициентов, а если они включены, то и график синтезированного сигнала — он отличается от исходного только цветом. Если выделяется один вейвлет-коэффициент (как на рис. 9), то на левом графике исходного сигнала можно наблюдать график соответствующего вейвлет-коэффициента. Так можно найти коэффициенты, графики которых наиболее полно отражают ту или иную особенность сигнала.
На рис. 10 продемонстрирован вейвлет-анализ сложного сигнала. Вейвлет-спектрограммы сложных сигналов отличаются пестрой окраской и сложностью структуры, которая отражает все особенности сигнала. Характер этой окраски определяется выбранной цветовой схемой, которая имеет большое значение для представления особенностей сигнала и его распознавания.
При активизации новой позиции Wavelet 3D открывается окно трехмерного вейвлет-разложения. Вейвлет-коэффициенты в этом случае представлены массивами наборов рисунков. Пример (один из многих) показан на рис. 11. Номера рисунков и соответствующих массивов можно выбрать с помощью слайдеров в правой части окна анализа.
С помощью 3D-дисплея этого пакета можно просмотреть и трехмерное преставление разложения. На рис. 12 показано окно этого дисплея с представлением исходной трехмерной фигуры данного примера. Список у опции 3D-дисплея позволяет выбрать и другие варианты вида графики анализируемой фигуры.
Представляют интерес и другие примеры обработки трехмерных изображений. Так, на рис. 13 показан пример обработки изображения маски лица. На этом рисунке можно видеть открытый список цветовых схем представления вейвлет-разложения трехмерных фигур. Следует отметить, что цветовые схемы не имеют прямого отношения к цветовому представлению самой разлагаемой фигуры. Они рассчитаны на получение разнообразной и порою избыточной информации. Она может быть использована в системах распознавания личности людей.
Результат синтеза изображения маски показан на рис. 14. Изображение представлено проекциями фигуры на плоскости куба.
Пример обработки и компрессии сложного цветного трехмерного изображения приведен на рис. 15. Представленные на нем данные свидетельствуют о высокой степени сжатия изображения и высоком качестве его восстановления при декомпрессии.
Вейвлет-обработка изображений может найти широкое применение в медицине, например, для наглядного представления органов человека в разрезе. Пример обработки части черепной коробки человека показан на рис. 16. Исходное изображение приведено здесь же. Как и ранее, массив этого изображения подготовлен заранее и хранится в файле примера. Возможны просмотр вейвлет-коэффициентов и вывод статистических данных о них.
При вейвлет-разложении кривых или рисунков получается набор вейвлет-коэффициентов разного уровня. Чаще всего используется диадическое разложение, при котором каждое очередное разложение вдвое меняет длину вейвлет-коэффициентов. При этом сходимость к первоначальному образу в процессе композиции объекта оказывается довольно быстрой и отсутствует избыточность информации.
Если в ходе декомпозиции объекта сохранять только часть вейвлет-коэффициентов, то это может быть положено в основу сжатия (компрессии) данных. Тут можно рассматривать некоторую аналогию с сохранением только части гармоник при Фурье-разложении сигнала. Но теоретический анализ показывает, что сходимость при вейвлет-преобразованиях оказывается более быстрой, чем при классическом Фурье-преобразовании. Поэтому еще в начале этого века появился улучшенный стандарт сжатия изображений JPEG 2000, в основе которого лежат вейвлет-преобразования.
Первой успешной попыткой применения вейвлет-компрессии изображений стало хранение огромных массивов отпечатков пальцев в полиции США. Оно позволило в десятки раз уменьшить объем памяти под хранение многих миллионов таких отпечатков. В дальнейшем была реализована вейвлет-технология компрессии сложных изображений (рис. 17). Эта техника положена в основу стандарта сжатия фотографических изображений JPEG 2000.
Построение вейвлет-скалограмм сигналов
Вейвлеты нашли применение в очистке сложных нестационарных сигналов от шума, фильтрации сигналов, выполнении регрессии и, что уже было показано, в выявлении тонких особенностей и аномалий сложных сигналов. В последнем случае особенно эффективным оказалась технология вейвлет-преобразований с применением непрерывных вейвлетов. Недавно была создана новая техника таких преобразований, позволяющая строить вейвлет-скалограммы (от англ. слова scale — шкала, градация) [5]. При этом важное значение придается цветовой схеме скалограмм, несущих информацию об уровне вейвлет-коэффициентов. Скалограмма строится в плоскости «масштаб – время» (scale-time) с отображением уровня вейвлет-коэффициентов цветом.
Для иллюстрации создания скалограммы сложного сигнала создадим математическую модель нестационарного сигнала в командном режиме работы MATLAB:
>> F1 = 10; F2 = 40; Fs = 1000; t = 0:1/Fs:1; >> x = sin(2*pi*t*F1).*((t<0.25)+(t>0.75))ѕ + 1.2.*t.*cos(pi*t.^2*F2).*(t>0.25).*(t<0.75);
Сигнал представляет собой три отрезка: в начале и в конце это отрезки синусоиды с постоянной частотой и амплитудой, а в середине — отрезок синусоиды с линейно нарастающей амплитудой и частотой. Построим график сигнала (рис. 18):
>> clf; plot(x);axis tight; title('Signal'); xlabel('Time or Space')
Теперь для сравнения Фурье- и вейвлет-спектров построим обычный Фурье-спектр этого сигнала:
>> h = spectrum.welch; Hpsd = psd(h,x,'Fs',Fs); clf; plot(Hpsd);
Оказывается, что такой спектр (рис. 19) практически бесполезен для оценки особенностей нестационарного сигнала. Он не дает информации о длительности и параметрах начального и конечного отрезков синусоиды и особенностях среднего отрезка: даже при богатой фантазии анализирующего ничто не указывает на то, что этот отрезок имеет нарастающую частоту и амплитуду синусоидального сигнала. Совсем не видно деление сигнала на три отрезка, нет данных о форме его участков.
А теперь построим вейвлет-скалограмму сигнала с помощью функции wscalogram. Для этого исполним команды:
>> wname = 'gaus4'; scales = 1:1:128; >> coefs = cwt(x,scales,wname); >> clf; wscalogram('image',coefs,'scales',scales,'ydata',x); >> hold on; plot([1 size(coefs,2)],'Color','m'); >> plot([1 size(coefs,2)],'Color','m');
Скалограмма представлена на рис. 20, и по информативности они намного превышает даже временную зависимость сигнала (рис. 18). Отчетливо различаются все три участка временной зависимости сигнала (для сравнения она показана в верхней части рис. 20), при этом хорошо видно изменение амплитуды и частоты среднего участка. Внимательный просмотр скалограммы выявляет и другие особенности сигнала, например наличие краевых эффектов, переходы от одной кривой к другой в начале и в конце среднего участка.
Разумеется, детальный анализ скалограмм требует определенного опыта, и предстоит многое еще сделать для его четкого определения как вручную, так и в автоматическом режиме. Он может базироваться на анализе скалограмм как рисунков, например с помощью пакета расширения Imaging Processing Toolbox. Ряд интересных и красочных примеров построения скалограмм возможен и в GUI-окне вейвлет-анализа.
Новые средства визуализации
В обновленный пакет DSP System Toolbox (версия 8.1) включен новый виртуальный осциллограф Time Scope. Его возможности показаны на примере (рис. 21).
Как нетрудно заметить, новый осциллограф дает более четкое отображение временных диаграмм, похожее на рисунок, который строят графические построители — плоттеры. Они позволяют более точно оценивать параметры сигналов (точнее, их моделей).
Улучшены и средства визуализации фильтров, часто применяемых при обработке сигналов. Они реализованы как функциями командного режима, так и GUI-окнами проектировщиков фильтров. Они мало отличаются от описанных в [1, 2], но в них несколько увеличено число проектируемых фильтров. Появилось и демонстрационная реализация трехполосного параметрического акустического эквалайзера, и пример применения в Simulink анализатора спектра на основе быстрого преобразования Фурье (FFT) (рис. 22).
Новые функции пакета расширения RF Toolbox
В пакет расширения по радиочастотным цепям и устройствам RF Toolbox 2.9 введена новая функция rlgc2s для преобразования физических параметров RLGC линий передачи в их S-параметры. Например, задав физические параметры:
>> length = 1e-3; freq = 1e9; z0 = 50; >> R = 50; L = 1e-9; G = .01; C = 1e-12
можно тут же вычислить соответствующие S-параметры:
>> s_params = rlgc2s(R,L,G,C,length,freq,z0) >> s_params = 0.0002 - 0.0001i 0.9993 - 0.0002i 0.9993 - 0.0002i 0.0002 - 0.0001i
Другая новая функция преобразует S-параметры в физические параметры RLGC линий передачи. Например:
>> rlgc_params = s2rlgc(s_params,length,freq) rlgc_params = R: 50.0000 L: 1.0000e-009 G: 0.0100 C: 1.0000e-012 alpha: 0.7265 beta: 0.2594 Zc: 63.7761 -14.1268i
Используя эти функции, можно строить различные зависимости, например, S-параметров линии передачи от частоты. Для построения таких зависимостей введена и новая функция рационального приближения — rationalfit.
Учет температуры в моделях полупроводниковых приборов
Перейдем к новинкам пакета блочного имитационного моделирования Simulink R2011b. Уже в реализации Simulink R2011a был введен учет влияния температуры на работу большинства моделей полупроводниковых приборов. В окно установки их параметров была включена вкладка Temperature Dependence. В Simulink 2011b эта тенденция была продолжена. В числе демонстрационных примеров улучшенного пакета расширения SimElecytonics version 2.0 появился недостающий пример моделирования характериографа для мощных биполярных транзисторов с полевым управлением (IGBT) (рис. 23).
Окно параметров IGBT с открытой вкладкой Temperature Dependence показано на рис. 24. На вкладке задаются параметры составляющих модели IGBT — силового биполярного транзистора и управляющего им полевого транзистора.
Семейство выходных ВАХ JGBT в этом примере представлено при двух значениях температуры (рис. 25). Видно, что при остаточном напряжении менее 3 В анализируемый IGBT имеет ток до 800 А и выше. Таким образом, этот пример дан для мощного IGBT, на работу которого существенно влияют температура окружающей среды и его саморазогрев.
Из принципиально новых возможностей следует отметить введение в ряд блоков моделей полупроводниковых приборов термического порта (Thermal Port). Он позволяет измерять мгновенное значение температуры структуры прибора и его корпуса. По умолчанию термический порт выключен, но его можно включить в окне параметров. Включенный порт отображается на изображении блока модели соответствующего прибора.
Диаграмма модели линейного стабилизатора напряжения на биполярном транзисторе с термическим портом показана на рис. 26. С помощью виртуальных осциллографов измеряются пульсации напряжения на циклической нагрузке стабилизатора и пульсации температуры транзистора. Эти зависимости показаны на рис. 26 справа от диаграммы модели.
Окно параметров биполярного транзистора с открытой вкладкой Thermal Port представлено на рис. 27.
Оценка температурных параметров моделей полупроводниковых приборов и включение в них термического порта позволяют осуществлять полноценное математическое моделирование преобразовательных устройств. На рис. 28 для примера приведена диаграмма модели синхронного обратного ключевого преобразователя с широтно-импульсным управлением на мощных полевых транзисторах с термическими портами. Преобразователь нагружен на постоянную нагрузку и на циклическую нагрузку, имитирующую цикл изменения тока нагрузки.
Осциллограммы работы этой модели представлены на рис. 29. Отчетливо видны броски выходного напряжения при увеличении тока нагрузки и его уменьшении. Естественно, что при набросе нагрузки должна возрастать рассеиваемая полевыми транзисторами мощность и возрастать их температура.
Расчетные временные зависимости температуры корпуса и структуры мощных полевых транзисторов представлены на рис. 30. Там же показана временна′я зависимость теплового потока. Установленные на массивных радиаторах мощные полевые транзисторы имеют большую постоянную времени тепловых процессов, так что за время моделирования их температура почти не меняется.
Детальные временные диаграммы напряжений, токов и рассеиваемых мощностей для транзисторов модели показаны на рис. 31. Эти диаграммы приведены для малого отрезка времени. Из-за большой массы мощных полевых транзисторов, установленных на массивных радиаторах, температура приборов практически не меняется.
Для расчета динамики тепловых процессов нужно создать диаграмму тепловой модели устройства. И тут важным достоинством Simulink являются отсутствие узкой специализации библиотек компонентов и ориентация на моделирование разнообразных устройств (в том числе тепловых, механических и гидравлических).
Диаграмма тепловой модели преобразователя, представленного на рис. 28, показана на рис. 32. Рассчитанные по ней зависимости температуры структуры транзисторов, их корпуса и поверхности радиатора приведены на рис. 33. Они хорошо отражают динамику тепловых процессов для этого устройства.
Заключение
Приведенные выше примеры показывают, что новая реализация системы MATLAB R2011b и Simulink R2011b успешно продвинулась по ряду направлений, прежде всего в части приближения кривых и функций (пакет расширения Curve Fitting Toolbox 3.2), в области обработки сигналов и моделирования электронных устройств. Заметное развитие получили пакет цифровой обработки сигналов DSP System Toolbox 8.1, пакет по вейвлетам и вейвлет-преобразованиям Wavelet Toolbox 4.8. Пакет моделирования электронных схем SimElectronix Blockset 2.0 пополнился средствами учета температуры у полупроводниковых приборов и даже термическим портом для учета температуры приборов с учетом их саморазогрева и условий охлаждения.
- Дьяконов В. П. MATLAB и Simulink для радиоинженеров. М.: ДМК-Пресс, 2011.
- Дьяконов В. П., Пеньков А. А. MATLAB и Simulink в электроэнергетике. М.: Горячая линия – Телеком, 2009.
- Levanon N., Mozeson E. Radar Signals. Wiley-IEEE Press, 2004.
- Richards M. Fundamentals of Radar Signal Processing. McGraw Hill, 2005.
- Дьяконов В. П. Вейвлеты. От теории к практике. М.: Солон-Пресс, 2004.
- Дьяконов В. П. MATLAB — новые возможности в технологии осциллографии // Компоненты и технологии. 2009. № 10.
- Дьяконов В. П. MATLAB — новые возможности в технологии спектроскопии и спектрометрии // Компоненты и технологии. 2010. № 11.