Радиотехника и электроника, 2019, T. 64, № 10, стр. 984-990
Цифровые частотно-избирательные фильтры на основе спектров атомарных функций
К. А. Будунова 1, *, В. Ф. Кравченко 1, 2, 3, **, В. И. Пустовойт 2, 3
1 Институт радиотехники и электроники им. В.А. Котельникова РАН
125009 Москва, ул. Моховая, 11, стр. 7, Российская Федерация
2 Московский государственный технический университет им. Н.Э. Баумана
105005 Москва, ул. 2-я Бауманская, 5, Российская Федерация
3 Научно-технологический центр уникального приборостроения РАН
117342 Москва, ул. Бутлерова, 15, Российская Федерация
* E-mail: 1917schw@mail.ru
** E-mail: kvf-ok@mail.ru
Поступила в редакцию 22.01.2019
После доработки 10.02.2019
Принята к публикации 15.02.2019
Аннотация
Впервые предложен метод синтеза цифровых фильтров нижних частот (ФНЧ) на основе спектров атомарных функций ${{{\text{h}}}_{a}}(x).$ Финитная функция ${{{\text{h}}}_{a}}(x)$ является решением задачи о разложении единицы, что позволяет рассматривать сумму ее $S$ сдвигов ${{{\text{h}}}_{{S,a}}}(x)$ как идеальную частотную характеристику ФНЧ. Методом усечения спектра функции ${{{\text{h}}}_{{S,a}}}(x)$ получены цифровые фильтры с быстро затухающими коэффициентами. Построены формулы оценки отклонений частотных характеристик в полосах пропускания и подавления. Рассмотрено применение новых фильтров в задачах многоскоростной обработки сигналов.
ВВЕДЕНИЕ
Цифровые частотно-избирательные фильтры широко используются в обработке сигналов. Наиболее известными методами синтеза цифровых фильтров нижних частот (ФНЧ) с конечной импульсной характеристикой (КИХ) являются методы оконного взвешивания, частотной выборки и оптимизационный [1]. Главными достоинствами методов оптимизации и частотной выборки является их гибкость, проявляющаяся в возможности синтеза ФНЧ с произвольной шириной переходной полосы частот и сколь угодно малыми отклонениями приближенной частотной характеристики (ЧХ) от идеальной [2]. В то же время разработка данных фильтров требует сравнительно большого объема вычислений.
Наиболее простым считается метод оконного синтеза, заключающийся в аппроксимации идеального ФНЧ, имеющего ЧХ
(1)
$H(j\omega ) = \left\{ \begin{gathered} 1,\,\,\,\,\left| \omega \right| \leqslant {{\omega }_{0}}, \hfill \\ 0,\,\,\,\,\left| \omega \right|{\text{ > }}{{\omega }_{0}}, \hfill \\ \end{gathered} \right.$Предлагаемый в данной работе новый метод синтеза КИХ-фильтров низких частот основан на замене идеальной характеристики (1) финитными бесконечно дифференцируемыми функциями – суммами $S$ сдвигов атомарных функций (АФ) ${{{\text{h}}}_{a}}(x)$ [3–6]. В случае $S = 1$ новая идеальная ЧХ имеет вид
Параметр $a$ в (2) позволяет задавать требуемые значения граничных частот фильтра. Вследствие бесконечной дифференцируемости функции ${{{\text{h}}}_{a}}(x)$ ее коэффициенты Фурье быстро затухают. Эффективные КИХ-фильтры на основе (2) могут быть получены простым усечением импульсной характеристики прямоугольным окном. При этом отклонение приближенной ЧХ от идеальной (2) с ростом числа коэффициентов затухает быстрее, чем ${1 \mathord{\left/ {\vphantom {1 {{{N}^{r}}}}} \right. \kern-0em} {{{N}^{r}}}},$ где $N$ – число коэффициентов фильтра, $r$ – любое положительное число [7].
1. АТОМАРНЫЕ ФУНКЦИИ ${{{\text{h}}}_{a}}(x)$ И РАЗЛОЖЕНИЕ КРАВЧЕНКО–КОТЕЛЬНИКОВА
Функция ${{{\text{h}}}_{a}}(x)$ [3–6] определяется как финитное решение функционально-дифференциального уравнения
с условием нормировки Функция ${{{\text{h}}}_{a}}(x)$ может быть представлена интегралом Фурье(3)
${{F}_{a}}(t) = \prod\limits_{k = 1}^\infty {\operatorname{sinc} \left( {\frac{t}{{{{a}^{k}}}}} \right)} .$Носителем финитной функции ${{{\text{h}}}_{a}}(x)$ является отрезок $\left[ {\frac{{ - 1}}{{a - 1}},\frac{1}{{a - 1}}} \right],$
(4)
${{{\text{h}}}_{a}}(x) \equiv 0,\,\,\,\,{{\left| x \right| > 1} \mathord{\left/ {\vphantom {{\left| x \right| > 1} {(a - 1)}}} \right. \kern-0em} {(a - 1)}}.$Атомарная функция ${{{\text{h}}}_{a}}(x)$ при $a > 2$ на отрезке $\left[ { - \frac{{a - 2}}{{a(a - 1)}},\frac{{a - 2}}{{a(a - 1)}}} \right]$ равна константе
(5)
${{{\text{h}}}_{a}}(x) \equiv const = \frac{a}{2},\,\,\,\,\left| x \right| \leqslant \frac{{a - 2}}{{a(a - 1)}}.$Функция ${{{\text{h}}}_{a}}(x)$ – решение задачи о разложении единицы:
(6)
$\frac{2}{a}\sum\limits_{k \in \mathbb{Z}} {{{h}_{a}}\left( {x + \frac{2}{a}k} \right)} \equiv 1.$Свойства (4) и (5) позволяют использовать функции ${{F}_{a}}(t)$ и ${{h}_{a}}(x)$ в качестве соответственно импульсной и частотной характеристик ФНЧ. Пусть функция $f(t)$ имеет финитный спектр $F(\omega ),$ $\operatorname{supp} {\text{ }}F(\omega ) = \left[ { - \Omega ,\Omega } \right].$ Подвергнем $f(t)$ дискретизации с шагом
где $a > 2.$ Полученный дискретный сигнал описывается выражениемРезультатом воздействия на сигнал (7) фильтра с частотной характеристикой
является разложение функции$f(t)$ в ряд Кравченко–Котельникова [3–9]:(8)
$f(t) = \sum\limits_{k = - \infty }^{ + \infty } {f(k\Delta ){{F}_{a}}\left( {\frac{{a\pi }}{\Delta }(t - k\Delta )} \right)} .$Ошибка усечения ряда (8) быстро затухает с ростом числа слагаемых усеченного ряда, причем наилучший результат обеспечивается при выборе параметра $a$ близким к 2 [7]. При $a \to \infty $ ряд (8) совпадает с рядом Уиттекера–Котельникова–Шеннона (УКШ), погрешность усечения которого затухает со скоростью ${1 \mathord{\left/ {\vphantom {1 N}} \right. \kern-0em} N}.$
2. КИХ-ФИЛЬТРЫ НИЖНИХ ЧАСТОТ НА ОСНОВЕ СПЕКТРОВ АТОМАРНЫХ ФУНКЦИЙ ${{{\text{h}}}_{a}}(x)$
2.1. Построение КИХ-фильтров, удовлетворяющих заданным требованиям спецификации
Воспользуемся свойствами (3), (4) АФ ${{{\text{h}}}_{a}}(x)$ и рассмотрим ее в качестве идеальной частотной характеристики ФНЧ. Построим фильтр, удовлетворяющий требованиям спецификации I:
Полоса пропускания $0 \leqslant \omega \leqslant {{\omega }_{0}}.$
Полоса подавления ${{\omega }_{1}} \leqslant \omega \leqslant \pi .$
Отклонение в полосе пропускания и подавления $\delta $.
Граничные частоты полос пропускания и подавления фильтра с частотной характеристикой вида ${{{\text{h}}}_{a}}(C\omega )$ ($C$ – произвольная постоянная) удовлетворяют соотношению
Отсюда следует, что параметр $a$ должен быть задан формулой
Преобразовывая аргумент функции ${{{\text{h}}}_{a}}(\omega )$
(9)
${{{\text{h}}}_{a}}\left( {{{\omega }_{1}}\frac{{{{\omega }_{1}} - {{\omega }_{0}}}}{{{{\omega }_{1}} + {{\omega }_{0}}}}\omega } \right),$получим частотную характеристику, имеющую заданные спецификацией полосы пропускания и подавления. Коэффициенты импульсной характеристики соответствующего фильтра имеют вид
(10)
$h(k) = \frac{{{{\omega }_{1}} + {{\omega }_{0}}}}{{2\pi }}{{F}_{a}}(k(a - 1){{\omega }_{1}}),\,\,\,\,k \in \mathbb{Z}.$При реализации вычислительных методов с использованием АФ ${{{\text{h}}}_{a}}(x)$ обычно используют аппроксимации
(11)
${{P}_{K}}(a,t) = \prod\limits_{k = 1}^K {\operatorname{sinc} \left( {\frac{t}{{{{a}^{k}}}}} \right)} .$Заменим в (10) функцию ${{F}_{a}}(t)$ конечным произведением (11) и получим
(12)
$h(k) = \frac{{{{\omega }_{1}} + {{\omega }_{0}}}}{{2\pi }}{{P}_{K}}(a,k(a - 1){{\omega }_{1}}),\,\,\,\,k \in \mathbb{Z}.$Граничные частоты полос пропускания и подавления фильтра с ИХ (12) определяются следующим образом:
Коэффициенты (12) затухают быстрее коэффициентов идеального ФНЧ. Данное свойство позволяет получить КИХ-фильтр с хорошими характеристиками путем усечения импульсной характеристики (12) прямоугольным окном (рис. 1а, 1б)
(13)
$h(k) = \frac{{{{\omega }_{1}} + {{\omega }_{0}}}}{{2\pi }}{{P}_{K}}(a,k(a - 1){{\omega }_{1}}),\,\,\,\,k = - N,...,N.$Отклонение $\delta $ ЧХ такого фильтра от идеальной (9) в полосах пропускания и подавления подчиняется неравенству
Используя результаты [7], легко получить оценку величины $\delta $
(14)
$\begin{gathered} \delta \leqslant \frac{{{{\omega }_{1}} + {{\omega }_{0}}}}{{2\pi }}{{a}^{{(\eta - 1)\eta /2}}}{{(a - 1)}^{{1 - \eta }}} \times \\ \times \,\,{{\omega }_{1}}^{{1 - \eta }}{{(N + 1)}^{{2 - \eta }}}\left( {\frac{1}{{\eta - 2}} + {{{\left( {N + 1} \right)}}^{{ - 1}}}} \right), \\ \end{gathered} $При этом числа $K$ и $N$, определяющие соответственно число сомножителей частичного произведения ${{P}_{K}}(a,t)$ в (13) и длину фильтра, должны удовлетворять условиям
2.2. Частотные характеристики на основе сумм сдвигов функций ${{{\text{h}}}_{a}}(x)$
Отклонение (14) быстро стремится к нулю при уменьшении параметра $a$. Воспользуемся этим свойством для построения эффективных фильтров. Будем рассматривать функции вида
(15)
$\begin{gathered} {{{\text{h}}}_{{S,a}}}(x) = \frac{1}{S}\sum\limits_{k = 0}^{{S \mathord{\left/ {\vphantom {S 2}} \right. \kern-0em} 2}} {\left( {{{h}_{a}}\left( {x + \frac{{2k + 1}}{a}} \right) + {{{\text{h}}}_{a}}\left( {x - \frac{{2k + 1}}{a}} \right)} \right)} , \\ S = 2n{\text{,}}\,\,\,\,n \in \mathbb{N}, \\ \end{gathered} $(16)
$\begin{gathered} {{{\text{h}}}_{{S,a}}}(x) = \frac{1}{S}\sum\limits_{k = {{ - (S - 1)} \mathord{\left/ {\vphantom {{ - (S - 1)} 2}} \right. \kern-0em} 2}}^{{{(S - 1)} \mathord{\left/ {\vphantom {{(S - 1)} 2}} \right. \kern-0em} 2}} {{{{\text{h}}}_{a}}\left( {x + \frac{{2k}}{a}} \right)} , \\ S = 2n - 1,\,\,\,\,n \in \mathbb{N}, \\ \end{gathered} $(17)
$\operatorname{supp} \,{{{\text{h}}}_{{S,a}}}(x) = \left[ { - \frac{{S(a - 1) + 1}}{{a(a - 1)}},\frac{{S(a - 1) + 1}}{{a(a - 1)}}} \right].$Суммы (15), (16) будут являться частотной характеристикой ФНЧ в случае, когда параметр $a$ удовлетворяет неравенству
Последнее неравенство позволяет уменьшить параметр $a$, не расширяя переходной полосы фильтра, и получить малые значения отклонений. При выполнении (18) имеет место свойство
(19)
${{{\text{h}}}_{{S,a}}}(x) \equiv \frac{a}{2},\,\,\,\,\left| x \right| < \frac{{S(a - 1) - 1}}{{a(a - 1)}}.$Спектр ${{H}_{{S,a}}}(\omega )$ функции ${{{\text{h}}}_{{S,a}}}(x)$ задается выражением
(20)
${{H}_{{S,a}}}(\omega ) = \frac{{\sin \left( {S{\omega \mathord{\left/ {\vphantom {\omega a}} \right. \kern-0em} a}} \right)}}{{S\sin \left( {{\omega \mathord{\left/ {\vphantom {\omega a}} \right. \kern-0em} a}} \right)}}{{F}_{a}}(\omega ).$Функции ${{H}_{{S,a}}}(\omega )$ могут выступать в качестве базисных в обобщенном разложении УКШ. Формула восстановления сигнала $f(t)$ с финитным на отрезке $[ - \Omega ,\Omega ]$ спектром
(21)
$f(t) = \sum\limits_{k = - \infty }^{ + \infty } {f(k\Delta ){{H}_{{S,a}}}\left( {\frac{{a\pi }}{{S\Delta }}(t - k\Delta )} \right)} $справедлива в случае, когда шаг $\Delta $ и параметр $a$ удовлетворяют неравенствам
Построим на основе функций ${{{\text{h}}}_{{S,a}}}(x)$ цифровой КИХ-фильтр с заданными граничными частотами ${{\omega }_{0}}$ и ${{\omega }_{1}}$ полос пропускания и подавления. В соответствии с (17), (19) параметр $a$ определяется выражением
(22)
$a = \frac{{(S - 1)\left( {1 - {{{{\omega }_{0}}} \mathord{\left/ {\vphantom {{{{\omega }_{0}}} {{{\omega }_{1}}}}} \right. \kern-0em} {{{\omega }_{1}}}}} \right) + 2}}{{S(1 - {{{{\omega }_{0}}} \mathord{\left/ {\vphantom {{{{\omega }_{0}}} {{{\omega }_{1}}}}} \right. \kern-0em} {{{\omega }_{1}}}})}}.$Заменяя бесконечное произведение ${{F}_{a}}(t)$ в формуле (20) конечным
и учитывая (19), получим коэффициенты импульсной характеристики искомого КИХ-фильтра
(23)
$\frac{{{{\omega }_{1}} + {{\omega }_{0}}}}{{2\pi }}H_{{S,a}}^{ * }\left( {\frac{{a({{\omega }_{1}} + {{\omega }_{0}})}}{{2S}}k} \right),\,\,\,\,k = - N,...,N.$Отклонение $\delta $ частотной характеристики в полосах пропускания и подавления можно оценить, используя неравенство
(24)
$\begin{gathered} \delta \leqslant \frac{1}{\pi }{{a}^{{(\eta - 1){{(\eta - 2)} \mathord{\left/ {\vphantom {{(\eta - 2)} 2}} \right. \kern-0em} 2}}}}{{\left( {{{\omega }_{1}} + {{\omega }_{0}}} \right)}^{{2 - \eta }}}{{\left( {\frac{{N + 1}}{{2S}}} \right)}^{{2 - \eta }}} \times \\ \times \,\,\left( {\frac{1}{{\eta - 2}} + {{{\left( {N + 1} \right)}}^{{ - 1}}}} \right), \\ \end{gathered} $где
На числа $K$ и $N$ налагаются следующие ограничения:
Вследствие уменьшения параметра $a$ с увеличением числа $S$ оценка (24) для фильтра (23) затухает быстрее оценки (14):
при ω0 = π/5, ω1 = π/2, N = 60. Частотные характеристики КИХ-фильтров (23) представлены на рис. 1. Полученные ФНЧ легко могут быть преобразованы в фильтры верхних частот, а также режекторные и полосовые фильтры.
3. ФИЛЬТРАЦИЯ НИЖНИХ ЧАСТОТ В ДЕЦИМАТОРАХ И ИНТЕРПОЛЯТОРАХ ПРИ МНОГОСКОРОСТНОЙ ОБРАБОТКЕ СИГНАЛОВ
Методы многоскоростной обработки сигналов (МОС) находят применение в радиотехнике, телекоммуникационных системах и биомедицине. Главные операции МОС – интерполяция и децимация – осуществляют соответственно увеличение или уменьшение частоты дискретизации преобразуемого сигнала. Возможность изменения частоты дискретизации сигналов в процессе обработки позволяет снизить требования к вычислительной производительности цифровых систем [2, 10].
3.1. Интерполяция
Рассмотрим ФНЧ (13), (23) в задаче интерполяции низкочастотных сигналов. Общая структурная схема фильтра-интерполятора приведена на рис. 2. Будем предполагать, что шаг дискретизации $\Delta $ исходного сигнала $x(n\Delta )$ удовлетворяет неравенству
В этом случае спектр $X(j\omega )$ сигнала $x(n\Delta )$ не имеет частотных составляющих при $\left| {\omega - \pi } \right| < \frac{\pi }{{S(a - 1)}}$ (рис. 3а). Сигнал подается на экспандер, добавляющий $L - 1$ нулевых отсчетов между каждой парой отсчетов сигнала $x(n\Delta )$. Положим ${{\Delta }_{1}} = {\Delta \mathord{\left/ {\vphantom {\Delta L}} \right. \kern-0em} L}.$ Последовательность $x{\text{*}}(m{{\Delta }_{1}})$ на выходе экспандера определяется по формуле
Ее спектр $X{\text{*}}(j\omega )$ представляет собой сжатые в $L$ раз копии спектра сигнала $x(n\Delta )$ (рис. 3б). Далее сигнал $x{\text{*}}(m{{\Delta }_{1}})$ проходит через ФНЧ, идеальная ЧХ которого имеет вид
формирующий на выходе последовательность $y(m{{\Delta }_{1}})$ с требуемой частотой дискретизации (рис. 3в). Во временной области отсчеты сигнала $y(m{{\Delta }_{1}})$ представляют собой дискретную свертку
При практической реализации системы МОС наиболее часто используются фильтры с конечной импульсной характеристикой. Будем использовать КИХ‑фильтр (23). Выходная последовательность $y(m{{\Delta }_{1}})$ в этом случае вычисляется по формуле
3.2. Децимация
Задача децимации цифрового сигнала $x(n\Delta )$ предполагает его прореживание в $M$ раз. Структурная схема фильтра-дециматора представлена на рис. 4. Чтобы отбрасывание лишних отсчетов не приводило к неразличимости сигнала, входную последовательность $x(n\Delta )$ подвергают низкочастотной фильтрации. Полученный сигнал $y(n\Delta )$ подается на вход компрессора, удаляющего лишние отсчеты. Выходная последовательность $y(m{{\Delta }_{1}})$ с шагом дискретизации ${{\Delta }_{1}} = M\Delta $ в общем случае является сверткой вида
Цифровой ФНЧ дециматора должен удовлетворять требованиям спецификации II [2]:
Полоса пропускания $0 \leqslant \omega \leqslant {{\omega }_{p}}.$
Полоса подавления ${{{{\omega }_{s}}} \mathord{\left/ {\vphantom {{{{\omega }_{s}}} {(2M)}}} \right. \kern-0em} {(2M)}} \leqslant \omega \leqslant {{{{\omega }_{s}}} \mathord{\left/ {\vphantom {{{{\omega }_{s}}} 2}} \right. \kern-0em} 2}.$
Неравномерность в полосе пропускания ${{\delta }_{p}}.$
Неравномерность в полосе подавления ${{\delta }_{s}}.$
Коэффициенты фильтра (23), имеющего указанные спецификацией II полосы пропускания и подавления, определяются формулой
Заданные значения отклонений ${{\delta }_{s}}$ и ${{\delta }_{p}}$ можно получить путем изменения длины фильтра, используя оценку (24).
3.3. Численный эксперимент
Рассмотрим применение фильтров на основе функций ${{F}_{a}}(t)$ в задаче повышения частоты дискретизации в $L$ раз. Исходную последовательность $x(k\Delta )$ определим выражением
Произведем интерполяцию с коэффициентом $L = 2,3,5$ последовательности $x(k\Delta )$ полифазным методом [9]. Будем рассматривать новые фильтры (13) (${{h}_{1}}$) и (23) при $S = 2,3,4$ (${{h}_{2}}$, ${{h}_{3}}$ ${{h}_{4}}$), оптимальный фильтр Чебышева (${{h}_{5}}$), а также фильтры, полученные методом оконного взвешивания идеальной импульсной характеристики весовыми функциями Хэмминга (${{h}_{6}}$), Блэкмана (${{h}_{7}}$) и Кайзера (${{h}_{8}}$) при $\beta = 8.96$ [1, 2]. В таблице 1 приведены величины абсолютной погрешности интерполяции $\varepsilon = \mathop {{\text{max}}}\limits_k \left| {x(k{{\Delta }_{1}}) - y(k{{\Delta }_{1}})} \right|$. Погрешность интерполяции для новых фильтров при $S = 2,3$ на порядок ниже погрешности для фильтров ${{h}_{6}},...,{{h}_{8}}$ на основе окон. Наилучшие результаты получены при применении фильтров (23) с $S = 4$ и оптимальных фильтров Чебышева.
Таблица 1.
Фильтры | L | ||
---|---|---|---|
2 | 3 | 5 | |
${{h}_{1}}$ | 1.66 × 10–5 | 1.52 × 10–5 | 1.64 × 10–5 |
${{h}_{2}}$ | 2.31 × 10–6 | 3.15 × 10–6 | 2.88 × 10–6 |
${{h}_{3}}$ | 9.69 × 10–7 | 1.21 × 10–6 | 1.18 × 10–6 |
${{h}_{4}}$ | 4.31 × 10–7 | 5.22 × 10–7 | 5.12 × 10–7 |
${{h}_{5}}$ | 1.73 × 10–7 | 6.61 × 10–8 | 7.75 × 10–7 |
${{h}_{6}}$ | 9.05 × 10–4 | 7.93 × 10–4 | 8.66 × 10–4 |
${{h}_{7}}$ | 7.62 × 10–6 | 6.43 × 10–6 | 7.25 × 10–6 |
${{h}_{8}}$ | 8.02 × 10–6 | 1.01 × 10–5 | 9.63 × 10–6 |
ЗАКЛЮЧЕНИЕ
Впервые рассмотрены цифровые фильтры низких частот на основе функций ${{F}_{a}}(t).$ Частотные характеристики новых фильтров аппроксимируют атомарные функции. Предложенный метод синтеза отличается простотой и эффективностью. Коэффициенты определяются в явном виде без применения численных методов. Приведенные в работе оценки отклонений позволяют синтезировать фильтр с любой заданной точностью. Рассмотрено применение построенных фильтров в задачах децимации и интерполяции цифровых сигналов.
Список литературы
Гадзиковский В.И. Методы проектирования цифровых фильтров. М.: Горячая линия–Телеком, 2007.
Айфичер Э.С., Джервис Б.У. Цифровая обработка сигналов. М.: ИД “Вильямс”, 2008.
Кравченко В.Ф., Чуриков Д.В. Цифровая обработка сигналов атомарными функциями и вейвлетами / Под ред. Кравченко В.Ф. М.: Техносфера, 2018.
Кравченко В.Ф., Кравченко О.В. Конструктивные методы алгебры логики, атомарных функций, вейвлетов, фракталов в физике и технике / Под ред. Кравченко В.Ф. М.: Техносфера, 2018.
Кравченко В.Ф., Рвачев В.Л. Алгебра логики, атомарные функции и вейвлеты в физических приложениях. М.: Физматлит, 2006.
Кравченко В.Ф. Лекции по теории атомарных функций и некоторым их приложениям. М.: Радиотехника, 2003.
Будунова К.А., Кравченко В.Ф., Пустовойт В.И. // РЭ. 2018. Т. 63. № 9. С. 935.
Зелкин Е.Г., Кравченко В.Ф., Басараб М.А. // РЭ. 2002. Т. 47. № 4. С. 461.
Кравченко В.Ф., Юрин А.В. // РЭ. 2013. Т. 58. № 9. С. 971.
Витязев В.В. Многоскоростная обработка сигналов. М.: Горячая линия–Телеком, 2018.
Дополнительные материалы отсутствуют.
Инструменты
Радиотехника и электроника