реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Герцель, несколько вопросов
ANV
сообщение Jul 15 2010, 17:47
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 16-10-05
Пользователь №: 9 713



Доброе время суток.
Непонятно какими критериями пользоваться при выборе разрядности переменных D0, D1, D2
Код
D0 = x + k * D1 - D2

Допустим для x выбираем 10 бит, для k - 16 бит, разрядность D0?
Интуиция подсказывает, что надо учитывать размер блока N, где бы про это почитать?
Go to the top of the page
 
+Quote Post
bahurin
сообщение Jul 16 2010, 05:43
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



сформулируйте вопрос свой. А то совершенно не понятно о чем речь идет?

Go to the top of the page
 
+Quote Post
ANV
сообщение Jul 16 2010, 05:56
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 16-10-05
Пользователь №: 9 713



Да всё, алгоритм уже закодирован и работает.

Цитата(bahurin @ Jul 16 2010, 08:43) *
сформулируйте вопрос свой. А то совершенно не понятно о чем речь идет?



Применяли на практике алгоритм Герцеля? Выражение в первом сообщении реализует вычисление мощности одной частоты (подробности об алгоритме есть в гугле), проблема была в определении необходимой разрядности переменных сдвигового регистра (d0, d1, d2), так сказать методика.

Сообщение отредактировал ANV - Jul 16 2010, 05:57
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jul 16 2010, 05:59
Сообщение #4





Guests






Цитата(ANV @ Jul 15 2010, 21:47) *
Интуиция подсказывает, что надо учитывать размер блока N, где бы про это почитать?


A16 + B16 -> C17 ?

N = N1 + N2; // N - итоговая разрядность суммы, N1 - разрядность исходных операторов
N2 = Log2(S)+1; // S - число сложений
Go to the top of the page
 
+Quote Post
ANV
сообщение Jul 16 2010, 06:20
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 16-10-05
Пользователь №: 9 713



Цитата(TSerg @ Jul 16 2010, 08:59) *
A16 + B16 -> C17 ?

N = N1 + N2; // N - итоговая разрядность суммы, N1 - разрядность исходных операторов
N2 = Log2(S)+1; // S - число сложений


А как учесть множитель k, который по модулю может быть до 2? Просто добавить ещё один бит? Или "+1" во второй формуле (N2 = Log2(S)+1) это и учитывает?
Go to the top of the page
 
+Quote Post
Pechka
сообщение Jul 21 2010, 07:34
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210



Цитата(ANV @ Jul 16 2010, 10:20) *
А как учесть множитель k, который по модулю может быть до 2? Просто добавить ещё один бит? Или "+1" во второй формуле (N2 = Log2(S)+1) это и учитывает?

Как раз это и учитывает: Герцель = вычисление одонго бина Фурье. Увеличение разрядности в фурье как раз log2(s), где S - длина фурье. соответственно на коэффициент k закладываем ещё 1 бит и получаем увеличение разрядности log2(s)+1. Исходная разрядность N1, тогда N=N1+log2(S)+1, всё как изложено выше.
Go to the top of the page
 
+Quote Post
анатолий
сообщение Jul 21 2010, 13:31
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052



Алгоритм Герцеля - модификация рекурсивного ДПФ.
А в нем ошибки накапливаются неслабо даже с плавающей запятой.
Поэтому Герцеля нельзя использовать для измерения спектра, а только в таких
триггерных схемах, как ДТМФ.
И значит, формулу ошибки с логарифмом надо умножить надвое.
Go to the top of the page
 
+Quote Post
ANV
сообщение Jul 22 2010, 15:53
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 16-10-05
Пользователь №: 9 713



Цитата(анатолий @ Jul 21 2010, 16:31) *
А в нем ошибки накапливаются неслабо даже с плавающей запятой.
Поэтому Герцеля нельзя использовать для измерения спектра, а только в таких
триггерных схемах, как ДТМФ.


Откуда такая информация?

Сообщение отредактировал ANV - Jul 22 2010, 15:54
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 15:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01422 секунд с 7
ELECTRONIX ©2004-2016