Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab5_1_variant2

.m
Скачиваний:
0
Добавлен:
27.01.2026
Размер:
3.12 Кб
Скачать
%% Исследование свойств шума квантования
close all;

% Исходные величины
A = 0.98;
w0 = 0.79;
fi0 = 0.78;
%Тип Баттерворта
fsr = 0.15;

% Создадим вектор из 10^5 отсчетов вещественного гармонического сигнала
% с заданными амплитудой, частотой и начальной фазой:

kmax = 100000;
k = 0:1:10^5-1
x = A*cos(w0*k+fi0);


% Произведем квантование сигнала, округлив его значения с шагом в
% 1/256. Для этого можно умножить сигнал на 256, округлить результат функ-
% цией round, а затем разделить его на 256:

x_q = round(x*256)/256;

shum_q = x_q - x;

%% Шум квантования и др
% Вычислим шум квантования как разность между квантованным (x_q) и
% исходным (x) сигналами.

% Исследуйте свойства шума квантования, получив для этого графики сле-
% дующих его характеристик:
% • самого шума квантования длительностью 200 отсчетов;
% • гистограммы;
% • корреляционной функции для диапазона сдвигов ±100 отсчетов;
% • оценки СПМ.
% Сохраните в отчете 4 полученных графика.

%Для построения графика шума квантования длительностью 200 отсчетов
%используется функция
figure(1);
plot(shum_q(1:200));

% Для расчета и отображения гистограммы служит функция hist. Формат
% вызова: hist(x, nbin), где x — анализируемый сигнал; nbin — число
% интервалов гистограммы. Для целей данной работы это число следует вы-
% брать равным 100.
nbin = 100;
figure(2);
hist(shum_q, nbin);

% Для расчета авто- и взаимных корреляционных функций служит функция xcorr.
kmax = 100;
dk = -kmax:kmax;
[Rx, dk] = xcorr(shum_q, kmax, 'unbiased');
figure(3);
plot(dk,Rx);

% Для расчета оценки и построения графика СПМ шума квантования в дан-
% ной работе используется функция pwelch

Lb = 256; % Рекомендуемая длина блока
figure(4);
pwelch(shum_q, Lb);

%% Повторение квантования сигнала
% Бот Максимов должен выполнить через Run section с изменением кода в секции,
% где:

% используется тот же синусоидальный сигнал, но шаг квантования равен 1/16;
% используется тот же синусоидальный сигнал, но шаг квантования равен 1;
% дискретный белый гауссов шум (БГШ) с нулевым средним значением
%и числом отсчетов 105, шаг квантования — 1/256. Сгенерированный случай-
%ный сигнал необходимо отмасштабировать так, чтобы его максимальное (по
%модулю) значение было равно единице: x = x/max(abs(x));

%% Квантование белого шума

% Дискретный белый гауссов шум (БГШ) с нулевым средним значением
% и числом отсчетов 10^5, шаг квантования — 1/256.
sn = randn(1, 10^5),
sn_q = round(sn*256)/256;

% Сгенерированный случайный сигнал необходимо отмасштабировать так,
% чтобы его максимальное (по модулю) значение было равно единице:
sn_q = sn_q/max(abs(sn_q));
figure(5);
plot(sn_q);

%% Речевой сигнал

% Речевой сигнал из файла mtlb.mat (он входит в набор имеющихся в
% MATLAB тестовых сигналов), шаг квантования — 1/256

load mtlb;

x = mtlb/max(abs(mtlb));
figure(6);
plot(x);

%% Исследование влияния округления коэффициентов фильтра на его параметры

% Запустите среду командой fdatool и выполните синтез рекурсивного
% (IIR) ФНЧ с заданными параметрами
fdatool;

Соседние файлы в предмете Цифровая обработка сигналов