Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Спектр квантованного сигнала в Matlab
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
dIrrat
Здравствуйте)
Задача состоит в следующем: с 16 разрядного АЦП приходит сигнал, далее строится спектр сигнала. Проблема в том, что при моделировании в матлабе, боковые лепестки ниже 40дБ не опускаются, не зависимо от того числа уровней квантования, от того какое окно используется, а так же комплексный сигнал или действительный.Не могу разобраться почему так, и как это исправить.

Код программы:

Код
clear
N=2048; % количество точек БПФ
m=1:1:N;
fs=1.536*10^6; T=1/fs; %определение частоты и периода дискретизации

%параметры для 1ого сигнала
f1=30000; F1=rand(1)*pi/2;

%параметры для 2ого сигнала
f2=40000; F2=30*pi/180;

%Задание амплитуд сигналов
Am_A1=1;
Am_B1=1;

%Задание самого сигнала
A1=Am_A1*cos(2*pi*f1*(m-1)*T+F1);
B1=Am_B1*sin(2*pi*f1*(m-1)*T+F1);
%B1=(m-1)*0;
A=A1
B=B1

%Задаем параметры окна
w = kaiser(N,18);

% Квантуем реальную составляющую сигнала
step=(max(A)-min(A))/16  %определяем шаг квантования
[index, quants]=quantiz(A, min(A): step: max(A), min(A): step: max(A)+ step)
signal_1=quants.*w';% умножаем отсчеты окна на отсчеты реальной части сигнала
%Строим реальную часть сигнала подоваемого с АЦП
N2=length(signal_1)
faxes=(0:(N2-1))*fs/(N2-1)
figure(1)
plot(faxes, signal_1)

%Квантуем мнимую составляющую сигнала
step1=(max(B)-min(B))/16   %определяем шаг квантования
[index, quants]=quantiz(B, min(B): step1: max(B), min(B): step1: max(B)+ step1)
signal_2=quants.*w';
%Строим мнимую часть сигнала подоваемого с АЦП
figure(2)
plot(faxes, signal_2)

%Задаем комплексный сигнал
D=signal_1+i*signal_2;

% Используя встроенную функцию БПФ строим спектр сформированного сигнала
S=fft(D);
S1=abs(S);
Spectr=S1/max(S1) % нормирование по оси У
F_log=20*log10(Spectr)  % перевод в децибелы
N2=length(S1)
figure(3)
plot((0:N2-1)/(N2-1), F_log)
grid  on
dIrrat
Нашла у себя ошибку) все работает) (написала 16 уровней квантования, а не 2^16))) тема закрыта)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.