clear all
close all
t = 0:.01:4*pi;
y = sin(t); % Bemeneti jel 

% Szigma Delta converter
memory = 0;
feedback = 0;
for i=1:length(y)
    diff = y(i)-feedback; % Különbségképzés
    memory = memory + diff; % Tároló
    comp = (memory>0)*2-1; % Komparátor  
    output(i)=comp; % Kimenet
    feedback=comp; % Visszacsatolás
end

figure(1)
subplot(211)
    plot(t,y,'r')
    hold on
    plot(t,output)
    ylim([-1.5 1.5])
    legend('Eredeti', 'PWM modulált')
subplot(212)
    output_filt = filter(ones(1,50)/50,1, output);
    plot(output_filt,'b') % Simple lowpass
    legend('Szûrt')
    ylim([-1.5 1.5])