Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы обработки данных в научных исследованиях. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
2.2) интерполяторы Лагранжа (частный случай — кубическая интерполяция).
3. CIC-фильтры (каскады гребенчатых фильтров и интеграто­ров). Этот класс фильтров не использует умножений при вычисле­нии, что позволяет сэкономить вычислительные ресурсы.
5.2. Децимация с целым коэффициентом
Процесс уменьшения частоты дискретизации сигнала называет­ся децимацией. Иногда этот термин употребляют только для уменьшения частоты дискретизации в целое число раз (далее N). Децимация цифрового сигнала с целым коэффициентом произво­дится в два этапа:
цифровая фильтрация сигнала с целью удаления высокоча-
стотных составляющих, не удовлетворяющих условиям теоремы Котельникова для новой частоты дискретизации;
удаление (отбрасывание) лишних отсчетов (сохраняется
каждый N-й отсчет).
Второй этап иногда обозначают термином downsampling. В обиходе он может употребляться как синоним термина «деци­мация».
Первый этап необходим для исключения наложения спектров, природа которого аналогична наложению спектров при первона­чальной дискретизации аналогового сигнала. Наложение спектров особенно заметно на тех участках сигнала, которые содержат зна­чительные высокочастотные спектральные составляющие.
Иллюстрация алгоритма децимации дискретного сигнала (с ко­эффициентом 2) показана на рис. 16. Красные точки обозначают отсчеты, сплошные линии — непрерывный сигнал, представлени­ем которого эти отсчеты являются. Сверху — исходный сигнал, в середине — этот же сигнал после фильтрации в цифровом филь­тре нижних частот, снизу — децимированный сигнал.
При программной реализации алгоритма децимации «лишние» отсчеты не удаляются, а просто не вычисляются. При этом число обращений к цифровому фильтру уменьшается в N раз. При аппа­ратной реализации экономии можно достичь путем использования полифазных фильтров.
41
Рис. 16. Алгоритм децимации дискретного сигнала
5.3. Интерполяция с целым коэффициентом
Интерполяцией называют увеличение частоты в целое или дроб­ное число раз путем вычисления промежуточных отсчетов по уже имеющимся. Идеальная интерполяция позволяет точно восстано­вить значения сигнала в промежуточных отсчетах.
Стандартный алгоритм интерполяции сигнала с целым коэффи­циентом заключается в следующем:
1)
вставка нулевых отсчетов на место отсчетов, которые необхо-
димо вычислить;
2)
фильтрация сигнала цифровым фильтром нижних частот для
того, чтобы убрать спектральные составляющие сигнала, которых
42
заведомо не могло быть в исходном сигнале согласно теореме Ко­тельникова; выход фильтра умножается на коэффициент интерпо­ляции для нормирования.
Первый этап иногда обозначается термином upsampling. При этом в обиходе он может употребляться как синоним термина «ин­терполяция».
Иллюстрация алгоритма интерполяции дискретного сигнала (с коэффициентом 2) показана на рис. 17. Красные точки обознача­ют исходные отсчеты сигнала; сплошные линии — непрерывный сигнал, представлением которого эти отсчеты являются. Сверху — исходный сигнал, в середине — этот же сигнал со вставленными нулевыми отсчетами (зеленые точки), снизу — интерполированный сигнал (синие точки — интерполированные значения отсчетов).
Рис. 17. Алгоритм интерполяции дискретного сигнала
43
При программной реализации интерполяции нулевые отсчеты не участвуют в вычислении выходного сигнала фильтра, что позволяет оптимизировать процесс вычисления. При аппаратной реализации для экономии ресурсов возможно использование полифазных фильтров.
5.4. Комбинация интерполяции и децимации
Для того чтобы изменить частоту дискретизации сигнала в M/N раз (M и N — целые положительные числа), можно сначала увели­чить частоту дискретизации в M раз, а затем уменьшить ее в N раз. Фильтрацию сигнала достаточно произвести всего один раз — меж­ду интерполяцией и децимацией.
Недостатком данного метода является необходимость фильтра­ции сигнала на повышенной в M раз частоте дискретизации, что требует значительных вычислительных ресурсов. При этом соот­ветствующая частота может во много раз превосходить как исход­ную, так и окончательную частоту передискретизации, особенно если M и N — близкие большие числа. Так, при передискретизации звукового сигнала с 44 100 до 48 000 Гц этим методом нужно уве­личить частоту дискретизации в 160 раз до 7 056 000 Гц и затем уменьшить ее в 147 раз до 48 000 Гц. Таким образом, в данном при­мере вычисления приходится производить на частоте дискретиза­ции более 7 МГц.
5.5. Передискретизация с помощью полифазных фильтров
Метод передискретизации с помощью полифазных фильтров аналогичен предыдущему, с тем отличием, что в нем вместо одного фильтра, работающего на высокой частоте дискретизации, исполь­зуется несколько фильтров, работающих на низкой частоте. При этом удается добиться сокращения количества необходимых вы­числений, так как для каждого отсчета следует вычислить выходной сигнал только одного из этих фильтров.
Полифазный фильтр представляет собой набор небольших филь­тров, работающих параллельно, каждый из которых обрабатывает только подмножество отсчетов сигнала (если всего имеется N филь­тров, каждый фильтр будет обрабатывать только каждый N-й отсчет).
Полифазные фильтры применяются для передискретизации как с целым, так и с дробным коэффициентом.
44
5.6. Передискретизация с помощью ДПФ
Передискретизация с помощью ДПФ используется для повыше­ния частоты дискретизации в целое или дробное число раз. Алго­ритм работает только с конечными отрезками сигнала. Пусть N — начальное число отсчетов, M — число отсчетов в передискретизо­ванном сигнале. Алгоритм включает в себя следующие операции.
1. Вычисляется ДПФ исходного сигнала (чаще всего по алго-
ритму БПФ).
2. В середину спектра вставляется необходимое число нулевых
компонент:
2.1) если N нечетное:
1

