Министерство образования Российской Федерации ———...

36
Министерство образования Российской Федерации ——— САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ В.А.Варгаузин ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ ЛАБОРАТОРНЫЙ ПРАКТИКУМ ЧАСТЬ 1 Санкт-Петербург Издательство СПбГПУ 2004

Transcript of Министерство образования Российской Федерации ———...

Министерство образования Российской Федерации ———

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

В.А.Варгаузин

ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ ЛАБОРАТОРНЫЙ ПРАКТИКУМ

ЧАСТЬ 1

Санкт-Петербург Издательство СПбГПУ

2004

2

УДК 621.391.26 (075.8) В 18

Варгаузин В.А. Цифровая обработка сигналов: Лабораторный практикум.

Часть 1: Учеб. пособие. СПб.: Изд-во СПбГПУ, 2004. 36с. Лабораторный практикум предназначен для студентов, обучающихся по

программам подготовки бакалавров и дипломированных специалистов по направлениям “Радиотехника” 210300 и “Телекоммуникации” 210400 очной, очно-заочной и заочно-дистанционной форм обучения.

Часть 1 практикума является вводной в цикл учебных работ по курсу “Цифровая обработка сигналов” на основе универсальной среды для расчётов и моделирования MatLab. Исследуется эффект просачивания внеполосных помех в область частот полезного сигнала при дискретизации обрабатываемого цифровыми методами аналогового сигнала. Расчету подлежат параметры низкочастотных и полосовых фильтров и частоты дискретизации. Проверка расчёта производится путём моделирования процессов фильтрации и дискретизации сигналов. Отчёт о проделанной работе предоставляется в виде web-страниц, генерируемых средствами MatLab.

Ил. 22. Табл. 6. Библиогр.: 7 назв. Печатается по решению редакционно-издательского совета Санкт-

Петербургского государственного политехнического университета.

© Варгаузин В.А., 2004 © Санкт-Петербургский государственный

политехнический университет, 2004

3

СОДЕРЖАНИЕ

ОСНОВНЫЕ СВЕДЕНИЯ О MATLAB...........................................................................4

1. ДИСКРЕТИЗАЦИЯ НИЗКОЧАСТОТНОГО СИГНАЛА ..................................8 1.1. Расчёт фильтра ..............................................................................................................8 1.2. Моделирование фильтрации ......................................................................................11 1.3. Моделирование дискретизации .................................................................................16 1.4. Задание 1 ......................................................................................................................19

2. ДИСРЕТИЗАЦИЯ ПОЛОСОВОГО СИГНАЛА.................................................21 2.1. Расчёт фильтра ............................................................................................................21 2.2. Моделирование и выбор частоты дискретизации ...................................................23 2.3. Задание 2 ......................................................................................................................26

ПРИЛОЖЕНИЕ 1 ФУНКЦИИ MATLAB ДЛЯ РАСЧЁТА АНАЛОГОВЫХ ФИЛЬТРОВ .........................................................................................................................28

ПРИЛОЖЕНИЕ 2. ПРИМЕР СТАНДАРТНОГО ОТЧЁТА О МОДЕЛИРОВАНИИ .........................................................................................................29

ПРИЛОЖЕНИЕ 3. ПРИМЕР СОЗДАНИЯ СОБСТВЕННОГО ОТСЧЁТА...........32

ЛИТЕРАТУРА И ИНТЕРНЕТ.........................................................................................35

4

ОСНОВНЫЕ СВЕДЕНИЯ О MATLAB Главной особенностью и идеологией MatLab является ориентация на

матричную (векторную) обработку числовых данных. Этот факт отражается в том, что любая переменная в MatLab интерпретируется как матрица или вектор, откуда и название пакета: матричная лаборатория. “Красивая” программа на MatLab исключает циклы, а запись вида x*y — означает матричное умножение вида “строка×столбец”. Если переменные x и у — векторы, то запись вида x*y. с оператором “точка” интерпретируется как умножение массивов и результатом умножения является вектор.

Для цифровой обработки сигналов (ЦОС) в MatLab разработаны следующие пакеты алгоритмов: Signal Processing Toolbox, Filter Design Toolbox, Wawelet Toolbox, Data Acquisition Toolbox. Для задач имитационного моделирования совместно с этими пакетами предназначена среда визуального программирования Simulink и пакеты блоков DSP Blockset и Fixed Point-Blockset. Сочетание этих блоков с оболочкой реального времени Real Time Workshop делает систему средством разработки алгоритмов обработки сигналов в реальном времени.

