Перейти к содержанию

    

FixedPoint в Матлаб

Доброго времени суток!

Написал простую программу которая генерит синус косинус и переводит в fixedpoin

строю спектр синуса косинуса в плавающей точке все класно спектры совпадают все красиво

 

строю спектры синуса косинуса в fixedpoint: во первых он не строит, ругается на fixedpoint, это ладно...

перевожу в double ругаться перестает, но спектр все равно не строит, выдает нули не понятно...

 

убираю с конца два отсчета и тогда он строит спектр... че к чему, не понятно...

при этом сами спектры не такие какие должны быть, во первых спектры синуса и косинуса почемуто разные,

во вторых полка шума не соответствует той которая должна быть при заданной разрядности, да и изменение разрядности

на нее почемуто не влияет

 

скорее всего это из за того что приходится выкидывать последние два отсчета, но если не выкидывать то спектр почемуто не строится

 

Помогите разобраться буду благодарен

Fclc = 500e6;
NFFT = 2^15;
Fout = 1000*Fclc/NFFT; % Частота выходного сигнала
T = 1/Fclc;                              
t1 = (1:NFFT)*T;
x1 = cos(2*pi*Fout*t1);
x2 = sin(2*pi*Fout*t1);
xf1 = fi(x1, 1, 18, 16);
xf2 = fi(x2, 1, 18, 16);

figure(1)
periodogram(double(x1(1:end)));
figure(2)
periodogram(double(xf1(1:end-2)));

Изменено пользователем Ivan55

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Доброго времени суток!

Не удачное соотношение частот.

Там только две точки получается (постоянка и значение частоты), а остальные нули. А Log от нуля, плохо выглядит :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Не удачное соотношение частот.

Там только две точки получается (постоянка и значение частоты), а остальные нули. А Log от нуля, плохо выглядит :)

Вы правы кажись начинаю догонять)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти