RU76185U1 - FREQUENCY FILTER - Google Patents
FREQUENCY FILTER Download PDFInfo
- Publication number
- RU76185U1 RU76185U1 RU2008115603/22U RU2008115603U RU76185U1 RU 76185 U1 RU76185 U1 RU 76185U1 RU 2008115603/22 U RU2008115603/22 U RU 2008115603/22U RU 2008115603 U RU2008115603 U RU 2008115603U RU 76185 U1 RU76185 U1 RU 76185U1
- Authority
- RU
- Russia
- Prior art keywords
- data
- input
- output
- memory
- unit
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Abstract
Полезная модель относится к технологии цифровой обработки сигнала, а конкретно к частотной фильтрации и может быть использована в системах цифровой обработки сигналов. Технический результат заключается в уменьшении «просачивания» помехи из полосы задерживания в полосу пропускания фильтра за счет уменьшения эффекта «растекания спектра» при выполнении операции дискретного преобразования Фурье (ДПФ). Для достижения технического результата в известный частотный фильтр, который содержащий управляющий блок, матрицу памяти, память коэффициентов фильтра, блок коммутации данных, блок формирования выходных данных, блок табличного поиска циклических множителей и одно общее высокоскоростное арифметическое устройство, дополнительно введен блок памяти коэффициентов взвешивающего окна данных. Блок памяти коэффициентов взвешивающего окна данных используется для взвешивания окном данных входного сигнала перед операцией ДПФ и взвешивания обратным окном данных отфильтрованного в частотной области сигнала после операции обратного ДПФ. 5 ил.The utility model relates to digital signal processing technology, and specifically to frequency filtering, and can be used in digital signal processing systems. The technical result consists in reducing the “leakage” of interference from the delay band into the filter passband by reducing the “spreading of the spectrum” effect when performing the discrete Fourier transform (DFT) operation. To achieve a technical result, a well-known frequency filter, which contains a control unit, a memory matrix, a filter coefficient memory, a data switching unit, an output data generation unit, a tabular search unit for cyclic factors, and one common high-speed arithmetic device, additionally, a weighting unit for the coefficients of the weighting data window . The coefficient memory block of the weighting data window is used to weight the input signal before the DFT operation by the data window and to weight the data filtered out in the frequency domain of the signal after the inverse DFT operation by the return window. 5 ill.
Description
Полезная модель относится к технологии цифровой обработки сигнала, конкретно к частотному фильтру и может быть использована в системах цифровой обработки сигналов.The utility model relates to digital signal processing technology, specifically to a frequency filter, and can be used in digital signal processing systems.
В системах цифровой обработки сигнала часто используются фильтры для фильтрации помех, выделения полезных сигналов, формирования сигналов и т.д. В настоящее время дискретные цифровые сигналы линейной стационарной системы обрабатываются преимущественно двумя типами фильтров: временной свертки и частотного перемножения. Поскольку фильтр свертки сигнала во временной области использует вычислительные возможности более рационально благодаря высокоэффективному схемному варианту табличного поиска, то для фильтра с неизменяющейся характеристикой этот тип фильтрации часто используется при разработке микросхем. Вместе с тем, в ряде случаев требуется динамическое изменение формы отклика фильтра на единичный импульс, так что фильтр типа временной свертки вызывает затруднения при проектировании и требует дополнительных ресурсов. В этих случаях фильтрация может быть осуществлена следующим образом: сигнал из временной области преобразуется в частотную область посредством быстрого преобразования Фурье (БПФ), затем сигнал в частотной области умножается на частотный коэффициент фильтра для выполнения фильтрации; и затем отфильтрованный частотный сигнал преобразуется в сигнал во временной области посредством обратного БПФ (ОБПФ) и подается на выход.Digital signal processing systems often use filters to filter out interference, extract useful signals, generate signals, etc. Currently, discrete digital signals of a linear stationary system are processed mainly by two types of filters: time convolution and frequency multiplication. Since the signal convolution filter in the time domain uses computational capabilities more efficiently due to the highly efficient circuit variant of the table search, this type of filtering is often used in the development of microcircuits for a filter with a constant characteristic. At the same time, in some cases, a dynamic change in the shape of the filter response to a single pulse is required, so that a filter such as a temporary convolution causes design difficulties and requires additional resources. In these cases, filtering can be performed as follows: the signal from the time domain is converted to the frequency domain by means of a fast Fourier transform (FFT), then the signal in the frequency domain is multiplied by the frequency coefficient of the filter to perform filtering; and then the filtered frequency signal is converted into a signal in the time domain by an inverse FFT (IFFT) and is output.
Известен цифровой фильтр по патенту RU 2123758 от 20.12.1998, содержащий блок дискретного преобразования Фурье (ДПФ), блок умножения, узел повышения спектрального разрешения, а также блок обратного дискретного преобразования Фурье (ОДПФ).Known digital filter according to patent RU 2123758 from 12.20.1998, containing a block of discrete Fourier transform (DFT), a multiplication block, a node for increasing spectral resolution, as well as a block of inverse discrete Fourier transform (ODPF).
Поскольку в вышеупомянутой схеме сигнал непосредственно обрабатывается с помощью ДПФ и ОДПФ, то возможны скачки фазы в сигнале данных вблизи части заголовка и концевой части сегмента данных, прошедших преобразование Фурье, после фильтрации сигнала, что весьма негативно влияет на фильтрацию и может привести к нелинейности фазы отфильтрованного сигнала. Кроме того, при операции ДПФ над входным сигналом возможно проявление эффекта «растекания спектра», что негативно влияет на корректный перевод анализируемого сигнала из временной области в частотную. При этом, частотный коэффициент фильтра в этой схеме не может быть динамически изменен извне.Since in the aforementioned scheme the signal is directly processed using DFT and DFT, it is possible that the phase jumps in the data signal near the part of the header and the end of the data segment that underwent the Fourier transform after filtering the signal, which negatively affects the filtering and can lead to non-linearity of the filtered phase signal. In addition, during the DFT operation on the input signal, the “spreading of the spectrum” effect may occur, which negatively affects the correct transfer of the analyzed signal from the time domain to the frequency domain. Moreover, the frequency coefficient of the filter in this circuit cannot be dynamically changed externally.
Наиболее близким, принятым за прототип, является частотный фильтр по патенту RU 2308153 С2 от 10.10.2007. Принцип динамической фильтрации в частотной области согласно прототипа показан на фиг.1, причем процесс фильтрации включает в себя следующие этапы:The closest adopted for the prototype is the frequency filter according to patent RU 2308153 C2 of 10.10.2007. The principle of dynamic filtering in the frequency domain according to the prototype is shown in figure 1, and the filtering process includes the following steps:
Этап 101: входной сигнал временной области, т.е. входной поток данных, перекрывается. Более конкретно: входной поток данных делится на множество сегментов данных с определенной степенью перекрытия.Step 101: an input signal of a time domain, i.e. input data stream is blocked. More specifically: the input data stream is divided into many data segments with a certain degree of overlap.
Этап 102: выполнение БПФ для каждого перекрывающегося сегмента соответственно.Step 102: performing an FFT for each overlapping segment, respectively.
Этап 103: каждый сегмент данных в частотной области после БПФ умножается на коэффициент фильтра для выполнения фильтрации в частотной области, причем коэффициент фильтра сохраняется в памяти 106 коэффициентов фильтра, которая может быть обновлена в реальном времени программным образом или с помощью арифметической схемы для динамического обновления характеристик фильтра в частотной области.Step 103: each data segment in the frequency domain after the FFT is multiplied by a filter coefficient to perform filtering in the frequency domain, the filter coefficient being stored in a filter coefficient memory 106, which can be updated in real time programmatically or using an arithmetic circuit to dynamically update the characteristics filter in the frequency domain.
Этап 104: выполнение ОБПФ для каждого сегмента данных, который был отфильтрован в частотной области, соответственно для восстановления сегмента данных во временной области.Step 104: performing an IFFT for each data segment that has been filtered in the frequency domain, respectively, to restore the data segment in the time domain.
Этап 105: выполнение обработки обращенного перекрытия сегментов данных во временной области, полученных на этапе 104, для получения на выходе потока данных во временной области.Step 105: performing reverse overlap processing of the data segments in the time domain obtained in step 104 to obtain the output of the data stream in the time domain.
Принцип обработки перекрытия и обращенного перекрытия показан на фиг.2. Предположим, что S1 есть входной сигнал во временной области, арифметическая длина S1 для БПФ есть N и длина перекрытия есть L, то, начиная от первой точки выборки S1, сегмент данных выборки длиной N берется на интервале данных (N-L), для которого данные длиной L, начиная от конца каждого сегмента данных, те же самые, что и первые данные длиной L следующего сегмента данных, т.е. длина перекрытия составляет L. Поэтому S1 последовательно делится на несколько сегментов, и каждый сегмент имеет длину N и длину перекрытия L. Таким образом выполняется обработка перекрытия временного сигнала S1.The principle of processing overlap and reverse overlap is shown in figure 2. Suppose that S1 is the input signal in the time domain, the arithmetic length S1 for the FFT is N and the overlap length is L, then, starting from the first sampling point S1, the sample data segment of length N is taken on the data interval (NL), for which data of length L, starting from the end of each data segment, are the same as the first data of length L of the next data segment, i.e. the overlap length is L. Therefore, S1 is successively divided into several segments, and each segment has a length N and an overlap length L. Thus, the overlap processing of the temporary signal S1 is performed.
После обработки перекрытия сегменты данных F1 обрабатываются посредством БПФ фильтрации во временной области и ОБПФ соответственно. Затем обработанные таким образом временные сегменты данных F1 выводятся для обработки обращенного перекрытия, как описано ниже.After overlap processing, the data segments F1 are processed by FFT filtering in the time domain and IFFT, respectively. Then, the thus-processed temporary data segments F1 are output for inverse overlap processing, as described below.
Первые L/2 данные и последние L/2 данные каждого из F1 сегментов, которые требуют обработки обращенного перекрытия, удаляются, а оставшиеся (N-L) данные каждого сегмента извлекаются и комбинируются исходя из порядка обработки перекрытия для The first L / 2 data and the last L / 2 data of each of the F1 segments that require reverse overlap processing are deleted, and the remaining (N-L) data of each segment is extracted and combined based on the overlap processing order for
получения желаемых данных после фильтрации в частотной области. Поскольку первые L/2 данные и последние L/2 данные каждого из сегментов удалены в обработке обращенного перекрытия, то данные крайних частей сегмента не выводятся, и фильтрующий эффект значительно улучшен. При увеличенной длительности перекрытия L параметры фильтрации становятся лучше, но ресурсы для реализации и соответствующие затраты также значительно возрастает.obtaining the desired data after filtering in the frequency domain. Since the first L / 2 data and the last L / 2 data of each of the segments are deleted in the inverse overlap processing, data of the extreme parts of the segment are not output, and the filtering effect is significantly improved. With an increased overlap duration L, the filtering parameters become better, but the resources for implementation and the corresponding costs also increase significantly.
Схема, иллюстрирующая реализацию динамического частотного фильтра согласно прототипа, представлена на фиг.3. Частотный фильтр-прототип содержит управляющий блок, матрицу памяти, память коэффициентов фильтра, блок коммутации данных, блок табличного поиска циклических множителей, блок формирования выходных данных и, по меньшей мере, одно общее высокоскоростное арифметическое устройство.A diagram illustrating the implementation of a dynamic frequency filter according to the prototype is presented in figure 3. The prototype frequency filter contains a control unit, a memory matrix, filter coefficient memory, a data switching unit, a table search unit for cyclic factors, an output data generating unit, and at least one common high-speed arithmetic device.
Частотный фильтр-прототип работает следующим образом.The frequency filter prototype works as follows.
Данные временной области, подлежащие фильтрации в частотной области, вводятся через шину входных данных в матрицу памяти; матрица памяти выводит отфильтрованные в частотной области данные временной области через шину данных на блок формирования выходных данных, и окончательно отфильтрованные данные временной области выводятся после регулировки уровня, причемTime-domain data to be filtered in the frequency domain is inputted through an input data bus into a memory matrix; the memory matrix outputs the time-domain-filtered data through the data bus to the output data generating unit, and the finally-filtered time-domain data is output after level adjustment, wherein
управляющий блок связан с матрицей памяти через линию сигнала считывания/записи и линии сигнала адресации;the control unit is connected to the memory matrix through the line of the read / write signal and the line of the address signal;
управляющий блок связан с введенным извне синхросигналом данных временной области;the control unit is connected to the time-domain data clock input from the outside;
управляющий блок выводит сигнал управления объединением данных на блок формирования выходных данных для управления стробом и объединением отфильтрованных данных временной области;the control unit outputs a data combining control signal to an output data generating unit for controlling the strobe and combining the filtered data of the time domain;
управляющий блок выводит сигнал управления табличным поиском на блок табличного поиска циклических множителей для управления табличным поиском, синхронизированным с преобразованием Фурье и обратным преобразованием Фурье, и подает соответствующий циклический множитель на общее высокоскоростное арифметическое устройство;the control unit outputs the table search control signal to the table search unit of cyclic factors for controlling the table search synchronized with the Fourier transform and the inverse Fourier transform, and supplies the corresponding cyclic factor to a common high-speed arithmetic device;
управляющий блок выводит сигнал управления коммутацией данных на блок коммутации данных для управления стробом ввода/вывода данных матрицы памяти и коммутацией между данными для операции преобразования Фурье и данными для операции частотной фильтрации в общем высокоскоростном арифметическом устройстве; причем матрица памяти и блок коммутации данных соединены посредством двунаправленной шины, a control unit outputs a data switching control signal to a data switching unit for controlling a data input / output strobe of a memory matrix and switching between data for a Fourier transform operation and data for a frequency filtering operation in a general high-speed arithmetic device; moreover, the memory matrix and the data switching unit are connected via a bi-directional bus,
и блок коммутации данных и общее высокоскоростное арифметическое устройство также соединены посредством двунаправленной шины данных;and the data switching unit and the common high-speed arithmetic device are also connected via a bi-directional data bus;
управляющий блок выводит сигнал управления состояниями на общее высокоскоростное арифметическое устройство для управления коммутацией между преобразованием Фурье и операцией фильтрации в частотной области;the control unit outputs the state control signal to a common high-speed arithmetic device for controlling the switching between the Fourier transform and the filtering operation in the frequency domain;
память коэффициентов фильтра получает управляющий синхросигнал извне и посылает на общее высокоскоростное арифметическое устройство значение коэффициента фильтра, или получает сигнал обновления коэффициента извне для обновления автономносохраненного коэффициента фильтра.the filter coefficient memory receives the control clock from the outside and sends the filter coefficient value to the general high-speed arithmetic device, or receives the coefficient update signal from the outside to update the autosaved filter coefficient.
Недостатком известного частотного фильтра-прототипа является возможность «просачивания» помехи из полосы задерживания в полосу пропускания фильтра, которая возникает из-за наличия явления «растекания спектра» при выполнении дискретного преобразования Фурье.A disadvantage of the known frequency filter prototype is the ability to "leak" interference from the delay band into the passband of the filter, which occurs due to the presence of the phenomenon of "spreading of the spectrum" when performing a discrete Fourier transform.
Техническим результатом, на достижение которого направлено изобретение, является снижение «просачивания» помехи из полосы задерживания в полосу пропускания фильтра счет уменьшения эффекта «растекания спектра» путем использования взвешивающих окон.The technical result to which the invention is directed is to reduce the “leakage” of interference from the delay band into the passband of the filter by reducing the effect of “spreading of the spectrum” by using weighting windows.
При вычислении спектра сигнала с помощью дискретного преобразования Фурье возможен следующий нежелательный эффект. При разложении функции в ряд Фурье полагается, что функция периодическая, с периодом, равным размеру ДПФ. При этом если значения начальных и конечных отсчетов сигнала сильно различаются, при периодическом повторении на стыках сегментов возникают скачки, из-за которых спектр сигнала расширяется. Это явление называется «растеканием спектра».When calculating the signal spectrum using the discrete Fourier transform, the following undesirable effect is possible. When expanding a function in a Fourier series, it is assumed that the function is periodic, with a period equal to the size of the DFT. Moreover, if the values of the initial and final samples of the signal are very different, during periodic repetition, jumps occur at the joints of the segments, due to which the signal spectrum expands. This phenomenon is called "spreading of the spectrum."
Поскольку сигнал на входе фильтра сегментируется для преобразования Фурье, то его удобно рассматривать как некоторую часть соответствующего бесконечного сигнала, видимого через применяемое окно. Например, сегмент анализируемого сигнала s[i] из N отсчетов математически можно записать как произведение прямоугольной функции единичной амплитудыSince the signal at the input of the filter is segmented for the Fourier transform, it is convenient to consider it as some part of the corresponding infinite signal visible through the applied window. For example, the segment of the analyzed signal s [i] from N samples can be mathematically written as the product of a rectangular function of unit amplitude
и бесконечного сигнала S1[i]:and infinite signal S1 [i]:
s[i]=S1[i]·rect[i],s [i] = S1 [i] · rect [i],
где i - номер отсчета анализируемого сигнала.where i is the reference number of the analyzed signal.
При этом принимается очевидное допущение о том, что все отсчеты сигнала, не попавшие в рассматриваемый сегмент, равны нулю независимо от того, так это на самом In this case, the obvious assumption is made that all the signal samples that do not fall into the segment under consideration are equal to zero, regardless of the fact
деле или нет. Дискретное преобразование Фурье взвешенного окном сегмента, выраженного через преобразования сигнала S1[i] и прямоугольного окна rect[i], равно свертке этих преобразований:matter or not. The discrete Fourier transform of the window-weighted segment, expressed through transformations of the signal S1 [i] and the rectangular rect [i] window, is equal to the convolution of these transformations:
Gs(f)=GS1(f)*DN(f),G s (f) = G S1 (f) * D N (f),
где Gs(f) - спектр сегмента анализируемого сигнала,where G s (f) is the spectrum of the segment of the analyzed signal,
GS1(f) - спектр анализируемого сигнала,G S1 (f) is the spectrum of the analyzed signal,
DN(f) - дискретная функция sinc, или ядро Дирихле, представляет собой ДПФ прямоугольной функции.D N (f) - discrete function sinc, or Dirichlet kernel, is a DFT of a rectangular function.
Преобразование анализируемого конечного сегмента является искаженной версией преобразования бесконечного сигнала S1[i]. Минимальная ширина спектральных пиков взвешенного окном сегмента сигнала ограничена шириной, определяемой главным лепестком преобразования используемого окна, и не зависит от исходных данных сигнала. Боковые лепестки преобразования окна будут изменять амплитуды соседних гармоник. Поскольку ДПФ - периодическая функция, то наложение боковых лепестков от соседних спектральных гармоник может привести к дополнительному смещению.The transformation of the analyzed end segment is a distorted version of the transformation of the infinite signal S1 [i]. The minimum width of the spectral peaks of the signal-weighted window segment of the signal is limited by the width determined by the main lobe of the conversion used window, and does not depend on the original signal data. The side lobes of the window transform will change the amplitudes of the neighboring harmonics. Since the DFT is a periodic function, the superposition of side lobes from neighboring spectral harmonics can lead to additional bias.
Просачивание на соседние частоты через боковые лепестки окна данных приводит не только к появлению амплитудных ошибок, но может также маскировать присутствие слабых сигналов, что особенно важно, например, при использовании частотного фильтра в задачах подавления узкополосных помех.Leakage to adjacent frequencies through the side lobes of the data window leads not only to the appearance of amplitude errors, but can also mask the presence of weak signals, which is especially important, for example, when using a frequency filter in problems of suppressing narrow-band interference.
Для устранения этого эффекта применяются взвешивающие функции (окна данных), например, Хемминга, Блэкмана, Хеннинга, Наттолла и др. (См. Марпл.-мл. С.Л. Цифровой спектральный анализ и его приложения / Пер. с анг. М.: Мир, 1990. 584 с.). Входные отсчеты анализируемого сегмента умножаются на соответствующую функцию окна, что влечет за собой уменьшение амплитуды сигнала на краях сегмента. Различные окна данных имеют разные характеристики, такие как ширина полосы основного лепестка, пиковый уровень боковых лепестков, скорость спадания боковых лепестков, и должны подбираться в зависимости от решаемой частотным фильтром задачи. Выбор функции окна данных является, прежде всего, компромиссом между увеличением ширины полосы основного лепестка и размером боковых лепестков, приводящих к «растеканию спектра». Так при обработке сигнала с малым динамическим диапазоном спектра желательно использовать окна данных с малой шириной полосы основного лепестка (окна данных с высоким разрешением по частоте) и с удовлетворительным уровнем просачивания через боковые лепестки, такие как прямоугольное окно, окно Хемминга, Хеннинга и др. При обработке сигнала с высоким динамическим диапазоном спектра, To eliminate this effect, weighting functions (data windows) are used, for example, Hamming, Blackman, Henning, Nuttall, etc. (See Marpl.-ml. S.L. Digital Spectral Analysis and its Applications / Transl. From English M. : World, 1990.584 s.). The input samples of the analyzed segment are multiplied by the corresponding window function, which entails a decrease in the signal amplitude at the edges of the segment. Different data windows have different characteristics, such as the bandwidth of the main lobe, the peak level of the side lobes, the decay rate of the side lobes, and should be selected depending on the problem being solved by the frequency filter. The choice of the function of the data window is, above all, a compromise between increasing the bandwidth of the main lobe and the size of the side lobes, leading to "spreading of the spectrum." So, when processing a signal with a small dynamic range of the spectrum, it is desirable to use data windows with a small bandwidth of the main lobe (data windows with high resolution in frequency) and with a satisfactory level of leakage through the side lobes, such as a rectangular window, a Hamming, Hanning window, etc. signal processing with a high dynamic range of the spectrum,
например, при наличии мощной узкополосной помехи, желательно использовать окна данных с низким пиковым уровнем боковых лепестков, но с более широкой полосой основного лепестка, такие как окно Наттолла, Блэкмана-Харриса и др. Причем желательно, чтобы окно данных, используемое при ДПФ, могло меняться программным или аппаратным методом в зависимости от решаемое фильтром задачи и характеристик входного сигнала.for example, in the presence of powerful narrowband interference, it is desirable to use data windows with a low peak level of the side lobes, but with a wider band of the main lobe, such as the Nuttall, Blackman-Harris, and others. Moreover, it is desirable that the data window used in the DFT could change by software or hardware method depending on the problem being solved by the filter and the characteristics of the input signal.
Для достижения технического результата в известный частотный фильтр, содержащий управляющий блок, матрицу памяти, память коэффициентов фильтра, блок коммутации данных, блок формирования выходных данных, блок табличного поиска циклических множителей и, по крайней мере, одно общее высокоскоростное арифметическое устройство, дополнительно введен блок памяти коэффициентов взвешивающего окна данных, причемTo achieve a technical result, a memory block is additionally introduced into a known frequency filter containing a control unit, a memory matrix, a filter coefficient memory, a data switching unit, an output data generating unit, a table search unit for cyclic factors, and at least one common high-speed arithmetic device coefficients of the weighting data window, and
данные временной области, подлежащие фильтрации в частотной области, вводятся через шину данных в матрицу памяти; матрица памяти выводит отфильтрованные в частотной области данные временной области через шину данных на блок формирования выходных данных, и окончательно отфильтрованные данные временной области поступают на выход частотного фильтра;time-domain data to be filtered in the frequency domain is inputted through the data bus into the memory matrix; the memory matrix outputs the time-domain-filtered data through the data bus to the output data generating unit, and the finally-filtered time-domain data is output to the frequency filter;
управляющий блок связан с матрицей памяти через линию сигнала считывания/записи и линии сигнала адресации;the control unit is connected to the memory matrix through the line of the read / write signal and the line of the address signal;
управляющий блок связан с введенным извне синхросигналом данных временной области;the control unit is connected to the time-domain data clock input from the outside;
управляющий блок выводит сигнал управления объединением данных на блок формирования выходных данных для управления стробом и объединением отфильтрованных данных временной области;the control unit outputs a data combining control signal to an output data generating unit for controlling the strobe and combining the filtered data of the time domain;
управляющий блок выводит сигнал управления табличным поиском на блок табличного поиска циклических множителей для управления табличным поиском, синхронизированным с преобразованием Фурье и обратным преобразованием Фурье, и подачей соответствующего циклического множителя на общее высокоскоростное арифметическое устройство;the control unit outputs a table search control signal to a table search unit of cyclic factors for controlling a table search synchronized with the Fourier transform and the inverse Fourier transform, and supplying the corresponding cyclic factor to a common high-speed arithmetic device;
управляющий блок выводит сигнал управления коммутацией данных на блок коммутации данных для управления стробом ввода/вывода данных матрицы памяти и коммутацией между данными для операций взвешивания окном данных, данными для преобразования Фурье и данными для операции частотной фильтрации в общем высокоскоростном арифметическом устройстве; причем матрица памяти и блок коммутации данных соединены посредством двунаправленной шины, и блок коммутации данных и the control unit outputs a data switching control signal to a data switching unit for controlling a data input / output strobe of a memory matrix and switching between data for weighting operations by a data window, data for a Fourier transform and data for a frequency filtering operation in a general high-speed arithmetic device; moreover, the memory matrix and the data switching unit are connected via a bi-directional bus, and the data switching unit and
общее высокоскоростное арифметическое устройство также соединены посредством двунаправленной шины данных;a common high-speed arithmetic device is also connected via a bi-directional data bus;
управляющий блок выводит сигнал управления состояниями на общее высокоскоростное арифметическое устройство для управления коммутацией между операцией взвешивания окном данных, преобразованием Фурье и операцией фильтрации в частотной области;the control unit outputs a state control signal to a common high-speed arithmetic device for controlling the switching between the weighing operation of the data window, the Fourier transform and the filtering operation in the frequency domain;
память коэффициента фильтра получает управляющий синхросигнал извне и посылает на общее высокоскоростное арифметическое устройство значение коэффициента фильтра, или получает сигнал обновления коэффициента извне для обновления автономносохраненного коэффициента фильтра;the filter coefficient memory receives the control clock signal from the outside and sends the filter coefficient value to the general high-speed arithmetic device, or receives the coefficient coefficient update signal from the outside to update the autosaving filter coefficient;
управляющий блок выводит управляющий синхросигнал в память коэффициентов фильтра для приведения памяти в защищенное от записи состояние, когда память работает, и вывода из защищенного от записи состояния, когда память ожидает обновления коэффициента фильтра;the control unit outputs the control clock signal to the filter coefficient memory to bring the memory into a write-protected state when the memory is running, and output from the write-protected state when the memory is waiting for the filter coefficient to be updated;
блок памяти коэффициентов взвешивающего окна данных получает управляющий синхросигнал извне и посылает на общее высокоскоростное арифметическое устройство значение коэффициента взвешивающего окна данных, или получает сигнал обновления коэффициента извне для обновления автономносохраненного коэффициента взвешивающего окна данных;the coefficient block of the data weighting window coefficients receives the control clock signal from the outside and sends the coefficient of the data weighting window coefficient to the general high-speed arithmetic device, or receives the coefficient update signal from the outside to update the autosaving coefficient of the data window;
управляющий блок выводит управляющий синхросигнал в блок памяти коэффициентов взвешивающего окна данных для приведения памяти в защищенное от записи состояние, когда память работает, и вывода из защищенного от записи состояния, когда память ожидает обновления коэффициента взвешивающего окна данных.the control unit outputs the control clock signal to the coefficient memory block of the data weighting window to bring the memory into a write-protected state when the memory is running, and output from the write-protected state when the memory is waiting for the update of the weighting data window coefficient.
Схема, иллюстрирующая принцип динамической фильтрации в частотной области с использованием взвешивающего окна данных согласно полезной модели, приведена на фиг.4, причем процесс фильтрации включает в себя следующие этапы:A diagram illustrating the principle of dynamic filtering in the frequency domain using a weighting data window according to a utility model is shown in Fig. 4, and the filtering process includes the following steps:
Этап 401: входной сигнал временной области, т.е. входной поток данных, перекрывается.Step 401: time-domain input, i.e. input data stream is blocked.
Этап 402: каждый сегмент данных во временной области умножается на взвешивающее окно данных, коэффициенты которого сохраняются в памяти 409 коэффициентов взвешивающего окна данных и могут быть обновлены в реальном времени.Step 402: each data segment in the time domain is multiplied by a weighting data window, the coefficients of which are stored in the coefficient memory 409 of the weighting data window and can be updated in real time.
Этап 403: выполнение БПФ для каждого перекрывающегося сегмента данных, взвешенных окном, соответственно.Step 403: performing an FFT for each overlapping data segment weighted by the window, respectively.
Этап 404: каждый взвешенный сегмент данных в частотной области после БПФ умножается на коэффициент фильтра для выполнения фильтрации в частотной области, причем коэффициент фильтра сохраняется в памяти 408 коэффициентов фильтра, которая может быть обновлена в реальном времени.Step 404: each weighted data segment in the frequency domain after the FFT is multiplied by a filter coefficient to perform filtering in the frequency domain, the filter coefficient being stored in a filter coefficient memory 408 that can be updated in real time.
Этап 405: выполняется ОБПФ для каждого взвешенного сегмента данных, который был отфильтрован в частотной области, для восстановления взвешенного сегмента данных во временной области.Step 405: IFFT is performed for each weighted data segment that has been filtered in the frequency domain to recover the weighted data segment in the time domain.
Этап 406: каждый взвешенный сегмент данных, полученный на этапе 405, умножается на обратное взвешивающее окно данных, коэффициенты которого сохраняются в памяти 409 коэффициентов взвешивающего окна данных.Step 406: each weighted data segment obtained in step 405 is multiplied by a reverse weighting data window, the coefficients of which are stored in the coefficient memory 409 of the data weighting window.
Этап 407: выполнение обработки обращенного перекрытия сегментов данных во временной области, полученных на этапе 406, для получения на выходе потока данных во временной области.Step 407: performing reverse overlap processing of data segments in the time domain obtained in step 406 to obtain an output data stream in the time domain.
Нацеленная на устранение недостатков схемы частотной фильтрации, описанной в прототипе, характеризующейся возможностью «просачивания» помехи из полосы задерживания в полосу пропускания фильтра, которая возникает из-за наличия явления «растекания спектра» при выполнении операции БПФ, настоящая полезная модель уменьшает «просачивание» помехи путем введения операции взвешивания сегмента данных перед выполнением БПФ и операции взвешивания обратным окном данных после выполнения фильтрации в частотной области и ОБПФ. Кроме того, полезная модель предусматривает память коэффициентов взвешивающего окна данных, обеспечивающую удобное, быстрое и динамичное обновление коэффициентов взвешивающего окна данных, что будет иметь многие приложения в системах, требующих адаптивной фильтрации.Aiming at eliminating the disadvantages of the frequency filtering scheme described in the prototype, characterized by the possibility of "leakage" of interference from the delay band into the passband of the filter, which occurs due to the presence of the phenomenon of "spreading of the spectrum" during the FFT operation, this useful model reduces the "leakage" of interference by introducing the operation of weighing the data segment before performing the FFT and the operation of weighing the return data window after performing filtering in the frequency domain and IFFT. In addition, the utility model provides a memory of the coefficients of the weighting data window, which provides a convenient, fast and dynamic update of the coefficients of the weighting data window, which will have many applications in systems that require adaptive filtering.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного технического решения, отсутствуют, что указывает на соответствие заявленного устройства условию патентоспособности «новизна».The analysis of the prior art made it possible to establish that analogues that are characterized by a combination of features identical to all the features of the claimed technical solution are absent, which indicates the compliance of the claimed device with the patentability condition of "novelty".
Заявленное устройство поясняется чертежами:The claimed device is illustrated by drawings:
фиг.1 - схема, иллюстрирующая принцип динамической фильтрации в частотной области согласно прототипу;figure 1 is a diagram illustrating the principle of dynamic filtering in the frequency domain according to the prototype;
фиг.2 - схема, иллюстрирующая принцип обработки сигнала с перекрытием и обращенным перекрытием согласно прототипу;figure 2 is a diagram illustrating the principle of signal processing with overlap and reverse overlap according to the prototype;
фиг.3 - схема, иллюстрирующая реализацию динамического частотного фильтра согласно прототипу;figure 3 is a diagram illustrating the implementation of a dynamic frequency filter according to the prototype;
фиг.4 - схема, иллюстрирующая принцип динамической фильтрации в частотной области с использованием взвешивающего окна данных согласно полезной модели;4 is a diagram illustrating the principle of dynamic filtering in the frequency domain using a weighting data window according to a utility model;
фиг.5 - схема, иллюстрирующая реализацию динамического частотного фильтра с использованием взвешивающего окна данных согласно полезной модели;5 is a diagram illustrating an implementation of a dynamic frequency filter using a weighting data window according to a utility model;
фиг.6 - схема, иллюстрирующая структуру блока коммутации данных.6 is a diagram illustrating the structure of a data switching unit.
Как показано на фиг.5, предлагаемый настоящей полезной моделью частотный фильтр содержит управляющий блок 501, матрицу 502 памяти, память 503 коэффициентов фильтра, блок 504 коммутации данных, блок 506 формирования выходных данных, блок 507 табличного поиска циклических множителей, блок 508 памяти коэффициентов взвешивающего окна данных и, по меньшей мере, одно общее высокоскоростное арифметическое устройство 505. Управляющий блок 501 выводит семь управляющих сигналов, подаваемых на матрицу 502 памяти, память 503 коэффициентов фильтра, блок 504 коммутации данных, общее высокоскоростное арифметическое устройство 505, блок 506 формирования выходных данных, блок 507 табличного поиска циклических множителей, блок 508 памяти коэффициентов взвешивающего окна данных соответственно. Кроме того, входной управляющий сигнал извне посылается на управляющий блок 501.As shown in FIG. 5, the frequency filter proposed by the present utility model comprises a control unit 501, a memory matrix 502, a filter coefficient memory 503, a data switching unit 504, an output data generating unit 506, a cyclic factor table search unit 507, a weighting coefficient memory unit 508 data windows and at least one common high-speed arithmetic device 505. The control unit 501 outputs seven control signals supplied to a memory matrix 502, a filter coefficient memory 503, a switching unit 504 data, a common high-speed arithmetic device 505, an output data generating unit 506, a cyclic multiplier tabular search unit 507, a coefficient weighting unit 508 of the data weighting window, respectively. In addition, an input control signal is externally sent to control unit 501.
Управляющий сигнал 12 управляющего блока 501 обеспечивает сигналы управления считыванием/записью и управления стробом для матрицы памяти, чтобы управлять операциями считывания и записи в процессе ввода, вывода, перекрытия, обращенного перекрытия, взвешивания окном данных, взвешивания обратным окном данных, сходящегося вычисления и фильтрации данных в частотной области. Управляющий сигнал 13 является сигналом управления формированием выходных данных, который управляет стробом и формированием окончательных выходных данных во временной области из различных блоков памяти. Управляющий сигнал 14 является синхронизирующим управляющим сигналом памяти коэффициентов фильтра, который управляет памятью коэффициентов фильтра, посылая коэффициент фильтра на общее высокоскоростное арифметическое устройство, тем самым осуществляя защиту от записи для памяти коэффициентов фильтра, когда коэффициент фильтра используется, но аннулирует защиту от записи в ждущем состоянии так, что коэффициент фильтра может быть обновлен. Управляющий сигнал 15 является управляющим сигналом табличного поиска, который обеспечивает синхронизацию табличного поиска с операциями БПФ/ОБПФ и управляет блоком табличного поиска циклических множителей для выведения соответствующего циклического множителя при выполнении БПФ и ОБПФ. Управляющий сигнал 16 является сигналом управления состояниями общего высокоскоростного арифметического устройства, который управляет переключением между состояниями взвешивания окном данных, The control signal 12 of the control unit 501 provides read / write and strobe control signals for the memory matrix to control the read and write operations during input, output, overlap, reverse overlap, weighting by the data window, weighting by the data back window, convergent calculation and data filtering in the frequency domain. The control signal 13 is a control signal for generating output data, which controls the strobe and generating the final output in the time domain from various memory blocks. The control signal 14 is a synchronizing control signal of the filter coefficient memory, which controls the filter coefficient memory by sending the filter coefficient to a common high-speed arithmetic device, thereby providing write protection for the filter coefficient memory when the filter coefficient is used, but cancels the write protection in the standby state so that the filter coefficient can be updated. The control signal 15 is a table search control signal that synchronizes the table search with FFT / IFFT operations and controls the table search unit of cyclic factors to derive the corresponding cyclic factor when performing FFT and IFFT. The control signal 16 is a state control signal of a common high-speed arithmetic device that controls the switching between the weighing states of the data window,
сходящегося вычисления и фильтрации в частотной области. Управляющий сигнал 17 является сигналом управления коммутацией данных, который управляет стробом ввода/вывода данных блоков памяти и общего высокоскоростного арифметического устройства для реализации мультиплексирования с разделением по времени общего высокоскоростного арифметического устройства в операции с данными множества блоков памяти, а также управляет коммутацией входных данных между операциями взвешивания окном данных, сходящимся вычислением и операцией фильтрации в частотной области. Внешний управляющий сигнал 18 является синхронизирующим сигналом внешних данных во временной области, вводимым для синхронизации во времени управляющего блока и вводимых внешних данных. Управляющий сигнал 19 является синхронизирующим управляющим сигналом блока памяти коэффициентов взвешивающего окна данных, который управляет блоком памяти коэффициентов взвешивающего окна данных, посылая коэффициент взвешивающего окна данных на общее высокоскоростное арифметическое устройство, тем самым осуществляя защиту от записи для блока памяти коэффициентов взвешивающего окна данных, когда коэффициент взвешивающего окна данных используется, но аннулирует защиту от записи в ждущем состоянии так, что коэффициент взвешивающего окна данных может быть обновлен.convergent computation and filtering in the frequency domain. The control signal 17 is a data switching control signal that controls the data input / output strobe of the memory blocks and the common high-speed arithmetic device for implementing time division multiplexing of the common high-speed arithmetic device in the data operations of the plurality of memory blocks, and also controls the input data switching between operations weighting by a data window, convergent calculation and filtering operation in the frequency domain. The external control signal 18 is a clock signal of external data in the time domain, introduced to synchronize in time the control unit and the input of external data. The control signal 19 is a synchronizing control signal of the coefficient of the data weighting window of the coefficients of the data window, which controls the block of memory coefficients of the weighting window of the data, sending the coefficient of the weighting window of data to a common high-speed arithmetic device, thereby providing write protection for the block of memory coefficients of the weighting window of data when the coefficient a data weighting window is used but will invalidate the write protection in the standby state so that the weighting factor data windows can be updated.
Матрица памяти содержит, по меньшей мере, два независимых блока памяти и используется для сохранения перекрывающихся сегментов данных, а также промежуточного результата операции взвешивания окном данных, БПФ и операции фильтрации. Матрица может состоять из матрицы ОЗУ. Каждый блок памяти в матрице ОЗУ обозначается как группа ОЗУ. Каждая группа ОЗУ содержит, по меньшей мере, два ОЗУ с функцией локального сохранения для операции с данными. В любой момент времени одно из двух ОЗУ находится в состоянии считывания, а другое ОЗУ - в состоянии записи. То ОЗУ, которое находится в состоянии считывания, считывает данные, вычисляемые как поток данных, и посылает данные на арифметическое устройство, а результат вычисления может быть сохранен в ОЗУ той же группы ОЗУ в состоянии записи. Память коэффициента фильтрации содержит, по меньшей мере, одну ячейку ОЗУ. Память коэффициентов взвешивающего окна данных содержит, по меньшей мере, одну ячейку ОЗУ. Схемы ОЗУ известны и описаны, например, в книге В.Н.Вениаминова, О.Н.Лебедева, А.И.Мирошниченко «Микросхемы и их применение» (М.: Радио и связь, 1989, с.146, рис.5.2). В частности, ОЗУ может быть реализовано на микросхемах К565 серии. Блок табличного поиска циклических множителей представляет собой постоянное запоминающее устройство (ПЗУ), в котором хранятся значения циклических множителей для выполнения операций БПФ и ОБПФ. Схема ПЗУ The memory matrix contains at least two independent memory blocks and is used to save overlapping data segments, as well as the intermediate result of the weighting operation of the data window, FFT and filtering operation. The matrix may consist of a matrix of RAM. Each memory block in the RAM matrix is referred to as a RAM group. Each RAM group contains at least two RAMs with a local save function for data operations. At any given time, one of the two RAMs is in the read state, and the other RAM is in the write state. That RAM, which is in the read state, reads the data calculated as a data stream, and sends the data to the arithmetic device, and the calculation result can be stored in the RAM of the same group of RAM in the write state. The filter coefficient memory contains at least one RAM cell. The coefficient memory of the weighting data window contains at least one RAM cell. RAM circuits are known and described, for example, in the book of V.N. Veniaminov, O.N. Lebedev, A.I. Miroshnichenko "Microcircuits and their application" (M .: Radio and communications, 1989, p.146, Fig.5.2 ) In particular, RAM can be implemented on K565 series chips. The tabular search unit for cyclic factors is a read-only memory (ROM) that stores the values of the cyclic factors for performing FFT and IFFT operations. ROM circuit
известна и описана в той же книге на с.156, рис.5.8. В частности, ПЗУ может быть реализовано на микросхемах К555 серии.known and described in the same book on p.156, Fig.5.8. In particular, ROM can be implemented on K555 series chips.
Общее высокоскоростное арифметическое устройство представляет собой устройство сходящихся ("butterfly") вычислений. Схемы устройств сходящихся вычислений известны и описаны, например, в книге Э.Айфичера, Б.Джервиса «Цифровая обработка сигналов: практический подход» (М.: Издательский дом «Вильяме», 2004. с.850, рис.12.40). В частности, такая схема может быть реализована на комплексных умножителях PDSP16112A (Mitel) и комплексных накопителях PDSP16318A (Mitel).A common high-speed arithmetic unit is a butterfly computing device. Schemes of convergent computing devices are known and described, for example, in the book by E. Ayficher, B. Jervis “Digital Signal Processing: A Practical Approach” (M .: Publishing House “Williams”, 2004. p. 850, fig. 12.40). In particular, such a scheme can be implemented on complex multipliers PDSP16112A (Mitel) and complex drives PDSP16318A (Mitel).
Блок коммутации данных содержит селектор входных данных, селектор выходных данных, распределитель входных дынных, распределитель выходных данных и, по меньшей мере, два блока коммутации входных/выходных данных; число блоков коммутации входных/выходных данных равно числу блоков памяти в матрице памяти; блоки коммутации входных/выходных данных однозначно соответствуют блокам памяти; каждый блок коммутации входных/выходных данных соединен с соответствующим блоком памяти посредством двунаправленной шины данных; выход каждого блока коммутации входных/выходных данных соединен с селектором входных данных, и вход каждого блока коммутации входных/выходных данных соединен с распределителем выходных данных; выход селектора выходных данных соединен с распределителем входных данных; три выхода распределителя входных данных соединены с общим высокоскоростным арифметическим устройством; три входа селектора выходных данных соединены с общим высокоскоростным арифметическим устройством, и выход селектора выходных данных соединен с распределителем выходных данных. Блок формирования выходных данных предназначен для выполнения операции обращенного перекрытия и представляет собой селектор данных. Селекторы данных, а также блоки коммутации входных/выходных данных представляют собой мультиплексоры. Распределители входных и выходных данных представляют собой демультиплексоры. Схемы мультиплексоров и демультиплексоров известны и описаны, например, в книге О.Н.Лебедева, A.M.Сидорова «Импульсные и цифровые устройства. Цифровые узлы и их проектирование на микросхемах» (ВАС, 1980, с.55, рис.2.36). В частности, мультиплексоры и демультиплексоры могут реализованы на микросхемах К155 серии.The data switching unit comprises an input data selector, an output data selector, an input melon distributor, an output data distributor, and at least two input / output data switching units; the number of input / output data switching blocks is equal to the number of memory blocks in the memory matrix; input / output data switching blocks uniquely correspond to memory blocks; each input / output data switching unit is connected to a corresponding memory unit via a bi-directional data bus; the output of each input / output switching unit is connected to an input data selector, and the input of each input / output switching unit is connected to an output data distributor; the output of the output data selector is connected to the input data distributor; three outputs of the input data distributor are connected to a common high-speed arithmetic device; three inputs of the output data selector are connected to a common high-speed arithmetic device, and the output of the output data selector is connected to the output data distributor. The output data generating unit is designed to perform the reverse overlap operation and is a data selector. Data selectors, as well as input / output data switching units, are multiplexers. Distributors of input and output data are demultiplexers. Schemes of multiplexers and demultiplexers are known and described, for example, in the book of ON N. Lebedev, A. M. Sidorov “Pulse and digital devices. Digital nodes and their design on microcircuits ”(BAC, 1980, p.55, fig.2.36). In particular, multiplexers and demultiplexers can be implemented on K155 series chips.
Управляющий блок предназначен для формирования сигналов управления другими блоками фильтра и представляет собой распределитель. Схемы распределителей известны и описаны, например, в книге И.Н.Букреева «Микроэлектронные схемы цифровых устройств» (М.: «Сов. радио», 1975, с.264, рис.6.2). В частности, управляющий блок может быть реализован на микросхемах К561 серии.The control unit is designed to generate control signals for other filter units and is a distributor. Distributor circuits are known and described, for example, in the book of I. N. Bukreev "Microelectronic circuits of digital devices" (M .: Sov. Radio, 1975, p. 264, Fig. 6.2). In particular, the control unit can be implemented on K561 series chips.
Устройство, изображенное на фиг.5, работает следующим образом. Управляющий модуль 501 посылает на матрицу 502 памяти управляющий сигнал 12. Посредством управления этим сигналом адресом записи каждого блока памяти, обработка перекрытия, показанная на фиг.2, выполняется в течение процедуры 2 ввода, когда входные данные 1 во временной области вводятся в матрицу 502 памяти через входную шину данных, и каждый из сегментов данных во временной области, созданных в течение обработки перекрытия, сохраняется последовательно в каждом блоке памяти матрицы 502 памяти. Пространство памяти, требуемое в течение всей процедуры обработки каждого сегмента данных, обеспечивается группой ОЗУ, в которой находится сегмент данных.The device depicted in figure 5, operates as follows. The control module 501 sends a control signal 12 to the memory matrix 502. By controlling this signal with the write address of each memory block, the overlap processing shown in FIG. 2 is performed during the input procedure 2 when the input data 1 in the time domain is input into the memory matrix 502 through the input data bus, and each of the data segments in the time domain created during the overlap processing is stored sequentially in each memory block of the memory matrix 502. The memory space required during the entire processing procedure of each data segment is provided by the RAM group in which the data segment is located.
Затем на основе управляющих сигналов 12, 16, 17 и 19, которые посылаются на матрицу 502 памяти, общее высокоскоростное арифметическое устройство 505, блок 504 коммутации данных, блок 508 памяти коэффициентов взвешивающего окна данных с помощью управляющего блока 501, соответственно каждый блок памяти может обмениваться сохраняемыми в нем данными с высокоскоростным арифметическим устройством 505 на высокой скорости через блок 504 коммутации данных, т.е. данные в блоке памяти считываются и вводятся в блок 504 коммутации данных через двунаправленную шину 5; переключенные в блоке 504 коммутации данных, данные для операции взвешивания окном данных вводятся в общее высокоскоростное арифметическое устройство 505 через двунаправленную шину данных 6; и затем выполняется операция умножения данных с соответствующим коэффициентом взвешивающего окна данных, выведенным синхронно из блока 508 памяти коэффициентов взвешивающего окна данных. После операции взвешивания данные выводятся на блок 504 коммутации данных через двунаправленную шину 6 для распределения, и затем записываются в соответствующий блок памяти в матрице 502 памяти через двунаправленную шину 5. Вышеупомянутая процедура выполняется до тех пор, пока все данные сегмента входного сигнала не будут взвешены соответствующим окном данных.Then, based on the control signals 12, 16, 17, and 19, which are sent to the memory matrix 502, a common high-speed arithmetic device 505, a data switching unit 504, a data weighting coefficient coefficient memory unit 508 using the control unit 501, respectively, each memory unit can be exchanged the data stored in it with the high-speed arithmetic device 505 at high speed through the data switching unit 504, i.e. data in the memory unit is read and entered into the data switching unit 504 via a bi-directional bus 5; switched in the data switching unit 504, data for the weighing operation by the data window is input to the common high-speed arithmetic device 505 via a bi-directional data bus 6; and then, the data multiplication operation is performed with the corresponding coefficient of the data weighting window, output synchronously from the coefficient block 508 of the data weighting window coefficients. After the weighing operation, the data is output to the data switching unit 504 via the bi-directional bus 6 for distribution, and then written to the corresponding memory unit in the memory matrix 502 via the bi-directional bus 5. The above procedure is performed until all the data of the input signal segment is weighted accordingly data window.
Затем на основе управляющих сигналов 12, 15, 16 и 17, которые посылаются на матрицу 502 памяти, блок 507 табличного поиска циклических множителей, общее высокоскоростное арифметическое устройство 505, блок 504 коммутации данных, с помощью управляющего блока 501, соответственно каждый блок памяти может обмениваться сохраняемыми в нем данными с высокоскоростным арифметическим устройством на высокой скорости через блок 504 коммутации данных, т.е. данные в блоке памяти считываются и вводятся в блок 504 коммутации данных через двунаправленную шину 5; переключенные в блоке 504 коммутации данных, данные для сходящегося вычисления вводятся в общее высокоскоростное арифметическое устройство 505 через Then, based on the control signals 12, 15, 16 and 17 that are sent to the memory matrix 502, the cyclic multiplier tabular search unit 507, the general high-speed arithmetic device 505, the data switching unit 504, using the control unit 501, respectively, each memory unit can be exchanged data stored therein with a high-speed arithmetic device at high speed through the data switching unit 504, i.e. data in the memory unit is read and entered into the data switching unit 504 via a bi-directional bus 5; switched in the data switching unit 504, data for converging calculation is input into the general high-speed arithmetic device 505 through
двунаправленную шину данных 6; и затем выполняется сходящееся вычисление данных с соответствующим циклическим множителем, выведенным синхронно из блока 507 табличного поиска. После сходящегося вычисления данные выводятся на блок 504 коммутации данных через двунаправленную шину 6 для распределения, и затем записываются в соответствующий блок памяти в матрице 502 памяти через двунаправленную шину 5. На основе принципа БПФ вышеупомянутая процедура повторяется до тех пор, пока все входные данные во временной области не будут трансформированы в соответствующие данные в частотной области, завершив, таким образом, БПФ.bidirectional data bus 6; and then converging data computation is performed with the corresponding cyclic factor output synchronously from the table search block 507. After converging, the data is output to the data switching unit 504 via a bi-directional bus 6 for distribution, and then written to the corresponding memory unit in the memory matrix 502 via a bi-directional bus 5. Based on the FFT principle, the above procedure is repeated until all input data is temporary areas will not be transformed into the corresponding data in the frequency domain, thus completing the FFT.
На основе управляющих сигналов 12, 14, 16 и 17, которые посылаются на матрицу 502 памяти, память 503 коэффициентов фильтра, общее высокоскоростное арифметическое устройство 505, блок 504 коммутации данных с помощью управляющего блока 501 соответственно, данные в частотной области в соответствующих блоках памяти и соответствующий коэффициент фильтра в памяти 503 коэффициентов фильтра синхронно посылаются в общее высокоскоростное арифметическое устройство 505; они перемножаются в общем высокоскоростном арифметическом устройстве 505 для выполнения операции фильтрации. Результат посылается в соответствующий блок памяти в матрице 502 памяти через блок 504 коммутации данных и готов для выполнения ОБПФ.Based on the control signals 12, 14, 16 and 17 that are sent to the memory matrix 502, filter coefficient memory 503, a common high-speed arithmetic device 505, data switching unit 504 using the control unit 501, respectively, data in the frequency domain in the respective memory units and the corresponding filter coefficient in the filter coefficient memory 503 is synchronously sent to a common high-speed arithmetic device 505; they are multiplied in a common high-speed arithmetic device 505 to perform a filtering operation. The result is sent to the corresponding memory block in the memory matrix 502 through the data switching unit 504 and is ready to perform IFFT.
Затем на основе управляющих сигналов 12, 15, 16 и 17, которые посылаются на матрицу 502 памяти, блок 507 табличного поиска циклических множителей, общее высокоскоростное арифметическое устройство 505, блок 504 коммутации данных с помощью управляющего блока 501 соответственно, каждый блок памяти может обмениваться сохраняемыми в нем данными с общее высокоскоростное арифметическое устройство 505 на высокой скорости через блок 504 коммутации данных, т.е. данные в блоке памяти считываются и вводятся в блок 504 коммутации данных через двунаправленную шину 5; данные для сходящегося вычисления, переключенные в блоке 504 коммутации данных, вводятся в общее высокоскоростное арифметическое устройство 505 через двунаправленную шину данных 6; и затем выполняется сходящееся вычисление на упомянутых данных с соответствующим циклическим множителем, для которого была выполнена операция сопряжения и который был выведен синхронно из блока 507 табличного поиска. После сходящегося вычисления данные выводятся на блок 504 коммутации данных через двунаправленную шину 6 для распределения, и затем записываются в соответствующий блок памяти в матрице 502 памяти через двунаправленную шину 5; вышеупомянутая процедура повторяется до тех пор, пока все входные данные в частотной области не будут трансформированы в соответствующие данные во временной области, завершив, таким образом, операцию ОБПФ.Then, based on the control signals 12, 15, 16 and 17 that are sent to the memory matrix 502, the cyclic multiplier tabular search unit 507, the general high-speed arithmetic device 505, the data switching unit 504 using the control unit 501, respectively, each memory unit can exchange stored therein with data with a common high-speed arithmetic device 505 at high speed through the data switching unit 504, i.e. data in the memory unit is read and entered into the data switching unit 504 via a bi-directional bus 5; data for converging calculations switched in data switching unit 504 is input to a common high-speed arithmetic device 505 via a bi-directional data bus 6; and then a convergent calculation is performed on said data with a corresponding cyclic factor for which the pairing operation was performed and which was deduced synchronously from the table search unit 507. After converging the calculation, the data is output to the data switching unit 504 via the bi-directional bus 6 for distribution, and then written to the corresponding memory unit in the memory matrix 502 via the bi-directional bus 5; the above procedure is repeated until all input data in the frequency domain is transformed into the corresponding data in the time domain, thus completing the IFFT operation.
Затем на основе управляющих сигналов 12, 16, 17 и 19, которые посылаются на матрицу 502 памяти, общее высокоскоростное арифметическое устройство 505, блок 504 коммутации данных, блок 508 памяти коэффициентов взвешивающего окна данных с помощью управляющего блока 501 соответственно, каждый блок памяти может обмениваться сохраняемыми в нем данными с высокоскоростным арифметическим устройством 505 на высокой скорости через блок 504 коммутации данных, т.е. данные в блоке памяти считываются и вводятся в блок 504 коммутации данных через двунаправленную шину 5; данные для взвешивания обратным окном данных, переключенные в блоке 504 коммутации данных, вводятся в высокоскоростное арифметическое устройство 505 через двунаправленную шину данных 6; и затем выполняется операция умножения упомянутых данных с коэффициентом взвешивающего окна данных, для которого была выполнена операция взятия обратного значения и который был выведен синхронно из блока 508 памяти коэффициентов взвешивающего окна данных. После операции взвешивания обратным окном данных данные выводятся на блок 504 коммутации данных через двунаправленную шину 6 для распределения, и затем записываются в соответствующий блок памяти в матрице 502 памяти через двунаправленную шину 5. Вышеупомянутая процедура выполняется до тех пор, пока все данные взвешенного сегмента временной области, отфильтрованного в частотной области, не будут взвешены соответствующим обратным окном данных, тем самым убирая влияние взвешивающего окна данных на выходной отфильтрованный сигнал.Then, based on the control signals 12, 16, 17, and 19, which are sent to the memory matrix 502, a common high-speed arithmetic device 505, a data switching unit 504, a coefficient weighting unit data memory unit 508 using the control unit 501, respectively, each memory unit can be exchanged the data stored in it with the high-speed arithmetic device 505 at high speed through the data switching unit 504, i.e. data in the memory unit is read and entered into the data switching unit 504 via a bi-directional bus 5; data for weighting by the reverse data window switched in the data switching unit 504 is input to the high-speed arithmetic device 505 via a bi-directional data bus 6; and then, the operation of multiplying said data with the coefficient of the weighting data window is performed, for which the operation of taking the inverse value was performed and which was synchronously output from the coefficient memory block 508 of the weighting data window. After the weighting operation by the reverse data window, the data is output to the data switching unit 504 via the bi-directional bus 6 for distribution, and then written to the corresponding memory unit in the memory matrix 502 via the bi-directional bus 5. The above procedure is performed until all the data of the weighted segment of the time domain , filtered in the frequency domain, will not be weighted by the corresponding return data window, thereby removing the influence of the weighting data window on the output filtered signal.
На основе управляющих сигналов 12 и 13, которые посылаются на матрицу 502 памяти и блок 506 формирования выходных данных с помощью управляющего блока 501 соответственно, выходные данные 3 для обработки обращенного перекрытия считываются из соответствующих блоков памяти, и обработка обращенного перекрытия выполняется на каждом из считанных сегментов данных, как показано на фиг.2, в блоке 506 формирования выходных данных, на выходе которого получаются данные 4 во временной области после фильтрации в частотной области.Based on the control signals 12 and 13, which are sent to the memory matrix 502 and the output data generating unit 506 using the control unit 501, respectively, the output data 3 for inverse overlap processing is read from the corresponding memory units, and the inverse overlap processing is performed on each of the read segments 2, as shown in FIG. 2, in an output data generating unit 506, the output of which is data 4 in the time domain after filtering in the frequency domain.
Память 503 коэффициентов фильтра на фиг.5 содержит, по меньшей мере, одно ОЗУ, и коэффициент фильтра в памяти может быть обновлен извне так, что параметры фильтра могут динамически обновляться, причем обновление может быть обеспечено программным образом или аппаратными средствами. Обновленный коэффициент 8 фильтра записывается в память коэффициентов фильтра, когда нет операции фильтрации, и готов для использования в следующей операции фильтрации.The filter coefficient memory 503 of FIG. 5 contains at least one RAM, and the filter coefficient in the memory can be updated externally so that the filter parameters can be dynamically updated, and the update can be provided in software or hardware. The updated filter coefficient 8 is written to the filter coefficient memory when there is no filtering operation, and is ready for use in the next filtering operation.
Блок 508 памяти коэффициентов взвешивающего окна данных на фиг.5 содержит, по меньшей мере, одно ОЗУ, и коэффициент взвешивающего окна данных в памяти может быть 5, the coefficient block of the weighting data window of FIG. 5 contains at least one RAM, and the coefficient of the data window of the data in memory may be
обновлен извне так, что параметры взвешивающего окна данных могут динамически обновляться, причем обновление может быть обеспечено программным образом или аппаратными средствами. Обновленный коэффициент 10 взвешивающего окна данных записывается в блок памяти взвешивающего окна данных, когда нет операции взвешивания, и готов для использования в следующей операции взвешивания.updated externally so that the parameters of the weighting data window can be dynamically updated, and the update can be provided by software or hardware. The updated coefficient 10 of the data weighting window is written to the memory block of the data weighting window when there is no weighing operation, and is ready for use in the next weighing operation.
Блок 504 коммутации данных по фиг.5 описан подробно на примере, в котором матрица 502 памяти, соединенная с блоком 504, содержит три независимых группы ОЗУ, как показано на фиг.6.The data switching unit 504 of FIG. 5 is described in detail with an example in which the memory matrix 502 connected to the unit 504 contains three independent RAM groups, as shown in FIG. 6.
На фиг.6 каждая группа ОЗУ имеет два ОЗУ: ОЗУ1 и ОЗУ2; в каждый момент времени только одно ОЗУ находится в состоянии считывания, тогда как другое - в состоянии записи. ОЗУ в состоянии считывания считывает данные для вычисления как поток данных и посылает данные на арифметическое устройство, а результат вычисления сохраняется в другом ОЗУ, которое находится в состоянии записи в той же группе ОЗУ.In Fig.6, each group of RAM has two RAMs: RAM1 and RAM2; at each moment of time, only one RAM is in the read state, while the other is in the write state. The RAM in the read state reads the data for calculation as a data stream and sends the data to the arithmetic device, and the calculation result is stored in another RAM, which is in the write state in the same RAM group.
Как показано на фиг.6, блок 504 коммутации данных включает в себя блок 601 коммутации входных/выходных данных, селектор 602 входных данных, распределитель 603 выходных данных, распределитель 604 входных данных и селектор 605 выходных данных. Число блоков 601 коммутации входных/выходных данных соответствует числу блоков памяти в матрице памяти, и блоки коммутации однозначно соответствуют группам памяти. В этом варианте реализации имеется три группы памяти в матрице 502 памяти, так что имеется три блока 601 коммутации входных/выходных данных, каждый из которых однозначно соответствует трем группам памяти в матрице 502 памяти; задача блока коммутации входных/выходных данных заключается в выполнении обмена данными между группой ОЗУ и селектором, а также в обеспечении того, что два ОЗУ из группы ОЗУ находятся в корректном состоянии считывания/записи. Селектор 602 входных данных является блоком с множеством входов и одним выходом. Если имеется три блока 601 коммутации входных/выходных данных, в блоке 504 коммутации данных, то селектор 602 входных данных может быть блоком с тремя входами и одним выходом. Остальное может быть выведено логически. Рассмотрим для примера селектор 602 входных данных с тремя входами и одним выходом («три-один»). Исходя из состояния мультиплексирования с разделением по времени общего арифметического устройства, управляющий сигнал 17 управляет селектором 602 входных данных для выбора данных из одного из трех ОЗУ, передаваемых через три блока 601 коммутации входных/выходных данных, и пересылает данные на распределитель 604 входных данных. На основе управляющего сигнала 17, распределитель 604 входных данных определяет, предназначаются ли данные для взвешивания окном данных, сходящегося вычисления или для фильтрации в частотной области, и затем посылает данные As shown in FIG. 6, the data switching unit 504 includes an input / output switching unit 601, an input data selector 602, an output data distributor 603, an input data distributor 604, and an output data selector 605. The number of input / output data switching blocks 601 corresponds to the number of memory blocks in the memory matrix, and the switching blocks uniquely correspond to memory groups. In this embodiment, there are three memory groups in the memory matrix 502, so that there are three input / output data switching units 601, each of which uniquely corresponds to three memory groups in the memory matrix 502; the task of the input / output switching unit is to perform data exchange between the RAM group and the selector, as well as to ensure that two RAM from the RAM group are in the correct read / write state. The input selector 602 is a multi-input unit with one output. If there are three input / output data switching units 601 in the data switching unit 504, then the input data selector 602 may be a unit with three inputs and one output. The rest can be inferred logically. For example, consider an input selector 602 with three inputs and one output (“three-one”). Based on the time division multiplexing state of the general arithmetic device, the control signal 17 controls the input data selector 602 to select data from one of the three RAMs transmitted through the three input / output data switching blocks 601 and sends the data to the input data distributor 604. Based on the control signal 17, the input data distributor 604 determines whether the data is intended to be weighted by a data window, a convergent calculation, or to filter in the frequency domain, and then sends the data
на соответствующее устройство в общем арифметическом устройстве 505. Селектор 605 выходных данных является блоком селекции «три-один»; на основе управляющего сигнала 17 он определяет состояние общего арифметического устройства 505, а затем селектирует взвешенные окном данные, отфильтрованные выходные данные в частотной области или выходные данные сходящихся вычислений в качестве своих выходных данных для распределителя 603 выходных данных. На основе управляющего сигнала 17 распределитель 603 выходных данных определяет состояние мультиплексирования с разделением по времени общего арифметического устройства 505, а затем распределяет данные на соответствующий блок 601 коммутации входных/выходных данных, соединенный с группой ОЗУ в состоянии считывания и записи. Посредством коммутации входных/выходных данных с помощью соответствующего блока 601 коммутации входных/выходных данных, данные записываются в соответствующее ОЗУ, которое находится в состоянии записи в соответствующей группе ОЗУ. В рассмотренной выше процедуре управляющий сигнал 17 управляет блоком 504 коммутации данных для выполнения коммутации данных для мультиплексирования с разделением по времени и обеспечивает временную последовательность для переключения между операционными состояниями.to a corresponding device in a common arithmetic device 505. The output data selector 605 is a three-one selection unit; based on the control signal 17, it determines the state of the general arithmetic device 505, and then selects window-weighted data, filtered output data in the frequency domain or output data of convergent calculations as its output data for output data distributor 603. Based on the control signal 17, the output data distributor 603 determines the time division multiplexing state of the general arithmetic device 505, and then distributes the data to the corresponding input / output data switching unit 601 connected to the RAM group in the read and write state. By switching the input / output data using the corresponding input / output data switching unit 601, the data is written to the corresponding RAM, which is in a write state in the corresponding RAM group. In the above procedure, the control signal 17 controls the data switching unit 504 to perform data switching for time division multiplexing and provides a time sequence for switching between operating states.
Приведенное выше описание блока коммутации данных относится к примеру, в котором матрица памяти представляет собой матрицу ОЗУ, содержащую три группы ОЗУ. Если же матрица ОЗУ содержит две или более трех групп ОЗУ, то описанный выше способ все же применим, но соответствующие изменения должны быть внесены в структуру блока коммутации данных, учитывающие отличающиеся требования к коммутации данных.The above description of the data switching unit relates to an example in which the memory matrix is a RAM matrix containing three groups of RAM. If the RAM matrix contains two or more than three groups of RAM, then the method described above is still applicable, but the corresponding changes must be made to the structure of the data switching unit, taking into account the different requirements for data switching.
При реализации полезной модели для преобразования Фурье используется алгоритм Base 2 FFT. Однако в практических применениях могут использоваться и алгоритм Base 4, и другие алгоритмы БПФ, а также некоторые другие подходящие настройки внутренней структуры соответствующего блока сходящихся вычислений. Хотя в настоящем варианте реализации в качестве общего высокоскоростного арифметического устройства используется блок сходящихся вычислений, также могут использоваться арифметические устройства и другого типа. Кроме того, на основе различной скорости передачи данных во временной области, различного требования по разрешению в частотной области, различной степени перекрытия и различной скорости сходящихся вычислений и т.д., длина данных для БПФ и перекрытия могут быть изменены, может быть больше общих высокоскоростных арифметических устройств, обеспечивающих удовлетворительный компромисс между стоимостью реализации и качеством фильтрации. Полезная модель применима к различным случаям цифровой обработки сигналов, включая прием и передачу сигнала в системах связи.When implementing a utility model for the Fourier transform, the Base 2 FFT algorithm is used. However, in practical applications, the Base 4 algorithm and other FFT algorithms, as well as some other suitable settings of the internal structure of the corresponding block of convergent calculations, can be used. Although in the present embodiment, a convergent computing unit is used as a general high-speed arithmetic device, other types of arithmetic devices can also be used. In addition, based on different data transfer rates in the time domain, different resolution requirements in the frequency domain, different degrees of overlap and different rates of convergent calculations, etc., the data length for the FFT and overlap can be changed, may be greater than the general high-speed ones arithmetic devices providing a satisfactory compromise between the cost of implementation and the quality of filtration. The utility model is applicable to various cases of digital signal processing, including signal reception and transmission in communication systems.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2008115603/22U RU76185U1 (en) | 2008-04-21 | 2008-04-21 | FREQUENCY FILTER |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2008115603/22U RU76185U1 (en) | 2008-04-21 | 2008-04-21 | FREQUENCY FILTER |
Publications (1)
Publication Number | Publication Date |
---|---|
RU76185U1 true RU76185U1 (en) | 2008-09-10 |
Family
ID=39867379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008115603/22U RU76185U1 (en) | 2008-04-21 | 2008-04-21 | FREQUENCY FILTER |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU76185U1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2513028C2 (en) * | 2012-02-07 | 2014-04-20 | Общество с ограниченной ответственностью "Спирит Корп" | Device for suppressing narrow-band interference in satellite navigation receiver |
-
2008
- 2008-04-21 RU RU2008115603/22U patent/RU76185U1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2513028C2 (en) * | 2012-02-07 | 2014-04-20 | Общество с ограниченной ответственностью "Спирит Корп" | Device for suppressing narrow-band interference in satellite navigation receiver |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268308B (en) | Support calculating device and the method for mixed base DFT | |
Wickert et al. | Implementation of a real-time frequency-selective RF channel simulator using a hybrid DSP-FPGA architecture | |
CN110058201B (en) | Method for realizing multi-waveform multi-rate time domain pulse pressure based on FPGA resource multiplexing | |
US20170317663A1 (en) | Signal Processing Method and Apparatus | |
US5270953A (en) | Fast convolution multiplier | |
CN109525256B (en) | Channelized transmitting structure of narrow-transition-band filter bank based on FPGA | |
CN102025377B (en) | Improved cascaded integral comb interpolation filter | |
CN100544337C (en) | The data transmission method of multi-carrier modulation | |
RU76185U1 (en) | FREQUENCY FILTER | |
CN106301232A (en) | A kind of Multicenter digital up-conversion system and method | |
EP3928445B1 (en) | Resource conserving weighted overlap-add channelizer | |
CN101540749A (en) | Implementation method and device of pretreatment unit capable of being configured with length-variable DFT | |
CN107666453A (en) | Transmitter and corresponding method | |
US5959875A (en) | Analog signal characterizer for functional transformation | |
JP3281001B2 (en) | Method and apparatus for filtering a ghost signal from a video signal sequence | |
CN109921800B (en) | Frequency domain pulse compression method based on self-customized floating point format | |
CN109951174B (en) | Fast Fourier transform filtering method | |
CN109687883B (en) | Channel comprehensive engineering implementation method and device | |
US8380772B2 (en) | Multi-rate filter bank | |
GB2530289A (en) | Low-complexity channelisation scheme catering for signals of arbitrary centre frequency and bandwidth | |
CN105871358A (en) | Spread-spectrum clock generating method and device | |
CN118353749B (en) | Improved digital channelized FPGA implementation method | |
CN115913857B (en) | Data processing method, device, radio frequency unit, base station and storage medium | |
DE10241693B4 (en) | Method and device for performing a plurality of correlation procedures in a mobile radio environment | |
Petraglia et al. | On the use of filter banks in adaptive filtering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM1K | Utility model has become invalid (non-payment of fees) |
Effective date: 20080930 |