На основе перечисленных выше средств возможно проведение не только имитационного моделирования алгоритмов обработки, но и программирование процессоров обработки сигналов (Digital Signal Processing, DSP). Последнее обеспечивается переносимостью программного кода языка MatLab и моделей, разработанных в среде Simulink на язык “С”, компилятор которого является неотъемлемой частью программного обеспечения современных DSP-процессоров.

Описание основных средств MatLab для ЦОС приведено в [1], стр. 508-582 и [2], стр. 531-579. Справочная информация о функциях ЦОС приведена в [3-4]. Она представляет собой перевод на русский язык встроенной в MatLab справочной информации, которая всегда доступна путём использования двух команд: help или doc. К примеру, команда

help filter

выводит информацию о функции filter в виде текста в командное окно MatLab. Команда

doc filter

5

выводит более полную информацию в виде web-страницы, включающую изображение структуры фильтра.

Программы, подпрограммы с входными параметрами, подпрограммы без параметров и набор часто встречающихся команд оформляются в виде текстового файла с расширением m (m-файл). К примеру, функция remez [7] “расположена” в файле remez.m. Текст функции на языке MatLab можно прочитать командой

type remez

Модели Simulink состоят из блоков. Для получения информации о блоке следует нажать на него правой кнопкой мыши (Рис. 1), а для его настройки – два раза нажать левой кнопкой.

Рис. 1 Просмотр свойства блока Discrete Filter библиотеки Simulink

Для создания отчёта о проделанной работе в MatLab служит генератор отчётов (Report Generator), Рис. 2. Генератор позволяет создавать отсчёт в виде web-страницы как о результатах исполнения модели, так и о программе на языке MatLab.

Для вызова генератора из модели Simulink служит пункт меню модели Tools/Report Generator. После вызова генератора выбрав, к примеру, шаблон simulink-default.rpt (Рис. 2), генератор после нажатия кнопки Report сам запускает модель на выполнение и создаёт отчёт, содержащий рисунок модели, параметры настройки каждого блока и весь сопровождающий работающую

6

модель графический материал: осциллограммы, спектрограммы, графики и т.п. (см. Приложение 1). Отчёт в виде файла с расширением html и графическим материалом размещается в отдельном подкаталоге каталога work.

Рис. 2 Генератор отчётов MatLab

Для создания отчёта выполнения программы или функции (m-файла, его текста, авторства, графического материала и т. п.) можно вызвать генератор отчётов командой

rptlist

Далее нужно создать свой шаблон в редакторе генератора шаблонов (меню Edit на Рис. 2). Для упрощения его создания можно, к примеру, взять за основу шаблон mfile-report.rpt, предназначенный для генерации отчёта демонстрационной программы. Отредактировав текст шаблона под свои цели, его можно сохранить под другим именем для дальнейшего использования (см. Приложение 2). Возможности генератора отчётов демонстрируются в разделе Help/Demos/MatLab/Report Generator.

В разделе Demos MatLab — большая продуманная система примеров прикладного характера. К примеру, в разделе Demos/MatLab/Numerics/Fast Fourier Tranform демонстрируется использование алгоритма быстрого преобразования Фурье (БПФ, Fast Fourier Transform, FFT) для спектрального

7

анализа статистических измерений интенсивности солнечной активности, проведёнными астрономами за 300 лет. Эти данные размещены в файле данных sunspot.dat. Результат обработки — оценка периода солнечной активности, равная 11.0385 лет. В разделе Demos/MatLab/Numerics/FFT for Spectal Analysis демонстрируется анализ спектрального состава сигнала при наличии шумовой помехи с помощью БПФ. В разделе Demos/Blocksets/Spectral Analysis приводятся модели на Simulink с использованием блоков DSP Blockset, иллюстрирующие методы спектрального анализа сигналов на основе БПФ.

8

1. ДИСКРЕТИЗАЦИЯ НИЗКОЧАСТОТНОГО СИГНАЛА В соответствии с теоремой Котельникова [5] частота дискретизации sF

должна быть выбрана из условия max2sF F≥ , где maxF — верхняя частота полезного сигнала. Однако реально, как правило, приходится производить обработку сигнала при наличии помех, значения частот гармонических составляющих которых могут превосходить maxF . В результате, дискретизация

сигнала при наличии помех с частотами более чем 2

sN

F F= (где NF — частота

Найквиста), сопровождается эффектом наложения помехи на полезный сигнал. При отсутствии полезного сигнала помеха может быть воспринята как ложный сигнал. Эффект “просачивания” частоты в область частот [ ]0 NF . в зарубежной