yx i
ii
1,
 
yiMN
01 ,
i
 
yx MN iM

iiMN
 

N
2

NN
11
  
22
N
1

1;
2
2.2) если N четное:

yx i
ii
     
 
N
x
2

yi
i
22

02 ,
yiMN
i
1,
1
      
N
1
x
2

yiMN
i
22

yx MN iM

iiMN
N
2
N
2
N
1,
NN
22
N
1,
2.
3. Вычисляется обратное ДПФ с нормировкой.
45
Любой метод, основанный на ДПФ, предназначен в первую оче­редь для периодических дискретных сигналов. Для обработки непе­риодических сигналов необходимо выбирать отрезки сигнала для вычисления ДПФ таким образом, чтобы их концы перекрывались.
5.7. Применение передискретизации
Широко применяется как аппаратная (на основе специализиро­ванных микросхем или FPGA), так и программная (на базе процес­соров общего назначения или сигнальных процессоров) реализация алгоритмов передискретизации.
Выбор конкретной реализации алгоритма передискретизации — результат компромисса между качеством преобразования и его вы­числительной сложностью. Основным параметром, влияющим на эти характеристики, является близость используемых цифровых фильтров к идеальным. Более качественные фильтры требуют больших ресурсов для вычисления.
На практике передискретизация в большинстве случаев ведет к потере информации о сигнале по следующим причинам:
при уменьшении частоты дискретизации сигнал необходимо
отфильтровать с целью удаления высокочастотных спектральных составляющих, которые не соответствуют условиям теоремы Ко­тельникова для новой частоты дискретизации;
неизбежная неидеальность применяемых цифровых филь-
тров;
вычисления, производимые над цифровыми (квантованными
по уровню) сигналами, ведут к необратимым ошибкам округления.
Таким образом, при увеличении частоты дискретизации с после­дующим уменьшением ее до исходного значения качество сигнала будет потеряно (если только высокая частота не кратна низкой).
46
6. АМПЛИТУДНАЯ МОДУЛЯЦИЯ И ДЕМОДУЛЯЦИЯ

