СМО в Matlab. Моделирование и оценка эффективности систем передачи информации в среде matlab Simulink
Скачать 0.51 Mb.
|
Моделирование и оценка эффективности систем передачи информации в среде MATLAB + Simulink Цель работы: практическое изучение технологий визуального программирования имитационных моделей систем с использованием подсистемы Simulink, освоение навыков проведения экспериментальных исследований с моделями систем передачи информации в интересах оценки их эффективности и влияния основных факторов. Работа выполняется в среде MATLAB и оформляется в виде m-файла управляющей программы, реализующей стратегический и тактический план исследований и содержащей обращение к mdl-файлу (файлу S-модели), реализующему имитационную модель одной из возможных систем передачи информации. Задания на выполнение работы предусматривают исследования различных видов систем передачи информации: с импульсными и непрерывными сигналами; с различными видами модуляции (АМ, ФМ, ЧМ и т.п.); с проведением оценок эффективности по различным показателям в зависимости от различных факторов. Работа состоит из двух частей: в первой части проводится ознакомление с возможностями подсистемы визуального моделирования Simulink и входящих в нее Toolboxes и Bloksets, в той или иной форме обеспечивающих формирование имитационных моделей систем и радиоканалов передачи информации при использовании различных видов радиосигналов. В этой же части реализуется формирование S-модели исследуемой системы (mdl-файла) со всеми необходимыми атрибутами, обеспечивающими фиксацию результатов моделирования в контрольных точках, а также проведение оценки эффективности и анализа влияния выбранных факторов на используемые показатели эффективности. Во второй части работы осуществляется формирование внешней управляющей программы (УП) на языке MATLAB в виде m-файла, в рамках которого организуется задание и варьирование исходных данных в соответствии с планами проведения модельного эксперимента, реализуется многократный прогон S-модели системы и проводится оценка показателей эффективности в ходе обработки данных эксперимента. При формировании этой программы осуществляется сопряжение с S-моделью и окончательная настройка ее блоков с учетом выбранных условий проведения моделирования. Перед началом выполнения работы в соответствующем разделе создается рабочая папка, в противном случае используется любая ранее созданная (см. Lab_1). После запуска системы данная папка устанавливается в окне «Current Directory» путем выбора из списка рабочих папок файловой системы. Как уже отмечалось, на первом этапе создается S-модель (mdl-файл). Для этого осуществляется запуск подсистемы Simulink путем нажатия соответствующей кнопки панели инструментов командного окна MATLAB. В результате на экране появляется окно Simulink Library Browser (браузер библиотек Simulink). В левой половине окна браузера в виде древовидной структуры приводится перечень библиотек, включенных в состав Simulink, а в правой – перечень разделов соответствующей библиотеки, либо изображение блоков соответствующего раздела. Для ознакомления с составом какой-либо из библиотек следует дважды щелкнуть на ее имени. Чтобы начать сборку блок-схемы моделируемой системы, необходимо в командном окне MATLAB выбрать команды File – New – Model или в окне браузера Simulink нажать кнопку Create a new model. После этого на экране появится новое пустое окно Untitled, в котором и будет осуществляться сборка S-модели в виде mdl-файла (впоследствии файл модели сохраним под именем trenl.mdl). Окно имеет строку меню, панель инструментов и рабочее поле. Меню File содержит стандартные команды для работы с mdl-файлами; меню Edit содержит команды редактирования; меню View – команды изменения внешнего вида окна; меню Simulation – команды управления процессом моделирования; меню Format – команды изменения внешнего вида отдельных блоков и блок- схемы в целом; меню Tools включает дополнительные сервисные средства для работы с S-моделью. Сборка S-модели заключается в том, что графические изображения используемых блоков с помощью мыши перетаскиваются из окна раздела библиотеки в окно блок-схемы, а затем выходы одних блоков в окне блок- схемы соединяются со входами других блоков (также с помощью мыши). Перед началом работы с S-моделью требуется осуществить установку общих параметров модели путем вызова команд Simulation – Parameters (Configuration Parameters в версии MATLAB 7.0). В результате появится диалоговое окно установки параметров моделирования, имеющее ряд вкладок (или разделов в версии MATLAB 7.0) с большим числом настроек. Основной для нас сейчас является вкладка Solver (Решатель). Элементы управления на этой вкладке собраны в три группы: Simulation time – реализует выбор начального (Start time) и конечного (Stop time) значений модельного времени; Solver options – реализует выбор способа задания модельного времени при решении уравнений с фиксированным шагом (Fixed step) и с переменным шагом (Variable step), а также выбор метода расчета текущего состояния при моделировании дискретных и непрерывных систем (в последнем случае это методы решения обыкновенных дифференциальных уравнений Эйлера, Хойна, Рунге-Кутта и т.д.), значений интервалов времени дискретизации (по умолчанию – auto), относительной и абсолютной погрешности расчета (по умолчанию 10 -3 и auto); Output options – реализует задание параметров выходных параметров моделируемой системы с помощью раскрывающегося списка поля ввода. В версии MATLAB 7.0 в этом разделе (Solver) представлены первые две группы опций. Окончательная настройка параметров в рамках указанных опций осуществляется после сборки и согласования всех элементов модели. В качестве примера рассмотрим создание S-модели для оценки качества передачи простого импульсного радиосигнала в радиоканале в присутствии шумов. Такой сигнал излучается передатчиком и принимается приемником, расположенном на расстоянии R от передатчика. Для формирования импульсного радиосигнала заданной длительности может использоваться устройство с амплитудной модуляцией, а для приема – устройство с амплитудной демодуляцией. Шумы на входе приемника являются аддитивными (складываются со входным радиосигналом). Обнаружение факта передачи радиосигнала осуществляется в приемнике путем анализа видеосигнала на выходе демодулятора. Для этого производится сравнение сигнала на выходе демодулятора с заданным порогом и фиксация сигнала на выходе порогового устройства, принимающего два значения 0 и 1. Фиксация осуществляется путем опроса выхода с определенной дискретностью во времени. Требуется оценить зависимость вероятности уверенного приема , то есть правильной фиксации переданного радиосигнала в приемнике при одновременном отсутствии на интервале наблюдения ложных импульсов, порожденных шумом. Кроме того, требуется оценить интенсивность L потока ложных импульсов, фиксируемых в приемнике в условиях отсутствия полезного сигнала. Указанные характеристики являются показателями качества (эффективности) работы системы и зависят от таких факторов, как амплитуда излучаемого сигнала, расстояние от передатчика до приемника, мощность шума, величина порога. В качестве конкретных примеров систем, в которых реализуются аналогичные по смыслу информационные PО процессы, можно привести системы радиосвязи, радиолокации, радиоконтроля, охранной сигнализации. Рис. 6.4. Блок-схема S-модели На рис. 6.4 приведена блок-схема S-модели рассматриваемой системы (файл trenl.mdl), полученная путем соединения необходимых блоков, выбранных из соответствующих разделов библиотек Simulink. После формирования общей блок-схемы модели осуществляется согласованная настройка параметров блоков. Для проведения настройки каждого блока необходимо навести курсор мыши на изображение и дважды щелкнуть левой кнопкой. В результате появляется окно настройки параметров данного компонента. Необходимо отметить, что в качестве параметров в окнах настройки могут быть указаны либо численные значения, либо идентификаторы (имена) переменных, значения которых устанавливаются во внешней управляющей программе, реализованной в виде m-файла. Рассмотрим назначения и настройки компонентов S-модели, представленной на рис. 6.4. Окно общей настройки параметров моделирования Configuration Parameters (Simulation – Parameters) на основной вкладке Solver представлено на рис. 6.5. Рис. 6.5 Исходным источником полезного сигнала является блок Step (раздел Sources основной библиотеки Simulink). Он в данной схеме формирует прямоугольный видеоимпульс длительностью c 0 , 1 u = τ . Для этого реализуются настройки, представленные на рис. 6.6. Здесь параметр Step time (1,0 c) определяет момент времени, в который происходит скачкообразное изменение величины сигнала; параметр initial value – уровень сигнала до скачка, задаваемый в данной модели переменной Am , определяемой в УП; Final value – уровень сигнала после скачка (при c 0 , 1 t > ); Sample time – эталонное время, равное значению интервала дискретизации Ts , задаваемого в УП. Рис. 6.6 С выхода блока Step видеоимпульс поступает на вход блока задержки Transport Delay (раздел Continuous основной библиотеки Simulink), где осуществляется его задержка на 4,5 с с целью более наглядного размещения в середине интервала времени моделирования 0…10 с. Окно настройки параметров блока показано на рис. 6.7. Здесь параметр Time delay (4,5 с) определяет величину задержки; параметр Initial input – значение амплитуды входного сигнала в момент инициализации блока (по умолчанию равно 0); параметр Initial buffer size – объем памяти в байтах (должен быть кратен 8), выделяемой в рабочей области MATLAB для хранения задержанного сигнала (по умолчанию 1024) Рис. 6.7 Задержанный на 4,5 с видеосигнал с амплитудой и длительностью Am c 0 , 1 u = τ поступает на амплитудный модулятор – блок DSB AM Modulator Passband (библиотека Communication Blockset, раздел Analog Passband Modulation). Этот блок на своем выходе на интервале времени моделирования формирует радиосигнал вида ( ) ) t f 2 ( cos k ) t ( a ) t ( u c θ + π + = , где k – параметр смещения (Input signal offset); – несущая частота излучаемого радиосигнала (Carrier frequency); c f θ – начальная фаза (Initial phase). При 0 k = на выходе блока формируется импульсный радиосигнал, огибающая которого повторяет форму входного видеосигнала ) t ( a . Окно настройки параметров этого блока представлено на рис. 6.8. Рис. 6.8 С выхода модулятора, который одновременно может рассматриваться как всенаправленный излучатель (передатчик), радиосигнал подается на блок Fcn2 (раздел User-Defined Function основной библиотеки Simulink), реализующий моделирование ослабления амплитуды радиосигнала в процессе его распространения на расстоянии R в месте расположения приемника. Этот блок и другие аналогичные блоки модели обеспечивает реализацию функциональных преобразований, определенных самим пользователем. Для этого в окне настройки (рис. 6.9) в поле Expression записывается выражение, определяющее конкретное преобразование входного сигнала ) t ( u Значение R варьируется и задается в УП. Рис. 6.9 Для моделирования мешающего шумового сигнала в модели используется блок Random Number (раздел Sources основной библиотеки Simulink). Он осуществляет генерацию гауссовского шума с заданными средним значением (Mean) и дисперсией (Variance). Окно настройки блока показано на рис. 6.10. Рис. 6.10 В блоке значение дисперсии определяется переменой NP, вызываемой из УП. Параметр Initial seed определяет значение стартовой переменной генератора шума. Если она постоянна, то каждый раз при обращении к блоку формируется одна и та же реализация. Поэтому в ходе статистических испытаний -модели этот параметр должен каждый раз принимать случайные целочисленные значения. Они могут передаваться из УП в виде переменной , значения которой получаются с использованием датчика равновероятной величины следующим образом: S to ) 100 rand ( round to ∗ = Кроме того, может использоваться стандартная функция инициализации датчиков шума, обращение к которой имеет вид randseed to = В реализованной -модели шум является аддитивным, то есть складывается с полезным сигналом на входе приемника. Для этого используется блок Sum (раздел Math Operations основной библиотеки Simulink). Окно настройки блока показано на рис. 6.11. Здесь поле Icon shape определяет форму блока, реализуемую в блок-схеме (в данном случае круглую); параметры поля List of sings определяют число входов и знаки сигналов при суммировании, параметр Sample time задается по умолчанию равным –1, что можно делать для всех блоков, находящихся под воздействием сигналов, моделируемых в активных компонентах с заданным интервалом дискретизации. S Рис. 6.11 С выхода сумматора смесь полезного сигнала и шума поступает на вход блока демодуляции приемника DSB AM Demodulator Passband, являющегося парным по отношению к блоку DSB AM Modulator Passband и содержащегося в том же разделе библиотеки Communication Blockset. С точки зрения обеспечения эффективной работы канала передачи информации в этой и подобных моделях важно правильно провести настройку параметров такого ряда блоков. Окно настройки показано на рис. 6.12. Рис. 6.12 В нем устанавливаются такие же значения параметров Offset factor, Carrier frequency, Initial phase, Sample time, что и в парном блоке. Установки Lowpass filter numerator и Lowpass filter denominator определяют векторы коэффициентов числителя и знаменателя передаточной функции фильтра нижних частот демодулятора, при этом во многих случаях достаточно регулировать величину общего сомножителя вектора параметров Lowpass filter numerator. На выходе демодулятора формируется низкочастотный видеосигнал, отображающий огибающую входной смеси полезного сигнала и шума. Этот сигнал подается на вход блока , выполняющего функцию порогового устройства с регулируемым порогом, равным 1 Fcn NP mr × , где mr –число, определяющее степень превышения порога обнаружения полезного сигнала над уровнем входного шума NP . Данный блок реализует другой способ задания функциональных преобразований входного сигнала, основанный на записи в поле Expression логического выражения, в случае истинности которого на выходе формируется логическая единица и ноль – в противном случае. Соответственно, в случае превышения порога входным сигналом в данный момент времени на выходе выдается единичный сигнал, сигнализирующий о вероятном наличии полезного сигнала в канале приемника. Окно настройки блока показано на рис. 6.13. Рис. 6.13 Еще один блок такого же типа – блок Fcn в данной S-модели размещен на выходе устройства задержки. Он реализует сравнение исходного передаваемого видеосигнала с фиксированным порогом, равным 0,5, и служит для контрольного подсчета числа излучаемых импульсов (см. окно настройки на рис. 6.14). Рис. 6.14 Наконец, для регистрации результатов передачи сигналов в рассматриваемом радиоканале в S-модели используются два аналогичных блока To Workspaсe и To Workspaсe1. Эти блоки обеспечивают фиксацию сигналов на выходе пороговых устройств Fcn и Fcn1 и передают результаты в рабочую область системы MATLAB. Они имеют одинаковый вид окна настройки и значения параметров, которые представлены на рис. 6.15. Рис. 6.15 Блоки типа To Workspaсe также, как парные им блоки From Workspaсe, играют связующую роль между S-моделями и управляющей программой (m-файлом). Параметры настройки здесь следующие: Variable name – имя, под которым данные сохраняются в рабочем пространстве (по умолчанию имя simout); Limit data point of last – параметр, определяющий максимальный объем регистрируемых данных (по умолчанию константа inf, указывающая на то, что данные регистрируются на всем интервале моделирования); Deсimation – параметр прореживания при записи данных в файл; Sample time – величина интервала дискретизации по времени при записи данных в файл, которая в данном случае равна 1 с, и определяет частоту опроса сигналов на выходе пороговых устройств; Save format – указатель выбора формата записи данных (Array – массив, Structure – структура, Structure with time – структура со временем). Таким образом, блоки To Workspaсe и To Workspaсe1 реализуют фиксацию сигналов на выходе пороговых устройств с дискретностью, равной 1 с, и размещают их в массивы данных simout и simout1 в рабочем пространстве системы. Помимо рассмотренных элементов в S-модели используются два блока визуализации процесса работы системы Scope и Scope1. Использование этих блоков реализует проверку адекватности модели, так как обеспечивает анализ выполняемых преобразований данных в контрольных точках. Блок Scope (см. рис. 6.16) выдает осциллограмму передаваемого видеосигнала после задержки, осциллограмму сигнала на выходе демодулятора, а также осциллограмму сигнала на выходе порогового устройства приемника Fcn1, в которой отчетливо видны выбросы, обусловленные шумом. Блок Scope1 (рис. 6.17) выдает осциллограммы исходного видеосигнала, передаваемого сигнала на выходе модулятора, а также смеси сигнала и шума в точке приема (на входе демодулятора). Настройка параметров блоков типа Scope осуществляется в соответствующих окнах Scope properties (вызываются нажатием второй кнопки в панели инструментов) с непременным указанием количества входов в поле Number of axes после нажатия вкладки General и значения параметра объема запоминаемых данных по окончании процесса регистрации в соответствующем поле, появляющемся после нажатия вкладки Data history. Рис. 6.16 Рис. 6.17 Таким образом, нами дано достаточно полное описание реализуемой в рамках данного примера S-модели в виде файла trenl.mdl. Прежде чем перейти к разработке управляющего m-файла для проведения полномасштабных экспериментов, целесообразно провести предварительное тестирование S-модели с запуском из MATLAB. Для этого может быть использован рабочий m-файл минимального объема, имеющий вид Ts=0.001; Ns=10000; Am=0; NP=0.004; R=4; mr=10; for i=1:10, to=round(rand*100); sim('trenl',Ts*Ns); sum(simout) sum(simout1) end; В результате его запуска будет осуществлено 10 прогонов имитационной модели с выдачей в командном окне результатов суммирования значений сигналов, зарегистрированных в массивах simout и simout1. Для запуска S- модели используется стандартное обращение оператора sim(…) с указанием имени mdl-файла и общего времени моделирования. Убедившись, что модель функционирует должным образом, можно перейти к окончательной разработке управляющей программы. При этом в полном объеме используются конструкции, реализованные в разделе 6.2 в рамках m-файлов, обеспечивающих проведение стратегического и тактического планирования модельного эксперимента. В качестве примера УП рассмотрим m-файл, в котором исследуется зависимость показателей эффективности РО и L от различных факторов влияния. На первом этапе исследуется зависимость вероятности уверенного приема РО от R и mr при фиксированных Am и NP. Соответствующая часть УП имеет вид %Оценка качества передачи импульсного радиосигнала %с амплитудной модуляцией %Используемые показатели: вероятность уверенного приема %сигнала – PO; интенсивность ложных тревог - L. %Исследуемые факторы влияния: расстояние от источника % до приемника – R; амплитуда импульса – Am; уровень (мощность) %шума на входе приемника – NP; коэффициент различимости – mr %(коэффициент превышения порога обнаружения над уровнем % шума uo=mr*sqrt(NP)). clear all; %Задание интервала дискретизации по времени и количества отсчетов %на интервале моделирования [0,10] с. Ts=0.001; Ns=10000; % 1. Оценка PO в зависимости от R и mr при фиксированных Am и NP % Задание неварьируемых величин Am=3.55; NP=0.01; % Задание количества и диапазонов изменения факторов R (a) и mr (b) nf=2; minf=[1 1]; maxf=[5 2]; %формирование дробного двухуровневого плана эксперимента %для учета взаимодействий fracfact('a b ab' ); N=2^nf; fracplan=ans; fictfact=ones(N,1); X=[fictfact ans]'; fraceks=zeros(N,nf); for i=1:nf, for j=1:N, fraceks(j,i)=minf(i)+(fracplan(j,i)+1)*(maxf(i)-minf(i))/2; end; end; fraceks %тактическое планирование эксперимента %задание доверительного интервала и уровня значимости dp=0.05; alpha=0.1; %определение t-критического tkr_alpha=norminv(1-alpha/2); %определение требуемого числа испытаний NE=round(tkr_alpha^2/(4*dp^2)) %цикл по совокупности экспериментов стратегического плана for j=1:N, a=fraceks(j,1); b=fraceks(j,2); R=a mr=b %цикл статистических испытаний с фиксированным объемом %выборки для достижения заданной точности оценки показателя uo=zeros(NE,1); u1=zeros(NE,1); for k=1:NE, %имитация функционирования системы to=randseed; %round(rand*100); %инициализация генератора шума sim('trenl',Ts*Ns); uo(k)=sum(simout); u1(k)=sum(simout1); if u1(k)>1 u1(k)=0; end; end; %оценка показателя (реакции) по выборке наблюдений P_O=sum(u1)/sum(uo) Y(j)=P_O; end; %определение коэффициентов регрессии C=X*X'; b_=inv(C)*X*Y' %формирование зависимости реакции системы на множестве %значений факторов A=minf(1):0.1:maxf(1); B=minf(2):0.1:maxf(2); [k N1]=size(A); [k N2]=size(B); for i=1:N1, for j=1:N2, an(i)=2*(A(i)-minf(1))/(maxf(1)-minf(1))-1; bn(j)=2*(B(j)-minf(2))/(maxf(2)-minf(2))-1; %экспериментальная поверхность реакции Yc(j,i)=b_(1)+an(i)*b_(2)+bn(j)*b_(3)+an(i)*bn(j)*b_(4); end; end; В результате выполнения данного фрагмента программы в командном окне получаются следующие результаты: fraceks = 1 1 1 2 5 1 5 2 NE = 271 R = 1 mr = 1 P_O = 0.9373 R = 1 mr = 2 P_O = 1 R = 5 mr = 1 P_O = 0.9225 R = 5 mr = 2 P_O = 0.4982 b_ = 0.8395 -0.1292 -0.0904 -0.1218 Последний столбец данных определяет значения коэффициентов линейной регрессии. Вторая часть УП реализует оценку зависимости интенсивности ложных тревог L от NP и mr при фиксированных Am и R. Она имеет вид % 2. Оценка L в зависимости от NP и mr при фиксированных Am=0 и R=1 %Задание неварьируемых величин %амплитуды сигнала (Am) и расстояния (R) Am=0 R=1 %Задание количества и диапазонов изменения факторов NP (a) и mr (b) nf=2; minf=[0.001 1]; maxf=[0.01 2]; %формирование дробного двухуровневого плана эксперимента %для учета взаимодействий fracfact('a b ab' ); N=2^nf; fracplan=ans; fictfact=ones(N,1); X=[fictfact ans]'; fraceks=zeros(N,nf); for i=1:nf, for j=1:N, fraceks(j,i)=minf(i)+(fracplan(j,i)+1)*(maxf(i)-minf(i))/2; end; end; fraceks %тактическое планирование эксперимента %задание доверительного интервала и уровня значимости dm=0.003; alpha=0.05; %определение t-критического tkr_alpha=norminv(1-alpha/2); %цикл по совокупности экспериментов стратегического плана for j=1:N, a=fraceks(j,1); b=fraceks(j,2); NP=a mr=b %организация цикла статистических испытаний с переменным объемом %выборки для достижения заданной точности оценки показателя NE=1; l=0; SQ=0; D=1; while NE < tkr_alpha^2*D/dm^2, %имитация функционирования системы to=randseed; %round(rand*100); %инициализация генератора шума sim('trenl',Ts*Ns); u=sum(simout1)/(Ts*Ns); %Оценка выборочной дисперсии D измеряемого параметра l=l+u; SQ=SQ+u^2; if NE>20 D=SQ/(NE-1)-(l^2)/(NE*(NE-1)); end; NE=NE+1; end; NE=NE-1 %оценка показателя (реакции) по выборке наблюдений L=l/NE Yl(j)=L; end; %определение коэффициентов регрессии Cl=X*X'; b_l=inv(Cl)*X*Yl' %формирование зависимости реакции системы на множестве %значений факторов Al=minf(1):0.0001:maxf(1); Bl=minf(2):0.01:maxf(2); [k N1]=size(Al); [k N2]=size(Bl); for i=1:N1, for j=1:N2, anl(i)=2*(Al(i)-minf(1))/(maxf(1)-minf(1))-1; bnl(j)=2*(Bl(j)-minf(2))/(maxf(2)-minf(2))-1; %экспериментальная поверхность реакции Yo(j,i)=b_l(1)+anl(i)*b_l(2)+bnl(j)*b_l(3)+anl(i)*bnl(j)*b_l(4); end; end; Результаты работы этого фрагмента УП, выводимые в командном окне системы, отображаются следующим образом: Am = 0 R = 1 fraceks = 0.0010 1.0000 0.0010 2.0000 0.0100 1.0000 0.0100 2.0000 NP = 0.0010 mr = 1 NE = 334 L = 0.0078 NP = 0.0010 mr = 2 NE = 22 L = 0 NP = 0.0100 mr = 1 NE = 336 L = 0.0071 NP = 0.0100 mr = 2 NE = 22 L = 0 b_l = 0.0037 -0.0002 -0.0037 0.0002 Следует отметить, что в этом случае при тактическом планировании объем испытаний определяется внутри цикла с учетом результатов оценки выборочной дисперсии. Поэтому число испытаний для каждого набора исходных данных стратегического плана будет различным. В завершающей части m-файла УП реализуется графическое отображение результатов моделирования % отображение зависимостей в трехмерной графике [x,y]=meshgrid(A,B); [xl,yl]=meshgrid(Al,Bl); figure; subplot(1,2,1),plot3(x,y,Yc), xlabel('fact a'), ylabel('fact b'), zlabel('Yc'), title('PO'), grid on, subplot(1,2,2),plot3(xl,yl,Yo), xlabel('fact a'), ylabel('fact b'), zlabel('Yo'), title('L'), grid on; Это позволяет получить графики зависимостей реакции системы, представленные на рис. 6.18 а) б) Рис. 6.18. Графики зависимостей реакции системы Анализ полученных зависимостей показывает, например, что величина L при выбранном способе задания порога не зависит от NP (фактор а), а зависит только от величины mr, характеризующей относительное превышение порога над уровнем входного шума. Подобный результат выглядит вполне естественно. В заключение следует отметить, что наибольшую сложность при реализации аналогичного типа S-моделей для исследования систем передачи информации импульсных и непрерывных сигналов с различными видами модуляции представляет согласованная настройка блоков модуляторов и демодуляторов. Для этого требуется внимательно изучить соответствующие разделы помощи MATLAB и Simulink. Целесообразно также исследовать стандартные m-функции расчета характеристик фильтровых устройств, если их параметры фигурируют в окнах настройки блоков. Достаточно наглядно особенности реализации алгоритмов модуляции и демодуляции представлены в описании пакета расширения Signal Processing Toolbox системы MATLAB. Здесь модуляция осуществляется на основе вызова функций y modulate(x,fc,fs,'method ',[.opt]) = ; Эта функция генерирует вектор вещественных отсчетов модулированного сигнала с несущей частотой fc и частотой дискретизации по времени fs. Модулирующий сигнал задается отсчетами вектора x. Параметр ′method′ определяет вид модуляции (amdsb – sc, amdsb – tc, amssb, fm, pm, pwm, ptm и др.). Параметр opt определяет относительное соотношение диапазона изменения модулирующего сигнала и значения соответствующего параметра несущего радиосигнала. Например, при задании ′method′ = ′amdsb – tc′ осуществляется амплитудная двухполосная модуляция сигнала с изменяемой глубиной модуляции ) t fc pi 2 cos( ). opt x ( y ∗ ∗ ∗ ∗ + = ; Для модуляции используется функция x demod(y,fc,fs,'method ',[.opt]) = ; Здесь все параметры должны соответствовать используемым при модуляции. При задании ′method′ = ′amdsb – tc′ при демодуляции реализуется следующий набор операций: ) t fc pi 2 cos( y x ∗ ∗ ∗ ∗ = ; ) fs 2 * fc , n ( butter ] denum , num [ = ; ) x , denum , num ( filtfilt x = ; В этой последовательности функция butter (…) реализует расчет коэффициентов передаточной функции низкочастотного фильтра Баттерворта (Lowpass filter numerator - denominator) порядка n (n = 2 для блока демодуляции, представленного настройками на рис. 6.12) с нормированной частотой среза 1 fs fc 2 Wn ≤ × = . Функция filtfilt (…) реализует фильтрацию с применением параметров рассчитанного фильтра с исключением фазовых искажений. Аналогичным образом с использованием помощи системы могут быть определены характеристики фильтровых устройств для детектирования сигналов с другими видами модуляции. |