Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 97
Текст из файла (страница 97)
Векторы и матрицы можно формировать и из отдельных элемеитов, при этом элементы в строке разделяются пробелами или запятыми, между строками ста- вится точка с запятой, а все в целом ограипчивается квадратными скобками: »к*у апэ = 96 »у*х апз = Со1вапз 1 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000 СО1пзпэ 8 4.5000 6.7500 9.0000 11.2500 13 5000 15.7500 18.0000 20.2500 22 5000 гпгоидп 7 1.5000 2.2500 3.0000 3.7500 4.5000 5.2500 6.0000 6 7500 7.5000 твгов96 9 5.0000 7.5000 10.0000 12.5000 15 ОООО 17 5000 20,0000 22.5000 25.0000 514 Приложение А.
Основы работы с МАтслв » М ( 1 2:3,41 М 1 2 3 а Точка с запятой имеет и е)це одно важное применение — размешенная в конт строки, оца подавляет вывод результата вычислений на экран: » М2 = М * М; Узнать значение переменной можно, просто введя ее имя: » М2 М2 7 10 15 22 И в заключение первого знакомства привслем несложный пример, связанньш с тематикой книги — обработкой сигналов. Лля начала заладим частоту дискретизации Гз равной 8 кГц: » Гз - 8е3; Теперь сформируем вектор значений времени, охватывакпцих с втой частотой дискретизации интервал длиной в одну секунду: » т 0:1/Гз:1: Рассчитаем для этих моментов времени значения периодической последовательности двуполярных прямоугольных импульсов с частотой следования 70, равной 50 Гц.
Для этого вычислим значения синусоиды нужной частоты и применим к пим знаковую функцию з)9п; » 70 = 50; » з = з)9п(з)п(2*р)*Г0*т)); Теперь подготовим фильтр для обработки нашего сигнала, Пусть это будет ФНЧ Баттсрворта 4-го порядка с частотой среза 71, равной 200 Гц. Такой фильтр рассчитывается с помошью функции Ьвттег из пакета расширения Б!япа1 Ргосезз(щ » т'1 200: » (Ь.
а) - Ьоттег(4, Г1*2/Гз) 1.0е-003 * 0.0312 0.1250 0.1874 0.1250 0.0312 а- 1.0000 -3.5897 4.8513 -2.9241 0.6630 Здесь мы впервые сталкиваемся с интересной особенностью МАТ( АВ: в отличие от большинства языков программирования, функции МАТ(.АВ могут возврашать песколько результатов (в данном примере вто векторы Ь и а — коэффициенты полиномов числителя и знаменателя функции передачи рассчитанного фильтра).
515 Работа в интерактивном режиме ЗАМЕЧАНИЕ Выходные параметры функции перечисляются через загьчтую в квадратных скобках. При использовании такой функции в составе математического выражения значением функции явлчстся иереьгй цз списка возвращасмых ск> результатов. Теперь можно обработать сигнал з фильтром, описываемым векторами Ь и а. Для етого предназначена функция т(1тег: » з2 - т(1тег(Ь, а. з); Наконец, взглянем па полученные результаты, вывеля графики первых 200 значений входного и выходного сигналов с помон(ьго функции р1от: » р)от(с(1:200), з(1:200), с(1:200), з2(1:200), ': ') речультируюгций график, который выволится в отдельном окне, называемом графическим окном (((йоге цчпс(оцг), показан на рис.
А.З. Подробнее о функции р1ос будет рассказано далее, в разделе «Графцка» ланного приложения. Рис. д. 3, Графики входного (сплошная линия) и выходного (пунктирная линия) сигналов дискретного фильтра Справочная система В МАТ1.АВ имеется два уровня справочной системы: встроенная справка и НТМ1.-документация. Встроенная справка лоступна всегда, лаже в том случае, если вы отказалпсь от установки локументации (см. ранее раздел «Установка»), поскольку ее текст рас- 516 Приложение А. Основы работы с МАТ(АВ положен непосредственно в файлах функций МАТ!.АВ. Для получения справки о конкретной функции необходимо ввести команду Ье1р иия функции, например: » Ье)р 1од2 1062 Вазе 2 1одагттпя) апб бтааесс Т)оаттпд ротпс пця!Ьег.
У - С002(Х) !з 1Ье Ьаае 2 1одаг)1Ья) о( Ьпе е1епеп1з оТ Х. [Г.Е) = ! 002(Х) Тог еасЬ е1ееепс оТ 1пе геа! аггау Х, гесцгпз ап аггау Г ЬТ геа1 пцеЬегз, цаца11у !и Ьое галде О 5 <= аоа(Г) < 1. апб ап аггау Е о1 !птедегз, ао 1па1 Х = Г .* 2."Е. Япу гегоа тп Х ргобцсе Г - О апб Е - О. Т)па соггеаропбз 1о Ьйе ЯМ5! С Тцпс1)оп Тгекр() апб 1пе !ЕЕЕ 11аас!пд ротп1 зсапбагб Евпс1!оп 1одв().
5ее а1зо СОО. СОО!О. РОУ)2, ИЕХТРОИ2. ((ЕЯСМЯХ. ((ЕЯСМ!)! Для просмотра НТМ!.-документации выберите одну из первых четырех команд меню Не(р (Гий Ртобцс1 Еапн!(у Не!р, МАТСАВ Не(р, Цз(пд 1пе ()еех(ор или 0е(пд 1Ье Сопппапб У)йпбоит) или введите команду Ье1рбезк. Появится окно, показанное на рис. А.б. 1 " " .-„:,.„—.ааттажтх)иа:„-,;:р КЧП жд».—,.ж..дтцаи.;,тоцяаИКИЕ)Е К:;,,Иаатекжтеяа-„~ам )р".Е)аеяаывы Рис. А.4.
Просмотр НТМЫдокументации В левой части окна имеется раздел Не(р Ыамда1ог с четырьмя вкладками— Соп1еп1е (содержание), )пбех (указатель), Зеагсп (поиск) и Гауог!1ее (избранное). Работа в интерактивном режиме На рис. АА показано, как с помощью указателя найлена справка по той же функции )о92. Как видите, НТМ1-документация солержит больше информации, чем встроенная справка. На втором диске дистрибутива МЛТ1ЛВ имеется также локументация в формате РГ)Р.
Она не устанавливается на жесткий лиск компьютера, а ее текст полностью совпадает с НТМ1-версией (к сожалению, лублируются и иногда встречающиеся в документации ошибки). Назначение РГ)Р-варианта локументацнн— обеспечить удобство распечатывания. Интерфейс главного окна Говоря об интерфейсе главного окна МЛТ(.АВ, слелует сразу отметить главное— МАТ|ЛВ был и остается системой командной строки, и все элементы интерфейса, которымп он обзавелся в пятой и особенно в шестой версии, являются лишь средством «мышиного» доступа к некоторым команлам. Однако по-прежнему абсолютно все необходимые операции можно выполнять из командной строки.
На приведенном ранее рис. А.2 слева от команлного окна видны еще лва окна, кажлое из которых, в свою очерель, имеет две вкладки. На рис. Л.2 вилны вкладки (.аопс(г Рас( и Сопггпапс( Н)з(огу, а оставшиеся вклалки ЧЧог)бзрасЕ И Сштеп( ()(тес)огу в отцепленном от команлного окна виле прелставлены на рнс. Л.5. ; Сс! ссгеЬ212!сык Г" «ЬР1 с!2, 1, 1. псрссб серп«« уис!1-О.1 О.г!'' к ° ыеы 02!44 "",'. Щ.4 Рис. А.в. вкладки ЧЧогаарасе (слева) и Сшгеп! 0(гес(опт (справа) Очень удобным новшеством шестой версии МАТ1АВ стала вкладка Сопггпапс) Нга(огу. Злесь представлен список вводившихся команд, причем этот список охватывает не только текущий сеанс работы, но и предылущие. Команлы из списка можно повторно выполнять (двойпым щелчком мыши) либо перетаскивать в команлную строку лля релактирования. Еще один способ доступа к прелыдушим использованным команлам — их «перелистывание» в командной строке с помощью клавиш ( и ( ..
Щ)В закг Щ) с Щ)с Щ)ь Щ) и Щ)о Щ( ° (Щ 2 Щ)с Щ) Щ)у 11 ;2 2 ;2 2 !!кс см '1 1 ! 1к1 11 (! 0001 ;91 ЕОО1 ,1КСОО1 !1ке ;9 1 'в .зг .640 40 е е !64000 !64ООС '640ОВ 92 '92 '409Ы У 'с сы«ыссу ! осы су ,мсис сексу е сые сексу ми еу ысь!е ыссу .4 кЫс ск су су ба Ыс ык у »Пгбгск *. СЬ бср ЬС К ЕРС (82ссекоссьс. ° 0-Нг (У( 2! 204, с! 2 Вкг С ССР1 ° . ° 0-С!! В обско„ыг. В.иг (и 9*9 4«1. ° 2.2!!е В!бемс Р-Ы10 У»ссб 41И1. ° В-С114 Вас б Меег. ° В«не а !кеес ссы\ ° ° и 1ы\ Все»лес! .
° В-2 1 0 ', '1 Ъ~ 10: 41 04: 2З 10: 12 00 ге 10с49 ы:00 ОЗ;49 !О: 99 11: 19 09с29 Ысег 518 Приложение Я. Основы работы с МЯТГЯВ Вкладка УУогкэрасе демонстрирует содержимое рабочей области памяти МЛТ1 ЛВ. Здесь представлены имена переменных (Нагое), их размер в элементах (Юге), число занимаемых байтов памяти (Вугез) и тип данных (С!авз). Двошюй щелчок па имени переменной вызывает визуальный редактор массивов — Ямау ЕснГог. Вкладка каппой Раб показывает список установленных компонентов МЛТ1ЛВ н предоставляет удобный доступ к их докумептацлщ, демонстрационным примерам и специализированным графическим средам. Вкладка СпггепГ Елгес(огу позволяет работать с файлам п текущего каталсп а — открывать их для редактирования, переименовывать, удалять, запускать МЛТ1 АВ- программы.
Что касается панели инструментов главного окна ЫЛТ1.АВ (см. рпс, Л.2), отметим лишь раскрыва1Ощнйся спиеок СоггепГ Еягесгогу, в котором перечислены использовавшиеся рабочие каталоги. При работе с несколькими МАТ(.ЛВ-проектами этот список дает возможность удобного переключения т."кдупими. Выбрать новый рабочий каталог позволяет кнопка с многоточием, расположенная справа от списка. Массивы В этом разделе мы познакомимся с массивами — основнымп типами данных МАТ(.АВ. Как уже говорилось, название системы МАТ|ЛВ расшифровывается как «МАТпх 1.АВогасогую Для простоты можно считать, что все, с чем оперирует МАТ1.АВ, является массивами, состоящими из комплексных чисел, вещественная и мнимая части которых представлены в 8-байтовом формате бова)е.
Даже обычное число (скаляр) с точки зрсппя МЛТ1.АВ представляет собой матрицу размера 1х1. МАТ1.А — интерпретирующая система, поэтому массивы пс нужно как-то специально описывать. Размер массива может меняться в ходе работы — если вы присвоите значение элементу массива, указав индекс, превьппаюший текущий размер, МАТ1.АВ увеличит массив, дополнив его нулями.
Ултеньшпть текущий размер массива можно только принудительно, удалив часть его элементов, ВНИМАНИЕ При каждом изменении размера массива МЛТ1.ЛВ заново выделяет для пего блок памяти. О том, к каким вепри>ггпсстям зтс может привести, будет рассказано е разделе «Оптимизация МЛТ1.АВ-программы Посмотрим, как меняется размер массива в процессе работы, набрав в главном окне МАТ(.ЛВ несколько команд.
Для начала создадим числовую переменную: »х=5 х- 5 519 Массивы Как указывалось выше, даже такая переменная х трактуется системой как массив. Убедимся в этом с помощью функции 51зе, возвращающей вектор, содержащий количество строк и столбцов массива: » 51ге(х) аоз = 1 1 ЗАМЕЧАНИЕ К)ю»1с фуцкццц з)хс, возвращакццсй вектор размеров массива цо всем итмсреццям, имеет- ся функция )спяь)ц позволяющая оцрслслить ввахсима«ьяый из размеров массива.