2.1 Симуляция непрерывных и дискретных сигналов.
Simulinkпозволяет моделировать системы, обрабатывающие как непрерывные так и дискретные сигналы. Непрерывные сигналы являются также дискретными, но частота дискретизации (величина, обратная периоду) задается системой, и часто, она недостаточна.
В свойствах большинства блоков есть поле «Sample time» – период дискретизации – указывается в секундах. Если в этом поле указать значение «-1» – блок будет ожидать на вход или генерировать на выходе «непрерывный» сигнал. Если указано значение больше нуля – блок имеет дело с дискретными сигналами, с указанным периодом дискретизации.
2.2 Настройка блока «Simulink \ Sources \ SineWave».
Если дважды щелкнуть левой кнопкой мыши по любому блоку модели, откроется окно с его параметрами. Рассмотрим их:
Sine type– способ вычисления синусоиды. Для данной лабораторной работы выберите значение «Time based».
Time (t)– определяет источник значений переменнойtсинусоиды. «Use simulation time» – используется время моделирования. «Use external time» – используется внешний источник (добавляется входной интерфейс). Для данной лабораторной работы выберите значение «Use simulation time».
Значение синусоиды вычисляется по следующей формуле:
S(t)=Amp*Sin(π*freq*t+phase)+bias.
Параметры синусоиды и определяют следующие поля:
Amplitude– Определяет амплитуду колебания (Amp) в единицах.
Bias– определяет смещение по оси ординат (bias) в единицах.
Frequency– частота колебания (π*freq) в рад\сек.
Phase– фазовый сдвиг (phase) в радианах.
Sample time– период дискретизации. «0» – соответствует непрерывному сигналу. Иное положительное значение интерпретируется как величина периода дискретизации.
Inherit vector parameters as 1-D– если галочка стоит, значит выходной сигнал преобразуется в вектор, в противном случае – он имеет ту же размерность, что и входной сигнал.
2.3 Настройка сумматора «Simulink \ Commonly used blocks \ Sum».
В окне параметров данного блока есть 2 вкладки.
Вкладка «Main»:
List of signs – содержит стоку, состоящую из комбинации знаков «+» «–» «|» или число. Каждый «+» добавляет входной интерфейс, сигнал на котором будет суммироваться. Каждый «–» добавляет входной интерфейс, сигнал на котором будет вычитаться. «|» – добавляет разделитель между портами. Если же вместо комбинации знаков написать число – оно определит число входных интерфейсов, сигналы на которых будут суммироваться.
Sample time– период дискретизации.
3. Спектр сигнала.
В далеком 1822 году французским математиком и физиком Жан Батист Жозефом Фурье была опубликована монография «Аналитическая теория тепла». В этом труде, предлагалось представлять функции в виде тригонометрических рядов. В чем же смысл такого представления?
Предполагается, что исходный сигнал является суммой синусоидальных колебаний (такого рода колебания называют гармоническими, а сами колебания –гармониками) различной частоты, амплитуды и фазы.Грубо говоря, результат (коэффициенты) преобразования Фурье исходного сигнала, показывает какие гармоники, и какой интенсивности участвуют в формировании этого сигнала.Иными словами, отображает спектр исходного сигнала.
Данное преобразование стало весьма популярным в задачах обработки звуковых сигналов, поскольку любой звук является композицией тонов определенной частоты и интенсивности (напомним, что тон – есть гармоническое колебание). Следовательно, данное преобразование, при определенных условиях, способно достаточно точно отобразить состав того или иного звука.
В Matlab существует блок, который позволяет наглядно увидеть спектр сигнала, полученный с помощью преобразования Фурье.
3.1 Настройка блока «Signal Processing Blockset \ Signal Processing Sinks \ Spectrum scope».
Данный блок имеет 4 вкладки.
Вкладка Scope properties:
Spectrum units– выбор шкалы (линейная или логарифмическая) и типа измеряемых данных (Мощность компонент Ватах или децибелах). Оставляем логарифмическую шкалу, и единицы измерения – мощность в децибелах, то естьdBW/Hertz.
Spectrum type – преобразование Фурье отображает спектр, симметричный относительно нуля. Данный параметр, позволяет либо показывать (если выбрать значение Two-sided), либо не показывать (если выбрать значениеOne-sided) симметричную отрицательную часть спектра. Значение оставляйте по своему выбору.
Buffer input – Поскольку преобразование Фурье выполняется над определенной выборкой отсчетов исходного сигнала, а «SineWave»на выходе генерирует скалярные величины (отсчеты), то перед тем как применять преобразование, необходимо накопить массив отсчетов. Для этого выберите данную опцию (поставив галочку). Появятся два поля:
Buffer size и Buffer overlap. Первый параметр определяет число отсчетов, которые будут накоплены перед тем, как применять преобразование Фурье. Второй параметр определяет число последних отсчетов из предыдущего буфера, включенных в текущий.
Buffer overlap выставляйте равным 0. Buffer size выставляйте исходя из следующих условий:
Для адекватного представления спектра с помощью преобразования Фурье необходимо, чтобы длительность сигнала (число накопленных в буфер отсчетов N умноженное на интервал дискретизации Tд) была больше периода компоненты с самой низкой частотой. Например, если в вашем сигнале компонента с наименьшей частотой 10Гц, и частота дискретизации 0.02, то, по меньшей мере, необходимо взять N=1/(F*0.02)+1=6 отсчетов.
Поскольку в блоке осуществляется быстрое преобразование Фурье, то число отчетов, накапливаемых в буфере должно быть кратно 2i, то есть 2, или 4, или 8, или 16, или 32 и т.д. Применительно к предыдущему примеру (N=6), в поле Buffer size минимальное значение равно 8. Можете взять больше отсчетов и пронаблюдать результат.
Следующие два параметра относятся к оконной функции, применяемой при преобразовании. Их оставляйте по-умолчанию:
Window – Значение «Hann».
Window sampling – Значение «Periodic».
Specify FFT length – Используется, если в буфер заносится большее число отсчетов, а преобразование осуществляется над меньшим их числом.Галочку не ставьте!
Number of spectral averages – Используется для усреднения спектра. Поскольку исходный сигнал у нас периодичен во времени, отключаем усреднение, установив значение «1».
Остальные вкладки оставляем без изменений.