литературе называют термином “aliasing”. Для уменьшения этого эффекта перед дискретной и цифровой обработкой аналогового сигнала он всегда подвергается предварительной аналоговой фильтрации, а фильтр называют анти-элайзинговым.

Низкочастотная аналоговая фильтрация широко используется в телекоммуникационных приложениях для выделения квадратурных составляющих из относительно-узкополосного сигнала.[5], [6]. При дальнейшей дискретной (цифровой) обработке этих составляющих требования к фильтрам должны учитывать эффект “просачивания”.

1.1. Расчёт фильтра

Основные сведения об аналоговых фильтрах приведены в [2], стр. 104-123 и [1], стр. 392-399. Подробная справочная информация по функциям расчёта фильтров на MatLab приведена в [4], стр. 111-132. Краткую информацию — см. Приложение 1.

Рассмотрим пример. Заданы следующие параметры амплитудно-частотной характеристики (АЧХ) фильтра:

— граничная частота полосы пропускания passF = 50 Гц

— граничная частота полосы задерживания stopF =300 Гц

— максимально допустимый уровень неравномерности в полосе пропускания passR = 2 дБ

9

— минимальное затухание в полосе задерживания stopR = 40 дБ

Минимальный порядок фильтра n , удовлетворяющего заданным требованиям при аппроксимации по Баттерворту, находится следующим образом:

>> Wp = 2*pi*50 Wp = 314.1593 >> Ws = 2*pi*300 Ws = 1.8850e+003; >> Rp=2; >> Rs=40; >> [n, Wn] = buttord(Wp,Ws, Rp, Rs, 's') n = 3 Wn = 406.1081

Дополнительно рассчитывается параметр Wn — круговая частота (измеряемая в единицах рад/c), на которой ослабление АЧХ равно 3 дБ. Тогда можно найти векторы коэффициентов полиномов числителя и знаменателя передаточной функции фильтра:

>> [b,a] = butter ( n, Wn, 's') b = 1.0e+007 * 0 0 0 6.6977 a = 1.0e+007 * 0.0000 0.0001 0.0330 6.6977

Убедится, что рассчитанный фильтр имеет заданные параметры можно, построив графики частотной характеристики фильтра. К примеру, функция

freqs( b, a )

выводит на график АЧХ и фазочастотною характеристику (ФЧХ) фильтра. Рассчитанным параметрам соответствует следующая передаточная

функция фильтра:

10

( )3 2 1 0

3 2 1 0

3 2 1 0

3 2 1 0

2

(1) (2) (3) (4)(1) (2) (3) (4)

0 0 0 6.69770 0.001 0.0330 6.6977

6.69770.001 0.033 6.6977

b s b s b s b sH sa s a s a s a s

s s s ss s s s

s s

+ + +=

+ + +

+ + +=

+ + +

=+ +

Числовые значения параметров рассчитанного в командном окне (Command Window) фильтра автоматически оказываются в рабочем пространстве (Workspase) в виде соответствующих символьных обозначений (Рис. 3). В окне истории (Command History) фиксируются все ранее выполненные команды. Поэтому в дальнейшем доступ к рассчитанным параметрам из моделей Simulink может осуществляться по символьным именам параметров.

Рис. 3 Рабочие окна MatLab

11

1.2. Моделирование фильтрации

На Рис. 4 показана модель, иллюстрирующая фильтрацию аналогового сигнала.

Рис. 4 Модель фильтрации аналогового сигнала

Аналоговый фильтр (блок Analog Filter Design) рассчитан в соответствие с выше рассмотренным примером. Блок Signal Generator генерирует синусоидальный сигнал c амплитудой 1A = и частотой

1F = Wn/( )2 406.108/(2 ) 64.63π π= = Гц. Входной и выходной сигналы фильтра

отображается “осциллографом” Scope1 и представлены на Рис. 5.

Рис. 5 Осциллограмма блока Scope1 на Рис. 4

Видно, что амплитуда сигнала на выходе фильтра примерно равна 0.7 , что составляет 3 дБ от уровня входного сигнала. Параметры модели 1F и Wn контролируются цифровым дисплеем Display.

12

Для создания модели следует выбрать пункт меню File/New/Model, после чего в библиотеке доступных блоков Simulink (меню View/Library Browser) выбрать необходимые блоки (Рис. 6). Расположение используемых блоков в этой библиотеке приведёно в Taб. 1.

Рис. 6 Библиотека блоков Simulink

