Генератор синусоидального сигнала
Иллюстрации
Показать всеИзобретение относится к области вычислительной техники и может использоваться в измерительной аппаратуре для синтеза синусоидальных сигналов. Достигаемый технический результат - расширение частотного диапазона при сохранении разрядности сумматора и аккумулятора фазы и объема постоянного запоминающего устройства (ПЗУ). Генератор синусоидального сигнала содержит N-разрядный сумматор, N-разрядный аккумулятор фазы, постоянное запоминающее устройство, цифроаналоговый преобразователь, устройство формирования кода частоты генерируемого сигнала F разрядностью (N+M), генератор тактовых импульсов , устройство преобразования кода частоты генерируемого сигнала F в код приращения фазы Δφ и в код частоты тактирования К в соответствии с заданными математическими соотношениями параметров. 1 ил.
Реферат
Предлагаемое изобретение относится к автоматике и вычислительной технике и может быть использовано в измерительной аппаратуре для синтеза синусоидальных сигналов.
Известен генератор синусоидального сигнала (Высокоскоростной синтезатор синусоидальных сигналов прямого синтеза) [Пат. 2326492 Российская Федерация: Н03В 19/12. Высокоскоростной синтезатор синусоидальных сигналов прямого синтеза / Богатырский С.В., Гончаров А.В., Колунтаев Е.Н., Шеляпин Е.С.- №2006142978/09; заявл. 04.12.2006; опубл. 10.06.2008], содержащий устройство выбора частот, выходы которого подключены к первому входу первого N-разрядного сумматора и второму входу второго N-разрядного сумматора, а также последовательно соединенные генератор тактовой частоты и делитель частоты на два, выходы которых подключены к третьим и вторым входам первого, второго и третьего регистров сдвига соответственно. Выход первого регистра подключен к первому входу второго сумматора, выход которого соединен с первым входом второго регистра, к первому входу третьего регистра сдвига и ко второму входу первого сумматора, выход которого соединен с первым входом первого регистра. Выход третьего регистра через первое постоянное запоминающее устройство (ПЗУ), а выход второго регистра через второе ПЗУ подключены соответственно к первому и второму входам мультиплексора, выход которого соединен с цифроаналоговым преобразователем (ЦАП). Выход делителя частоты на два подключен к третьему входу мультиплексора.
Недостатком данного генератора синусоидального сигнала является то, что при увеличении диапазона генерируемых частот происходит усложнение схемы за счет увеличения разрядности сумматоров, регистров и увеличения объема ПЗУ.
Известен генератор синусоидального сигнала (цифровой вычислительный синтезатор) [Пат. 3654450 США: G06G 07/00, G06F 01/02, G06F 01/03, G06G 07/28, Н03К 04/00, Н03С 01/00, Н03С 03/00, Н03К 04/02, H04L 27/12, H04L 27/10, H04L 27/00, H04L 27/20, G06f 15/34. Digital signal generator synthesizer / Webb J. - №05/025,348; заявл. 03.04.1970; опубл. 04.04.1970], являющийся прототипом предлагаемого изобретения и содержащий последовательно соединенные устройство формирования кода частоты генерируемого сигнала (УФК), сумматор, аккумулятор фазы, выход которого соединен с вторым входом сумматора, ПЗУ и ЦАП. К входу тактирования аккумулятора фазы подключен генератор тактовых импульсов.
Этот генератор синусоидального сигнала работает следующим образом. На вход сумматора, подключенного к УФК, поступает значение кода приращения фазы Δφ при каждом такте сигнала генератора тактовых импульсов. На каждом такте значение с выхода сумматора защелкивается в аккумуляторе фазы. При этом код с выхода аккумулятора поступает на второй вход сумматора. Таким образом, значение на выходе аккумулятора постоянно увеличивается на при каждом такте тактирующего сигнала. Происходит это до тех пор, пока сумматор не переполнится, после чего значение на выходе сумматора скачком уменьшается и начинается увеличиваться снова. В результате на выходе аккумулятора постоянно имеем мгновенные значения фазы генерируемого сигнала, т.е. мгновенные значения аргумента функции. Применив таблицу значений функции косинуса, выполненную на ПЗУ, преобразуем значения фазы в амплитудные значения синтезируемого сигнала. В дальнейшем, значение с выхода ПЗУ попадают на вход ЦАП, который преобразует код амплитуды в аналоговый сигнал.
Значения кода приращение фазы Δφ рассчитываются по формуле (1):
Δ ϕ = f o u t ⋅ 2 N f G , ( 1 )
где fout - частота генерируемого сигнала,
fG - частота импульсов генератора тактовых импульсов,
N - разрядность сумматора и аккумулятора.
Максимальная частота fmax, генерируемая устройством, равна половине частоты тактирования схемы.
Недостатком прототипа является то, что при расширении диапазона генерируемых частот происходит усложнение схемы генератора за счет увеличения разрядности сумматора и аккумулятора фазы и увеличения объема ПЗУ.
Это следует из того, что минимальная генерируемая частота fmin равна
f min = f G 2 N . ( 2 )
Формулу (2) получаем, выражая из формулы (1) частоту генерируемого сигнала fout и подставляя минимальное приращение фазы равное 1. Как сказано выше, максимальная частота равна половине частоты тактирования. Таким образом, при сохранении одинаковой частоты тактирования, исходя из формулы (2), имеем, что для расширения частотного диапазона (уменьшения минимально генерируемой частоты) необходимо увеличивать разрядность сумматора и аккумулятора. Также следует отметить, что минимальная генерируемая частота является также значением шага перестройки частоты Δf.
Задачей (техническим результатом) предлагаемого изобретения является расширение частотного диапазона при сохранении разрядности сумматора и аккумулятора фазы и объема ПЗУ.
Для достижения поставленной задачи в генератор синусоидального сигнала, содержащий последовательно соединенные сумматор, аккумулятор фазы, выход которого соединен с вторым входом сумматора, ПЗУ, ЦАП и ФНЧ, а также УФК и генератор тактовых импульсов, введены устройство преобразования (УП) кода частоты генерируемого сигнала в код приращения фазы и в код частоты тактовых импульсов по определенному закону (9), (10), (11), вход которого подключен к выходу устройства формирования кода частоты генерируемого сигнала, а первый его выход к первому входу сумматора, управляемый делитель (УД) частоты импульсов тактирования, вход которого подключен к второму выходу устройства преобразования кода частоты, его вход тактирования подключен к выходу генератора тактовых импульсов, выход - к входу тактирования аккумулятора фазы.
На чертеже приведена функциональная схема предлагаемого устройства.
Предлагаемый генератор синусоидального сигнала содержит последовательно соединенные УФК 1, УП 2, сумматор (+) 3, аккумулятор фазы (А) 4, выход которого соединен со вторым входом сумматора 3, ПЗУ 5, ЦАП 6, а также генератор тактовых импульсов (Г) 7, УД 8, вход которого соединен со вторым выходом УП 2, а тактовый вход - с выходом генератора тактовых импульсов 7; вход тактирования аккумулятора 4 соединен с выходом УД 8.
Генератор синусоидального сигнала работает следующим образом. Алгоритм работы связки: сумматор 3, аккумулятор фазы 4, ПЗУ 5, ЦАП 6, - точно такой же, как и в прототипе. Разница в том, что код приращения фазы Δφ формируется УП 2, а источником импульсов тактирования аккумулятора 4 служит выход УД 8, на котором частота тактовых импульсов fCLK равна:
f C L K = f G 2 K , ( 3 )
где К - код частоты fCLK, который поступает от УП 2 на вход УД 8 и принимающий целочисленные значения от 0 до М включительно, М - максимальное значение кода К, при котором fCLK принимает минимальное значение.
При этом заменив в формуле (1) fG на fCLK (поскольку в предлагаемом генераторе синусоидального сигнала аккумулятор тактируется именно частотой fCLK), получаем:
Δ ϕ = f o u t ⋅ 2 N f C L K . ( 4 )
Подставляя в формулу (4) выражение (3), имеем:
Δ ϕ = f o u t ⋅ 2 N ⋅ 2 K f G . ( 5 )
Определить зависимость минимально возможной выходной частоты генерируемого сигнала fmin и соответственно шаг перестройки частоты Δf от К можно выразив из формулы (5) fout и подставив вместо Δφ значение равное 1. Тогда получаем:
Δ f = f min = f G 2 N ⋅ 2 K . ( 6 )
Можно видеть, что каждому значению кода К будут соответствовать свои fmin и Δf.
Если К=0 (fCLK принимает максимальное значение равное fG), то верхняя граница частотного диапазона устройства такая же, как и для прототипа, и равна половине частоты импульсов тактового генератора.
Если К=М (fCLK принимает максимальное значение равное fG/2M), то подставляя в формулу (6) К=М, получаем:
f min = f G 2 N + M . ( 7 )
Таким образом, в предлагаемом генераторе синусоидального сигнала верхняя граница диапазона частот генерируемого сигнала такая же, как и для прототипа, а нижняя граница - в 2M раз меньше, чем у прототипа, т.е. происходит расширение частотного диапазона в 2M раз.
Из формулы (5) следует, что для того чтобы УФК 1 имело возможность определить код генерируемой частоты F как для минимальной частоты диапазона генерируемых частот, так и для максимальной, УФК 1 должна иметь выходную шину данных разрядностью (N+М). В этом случае УФК 1 рассчитывает частоту выходного сигнала генератора по формуле
F = f o u t ⋅ 2 N + M f G . ( 8 )
То есть УФК 1 рассчитывает F точно так же, как УФК 1 рассчитывает Δφ в прототипе, если бы выходная шина данных имела разрядность (N+М).
Функцией УП 2 является преобразование кода F в коды Δφ и К. Происходит это по следующему принципу.
Изначально выведем взаимосвязь между Δφ и F в зависимости от fCLK, т.е. от кода К. Выражая fout из формул (5) и (8) и приравнивая полученные выражения, имеем:
Δ ϕ = F ⋅ 2 K 2 M . ( 9 )
Данное выражение в двоичной системе счисления означает, что для получения Δφ значение кода F необходимо сдвинуть в сторону старших разрядов на количество разрядов равное К (при этом разрядность полученного значения в результате данной операции сохраняется равной (N+М)), тогда Δφ числено равно значению N старших разрядов после данной операции.
Таким образом, если fCLK=fG, то младшие М разрядов кода F игнорируются, а значение кода Δφ образуют старшие N разрядов кода F. По мере уменьшения fCLK количество игнорируемых младших разрядов уменьшается, а количество игнорируемых старших разрядов наоборот начинает расти. Когда код К достигает максимального значения равного М, соответственно fCLK=fG/2M, значение кода Δφ образуют младшие N разрядов кода F, а старшие М разрядов игнорируются. В итоге имеем, что значение кода Δφ образуют разряды кода F, начиная с младшего разряда номером (М-К) и заканчивая старшим разрядом номером ((N+М-1)-K).
Исходя из этого, опишем принцип определения значения кода К. Он заключается в следующем: код К формируется в зависимости от значения числа R, которое равно количеству разрядов кода F равных логическому нулю, считая со старшего разряда до первого разряда равного логической единице не включая его. Строго математически число R в зависимости от значения кода F можно рассчитать по формуле
где под скобками понимается операция округления в сторону меньшего [Р. Грэхем, Д. Кнут, О. Паташник. Конкретная математика. Основание информатики: Пер. с англ. / под ред. А.Б. Ходулев; пер. В.В. Походзей, А.Б. Ходулев. - М.: Мир, 1998. - 703 с].
При этом отметим, что количество разрядов кода Δφ равных нулю, считая от старшего до первого разряда равного логической единице, не включая его, будет равно (R-К). Это следует из взаимосвязи между кодами Δφ и F, которая описана выше.
Если значение R меньше заданного в устройстве значения числа S, то значение кода К равно 0. S - натуральное число, значение которого определяется из соображений, описанных ниже.
Если значение R не меньше числа S, то К не равно 0. При этом генератор синусоидального сигнала задает такое значение К, при котором количество разрядов кода Δφ равных нулю, считая от старшего до первого разряда равного логической единице, не включая его, будет равно S. Т.е. если R больше S, то R-К=S или К=R-S. Это равенство выполняется, если R-S не больше максимального значения К-М.
Если (R-S) больше М, то устройство не может задать такое значение К, при котором количество разрядов кода Δφ равных нулю, считая от старшего до первого разряда равного логической единице, не включая его, будет равно S. В этом случае количество данных разрядов будет больше S, а значение кода К будет равно М.
Таким образом, получаем, что значение кода К определяется по формуле
Из этого следует, что весь диапазон генерируемых частот предлагаемого генератора синусоидального сигнала можно условно разбить на интервалы в зависимости от значения К, т.е. зависимости от fCLK. При этом значения кода К будем считать номерами интервалов. В соответствии с формулой (6) каждый интервал будет характеризоваться своим шагом перестройки частоты Δf.
В интервал с номером 0 попадают частоты fout, генерация которых происходит при fCLK=fG. Верхней частотой интервала является максимальная частота генерируемого сигнала fmax -fG/2, код F которой равен 2(N+M-1). Нижней границей интервала является частота равная fG/2S код F которой равен 2(N+M-(S+1). В соответствии с формулой (6) данный интервал характеризуется Δf, равным fG/2N.
Последующие интервалы с номера от 1 до (М-1), с границами частот от fG/2(K+S) до fG/2(K+S-1), коды F которых лежат в диапазоне от 2(N+M-(K+S+1)) до (2(N+M-(K+S)-1), характеризуются Δf определимым по формуле (6).
Последний интервал с номером М, с границами частот fG/2(K+S) до fmin=fG/2(N+M), коды F которых лежат в диапазоне от 1 до (2(N+M-(K+S)-1), характеризуется Δf определяемым по формуле (7).
Можно увидеть, что чем больше число S, тем меньшее количество значений кода F лежат в интервалах с номерами от 1 до М, и большее количество значений кода F лежат в интервале с номером 0. Т.е. чем больше число S, тем меньшее количество возможных частот для генерации можем задавать в интервалах с номерами от 1 до М, а для интервала с номером 0 наоборот. Это следует из того, что Δf не зависит от S для конкретного интервала, при этом при увеличении S границы интервалов сдвигаются в сторону низких частот. Следовательно, количество шагов перестройки уменьшается. Общее же количество возможных частот выходного сигнала генератора синусоидального сигнала уменьшается. Чем меньше значение числа S, тем большее количество возможных частот выходного сигнала для генерации имеется возможность задавать.
С другой стороны, чем меньше число S, тем меньшее количество тактов fCLK приходится на один период выходного сигнала генератора при переходе от одного интервала к другому, а значит падает качество генерируемого сигнала на границе интервала. Это следует из того, что, фактически, S определяет количество разрядов кода Δφ равных нулю, считая от старшего до первого разряда, равного логической единице, не включая его, для интервалов с номерами от 1 до (М-1). При переходе от одного интервала к другому первое значение Δφ в новом интервале будет равно (2N-S-1). Для данного кода количество тактов fCLK, приходящихся на один период выходного сигнала генератора, будет приблизительно равно 2S. При понижении частоты fout значение Δφ будет также уменьшаться до (2N-S-1). Для данного кода количество тактов fCLK, приходящихся на один период выходного сигнала генератора, будет равно 2S+1. При дальнейшем понижении частоты случится переход в следующий интервал и закономерности сохранятся, и так до интервала с номером М, в котором количество тактов fCLK, приходящихся на один период выходного сигнала генератора, будет равно от 2S до 2N.
Отсюда следует, что S может принимать значения от 1 до (N-1), при этом, чем больше S, тем лучше качество генерируемого сигнала. Чем меньше S, тем большее количество частот fout есть возможность задавать для генерации.
Таким образом, за счет ведения в генератор синусоидального сигнала УП и УД происходит расширение частотного диапазона в 2M раз при сохранении разрядности сумматора и аккумулятора фазы и объема ПЗУ по сравнению с прототипом.
Генератор синусоидального сигнала, содержащий последовательно соединенные N-разрядный сумматор, N-разрядный аккумулятор фазы, выход которого соединен с вторым входом сумматора, постоянное запоминающее устройство и цифроаналоговый преобразователь, а также устройство формирования кода частоты генерируемого сигнала F разрядностью (N+М) и генератор тактовых импульсов, отличающийся тем, что в него введены устройство преобразования кода частоты генерируемого сигнала F в код приращения фазы Δφ и в код частоты тактирования К по законам: где S - натуральное число, принимающее значение от 1 до (N-1), где под скобками понимается операция округления в сторону меньшего, вход которого подключен к выходу устройства формирования кода частоты генерируемого сигнала, а первый его выход - к первому входу сумматора, управляемый делитель частоты тактирования, вход которого подключен к второму выходу устройства преобразования кода частоты, его вход тактирования подключен к выходу генератора тактовой частоты, его выход - к входу тактирования аккумулятора фазы.