Рекурсивная реализация КИХ-фильтра, согласованного со сложным сигналом
В современных системах связи различного назначения все чаще применяются сложные фазоманипулированные сигналы, называемые сигналами с прямым расширением спектра. Трудность приема данных сигналов с помощью согласованных фильтров вызвана высокой вычислительной сложностью, связанной с большим количеством элементов (посылок) различной полярности (фазы), из которых состоит сигнал. В статье представлены аналитические выводы быстрых алгоритмов согласованной фильтрации для сложных бинарных фазо-манипулированных сигналов.
В общем виде для оцифрованного сигнала, импульсная характеристика (ИХ) фильтра, согласованного с сигналом x(n), представляет собой зеркальное отображение сигнала x(n) относительно оси абсцисс и сдвинутого вправо на его длительность [1]. Для случая, когда сигнал представляет собой вещественную последовательность биполярных импульсов, импульсная характеристика h(n) является зеркальным отображением последовательности относительно центра сигнала, соответственно, согласованный фильтр — это фильтр с конечной импульсной характеристикой (КИХ).
Составим структурную схему согласованного фильтра на последовательность [–1, 1, 1], количество отсчетов на каждой посылке возьмем равным 4. Тогда сигнал x(n) представляет собой последовательность отсчетов [–1 –1 –1 –1 1 1 1 1 1 1 1 1],
а ИХ h(n) = [1 1 1 1 1 1 1 1 –1 –1 –1 –1]. На рис. 1 отображена структурная схема фильтра, согласованного с данным цифровым сигналом.
Передаточная функция фильтра (рис. 1) выглядит как
где bn — коэффициенты передаточной функции, имеющие значения 1 или –1.
Согласованный фильтр можно представить в виде двух однородных фильтров. Однородным фильтром называется КИХ-фильтр, у которого все коэффициенты одинаковы, то есть bn = b. Тогда передаточная функция фильтра (1) представляет собой (2).
Как известно, однородный фильтр имеет две формы реализации [2]: нерекурсивную и рекурсивную. Рекурсивная форма получается как сумма членов конечной геометрической прогрессии с числом членов N [3]:
Преобразуем выражение (2) с учетом (3). Тогда передаточная функция согласованного фильтра (2) примет вид:
Приведем выражение (4) к общему знаменателю:
Тогда, по аналогии с однородным фильтром, выражение (5) описывает рекурсивную реализацию КИХ-фильтра (2). Соответствующая структурная схема изображена на рис. 2.
Согласованный фильтр, построенный по рекурсивной структурной схеме (рис. 2), дает выигрыш в вычислительной сложности по сравнению с нерекурсивной реализацией. Следует отметить, что умножение на –1 выполняется изменением знакового разряда и, следовательно, не является операцией умножения. Операция умножения на 2 для целочисленной арифметики осуществляется с помощью операции побитового сдвига и также не является операцией умножения. Количество операций сложения и побитового сдвига при использовании рекурсивного алгоритма согласованной фильтрации для биполярных импульсных последовательностей зависит от структуры последовательности, записанной в качестве импульсной характеристики фильтра, а точнее — от количества в ней переходов с 1 на –1 и обратно и не зависит от длительности (количества отсчетов) самой последовательности. Программная реализация, выполненная в среде Mathlab, работы рекурсивного и нерекурсивного алгоритмов согласованной фильтрации для биполярного импульсного сигнала представлена в листинге 1.
clc; clear; x = [–1 –1 –1 –1 1 1 1 1 1 1 1 1]; % входной цифровой сигнал nol = zeros (1, 10); % нули x = [nol x nol nol]; % вставка нулей % нерекурсивная реализация h_1 =[1 1 1 1 1 1 1 1 –1 –1 –1 –1]; % ИХ согласованного фильтра y_1 = filter(h_1, 1, x); % согласованная фильтрация figure; % отображение сигнала на выходе согласованного фильтра plot(y_1); grid on; title('Результат работы нерекурсивного алгоритма'); % Рекурсивная реализация b = [1 0 0 0 0 0 0 0 –2 0 0 0 1]; % коэффициенты числителя передаточной функции a = [1 –1]; % коэффициенты знаменателя передаточной функции y_2 = filter(b, a, x); % согласованная фильтрация figure; % отображение сигнала на выходе согласованного фильтра plot(y_2, 'r'); grid on; title('Результат работы рекурсивного алгоритма');
Комплексная огибающая сложного фазоманипулированного сигнала — это последовательность биполярных прямоугольных импульсов в реальной и мнимой части аналитического сигнала. Следовательно, согласованную фильтрацию необходимо производить отдельно в реальной и мнимой части, с использованием в каждой части согласованного фильтра для вещественного сигнала.
Согласованную фильтрацию со сложным бинарным фазоманипулированным (ФМн‑2) радиосигналом (вещественным или аналитическим) можно выполнить двумя способами: с переносом радиосигнала на нулевую частоту или непосредственно на радиочастоте.
Для переноса радиосигнала на нулевую частоту необходимо умножить его на комплексную экспоненту e–j(2pf0/fs)n, где f0 — частота радиосигнала, fs — частота дискретизации, n — нормированное время, то есть получить комплексный сигнал [4], и провести фильтрацию согласованным фильтром для биполярного импульсного сигнала отдельно реальной и мнимой части сигнала. Для вещественного радиосигнала его зеркальная копия в области отрицательных частот при переносе сигнала на нулевую частоту будет сдвинута на частоту –2f0 и при фильтрации фильтром, согласованным со сложным бинарным сигналом, будет подавлена. Степень подавления зависит от отношения f0/B, где B = 1/T0, T0 — длительность посылки сложного сигнала.
При выполнении согласованной фильтрации на радиочастоте для аналитического сигнала применяются комплексные фильтры. Следовательно, согласованным фильтром к аналитическому сигналу будет комплексный согласованный фильтр. Комплексный согласованный фильтр можно применить и для вещественного сигнала, в этом случае фильтр согласован с одной из копий сигнала — в положительной или отрицательной области частот. При фильтрации комплексным согласованным фильтром аналитического сигнала сложность алгоритма возрастает, так как в данном случае каждый умножитель производит операцию умножения двух комплексных чисел.
Для уменьшения вычислительной сложности применяют быстрые алгоритмы. Так, для радиоимпульса прямоугольной формы (действительного или аналитического) комплексный согласованный фильтр может быть выполнен на основе рекурсивного однородного фильтра.
По определению, передаточную функцию комплексного согласованного фильтра для прямоугольного радиоимпульса с частотой f0 можно записать следующим образом:
где N — число отсчетов на длительности импульса. Следовательно, импульсная характеристика (коэффициенты нерекурсивного фильтра) равна:
Передаточная функция (6) соответствует нерекурсивной форме КИХ-фильтра. Проведем некоторые преобразования, воспользовавшись свойством сходящейся конечной геометрической прогрессии (3), и перейдем к рекурсивной форме фильтра:
Таким образом, передаточная функция (7) равнозначна передаточной функции (6). Несмотря на то, что фильтр с передаточной функцией (7) имеет рекурсивную структуру, он является КИХ-фильтром, поскольку его ИХ конечна. Разностное уравнение имеет вид:
Структурная схема фильтра для вещественного и аналитического входного радиосигнала показана на рис. 3 и 4.
Сложные фазоманипулированные сигналы могут быть сформированы умножением бинарного импульсного сигнала на гармоническое колебание. Тогда передаточную функцию комплексного согласованного фильтра для таких сигналов можно записать следующим образом:
где bk — отсчеты импульсной характеристики согласованного фильтра видеосигнала, принимающие значения 1 или –1, N — порядок фильтра.
Произведем преобразования передаточной функции для получения рекурсивного фильтра подобно тому, как это сделано для видеосигнала. Рассмотрим тот же пример сложного сигнала (формирующая бинарная последовательность отсчетов [–1 –1 –1 –1 1 1 1 1 1 1 1 1]) и получим:
Структурные схемы фильтров согласно выражению (8) для аналитического и вещественного входных сигналов представлены на рис. 5 и 6 соответственно.
Отметим, что количество отводов от линии задержки зависит от структуры сигнала или от количества скачков фазы на π рад, так же как и у СФ для видеосигнала. Места отводов определяются структурой используемого сигнала. В любом случае, первый коэффициент нерекурсивной части фильтра равен 1, последний коэффициент нерекурсивной части фильтра равен ei(2pf0/fs)N, где N — количество отсчетов импульсной характеристики. Знак последнего коэффициента нерекурсивной части фильтра будет зависеть от числа отводов: «+» — при нечетном числе отводов, «–» — при четном числе. Значения остальных коэффициентов числителя передаточной функции будут принимать значение 2ei(2pf0/fs)Nk, где Nk — количество элементов задержки до отвода, знак коэффициента зависит от его порядкового номера: четный номер имеет знак «–», нечетный — «+». Коэффициент рекурсивной части фильтра всегда равен ei(2pf0/fs).
Согласованные фильтры относятся к классу специальных фильтров, следовательно, к ним не предъявляются требования в частотной области. Однако к ним предъявляются требования по устойчивости. КИХ-фильтры являются абсолютно устойчивыми. Рассмотренные выше фильтры представляют собой КИХ-фильтры, но имеют рекурсивную реализацию. Финитность ИХ рекурсивной реализации согласованных фильтров гарантирована строгим совпадением полюса с одним из нулей и нахождением их строго на единичной окружности. Однако в силу конечной разрядности представления чисел абсолютное значение полюса (и нуля) может быть больше единицы. В этом случае фильтр будет неустойчив. Для получения карты нулей и полюсов можно воспользоваться пакетом fvtool. Для предотвращения данного явления при практической реализации следует искусственно уменьшить значения полюса (абсолютное значение комплексного коэффициента в рекурсивной части).
Программная реализация рассмотренных выше алгоритмов для сложных фазоманипулированных сигналов, сформированных на основе 4‑элементной последовательности Баркера, представлена в листинге 2.
clc; clear; % *** ФОРМИРОВАНИЕ СЛОЖНОГО СОСТАВНОГО % ФАЗОМАНИПУЛИРОВАННОГО РАДИОСИГНАЛА *** Fs = 8000; % частота дискретизации b = [1 1 1 –1]; % передаваемая последовательность (Баркера) T = 100; % длительность одного импульса в отсчетах % формирование цифрового сигнала из последовательности u = rectpulse(b, T); n = 0:1:length(u)–1; % нормированное время f0 = 1000; % частота сигнала u0 = sin(2*pi*f0*n/Fs); % гармоническое колебание на частоте f0 s = u.*u0; % сформированный радиосигнал s = [s zeros(1, 420)]; % добавляем нули figure; stem(u); grid on; hold on; plot(s, 'r', 'LineWidth', 2); title('Сложный фазоманипулированный сигнал'); % ************************************************ % s = hilbert(s); % преобразование Гильберта % ************************************************ % *** Алгоритм с рекурсивным комплексным согласованным фильтром (СФ) *** nol = 1:1:T-1; % организация нулевых коэффициентов nol = nol*0; b_1 = [1 nol –2*exp(i*2*pi*T*f0/Fs) [nol 0 nol 0 nol]... exp(i*2*pi*T*4*f0/Fs)]; % числитель передаточной функции a_1 = [1 -exp(i*2*pi*f0/Fs)]; % знаменатель передаточной функции g = filter(b_1, a_1, s);% согласованная фильтрация g = abs(g); % вычисление модуля % ********************************************* % ***** Алгоритм с переносом на нулевую частоту ****** n = 0:1:length(s) – 1; % нормированное время per = cos(2*pi*n*f0/Fs) – i*sin(2*pi*n*f0/Fs); % комплексная экспонента x1 = s.*per; % перенос на нулевую частоту b_2 = [1 nol –2 [nol 0 nol 0 nol] 1]; % числитель передаточной функции a_2 = [1 –1]; % знаменатель передаточной функции y = filter(b_2, a_2, x1); % согласованная фильтрация y = abs(y); % вычисление модуля % % ******** СФ видеосигнала ************* h = fliplr(u); % коэффициенты импульсной характеристики СФ для видеосигнала u = [u zeros(1, 420)]; % добавляем нули r = abs(filter(h, 1, u)); % фильтрация СФ и вычисление модуля % **************************** figure; subplot(3, 1, 1); plot(g); grid on; title ('Алгоритм с рекурсивным комплексным СФ'); subplot(3, 1, 2); plot(y); grid on; title ('Алгоритм с переносом на нулевую частоту'); subplot(3, 1, 3); plot(r); grid on; title ('Согласованная фильтрация видеосигнала'); % **************************** % *** проверка на устойчивость % fvtool(b_1, a_1); % ****************************
- Айфичер Э. С., Джервис Б. У. Цифровая обработка сигналов. Практический подход. Изд. 2-е. Пер. с англ. М.: Вильямс, 2004.
- Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов. Пер. с англ. М.: Мир, 1978.
- Смирнов В. И. Курс высшей математики. М.: Государственное издательство физико-математической литературы, 1961.
- Филимонов В. А., Остроумов О. А. Теория электрической связи. Учеб. пособие. СПб, ВАС, 2015.