Доброго времени суток!
Написал простую программу которая генерит синус косинус и переводит в fixedpoin
строю спектр синуса косинуса в плавающей точке все класно спектры совпадают все красиво
строю спектры синуса косинуса в fixedpoint: во первых он не строит, ругается на fixedpoint, это ладно...
перевожу в double ругаться перестает, но спектр все равно не строит, выдает нули не понятно...
убираю с конца два отсчета и тогда он строит спектр... че к чему, не понятно...
при этом сами спектры не такие какие должны быть, во первых спектры синуса и косинуса почемуто разные,
во вторых полка шума не соответствует той которая должна быть при заданной разрядности, да и изменение разрядности
на нее почемуто не влияет
скорее всего это из за того что приходится выкидывать последние два отсчета, но если не выкидывать то спектр почемуто не строится
Помогите разобраться буду благодарен
CODE
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 - Apr 5 2018, 08:36