Блок Расположение Signal

Generator Simulink / Sources

Scope Simulink / Sсins Display Simulink / Sсins Constant Simulink / Sources

Analog Filter Design

DSP Blockset / Filtering

Taб. 1 Расположение блоков модели на в библиотеке блоков Simulink

После создания модели, следует настроить каждый из блоков в соответствие с заданными параметрами. Пример настройки блока Analog Filter

13

Design приведён на Рис. 7, где ввод параметров производится из рабочего пространства Workspace (см. Рис. 3). Модель имеет параметры: тип аппроксимации (Design Method: Butterworth, Elliptic…), тип фильтра (Filter Type: Lowpass — ФНЧ, Bandpass — полосовой…), порядок фильтра (Filter Order), частота Wn (Passband Edge frequency).

Рис. 7 Настройка блока Analog Filter Design

После настройки каждого из блоков, следует настроить параметры модели. Для этого в пункте меню Simulation следует отрыть подменю Simulations Parameters (Рис. 8).

Рис. 8 Настройка параметров модели

14

Модели Simulink делятся на непрерывные и дискретные модели. Пункт меню Type, имеющий значение Variable-step соответствует непрерывным моделям, а значение Fixed-step — дискретным моделям. В данном случае моделируется обработка непрерывных сигналов, поэтому установлен переменный шаг (Variable-step). Пункты Start time и Stop time задают начальное и конечное время моделирования. В данном случае конечное время установлено бесконечным (inf). Более подробно о параметрах настройки модели см. [9], раздел Simulink.

Заметим, что вместо блока Analog Filter Design может быть использован и блок Transfer Fcn, позволяющий в явном виде задать рассчитанную передаточную функцию фильтра в виде векторов b и a коэффициентов полиномов числителя и знаменателя передаточной функции (Рис. 9).

Рис. 9 Ввод параметров передаточной функции фильтра

Результаты фильтрации, реализуемые этими блоками, естественно, идентичны. Для того, чтобы убедиться в этом, можно создать модель, приведённую на Рис. 10. Расположение блоков Transfer Fcn и Sum в библиотеке Simulink приведено в Taб. 2.

Блок Размещение Transfer Fcn Simulink / Continuous

Sum Simulink / Math Operations

Taб. 2 Размещение блоков модели, приведённой на Рис. 10

15

Рис. 10 Модель, иллюстрирующая идентичность реализации фильтра двумя блоками

“Осциллограмма” блока Scope приведена на Рис. 11. Видно, что максимальная ошибка между сигналами не превосходит величину 1510− .

Рис. 11 Осциллограмма блока Scope1 модели на Рис. 10

16

1.3. Моделирование дискретизации

На Рис. 12 приведена модель дискретизации аналогового сигнала.

Рис. 12 Модель дискретизации аналогового сигнала

Дискретизацию осуществляет блок Zero-Order Hold. “Осциллограмма” блока Scope приведена Рис. 13, на которой изображен исходный аналоговый сигнал и сигнал после дискретизации.

Рис. 13 Дискретизация аналогового сигнала

Изображение этих двух сигналов в одних осях достигается благодаря

мультиплексору (Mux). Интервал дискретизации 1 0.025s

tF

∆ = = с измеряется

17

“пробником” Probe, где sF — частота дискретизации. Расположение блоков в библиотеке блоков Simulink приведено в Taб. 3.

Блок Размещение Zero Order Hold Simulink / Discrete

Mux Simulink / Signal Routing Probe Simulink / Signal Attributes

Taб. 3 Размещение блоков модели, приведённой на Рис. 12

Рис. 14 Модель для демонстрации эффекта наложения сигнала помехи на полезный

сигнал (aliasing)

Пусть теперь требуется произвести дискретную обработку аналогового низкочастотного сигнала c верхней частотой maxF при наличии аддитивной

помехи с частотой 2 2s

NFF F> = . При этом дискретизация сопровождается

эффектом наложения помехи на полезный сигнал. На Рис. 14 приведена модель, демонстрирующая этот эффект при отсутствии аналоговой фильтрации и его устранение путём предварительной фильтрации обрабатываемого сигнала. В качестве полезного сигнала выбран синусоидальный сигнал с частотой

1F = 40 Гц, амплитудой 1A = 1 и нулевой начальной фазой, в качестве помехи —

18

синусоидальный сигнал с частотой 2 1sF F F= + = 640 Гц, амплитудой 2 1A A= и той же начальной фазой. На Рис. 15 приведена “осциллограмма” блока Scope.

