[an error occurred while processing this directive]
Ой. С ума сойти. Вы с моими писаниями поосторожнее, глючу - самому страшно бывает.
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено -=ВН=- 06 апреля 2005 г. 19:38
В ответ на: 2 ВН отправлено rs232 06 апреля 2005 г. 15:58

Лучше их вообще не читать
В функции bitrev128 я один битик пропустил. Нужно к выражению для j добавить |(i&8). Эта функция в 7-ми разрядном индексе биты зеркально переставлять должна. Т.е. бит 0 должен поменяться местами с битом 6, бит 1 -с битом 5, бит 2 - с битом 4. А бит 3 должен остаться на месте, ему пары нет. Этот битик я и потерял.
'Вот товарищ с Востока,
Он танцует жестоко.
Ему пара нужна.
Только пары не видно,
Танцору обидно.
И уводит его старшина.'
Роль старшины я и сыграл в данном случае, битик увел.
Но случайно, поверьте, совсем, совсем случайно.
А вторую ошибку Вы нашли. Только по модулю 256 нужно.
Тоже не хотел, а вон оно как...
Ее можно и по другому исправить - увеличить размер KOEF до 320 (на 64 отсчета, четверть периода). И сгенерировать 1.25 периода
синуса. Т.е.
for(i=0;i.lt.320;i++) koeff[i]=sin(2pi*i/256).
Тогда элементы массива с номерами 0-255 - синус, с номерами 64 -319 - косинус.
Тогда никаких операций по модулю не нужно будет.
В общем прошу прощения. Вроде больше нет ошибок.
Но програмка далеко не оптимальная, чтобы разобраться разве только.


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru