УДК 681.3.06
Л. В. Мороз
МЕТОД ДОСЛІДЖЕННЯ ХАРАКТЕРИСТИК ЦИФРОВИХ СИНУСНО-КОСИНУСНИХ ГЕНЕРАТОРІВ
The generalized going is offered near description of output signals of digital sine-cosine generators work of which is built on discretisation of the system of linear differential equations. Resulted results of researches of the known types of generators and the simple generator of quadrature signals is offered on two multipliers.
Keywords: sinusoidal oscillators , circular interpolators, digital oscillators, quadrature generators.
Подано узагальнений підхід до опису вихідних сигналів цифрових синусно-косинусних генераторів, робота яких базується на дискретизації системи лінійних диференціальних рівнянь. Наведено результати досліджень відомих типів генераторів та запропоновано простий генератор квадратурних сигналів на двох помножувачах.
Ключові слова: синусно-косинусні генератори, колові інтерполятори, цифрові синтезатори частоти, генератори квадратурних сигналів.
1. Цифрові синусно-косинусні генератори (або генератори квадратурних сигналів) мають надзвичайно широке використання [3, 5, 8–18] – колові інтерполятори, цифрові синтезатори частоти, дискретне перетворення Фур’є та ін.
Є багато робіт, де систематизовані результати досліджень характеристик таких генераторів[8, 10, 12, 13, 15].
Загальні положення.
2. Роботу таких генераторів у загальному випадку можна описати за допомогою лінійного диференціального рівняння
(1)
з початковими умовами ; . Інша форма представлення такого рівняння – у вигляді системи звичайних диференціальних рівнянь першого порядку у нормальній формі

або у найпоширенішій формі
(2)