Рис. 15 Осциллограмма модели на Рис. 14 при частоте 2 1sF F F= +

Нижний график (дискретизированный сигнал на входе фильтра) свидетельствует, что без предварительной фильтрации сигнал после фильтрации имеет удвоенную амплитуду из-за “просачивания” частоты помехи

из области 2 2s

s sFF F F ∈ +

в область частот 02

sF . Низкочастотная

аналоговая фильтрация естественно устраняет этот эффект. Используется ФНЧ

со следующими параметрами: maxpassF F≥ , 2

sstop

FF = . Область частот

pass stopF F F ∈ , “не занятая сигналом”, где также возможны помехи, в

дальнейшем может быть отфильтрована дискретным (цифровым) фильтром.

19

Рассмотренный выше эффект “просачивания” помехи при частоте помехи,

расположенной в области 2 2s

sFF F ∈

наблюдается несколько по иному. При

ранее рассмотренных условиях и 2 1sF F F= − = 560 Гц помеха полностью компенсирует полезный сигнал на частоте 1F = 40 Гц (Рис. 16).

Рис. 16 Осциллограмма модели на Рис. 14 при частоте 2 1sF F F= −

1.4. Задание 1

В Taб. 4 приведены варианты заданий для расчёта аналоговых фильтров.

№ задания passF , Гц stopF , Гц passR , дБ stopR , дБ

1 3400 8000 2 40

2 11000 22050 1 70

20

№ задания passF , Гц stopF , Гц passR , дБ stopR , дБ

3 20000 44100 0.5 75

4 20000 48000 0.5 80

5 20000 96000 0.5 90

6 20000 192000 0.25 100

7 20 40 0.5 60

Taб. 4 Варианты заданий для расчёта аналоговых фильтров

В соответствии с одним из заданий выполнить нижеследующие пункты.

1. Написать программу определения минимального порядка ФНЧ для четырёх аппроксимаций (Баттерворта, Чебышева 1-рода, Чебышева 2-го рода и эллиптической), расчёта их коэффициентов и построения графиков АЧХ и ФЧХ фильтров.

2. Ответить на вопрос: какая из аппроксимаций обеспечивает минимальный порядок ?

3. Разработать модель фильтрации аналогового сигнала. 4. Проиллюстрировать на модели, что фильтр имеет заданные ослабления

passR и stopR .

5. Показать, что результаты фильтрации, полученные с использованием блока Analog Filter Design и блока Transfer Fcn идентичны.

6. Продемонстрировать эффект низкочастотной фильтрации меандра и периодической треугольной последовательности, настроив блок генератора сигналов на режимы square и sawtooth соответственно.

7. Представить отчёт по моделированию в виде web-страницы. 8. Разработать модель, иллюстрирующую эффект наложения частот при

дискретизации. 9. На модели продемонстрировать эффект наложения сигнала помехи на

полезный сигнал без аналоговой фильтрации и устранение этого эффекта путём аналоговой фильтрации. В качестве анти-элайзингового ФНЧ выбрать аппроксимацию по Баттерворту с параметрами

maxpassF F≥ , 2

sstop

FF = .

10. Представить отчёт по моделированию в виде web-страницы.

21

2. ДИСРЕТИЗАЦИЯ ПОЛОСОВОГО СИГНАЛА Рассмотрим сигнал, частотные составляющие которого расположены в

области [ ]min maxF F F∈ , где min 0F ≠ . Для такого сигнала, который будем

называть полосовым, частота дискретизации также может быть выбрана из условия max2sF F . Однако применительно к телекоммуникационным приложениям, когда полосовой сигнал является относительно-узкополосным ( 0F F∆ , где max minF F F∆ = − — полоса частот сигнала, ( )0 min max / 2F F F= + —

средняя частота полосы) реализация устройства обработки с такой высокой частотой дискретизации является экономически неоправданной. В такой ситуации рассмотренный выше эффект “просачивания” высокочастотного сигнала при “низкой” частоте дискретизации может быть использован как положительный эффект, позволяющий производить дискретизацию полосового сигнала с частотой дискретизации 2sF F∆ . Эта возможность исключает необходимость выделения двух аналоговых квадратурных составляющих сигнала с целью их дальнейшей раздельной дискретизации [5],[6]. Очевидно, что в этом случае для отсутствия “наложения” как низкочастотных, так и высокочастотных помех на полезный сигнал, сигнал должен быть предварительно обработан аналоговым полосовым фильтром (ПФ, BP-bandpass).

