Добавил:
Barlavonus
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Lab5_1_variant2
.m %% Исследование свойств шума квантования
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;
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;
Соседние файлы в предмете Цифровая обработка сигналов