Амплитудная модуляция и демодуляция сигналов является очень важной для радиосвязи, техники ускорителей, радиолокации, уль­тразвуковой и оптической доплеровской анемометрии и других об­ластей, где применяют частотно-модулированные сигналы заранее заданной формы. В данном разделе показаны алгоритмы и их про­граммная реализация для амплитудной модуляции и демодуляции цифровых сигналов.
6.1. Амплитудная модуляция
При амплитудной модуляции изменяемым параметром несущего сигнала является его амплитуда.
Пусть
ut
— информационный сигнал,
m
()
ut
— несущий сиг-
c
()
нал (несущее колебание). Тогда амплитудно-модулированный сиг­нал ( )
ut имеет вид
am
()
ut

() () 1 ,
utut m
am c
ut
m
m
()
max
где m — коэффициент модуляции.
Пример программы, реализующей амплитудную модуляцию, представлен ниже.
voidMixer(float*AmplSignal,float*CarrierSignal, float*Output,intLen,floatkoeff) {
 for(inti=0;i<Len;i++)  { Output[i]=CarrierSignal[i]*(1.0f+koeff* AmplSignal[i]);  }  return; }
Здесь использован нормированный модулирующий сигнал, т. е.
u
, такой что
m
()
ut
u
m
m
()
ut
m
max
.
47
Если ( ) cos( ),
ut U wt то амплитудно-модулированный сигнал
ccc
примет вид

() 1 cos( ).
utU m wt

am c c
 

Данное выражение описывает несущий сигнал ( ), ванный по амплитуде сигналом
()
ut
m
()
ut
m
max
()
ut с коэффициентом модуляции
m
ut модулиро-
c
m. В качестве примера ниже представлен несущий (рис. 18), моду-
лирующий (рис. 19) сигнал и результат амплитудной модуляции с коэффициентом 0,5 (рис. 20).
Рис. 18. Пример несущего сигнала
Рис. 19. Пример модулирующего сигнала
48
Рис. 20. Амплитудная модуляция с коэффициентом модуляции 0,5
Для неискаженной модуляции необходимо выполнение условия
Если оно не будет выполняться, то наблюдается перемодуля-
1.m
ция несущего сигнала. Пример перемодурованного сигнала при ко­эффициенте модуляции 1,5 показан ни рис. 21.
Рис. 21. Перемодурованный сигнал при коэффициенте модуляции 1,5
49
Пусть необходимо выполнить модуляцию несущего колебания
моногармоническим сигналом. Выражение для несущего колебания с частотой
Здесь рующего синусоидального сигнала с частотой
w имеет вид (начальную фазу положим равной нулю)
c
ut U wt
() cos( ).
ccc
U — амплитуда несущего сигнала. Выражение для модули-
c
w имеет вид
m
ut U wt
() cos( ),
mmm
где φ — начальная фаза,
( ) (1 cos( ))cos( )
utU m wt wt
am c m c
cos( ) (cos(( ) )
Uwt wwt

cc cm
cos(( ) )).

wwt
cm
() .
ut U Тогда
mm
max
 
mU
c
2
Таким образом, типичный радиосигнал состоит из несущего ко­лебания и двух боковых полос. Боковые полосы имеют частоту, от­личную от
.cw Для синусоидального сигнала, представленного
здесь, боковые полосы — синусоидальные сигналы с частотами
ww и .
cm
ww
cm
Программа на языке С, реализующая модуляцию гармоническо­го несущего сигнала, представлена ниже.
voidHarmonicMixer(float*AmplSignal,intLen,float koeff,floatcarrier_freq,floatcarrier_ampl,float *Output) {
for(inti=0;i<Len;i++)  { floatcarrier_val=carrier_ampl*cos(carrier_freq*i); Output[i]=carri‐ er_val*(1.0f+koeff*AmplSignal[i]);  }  return;}
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]