2.1. Расчёт фильтра

Рассмотрим пример. Заданы следующие параметры. — граничные частоты полосы пропускания 1 700passF = Гц и 2 800passF = Гц

— граничные частоты полос задерживания 1 600stopF = Гц и 2 900stopF = Гц

— максимальная неравномерность АЧХ в полосе пропускания passR = 2 дБ

— минимальное затухание в полосе задерживания stopR = 40 дБ

Минимальный порядок n фильтра при эллиптической аппроксимации находится следующим образом:

>> Wp = 2*pi*[700 800] Wp = 1.0e+003 * 4.3982 5.0265 >> Ws = 2*pi*[600 900] Ws =

22

1.0e+003 * 3.7699 5.6549 >> Rp=2; >> Rs=40; >> [n, Wn] = ellipord(Wp,Ws, Rp, Rs, 's') n = 3 Wn = 1.0e+003 * 4.3982 5.0265

а векторы коэффициентов полиномов числителя и знаменателя передаточной функции фильтра:

>> [b,a] = ellip( n, Rp, Rs, Wn, 's') b = 1.0e+016 * 0 0.0000 0.0000 0.0000 0.0000 1.8553 -0.0000 a = 1.0e+022 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.0805

Рис. 17 Ввод параметров полосового фильтра для блока Analog Filter Design

23

Ввод параметров рассчитанного фильтра для блока Analog Filter Design иллюстрируется на Рис. 17. Здесь Wn(1) и Wn(2)—первый и второй элементы вектора Wn соответственно.

2.2. Моделирование и выбор частоты дискретизации

На Рис. 18 приведена модель, демонстрирующая возможность дискретной обработки полосового сигнала с частотой дискретизации, определяемой полосой частот полезного сигнала.

В данном случае 0F = 750 Гц, F∆ = 100 Гц. Поэтому граничные частоты полосы пропускания ПФ есть: 1 minpassF F= = 700 Гц, 2 maxpassF F= = 800 Гц.

Граничные частоты полос задерживания фильтра выбираются исходя из частоты дискретизации, которую удобно (хотя и не обязательно) выбрать так,

чтобы она “просочилась” на частоту 4

sF , т.е. 0 4s

o sFF F F→ − = =150 Гц (Рис.

19).

Рис. 18 Дискретная обработка полосового сигнала

24

Рис. 19 “Осциллограмма” модели на Рис. 18 при частоте 1F = 750 Гц

В результате: 1stop sF F= =600 Гц, 23

2 2s

stop s sFF F F= + = =900 Гц. Этот случай

соответствует полосовому фильтру с эллиптической аппроксимацией,

рассчитанному выше. При этом minF → min 4 2s

sF FF F ∆

− = − =100 Гц,

max max 4 2s

sF FF F F ∆

→ − = + =200 Гц. Таким образом, все частотные

составляющие высокочастотного обрабатываемого сигнала “просочились” в

низкочастотную область, ограниченную частотой Найквиста 2

sN

FF = = 300 Гц.

Другими словами, аналоговый полосовой сигнал с центральной частотой 0F

однозначно представлен дискретной низкочастотной версией с частотой 4

sF .

Эту операцию можно трактовать как перенос спектра исходного сигнала в низкочастотную область.

В общем случае для выбора частоты дискретизации sF может быть использована формула:

04 ,2 1s

FFq

=−

25

где max1,2,..., FqF

= ∆ , где [ ] — целая часть. При этом 0 4

sFF → . При не

выполнении этого условия для выбора частоты дискретизации следует руководствоваться условием, приведённым в [5], стр. 42. Для рассмотренного выше случая 3q = .

Рис. 20 1F = 800 Гц, sF = 428.5714 Гц ( q = 4)

Рис. 21 1F = 700 Гц, sF = 428.5714 Гц ( q = 4)

26

Для чётного значения q , очевидно, что аналоговый полосовой сигнал представляется дискретной низкочастотной версией с инверсным спектром. Это

означает, что max 4 2sF FF ∆

→ − , min 4 2sF FF ∆

→ + . Иллюстрация инверсии

представлена на Рис. 210 и Рис. 21 при q = 4 ( sF = 428.5714 Гц). Видно, что частоте maxF = 800 Гц соответствует более низкая частота в дискретной версии, чем частоте minF = 700 Гц.

Для q = 5 ( sF = 333.3333 Гц) снова имеем случай без инверсии, для q = 6 —

с инверсией. Наконец, при q =800100

= 8 частота дискретизации sF = 200 Гц