t – незалежний параметр (кут повороту одиничного вектора навколо початку системи координат).
( Л. В. Мороз, 2012
Реалізація системи рівнянь (2) цифровими апаратними засобами веде до дискретизації системи (2), яку в загальній формі можна записати
(3)
, .
Матриця А – це матриця обертання, елементи якої задаються тим чи іншим методом чисельного інтегрування системи (2).
При “ідеальній” дискретизації системи (2) з використанням однокрокових методів отримуємо так звану “зв’язану” (coupled) форму генератора [8, 11, 13],
(4)
, , , , яка для своєї реалізації вимагає чотирьох множень і двох операцій додавання. Якщо ж використовується точна дискретизація системи (2) з використанням двокрокових методів, то маємо:
(5)
(6)
або в розгорнутій формі
(7)
Це так звана “пряма” (direct) або (biquad) форма ідеальної дискретизації рівняння (1) [8, 13]. Зауважимо, що це найпростіша форма реалізації генератора квадратурних сигналів у вигляді двох рекурсивних фільтрів другого порядку, яка потребує для своєї реалізації лише двох помножувачів.
Якщо для дискретизації системи рівнянь (2) використати явний метод Ейлера
, (8)
де та -вектори розмірності (для цього випадку , ,,), то отримаємо [14] :
(9)

Визначник матриці А у цьому випадку характеризує відхилення радіуса кола від одиниці на кожній ітерації.
Якщо ж використати вдосконалений метод Ейлера
(10)
,
то будемо мати [17]:
(11)
.
Можна використати неявний метод трапецій [14]
(12)
який після розв’язання у явному вигляді має форму
(13)
де , однак він складний у реалізації. У цій же роботі використано розклад в ряд Тейлора коефіцієнтів
(14)
.
Як бачимо, це не дало значного покращення результатів, навіть порівняно з (11), де апаратна реалізація формул значно простіша.
Зменшення радіальної похибки можна досягнути, якщо використати таке наближення [9]. Тоді рівняння мають вигляд
(15)
.
Генератори типу (11), (15) можна використати в колових інтерполяторах до операції, множення можна замінити операціями зсуву, якщо , де і – ціле число.
Наведемо ще дві форми генераторів. Одна з них – це так званий генератор “магічного кола” (magic circle)
(16)

Oднак цей генератор хоч і переважає за точністю генератор (9), та на практиці не може використовуватись як генератор квадратурних сигналів (при цьому вимагає використання двох помножувачів) [8, 14].
Другий генератор – це найпростіший серед відомих генератор на одному помножувачі [8, 12]:
(17)

Однак амплітуди вихідних сигналів такого генератора суттєво відрізняються, що є його недоліком.
Загальний підхід до опису рекурсивних генераторів квадратурних сигналів. На цей час немає узагальненого підходу до опису вихідних сигналів цифрових синусно-косинусних генераторів, побудованих на основі дискретизації системи лінійних диференціальних рівнянь (2), хоч спроби такі були [6–8]. Пропонується наступне. Оскільки система диференціальних рівнянь (2) (при апаратній реалізації) заміняється системою різницевих рівнянь, то очевидно, що розв’язки потрібно шукати у формі розв’язків систем різницевих рівнянь. Якщо будь-яка система описується системою k-лінійних різницевих рівнянь першого порядку, то її можна звести до одного різницевого рівняння k-го порядку, характеристичне рівняння якого має комплексні спряжені корені. Є різні методи знаходження коренів характеристичного рівняння. Однак можна використати результат роботи [4], де вказано, що коренями характеристичного рівняння є власні числа матриці А. Отже, на початку розв’язуємо систему:
(18)
або шукаємо корені характеристичного рівняння
(19)
– корені цього рівняння або власні числа матриці обертання А (для цього випадку k = 2).
Загальний розв’язок, наприклад, для шукатимемо у формі:
, (20)
причому .
Відомо, що коефіцієнти c і d при коренях також комплексні і попарно спряжені [2], тобто
. (21)
Звідки випливає, що
.
Звідси запишемо
,
або у тригонометричній формі (з використанням формули Муавра)
, (22)
де .
Невідомі значення коефіцієнтів с1 та с2 знайдемо, якщо врахуємо, що при та при
(23)
Звідси .
Тепер можемо записати, що
. (24)
Аналогічно,
. (25)
Таблиця
р-ння
xn
yn
(

(4)




(7)




(9)




(11)




(14)




(15)




(16)




(17)




Враховуючи, що х0 = 1 та у0 = 0, остаточна форма набуде такого вигляду:
(26)
(27)
Отже, для опису роботи будь-якого рекурсивного цифрового генератора другого порядку потрібно мати лише його матрицю А і початкові умови х0, х1 та у0, у1. Результати досліджень наведених типів генераторів зведені у таблицю.
Опис вихідних сигналів генераторів у формі рівнянь (26), (27) дає можливість оцінити методичні похибки таких пристроїв і вказати шляхи їх зменшення. Наприклад, якщо використати ще один помножувач у генераторі (16), то можна усунути небажану синусну складову в xn (віднявши ), що зробить для малих ( генератор практично квадратурним (або суттєво зменшить радіальну похибку для колового інтерполятора). Введення ще одного помножувача у схему генератора (17) дає змогу вирівняти амплітуди sin- та cos- складових шляхом множення yn на коригуючий коефіцієнт .
Квадратурний генератор без методичної похибки. Як випливає з аналізу таблиці, “ідеальними” генераторами квадратурних сигналів можна вважати лише (4) та (7). Недоліком першого є те, що він складний за своєю будовою (4 помножувачі). Недоліки другого добре відомі [8, 11] – генератор практично непрацездатний на низьких частотах, тобто при , де m – число вірних бітів у процесі реалізації алгоритму на пристрої з фіксованим числом розрядів. Хоч конструкція такого генераторa дуже проста, однак існує дуже простий вихід для усунення цього значного недоліку без ускладнення схеми генератора. Для дискретизації системи (3) можна використати двокроковий метод Нистрьома (Nystrom) [1]:
. (28)
У такому випадку система набуде такого вигляду:
(29)
При виборі початкових умов
(30)
отримаємо згідно з (26), (27):
(31)
де
У такому генераторі усунуто основний недолік – вплив похибок відсікання для низьких частот, а також збережено головну перевагу – простоту.
Можна модифікувати цей генератор та отримати таку ж схему, як і у роботі [5]:
. (32)
Початкові умови ті ж самі, що й для (7):

Тоді

Прикладные программы и лабораторный практикум для персонального компьютера / М. А. Гаврилюк, Т. Г. Галамай, О. М. Коссак, Л. В. Мороз и др. – К.: УМК ВО, 1988.
Кожневская И. Теория обновления основных фондов и рекуррентные уравнения. – М.: Статистика, 1971.
Анализ модифицированного кругового интерполятора / Ю. А. Раисов, И. В. Бычков, Н. И. Бычков, Н. В. Олещук // Інформаційно-керуючі системи на залізничному транспорті. – 2009. – № 13.
Стрэнг Г. Линейная алгебра и ее применение. – М.: Мир, 1980.
Теслер Г. С. Новая кибернетика. – К.: Логос, 2004.
Cie´slinski J. L. On the exact discretization of the classical harmonic oscillator equation // Journal of Difference Equations and Applications. – 2011.
Cie´slinski J. L. and Ratkiewicz B. On simulations of the classical harmonic oscillator equation by difference equations // Ibid. – 2006.
Clay S. Turner Recursive Discrete-Time Sinusoidal Oscillators // IEEE Signal Proc. Magazine. – May 2003.
Ibrahim Chami A High Precision Digital Differential Analyzer for Circular Interpolation // Journal for Studies and Scientific Research. Engineering Sciences Series. – Tishreen University, 2007. – 29, № 1.
Fred Harris Ultra Low Phase Noise DSP Oscillator // IEEE Signal Proc. Magazine. – July 2007.
Curticapean F., Niittylahti J. Complex digital oscillator with absolute periodicity // Proc. European Signal Processing Conf. EUSIPCO’2000. – Finland: Tampere, 2000.
Dattorro J. The Implementation of Recursive Digital Filters for High-Fidelity Audio // J. Audio Eng. Soc. – 1988. – 36, № 11.
Smith J. O. and Cook P. R. The Second-Order Digital Waveguide Oscillator // Proc. of the 1992 Int. Computer Music Conf. – San Jose, 1992.
Matsushiro Nobuhito A New Digital Differential Analyzer for Circle Generation // IEICE Trans., Inf., & Syst. – February 1998. – Vol. E81-D, № 2.
Regalia P. A., Mitra S. K., and Vaidyanathan P. P. The Digital All-Pass Filter: A Versatile Signal Processing Building Block // Proc. of the IEEE. – 1988. – 76, № 1.
Smith L. B. Drawing Ellipses, Hyperbolas or Parabolas with a Fixed Number of Points and Maximum Inscribed Area // Computer Journal. – 1971. – 14, № 1.
Tao H. A High Precision Digital Differential Analyzer for Circle Generation Fundamental Algorithms for Computer Graphics, NATO Scientific Affairs Division, Springer-Verlag Berlin Heidelberg, 1985.
Wang W. P., Wang C. Y. Difference Method for Generation of Circular Arcs and Ellipses Computer Aided Design. – 1989. – 21, № 1.
Національний університет ”Львівська політехніка” Одержано
30.09.2011