Professional Documents
Culture Documents
RESULT:
plot(y);
title('Output AM signal','fontsize',14);
xlabel('--->time in 10us','fontsize',11);
ylabel('--->Amplitude in Volts','fontsize',11);
OUTPUT:
xlabel('--->time in 10us','fontsize',11);
ylabel('--->Amplitude in Volts','fontsize',11);
subplot(312);
plot(c,'r');
title('input carrier signal','fontsize',14);
xlabel('--->time in 10us','fontsize',11);
ylabel('--->Amplitude in Volts','fontsize',11);
B=(500*Am)/fm; % kf=500 < fc
s=Ac*cos(2*pi*fc*t + (B*sin(2*pi*fm*t)));
subplot(313);
plot(s);
title('output FM signal','fontsize',14);
xlabel('--->time in 10us','fontsize',11);
ylabel('--->Amplitude in Volts','fontsize',11);
OUTPUT:
for i=1:194;
y(i)=(z(i)+z(i+1)+z(i+2)+z(i+3)+z(i+4)+z(i+6))/6;
end
plot(y,'r','linewidth',1.5);
legend('Actual','Noisy','Filtered');
title('moving Average Filter','fontsize',12);
xlabel('---> time in 2us');
ylabel('---> volts');
OUTPUT:
;
bp1=0.049039538429966834
b2=[1 0 -1];
a2=[1 -1.8603604222618464
;
bp2=0.049039538429966834
subplot(212);
plot(bp2);
title('after filter');
figure
subplot(211);
plot(necg);
title('after noise adding');
subplot(212);
plot(bp1);
title('after 1st section filter');
RESULT:
*filter(b1,a1,necg);
0.87003045759154718
*filter(b2,a2,bp1);
hold on;
stem(t,z);
hold on;
Vd=-5:0.0390625:5; % step size =0.0390625, when n=8 bits
for i=1:256
Vdelta(i)=(Vd(i)+Vd(i+1))/2; % Quantization levels
end
i=0:255;
binary= dec2bin(i); % decimal to binary conversion
% Quantization of input signal
for i=1:200
for j=1:256
if(z(i)< Vd(1))
z(i) = Vdelta(1);
end
if (z(i) > Vd(257))
z(i) = Vdelta(256);
end
if(z(i) <= Vd(j+1) && z(i) >= Vd(j))
z(i) = Vdelta(j);
end
end
end
% Encoding the Quantized data
for i=1:200
for j=1:256
if (z(i)==Vdelta(j))
B_data(i,1:8) = binary(j,1:8);
end
end
end% representing binary data in decimal
figure
for i=1:200
B(i)=bin2dec(B_data(i,1:8));
end
% First solution; writing Encoded data into ADC.txt file. The we will
perfom
% Moving average filter operation in VHDL
f = fopen('ADC.txt', 'w');
for n = 1:200
fprintf(f, '%s\n', B_data(n,1:8));
end
fclose(f);
subplot(221);
plot(x);
title('original sinwave','fontsize',12);
xlabel('--->time in 2us');
ylabel('--->amplitude in volts');
subplot(222);
plot(z);
title('noise signal','fontsize',12);
xlabel('--->time in 2us');
ylabel('--->amplitude in volts');
% After the moving avg filter the filtered data has been written to
vhdl_out.txt file
f=fopen('vhdl_out.txt','r');
A = fscanf(f,'%g',[1 inf]);
fclose(f);
subplot(224)
plot(B)
title('signal with white gaussian noise','fontsize',12);
xlabel('--->time in 2us');
ylabel('--->amplitude in decimal');%Digital to Analog conversion
for i=1:192
for j=1:256
if(A(i)== j )
outpt(i)=Vdelta(j);
end
end
end
subplot(223);
plot(outpt);
title('filtered sine wave sinewave output','fontsize',12);
xlabel('--->time in 2us');
ylabel('--->amplitude in decimal');
RESULT:
Output data files Download