Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы обработки данных в научных исследованиях. Учебное пособие
.pdf
6.2. Амплитудный демодулятор
R
R
R
Демодуляция — процедура, обратная модуляции. Задача амплитудной демодуляции — получить исходный модулирующий сигнал
из амплитудно-модулированного несущего сигнала.
Для демодуляции применяют синхронный детектор, обеспечивающий смещение частоты анализируемого сигнала на частоту несущей
гармоники, что позволяет получить исходный сигнал модуляции.
Синхронное детектирование основано на операции умножения
сигналов. Схема синхронного детектора приведена на рис. 22.
Рис. 22. Синхронный детектор
Пусть на входы умножителя подаются два гармонических сигнала: так называемый опорный сигнал с постоянными частотой и амплитудой
() sin( )
rt R w t
и сигнал
() sin( ).st S wt
Тогда выходной сигнал умножителя будет иметь вид
twwtwwRStstrtx
RR
2/))cos(())(cos(()()()(
В результате умножения появляются гармонические составляющие на суммарной ( )
ww и разностной ( )
ww частотах. Ре-
зультат работы умножителя для амплитудно-модулированного сигнала из предыдущего параграфа показан на рис. 23.
51

R
Рис. 23. Результат работы умножителя
В синхронном детекторе используется составляющая на разностной частоте. Ее выделяет фильтр низких частот, включенный
на выходе умножителя.
Фильтр нижних частот — это специализированный модуль
(в данном случае программный алгоритм), который преобразует
входной сигнал по следующему принципу. Фильтр нижних частот
эффективно пропускает частотный спектр сигнала ниже некоторой
частоты (частоты среза) и подавляет частоты выше этой частоты.
Основные параметры фильтров нижних частот: частота среза и частотная характеристика, определяющая, насколько эффективно
фильтр сохраняет амплитуду нижних частот и подавляет амплитуду
высоких частот.
В нашем случае фильтр пропускает сигналы с частотами ниже
частоты среза фильтра
w и подавляет более высокочастотные сиг-
c
налы. Частота среза устанавливается намного меньшей, чем опорная частота .
w Поэтому ненулевой отклик на выходе фильтра да-
дут лишь те сигналы, частоты которых близки к опорной частоте
(отличаются от опорной частоты на величину, не превышающую
частоту среза фильтра низких частот).
Результат работы фильтра нижних частот для амплитудномодулированного сигнала после умножителя представлен на
рис. 24. Видно, что он отличается от исходного модулирующего
сигнала только постоянной величиной.
52

s
Рис. 24. Результат работы фильтра нижних частот
для амплитудно-модулированного сигнала
В случае, когда частота сигнала точно равна опорной частоте
(сигналы на входах умножителя синхронны — отсюда название детектора), в результате умножения появится составляющая с нулевой
разностной частотой, т. е. постоянная составляющая. На выход
фильтра пройдет только эта постоянная составляющая. Для фильтра
с коэффициентом передачи в полосе пропускания, равным единице,
выходной сигнал будет равен
yt RS
( ) const cos( ) / 2.
Таким образом, выход синхронного детектора пропорционален
амплитуде входного сигнала и зависит от фазового сдвига относительно опорного сигнала.
Функция, реализующая умножитель с опорным гармоническим
сигналом заданной частоты, представлена ниже.
voidMutiplex(float*input,intLen,float*output,
floatbase_freq)
{
for(inti=0;i<Len;i++)
{
floatbase_val=sin(base_freq*i);
output[i]=base_val*input[i];
}
return;
}
53

Реализация фильтра нижних частот, как правило, зависит от требуемых параметров фильтра. В основном при проектировании
и реализации фильтра рассматривают его частотную характеристику. Существуют различные реализации фильтров, обладающие рядом достоинств и недостатков и различной сложностью. В качестве
примера ниже приведена реализация оконного сглаживающего
фильтра нижних частот, период сглаживания которого примерно
равен периоду опорного сигнала.
voidSmooth(float*input,intLen,
float*output,inthalf_wnd)
{
intind0=0;
intind1=0;
intind=0;
for(inti=0;i<Len;i++)
{
ind0=i‐half_wnd;
ind1=i+half_wnd;
if(ind0<0)
if(ind1>Len)ind1=Len;
floatsum=0.0f;
ind=ind0;
while(ind<ind1)
{
sum+=input[ind];
ind++;
}
output[i]=sum/(ind1‐ind0);
}
return;
}
ind0=0;
Такой фильтр, с одной стороны, имеет довольно «плохую» частотную характеристику, но с другой — его реализация довольно
проста и в ряде случаев этого фильтра бывает достаточно. Частота
среза выбрана равной частоте опорного сигнала не случайно. Поскольку сигнал после умножителя будет состоять из суммы сигнала
54

с суммарной частотой исходных сигналов и разностной частотой, то
R
s
наличие фильтра с частотой среза, равной частоте опорного сигнала, обеспечит эффективную фильтрацию суммарной частоты
и практически не исказит разностную частоту.
В данном примере, для удобства реализации, частота среза фильтра определяется в виде половины периода (параметр half_wnd).
В итоге функция амплитудного демодулятора будет выглядеть следующим образом:
voidDemodulate(float*input,intLen,float*out‐
put,floatbase_freq)
{
constfloatPI=3.14159265;
floathalf_base_T=PI/base_freq;
float*multiplexed=
(float*)malloc(Len*sizeof(float));
Mutiplex(input,Len,multiplexed,base_freq);
Smooth(multiplexed,Len,output,half_base_T);
free(multiplexed);
return;
}
6.3. Квадратурный демодулятор
Если изменить фазу опорного сигнала на /2, т. е. взять его в виде
() sin( ),
rt R w t
то в синхронном режиме выходной сигнал будет равен
( ) const = sin( ) / 2.
y
Сигналы
и
щим cos( )S и sin( )S
yt RS
c
y
пропорциональны квадратурным составляю-
c
измеряемого гармонического сигнала s(t)
и позволяют определить его фазу и амплитуду раздельно:
222
Syy
() / .
tg y y
,
cs
cs
55

Схема работы квадратурного демодулятора представлена на
рис. 25.
Рис. 25. Квадратурный демодулятор
На основе предыдущего рассмотрения можно качественно пояснить работу синхронного детектора при воздействии негармонического сигнала s(t), имеющего в общем случае непрерывный спектр
s(). В результате умножения на гармонический опорный сигнал
r(t) происходит сдвиг спектра по оси частот на величину, равную
частоте опорного сигнала
спектра область низких частот || <
, а фильтр «вырезает» из сдвинутого
R
. Таким образом, синхронный
C
детектор действует как полосовой фильтр, настроенный на частоту
опорного сигнала и имеющий полосу пропускания, равную частоте
среза фильтра низких частот (рис. 26).
Рис. 26. Преобразование спектров в синхронном детекторе
56

Для наглядности на рис. 27 представлено частотное распределение сигнала из предыдущего раздела, полученного с помощью амплитудной модуляции.
Рис. 27. Частотное распределение сигнала,
полученного с помощью амплитудной модуляции
На рис. 28 представлен спектр сигнала после квадратурного демодулятора.
Рис. 28. Спектр сигнала после квадратурного демодулятора
57

Частотная избирательность синхронного детектора определяется
полосой пропускания фильтра низких частот и может быть очень
высокой и трудно достижимой с помощью прямой фильтрации сигнала. Например, при частоте опорного сигнала 1 Мгц и частоте среза фильтра 1 Гц добротность колебательного контура, который бы
обеспечивал избирательность, равную избирательности синхронного детектора, должна составлять порядка 10
6
.
Таким образом, синхронный детектор обладает свойствами, важными для обработки сигналов: чувствителен к фазе и амплитуде измеряемого сигнала, имеет высокую частотную избирательность.
Пример функции, выполняющей квадратурную демодуляцию
представлен ниже. Здесь используется функция Multiplex2, выполняющая 2 перемножения входного сигнала: с опорным сигналом
и со смещенной фазой на 90°.
voidMutiplex2(float*input,intLen,float*output_s,
float*output_c,floatbase_freq)
{
floatbase_val=0.0f
for(inti=0;i<Len;i++)
{
base_val=sin(base_freq*i);
output_s[i]=base_val*input[i];
base_val=cos(base_freq*i);
output_c[i]=base_val*input[i];
}
return;
}
voidDemodulate(float*input,intLen,float*output_s,
float*output_c,floatbase_freq)
{
constfloatPI=3.14159265;
floathalf_base_T=PI/base_freq;
float*multiplexed_s=
(float*)malloc(Len*sizeof(float));
float*multiplexed_c=
(float*)malloc(Len*sizeof(float));
58

Mutiplex2(input,Len,multiplexed_s,multiplexed_c,
base_freq);
Smooth(multiplexed_s,Len,output_s,half_base_T);
Smooth(multiplexed_c,Len,output_c,half_base_T);
free(multiplexed_s);
free(multiplexed_c);
return;
}
59

7. ЧАСТОТНО-ВРЕМЕННОЙ АНАЛИЗ СИГНАЛОВ
Практически все реальные физические сигналы, полученные
с датчиков, изменяются во времени. В общем случае воспринимаемое датчиком воздействие является суперпозицией полезного сигнала и шума, изменяющихся в широком частотном диапазоне. Проведение частотно-временного анализа сигнала может предоставить
специалисту много полезной информации о параметрах воспринимаемого сигнала. Более того, частотно-временной анализ нестационарных сигналов, в том числе анализ со сверхразрешением, позволяет
изучить входной сигнал более детально и судить о законах изменения тех или иных параметров с совершенно иной точки зрения (становится заметным дрейф, на первый взгляд, постоянных воздействий) или определить закон распределения случайных сигналов.
Для проведения частотно-временного анализа разработаны различные методы, в том числе основанные на разных модификациях
преобразования Фурье.
Наиболее популярным методом анализа частотных составляющих входного сигнала является преобразование Фурье, математическое описание которого выражается формулой
j
() () .
Sxed
Преобразование Фурье — довольно мощный математический
аппарат анализа частотных составляющих сигнала, однако заметим,
что коэффициенты получены путем бесконечного зацикливания
определенных кадров входного сигнала. Таким образом, спектральный анализ позволяет судить о наличии сигнала той или иной амплитуды на разных частотах, но не о времени их вступления.
В качестве примера обработки нестационарных сигналов рассмотрим радиоимпульс на фоне белого шума, длительностью 5 c,
записанный с частотой дискретизации 1 кГц. Осциллограмма входного сигнала представлена на рис. 29.
7.1. Кратковременное преобразование Фурье
Для того чтобы ввести временную зависимость в частотный анализ на основе преобразования Фурье, используется метод, основан-
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
