diff options
author | prashantsinalkar | 2017-10-10 12:27:19 +0530 |
---|---|---|
committer | prashantsinalkar | 2017-10-10 12:27:19 +0530 |
commit | 7f60ea012dd2524dae921a2a35adbf7ef21f2bb6 (patch) | |
tree | dbb9e3ddb5fc829e7c5c7e6be99b2c4ba356132c /3542/CH6 | |
parent | b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b (diff) | |
download | Scilab-TBC-Uploads-7f60ea012dd2524dae921a2a35adbf7ef21f2bb6.tar.gz Scilab-TBC-Uploads-7f60ea012dd2524dae921a2a35adbf7ef21f2bb6.tar.bz2 Scilab-TBC-Uploads-7f60ea012dd2524dae921a2a35adbf7ef21f2bb6.zip |
initial commit / add all books
Diffstat (limited to '3542/CH6')
23 files changed, 315 insertions, 0 deletions
diff --git a/3542/CH6/EX6.1/6_1.jpg b/3542/CH6/EX6.1/6_1.jpg Binary files differnew file mode 100644 index 000000000..58397418c --- /dev/null +++ b/3542/CH6/EX6.1/6_1.jpg diff --git a/3542/CH6/EX6.1/Ex6_1.sce b/3542/CH6/EX6.1/Ex6_1.sce new file mode 100644 index 000000000..9b6152ed0 --- /dev/null +++ b/3542/CH6/EX6.1/Ex6_1.sce @@ -0,0 +1,25 @@ +// Example no 6.1
+// To compute the carrier power, percentage of total power in carrier power and power in each sideband.
+// Page no. 260
+
+clc;
+clear all;
+
+// Given data
+PAM=10*10^3; // Power of transmitted AM signal
+k=0.6; // Modulation index
+
+// To compute the carrier power
+Pc=PAM/(1+k^2/2); // The carrier power
+
+// To compute percentage of total power in carrier power
+PercentPc=(Pc/PAM)*100; // Percentage of total power in carrier power
+
+// To compute power in each sideband
+Psideband=(PAM-Pc)/2; // The power in each sideband
+// Answer is varrying due to round-off error
+
+// Displaying the result in command window
+printf('\n The carrier power = %0.2f kW',Pc*10^-3);
+printf('\n The percentage of total power in carrier power = %0.1f percentage',PercentPc);
+printf('\n The power in each sideband = %0.3f kW',Psideband*10^-3);
diff --git a/3542/CH6/EX6.10/6_10.jpg b/3542/CH6/EX6.10/6_10.jpg Binary files differnew file mode 100644 index 000000000..f23af400a --- /dev/null +++ b/3542/CH6/EX6.10/6_10.jpg diff --git a/3542/CH6/EX6.10/Ex6_10.sce b/3542/CH6/EX6.10/Ex6_10.sce new file mode 100644 index 000000000..29c389cc7 --- /dev/null +++ b/3542/CH6/EX6.10/Ex6_10.sce @@ -0,0 +1,45 @@ +// Example no 6.10
+// To demonstrate how the received signal is detected properly using baseband differential detector.
+// Page no. 310
+
+clc;
+clear all;
+
+// Given data
+x1=-0.707;
+y1=-0.707;
+x2=0.707;
+y2=-0.707;
+x3=0.707;
+y3=0.707;
+
+if x1<0 then // Applying decision rule
+printf('S1 = 0');
+else
+printf('\n S1 = 1');
+end
+if y1<0 then
+printf('\n S2 = 0');
+else
+printf('\n S2 = 1');
+end
+if x2<0 then
+printf('\n S3 = 0');
+else
+printf('\n S3 = 1');
+end
+if y2<0 then
+printf('\n S4 = 0');
+else
+printf('\n S4 = 1');
+end
+if x3<0 then
+printf('\n S5 = 0');
+else
+printf('\n S5 = 1');
+end
+if y3<0 then
+printf('\n S6 = 0');
+else
+printf('\n S6 = 1');
+end
diff --git a/3542/CH6/EX6.11/6_11.jpg b/3542/CH6/EX6.11/6_11.jpg Binary files differnew file mode 100644 index 000000000..2cd993977 --- /dev/null +++ b/3542/CH6/EX6.11/6_11.jpg diff --git a/3542/CH6/EX6.11/Ex6_11.sce b/3542/CH6/EX6.11/Ex6_11.sce new file mode 100644 index 000000000..bb5c06ef9 --- /dev/null +++ b/3542/CH6/EX6.11/Ex6_11.sce @@ -0,0 +1,22 @@ +// Example no 6.11
+// To find 3-dB bandwidth for gaussian low pass filter to produce 0.25GMSK, 90% power bandwidth.
+// Page no. 321
+
+clc;
+clear all;
+
+// Given data
+Rb=270*10^3; // Channel data rate in bps
+BT=0.25; // 3-dB bandwidth-bit duration product
+
+T=1/Rb; // Time
+B=BT/T; // 3-dB bandwidth in Hz
+// Answer is varrying due to round-off error
+
+// 90% power bandwidth
+B1=0.57*Rb; // The 90% power bandwidth
+// Answer is varrying due to round-off error
+
+// Displaying the result in command window
+printf('\n The 3-dB bandwidth-bit duration product = %0.3f kHz',B*10^-3);
+printf('\n The 90 percent power bandwidth = %0.1f kHz',B1*10^-3);
diff --git a/3542/CH6/EX6.2/6_2.jpg b/3542/CH6/EX6.2/6_2.jpg Binary files differnew file mode 100644 index 000000000..7b1dcaf54 --- /dev/null +++ b/3542/CH6/EX6.2/6_2.jpg diff --git a/3542/CH6/EX6.2/Ex6_2.sce b/3542/CH6/EX6.2/Ex6_2.sce new file mode 100644 index 000000000..7de3c2019 --- /dev/null +++ b/3542/CH6/EX6.2/Ex6_2.sce @@ -0,0 +1,21 @@ +// Example no 6.2
+// To compute a)the peak frequency deviation b)the modulation index.
+// Page no. 265
+
+clc;
+clear all;
+
+// Given data
+kf=10*10^3; // Frequency deviation constant gain in Hz/V
+fm=4*10^3; // Modulating frequency in Hz
+A=4; // Maximum instantaneous value of input signal in V
+
+// To compute the peak frequency deviation
+deltaf=A*kf; // The peak frequency deviation in Hz
+
+// To compute the modulation index
+betaf=deltaf/fm; // The modulation index
+
+// Displaying the result in command window
+printf('\n The peak frequency deviation = %0.0f kHz',deltaf*10^-3);
+printf('\n The modulation index = %0.0f',betaf);
diff --git a/3542/CH6/EX6.3/6_3.jpg b/3542/CH6/EX6.3/6_3.jpg Binary files differnew file mode 100644 index 000000000..1ff470be3 --- /dev/null +++ b/3542/CH6/EX6.3/6_3.jpg diff --git a/3542/CH6/EX6.3/Ex6_3.sce b/3542/CH6/EX6.3/Ex6_3.sce new file mode 100644 index 000000000..6fe12f1d4 --- /dev/null +++ b/3542/CH6/EX6.3/Ex6_3.sce @@ -0,0 +1,17 @@ +// Example no 6.3
+// To determine the IF bandwidth necessary to pass the given signal.
+// Page no. 267
+
+clc;
+clear all;
+
+// Given data
+fm=100*10^3; // Modulating frequency in Hz
+deltaf=500*10^3; // Peak frequency deviation in Hz
+betaf=deltaf/fm; // Modulation index
+
+// The IF bandwidth occupied by FM signal using Carson's rule
+BT=2*(betaf+1)*fm; // The IF bandwidth necessary to pass the given signal
+
+// Displaying the result in command window
+printf('\n Using Carson rule, the IF bandwidth occupied by FM signal = %0.0f kHz',BT*10^-3);
diff --git a/3542/CH6/EX6.4/6_4.jpg b/3542/CH6/EX6.4/6_4.jpg Binary files differnew file mode 100644 index 000000000..1bb6d5d6f --- /dev/null +++ b/3542/CH6/EX6.4/6_4.jpg diff --git a/3542/CH6/EX6.4/6_4_plot.jpg b/3542/CH6/EX6.4/6_4_plot.jpg Binary files differnew file mode 100644 index 000000000..61a91b990 --- /dev/null +++ b/3542/CH6/EX6.4/6_4_plot.jpg diff --git a/3542/CH6/EX6.4/Ex6_4.sce b/3542/CH6/EX6.4/Ex6_4.sce new file mode 100644 index 000000000..78cb382c8 --- /dev/null +++ b/3542/CH6/EX6.4/Ex6_4.sce @@ -0,0 +1,51 @@ +// Example no 6.4
+// To design an RLC network that implements an IF quadrature FM detector
+// Page no. 273
+
+clc;
+clear all;
+close;
+
+// Given data
+fc=10.7*10^6; //Cut-off frequency in Hz
+B=500*10^3; //Bandwidth in Hz
+phi=5; //phase shift for good system in degree
+Q=tand(phi)/((fc+B/2)/fc-fc/(fc+B/2)); //Q-factor
+L=10*10^(-6); //Chosen value of inductor
+R=Q*2*%pi*fc*L; //Value of Resistor
+c1=12.13*10^(-12); //Chosen value of C1
+c=(Q/(R*2*%pi*fc))-c1; //Value of capacitor
+
+// Displaying the result in command window
+printf('\n Value of Resistor required for RLC circuit = %0.3f kohm',R*10^(-3));
+printf('\n Value of Inductor required for RLC circuit = %0.0f microH',L*10^(6));
+printf('\n Value of Capacitor required for RLC circuit = %0.0f pF',c*10^(12));
+
+// Magnitude plot
+f=0.95*10^7:0.05*10^7:1.2*10^7; // Frequency range for plotting in Hz
+mgh=(2*%pi*f*R*c1)/sqrt(1+Q^2*((f^2-fc^2)/(f*fc))^2); // Magnitude transfer function
+subplot(211);
+plot(f,mgh);
+a=gca();
+a.data_bounds=[0.95*10^7 0;1.2*10^7 2]; // To see the vertical line hiddden by the y axis
+xlabel("Frequency","color","blue");
+ylabel("Magnitude","color","blue");
+title("Magnitude response","fontsize","6","color","red");
+
+// Phase plot
+f=0.95*10^7 // Initial frequency for plotting
+for i=1:6
+ if f<1.25*10^7 then
+ phH(i)=(%pi/2)+atan(Q*((f^2-fc^2)/(f*fc))); // Phase transfer function
+ f=f+0.05*10^7;
+ end
+end
+
+f=0.95*10^7:0.05*10^7:1.2*10^7;
+subplot(212);
+plot(f,phH);
+a=gca();
+a.data_bounds=[0.95*10^7 1.2;1.2*10^7 2]; // To see the vertical line hiddden by the y axis
+xlabel("Frequency","color","blue");
+ylabel("Phase","color","blue");
+title("Phase response","fontsize","10","color","red");
diff --git a/3542/CH6/EX6.5/6_5.jpg b/3542/CH6/EX6.5/6_5.jpg Binary files differnew file mode 100644 index 000000000..d8d83866f --- /dev/null +++ b/3542/CH6/EX6.5/6_5.jpg diff --git a/3542/CH6/EX6.5/Ex6_5.sce b/3542/CH6/EX6.5/Ex6_5.sce new file mode 100644 index 000000000..eece39a05 --- /dev/null +++ b/3542/CH6/EX6.5/Ex6_5.sce @@ -0,0 +1,30 @@ +// Example no 6.5
+// To determine the analog bandwidth, output SNR improvement if modulation index is increased from 3 to 5 and tradeoff bandwidth for this improvement.
+// Page no. 277
+
+clc;
+clear all;
+
+// Given data
+fm=5*10^3; // Audio bandwidth of FM signal
+betaf1=3; // Initial modulation index
+betaf2=5; // Final modulation index
+
+// To determine analog bandwidth
+BT1=2*(betaf1+1)*fm; // The analog bandwidth
+BT2=2*(betaf2+1)*fm; // The analog bandwidth
+
+// To determine output SNR improvement factor
+SNR1=3*betaf1^3+3*betaf1^2; // Output SNR factor for modulation index=3
+SNR1=10*log10(SNR1); // Output SNR factor for modulation index=3 in dB
+SNR2=3*betaf2^3+3*betaf2^2; // Output SNR factor for modulation index=3
+SNR2=10*log10(SNR2); // Output SNR factor for modulation index=3 in dB
+
+// To determine improvement in output SNR by increasing modulation index
+improvedSNR=SNR2-SNR1; // Improvement in output SNR by increasing modulation index
+
+// Displaying the result in command window
+printf('\n Using Carson rule, the analog bandwidth at 3 modulation index occupied by FM signal = %0.0f KHz',BT1*10^-3);
+printf('\n Using Carson rule, the analog bandwidth at 5 modulation index occupied by FM signal = %0.0f KHz',BT2*10^-3);
+printf('\n Improvement in output SNR by increasing modulation index = %0.1f dB',improvedSNR);
+printf('\n \n This improvement is achieved at the expenses of bandwidth. For modulation index = 3, a bandwidth of 40kHz is needed,\n while for modulation index = 5 requires bandwidth = 60kHz.');
diff --git a/3542/CH6/EX6.6/6_6.jpg b/3542/CH6/EX6.6/6_6.jpg Binary files differnew file mode 100644 index 000000000..a2fdd6c88 --- /dev/null +++ b/3542/CH6/EX6.6/6_6.jpg diff --git a/3542/CH6/EX6.6/Ex6_6.sce b/3542/CH6/EX6.6/Ex6_6.sce new file mode 100644 index 000000000..dd1859092 --- /dev/null +++ b/3542/CH6/EX6.6/Ex6_6.sce @@ -0,0 +1,18 @@ +// Example no 6.6
+// To determine the maximum theoretical datarate and to compare this rate to US digital cellular standard
+// Page no. 280
+
+clc;
+clear all;
+
+// Given data
+SNR=20; // Signal to noise ratio of wireless communication link in dB
+B=30*10^3; // RF bandwidth in Hz
+SNR=10^(SNR/10); // Signal to noise ratio of wireless communication link
+
+// To determine the maximum theoretical datarate
+C=B*(log10(1+SNR)/log10(2)); // The maximum theoretical datarate in bps
+
+// Displaying the result in command window
+printf('\n The maximum theoretical datarate = %0.2f kbps',C*10^-3);
+printf('\n The USDC data rate is 48.6 kbps, which is only about one fourth the theoretical limit under 20dB SNR condition.');
diff --git a/3542/CH6/EX6.7/6_7.jpg b/3542/CH6/EX6.7/6_7.jpg Binary files differnew file mode 100644 index 000000000..779cedc35 --- /dev/null +++ b/3542/CH6/EX6.7/6_7.jpg diff --git a/3542/CH6/EX6.7/Ex6_7.sce b/3542/CH6/EX6.7/Ex6_7.sce new file mode 100644 index 000000000..e9a21276c --- /dev/null +++ b/3542/CH6/EX6.7/Ex6_7.sce @@ -0,0 +1,24 @@ +// Example no 6.7
+// To determine the maximum theoretical datarate and to compare this rate to GSM standard
+// Page no. 280
+
+clc;
+clear all;
+
+// Given data
+SNR1=10; // Signal to noise ratio in dB
+SNR2=30; // Signal to noise ratio in dB
+B=200*10^3; // RF bandwidth of channel in Hz
+
+SNR1=10^(SNR1/10); // Signal to noise ratio
+SNR2=10^(SNR2/10); // Signal to noise ratio
+
+// To determine the maximum theoretical datarate
+C1=B*(log10(1+SNR1)/log10(2)); // The maximum theoretical datarate for SNR=10dB
+C2=B*(log10(1+SNR2)/log10(2)); // The maximum theoretical datarate for SNR=30dB
+
+// Displaying the result in command window
+printf('\n The maximum theoretical datarate for 10dB SNR = %0.3f kbps',C1*10^-3);
+printf('\n The maximum theoretical datarate for 30dB SNR = %0.2f Mbps',C2*10^-6);
+printf('\n \n The GSM data rate is 270.833 kbps, which is only about 40 percent of the theoretical limit of 10dB SNR condition\n and about 14 percent of theoretical limit of 30dB SNR condition');
+
diff --git a/3542/CH6/EX6.8/6_8.jpg b/3542/CH6/EX6.8/6_8.jpg Binary files differnew file mode 100644 index 000000000..22e155344 --- /dev/null +++ b/3542/CH6/EX6.8/6_8.jpg diff --git a/3542/CH6/EX6.8/Ex6_8.sce b/3542/CH6/EX6.8/Ex6_8.sce new file mode 100644 index 000000000..8f7b93ac7 --- /dev/null +++ b/3542/CH6/EX6.8/Ex6_8.sce @@ -0,0 +1,21 @@ +// Example no 6.8
+// To find the first zero-crossing RF bandwidth of rectangular pulse and compare to raised cosine filter pulse
+// Page no. 291
+
+clc;
+clear all;
+
+// Given data
+RectTs=41.06*10^-6; // Symbol period of rectangular pulse
+cosineTs=41.06*10^-6; // Symbol period of cosine filter pulse
+alpha=0.35; // Rolloff factor of cosine filter pulse
+
+// To find the first zero-crossing RF bandwidth of rectangular pulse
+B1=2/RectTs; // The first zero-crossing RF bandwidth of rectangular pulse
+
+// The first zero-crossing RF bandwidth of cosine filter pulse
+B2=(1/cosineTs)*(1+alpha); // The first zero-crossing RF bandwidth of cosine filter pulse
+
+// Displaying the result in command window
+printf('\n The first zero-crossing RF bandwidth of rectangular pulse = %0.2f kHz',B1*10^-3);
+printf('\n The first zero-crossing RF bandwidth of cosine filter pulse = %0.2f kHz',B2*10^-3);
diff --git a/3542/CH6/EX6.9/6_9.jpg b/3542/CH6/EX6.9/6_9.jpg Binary files differnew file mode 100644 index 000000000..e8dea7d66 --- /dev/null +++ b/3542/CH6/EX6.9/6_9.jpg diff --git a/3542/CH6/EX6.9/Ex6_9.sce b/3542/CH6/EX6.9/Ex6_9.sce new file mode 100644 index 000000000..6aedbc0b7 --- /dev/null +++ b/3542/CH6/EX6.9/Ex6_9.sce @@ -0,0 +1,41 @@ +// Example no 6.9
+// To determine phase and values of Ik and Qk during transmission of bit stream 001011 using pi/4 DQPSK.
+// Page no. 307
+
+clc;
+clear all;
+
+// Given data
+theta0=0; // Initial phase in rad
+phi1=%pi/4; // Carrier phase shift for the input bit pair 11 [Feh91], [Rap91b]
+phi2=(3*%pi)/4; // Carrier phase shift for the input bit pair 01 [Feh91], [Rap91b]
+phi3=(-3*%pi)/4; // Carrier phase shift for the input bit pair 00 [Feh91], [Rap91b]
+phi4=-%pi/4; // Carrier phase shift for the input bit pair 10 [Feh91], [Rap91b]
+
+// For transmission of first pair of bits 00
+theta1=theta0+phi3; // Phase of signal during transmission of first bit pair 00
+I1=cos(theta1); // In-phase pulse produced at the output of signal mapping
+Q1=sin(theta1); // Quadrature pulse produced at the output of signal mapping
+
+// For transmission of second pair of bits 10
+theta2=theta1+phi4; // Phase of signal during transmission of second bit pair 10
+I2=cos(theta2); // In-phase pulse produced at the output of signal mapping
+Q2=sin(theta2); // Quadrature pulse produced at the output of signal mapping
+
+// For transmission of third pair of bits 11
+theta3=theta2+phi1; // Phase of signal during transmission of third bit pair 11
+I3=cos(theta3); // In-phase pulse produced at the output of signal mapping
+Q3=sin(theta3); // Quadrature pulse produced at the output of signal mapping
+
+// Displaying the result in command window
+printf('\n Phase of signal during transmission of first bit pair 00 = %0.0f degree',theta1*(180/%pi));
+printf('\n In-phase pulse produced during transmission of first bit pair 00 = %0.3f',I1);
+printf('\n Quadrature pulse produced during transmission of first bit pair 00 = %0.3f',Q1);
+
+printf('\n \n Phase of signal during transmission of second bit pair 10 = %0.0f degree',theta2*(180/%pi));
+printf('\n In-phase pulse produced during transmission of second bit pair 10 = %0.0f',I2);
+printf('\n Quadrature pulse produced during transmission of second bit pair 10 = %0.0f',Q2);
+
+printf('\n \n Phase of signal during transmission of third bit pair 11 = %0.0f degree',theta3*(180/%pi));
+printf('\n In-phase pulse produced during transmission of third bit pair 11 = %0.3f',I3);
+printf('\n Quadrature pulse produced during transmission of third bit pair 11 = %0.3f',Q3);
|