= 2 F∆ формально имеет минимальное значение. Этот случай, однако, соответствует нереализуемому полосовому фильтру с нулевыми переходными полосами. Поэтому минимальной частотой дискретизации следует считать значение sF = 230.7692 Гц для q = 7. Приемлемость этого варианта должна быть оценена из возможности реализации соответствующего полосового фильтра.

2.3. Задание 2

В Taб. 5 представлены варианты заданий.

№ задания 0F , Гц F∆ , Гц pR , дБ sR , дБ

1 82 16 1 40

2 450 30 1 50

3 10000 480 1 60

4 100000 1000 1 65

5 300000 8000 1 70

6 1000000 22000 1 80

Taб. 5 Варианты заданий для расчёта частот дискретизации

В соответствии с одним из заданий выполнить нижеприведённые пункты.

1. Рассчитать частоты дискретизации для обработки сигнала без инверсии спектра и с инверсией спектра. Привести таблицу этих частот.

27

2. Найти минимальные порядки полосовых фильтров для каждой из четырёх аппроксимаций (Баттерворта, Чебышева 1-го и 2-го рода, эллиптической) для 2-3 максимальных частот дискретизации при ограничении на порядок фильтра 13n ≤ .

3. Построить графики АЧХ и ФЧХ этих фильтров. 4. Разработать модель обработки полосового сигнала. 5. Проверить рассчитанные варианты фильтров на модели. 6. Проиллюстрировать на модели вариант инверсии спектра полосового

сигнала. 7. Представить отчёт по моделированию в виде web-страницы.

28

ПРИЛОЖЕНИЕ 1 ФУНКЦИИ MATLAB ДЛЯ РАСЧЁТА АНАЛОГОВЫХ ФИЛЬТРОВ

Аппрокимация

Расчёт минимального порядка n и параметра

аппроксимации Wn по заданным ошибкам

аппроксимации passR и stopR и

граничным частотам passF и stopF

Расчёт векторов коэффициентов полиномов

числителя bи знаменателя a передаточной

функции фильтра ( )H s

Параметр аппроксимации

Wn, рад/с

Баттерворта buttord butter круговая частота ослабления АЧХ

на 3 дБ Чебышева 1-го

рода cheb1ord сheby1 2 passFπ

Чебышева 2-го рода сheb2ord сheby2 2 stopFπ

Элипптическая (Золоторёва-Кауэрра)

ellipord ellip 2 passFπ

29

ПРИЛОЖЕНИЕ 2. ПРИМЕР СТАНДАРТНОГО ОТЧЁТА О МОДЕЛИРОВАНИИ

Ниже приведён отчёт по моделированию в виде web-страницы, созданный на основе стандартного шаблона simulink-default.rpt.

SIMULINK DEFAULT REPORT 14-Nov-2003 The MathWorks

Table of Contents 1. Model - var_butter_report

System - var_butter_report List of Tables 1-1. Model Functions 1-2. Model Variables 1-3. var_butter_report Simulation Parameters 1-4. Constant Block Properties 1-5. Display Block Properties 1-6. SignalGenerator Block Properties 1-7. StateSpace Block Properties 1-8. Signal Properties 1-9. var_butter_report System Information 1-10. Block Type Count List of Figures 1-1. Scope1

Chapter 1. Model - var_butter_report

Table 1-1. Model Functions

Function Name

Parent Blocks Calling string

sfix Constant sfix(16)

Table 1-2. Model Variables

Variable Name

Parent Blocks Calling string Value

F1 Constant Signal Generator

[ F1 Wn ] F1

40

Wn Analog Filter Design Constant

Wn [ F1 Wn ]

406.108

n Analog Filter Design n 3

Table 1-3. var_butter_report Simulation Parameters

Solver ode45 ZeroCross on StartTime 0.0 StopTime inf RelTol 1e-3 AbsTol auto Refine 1

30

InitialStep auto FixedStep auto MaxStep auto

Table 1-4. Constant Block Properties

Name Value

VectorParams1D

ShowAdditionalParam

OutDataTypeMode

OutDataType

ConRadixGroup

OutScaling

Constant

[ F1 Wn ]

on off Inherit via back propagation

sfix(16) Use specified scaling

2^0

Table 1-5. Display Block Properties

Name Format Decimation Floating SampleTime Display short 1 off -1

Table 1-6. SignalGenerator Block Properties

Name WaveForm Amplitude Frequency Units VectorParams1D Signal Generator sine 1 F1 Hertz off

