diff options
Diffstat (limited to '165/CH17/EX17.1/ex17_1.sce')
-rw-r--r-- | 165/CH17/EX17.1/ex17_1.sce | 35 |
1 files changed, 35 insertions, 0 deletions
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 |