Добавил:
t.me Фулл всегда есть! А если нет, то Вы плохо его ищите! ИиКГ, СКДИКТ, ОКИТПЭС и тд https://t.me/whitedevil752rnТак же веду разработку КД (конструкторской документации) согласно ГОСТ. Имеется опыт работы при производстве на одном из ведущих в области радиэлектроники предприятии. Пишите) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

pr2 зомбиBOY / pr2_200samples

.m
Скачиваний:
0
Добавлен:
27.10.2025
Размер:
1.27 Кб
Скачать
close all
clc
clear
% шум
N = 200;
Fs=48e3;
f_cut= 4e3;
m=8;
last = N;
load('zombieboy.mat');
noize = dsp.ColoredNoise(1, N, 'Color','Brown');
x = zombieboy;
c_zader=0;
% фильтр
[b,a]=butter(10,f_cut/(Fs/2),"low");
x_filtered = filter(b,a,x);
x_delayed = [0;(x_filtered(1:end-1))']; % задержка сигнала
delta = x_filtered - (x_delayed)'; % разница между 2 отсчётами
max_delta = max(delta); % макс. значение
delta_o = mean(abs(delta)); % нормировка на макс. значение

for i=2:(N+1)
x_sum(i) = x_filtered(i) - c_zader(i-1);
d = 1/(2^(m-1));
partition = [-1:d:1-d];
codebook = [-1:d:1];

if x_sum(i)<0
x_sum(i)=x_sum(i)-delta_o;
else
x_sum(i)=x_sum(i)+delta_o;
end

[~,delta_quantiz_1,distortion] = quantiz(delta_o,partition,codebook); % квантование дельты

% интегрирование
qq=delta_quantiz_1.*max_delta;
c=cumsum(qq);
c_zader(i)=[0;(c(1:end-1))'];

end

c_out=cumsum(delta_quantiz_1);

% ф
h = filter(b,a,c_out);
h_domn = h.* (-1);

plot(x_filtered)
hold on
plot(h)
plot(x)
plot(delta_quantiz_1)
legend('fir noise','fir out','noise','delta');
grid
Соседние файлы в папке pr2 зомбиBOY