function FreqAnalysis(Out) Out=abs(Out); t = 0:0.0005:0.6; x = sin(2*pi*100*t)*2.4; x_disc = round((x+2.4)/0.3125)*0.3125 - 2.4; x_dac = round((x+2.4)/0.3125); for i=1:length(x_dac) index = x_dac(i)+1; x_dac(i)=Out(index); end x_dac = x_dac-2.4; plot(1000*t(1:20),x(1:20),1000*t(1:20),x_disc(1:20),1000*t(1:20),x_dac(1:20)) title('Time Domain Output Signals') xlabel('time (milliseconds)') legend('Ideal','Discretized','DAC') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure; Y = fft(x,512); Y_disc = fft(x_disc,512); Y_dac = fft(x_dac,512); Pyy = 10*log10(Y.* conj(Y) / 512); Pyy_disc = 10*log10(Y_disc.* conj(Y_disc) / 512); Pyy_dac = 10*log10(Y_dac.* conj(Y_dac) / 512); f = 2000*(0:256)/512; plot(f,Pyy(1:257),f,Pyy_disc(1:257),f,Pyy_dac(1:257)) title('Frequency Content of Output Signals') xlabel('frequency (Hz)') legend('Ideal','Discretized','DAC')