From 7f60ea012dd2524dae921a2a35adbf7ef21f2bb6 Mon Sep 17 00:00:00 2001 From: prashantsinalkar Date: Tue, 10 Oct 2017 12:27:19 +0530 Subject: initial commit / add all books --- 165/CH17/EX17.1/ex17_1.sce | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 165/CH17/EX17.1/ex17_1.sce (limited to '165/CH17/EX17.1/ex17_1.sce') diff --git a/165/CH17/EX17.1/ex17_1.sce b/165/CH17/EX17.1/ex17_1.sce new file mode 100644 index 000000000..2ea4d9ac6 --- /dev/null +++ b/165/CH17/EX17.1/ex17_1.sce @@ -0,0 +1,35 @@ +//Example 17.1 +close; +clc; +n=5; //n bit resistive divider +//LSB weight +x=2^n-1; +LSB_weight=invr(x); +printf('\nWeight assigned to the LSB = 1/%d \n',x) +printf('\nWeight assigned to 2nd LSB = 2/%d \n',x) +printf('\nWeight assigned to 3rd LSB = 4/%d \n',x) +printf('\nChange in output voltage due to channge in the LSB = 10/%d \n',x) +printf('\nChange in output voltage due to channge in 2nd LSB = 20/%d \n',x) +printf('\nChange in output voltage due to channge in 3rd LSB = 40/%d \n',x) + +function [Va]=Output_Voltage(D) +V=0; +for i=0:4 + a=modulo(D,10); + D=floor(D/10); + V=V+(a*10)*(2^i); +end +Va=V/x; +endfunction + +//Digital input 11011 +funcprot(0); +D=11011; //0 represents 0 and 1 represents 10 +[Va]=Output_Voltage(D); +printf('\nOutput Voltage for Digital input of 11011 = %.2f V\n',Va) + +//Digital input 10110 +funcprot(0); +D=10110; //0 represents 0 and 1 represents 10 +[Va]=Output_Voltage(D); +printf('\nOutput Voltage for Digital input of 11011 = %.2f V\n',Va) \ No newline at end of file -- cgit