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

 
 
> Перевод коэффициентов в формат 0.15
Fenolftalein
сообщение Oct 31 2009, 14:03
Сообщение #1


Участник
*

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



Здравствуйте, извините, если не совсем по теме. Есть dat-файл с коэффициентами ЦФ в десятичном виде. Кто-нибудь подскажет прогу для перевода коэффициентов в формат 0.15. (пересчитывать вручную каждый раз не улыбается)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
V_G
сообщение Oct 31 2009, 15:24
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



А кто будет потреблять продукт перевода? Если какой-нибудь компилятор, то может, ему можно подсунуть файл в ASCII формате? А в разные представления числа можно переводить и в Excele (с обратным экспортом в ASCII формат). Например, коэффициенты ЦФ для ассемблера adsp21XX вполне можно передавать в текстовом формате.
Go to the top of the page
 
+Quote Post
Fenolftalein
сообщение Oct 31 2009, 15:45
Сообщение #3


Участник
*

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



Цитата(V_G @ Oct 31 2009, 19:24) *
А кто будет потреблять продукт перевода? Если какой-нибудь компилятор, то может, ему можно подсунуть файл в ASCII формате? А в разные представления числа можно переводить и в Excele (с обратным экспортом в ASCII формат). Например, коэффициенты ЦФ для ассемблера adsp21XX вполне можно передавать в текстовом формате.

Потреблять будет ADSP-21xx. Использую VDSP++3.5 Я инициализирую массив коэффициентов в PM из файла:
.section/pm pm_da;
.VAR coef[K]="coef_table.dat";
Проблема в том, что компилятор ругается, если числа в dat-файле в десятичном представлении.
Пример:
Фрагмент dat-файла
-0.00091909820846825603
-0.0027176960265955
-0.0024869527598323101
0.0036614383835070902
0.0136509252306624
0.017351165901093299
0.0076653061904216804
-0.0065547188696423999
-0.0076967840370653602
выдает синтактическую ошибку

Но если
0xbf4e
0xbf66
0xbf64
0x3f6d
0x3f8b
0x3f91
0x3f7f
0xbf7a
0xbf7f
все в порядке

Еще меня смущает, что Matlab представляет отрицательные числа в дополнительном коде, поймет ли MAC DSP такую форму записи?
Пример:
MR=MR+MX0*MY0(SS);
Go to the top of the page
 
+Quote Post
qxov
сообщение Dec 10 2009, 10:40
Сообщение #4


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

Группа: Свой
Сообщений: 86
Регистрация: 22-03-07
Из: Санкт-Петербург
Пользователь №: 26 406



Понимаю, что вопрос уже исчерпан, но (matlab)...

load coef_table.dat
q15 = round(coef_table*32767.5);

и сохранить
Go to the top of the page
 
+Quote Post



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

 


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


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