Table 1-7. StateSpace Block Properties

Name method filttype N Wlo Whi Rp Rs Analog Filter Design

Butterworth Lowpass n Wn 80 2 40

Table 1-8. Signal Properties

Name Description ParentSystem CompiledPortDataType <460.0002> var_butter_report Signal In var_butter_report Signal Out var_butter_report

• var_butter_report

System - var_butter_report

Table 1-9. var_butter_report System Information

Name var_butter_report Parent <root> Description Tag

Blocks Analog Filter Design LinkStatus N/A

31

Constant Display Scope1 Signal Generator

Table 1-10. Block Type Count

BlockType # of Occurrences

Block Names

StateSpace 1 Analog Filter Design SignalGenerator 1 Signal Generator Scope 1 Scope1 Display 1 Display Constant 1 Constant Figure 1-1. Scope1

32

ПРИЛОЖЕНИЕ 3. ПРИМЕР СОЗДАНИЯ СОБСТВЕННОГО ОТСЧЁТА

На Рис. 22 праведен пример настроек генератора отчётов MatLab.

Рис. 22 Настройки генератора отчётов

В соответствии с этими настройкам ниже представлен отчёт выполнения m-файла work_lp в виде web-страницы.

ЦОС Расчёт ФНЧ 13-Nov-2003 Варгаузин В.А.

Table of Contents 1. Текст программы 2. Результат расчёта 3. Графики

Chapter 1. Текст программы

%Программа расчёта ФНЧ с аппроксимацией Баттерворта %граничная частота полосы пропускания (рад/c) Wp = 2*pi*50 %граничная частота полосы задерживания (рад/c)

33

Ws = 2*pi*300 %максимально допустимая ошибка аппроксимации %в полосе пропускания(дБ) Rp=2; %минимальное затухание в полосе задерживания (дБ) Rs=40; %расчёт минимального порядка и 3дБ-частоты среза (рад/с) [n, Wn] = buttord(Wp,Ws, Rp, Rs,'s') %расчёт коэффициентов фильтра [b,a] = butter(n, Wn, 's') %график АЧХ и ФЧХ freqs( b, a )

Chapter 2. Результат расчёта

close all work_lp Wp = 314.1593 Ws = 1.8850e+003 n = 3 Wn = 406.1081 b = 1.0e+007 * 0 0 0 6.6977 a = 1.0e+007 * 0.0000 0.0001 0.0330 6.6977

34

Chapter 3. Графики

35

ЛИТЕРАТУРА И ИНТЕРНЕТ 1. Солонина А.И., Улахович Д.А. и др. Основы цифровой обработки

сигналов: Курс лекций.— СПб.: БХВ — Петербург, 2003. 2. Сергиенко А.Б. Цифровая обработка сигналов. Учебное пособие. СПб,

Питер, 2003. 3. Дьяконов В., Абраменкова И. MATLAB. Обработка сигналов и

изображений. Специальный справочник. Питер, 2002. 4. Рудаков В.Н., Сафонов И.В. Обработка сигналов и изображений.

MatLab 5.x/Под общ. ред.В.Г. Потёмкина.-М.: Диалог-Мифи, 2000. 5. Цикин И.А. Свойства сигналов используемых в радиосистемах.

Учебное пособие. — Л. , изд. ЛПИ, 1980. 6. Цикин И.А. Оптимальная обработка сигналов в радиотехнических

системах. Учебное пособие. — Л., изд. ЛПИ, 1986. 7. Варгаузин В.А. Минимаксные аппроксимации для задач цифровой

обработки сигналов: Учебное пособие — СПб.: Изд-во СПбГПУ, 2004. 8. www.mathworks.com 9. www.matlab.ru

36

ВАРГАУЗИН Виктор Анатольевич

ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ Лабораторный практикум

Часть 1

Лицензия ЛР №020593 от 07.08.97

Налоговая льгота — Общероссийский классификатор продукции ОК 005-93, т.2; 95 3005 — учебная литература

_____________________________________________________________________ Подписано в печать 19.04.2004. Формат 60x84/16. Усл. печ.л. 2,25 Уч.-изд.л. 2,25 Тираж 100. Заказ

_____________________________________________________________________

Отпечатано с готового оригинал-макета, предоставленного автором, в типографии Издательства СПбГПУ

195251, Санкт-Петербург, Политехническая, 29

Отпечатано на ризографе RN-2000 FP Поставщик оборудования — фирма “Р-ПРИНТ”

Телефон: (812) 110-65-09 Факс: (812) 315-23-04