summaryrefslogtreecommitdiff
path: root/851/CH7
diff options
context:
space:
mode:
Diffstat (limited to '851/CH7')
-rwxr-xr-x851/CH7/EX7.01/Figure7_01.sce66
-rwxr-xr-x851/CH7/EX7.02/Figure7_02.sce23
-rwxr-xr-x851/CH7/EX7.06/Table7_06.sce14
-rwxr-xr-x851/CH7/EX7.1/Example7_1.sce56
-rwxr-xr-x851/CH7/EX7.12.7.2/Figure7_12_Table7_2.sce29
-rwxr-xr-x851/CH7/EX7.2/Example7_2.sce55
-rwxr-xr-x851/CH7/EX7.29/Figure7_29.sce30
-rwxr-xr-x851/CH7/EX7.3/Table7_3.sce37
-rwxr-xr-x851/CH7/EX7.30/Figure7_30.sce31
-rwxr-xr-x851/CH7/EX7.31/Figure7_31.sce25
-rwxr-xr-x851/CH7/EX7.4.7.20/Table7_4_Figure7_20.sce44
-rwxr-xr-x851/CH7/EX7.4/Figure7_4.sce22
-rwxr-xr-x851/CH7/EX7.41/Figure7_41.sce30
-rwxr-xr-x851/CH7/EX7.6/Figure7_6.sce25
-rwxr-xr-x851/CH7/EX7.7/Table7_7.sce16
15 files changed, 503 insertions, 0 deletions
diff --git a/851/CH7/EX7.01/Figure7_01.sce b/851/CH7/EX7.01/Figure7_01.sce
new file mode 100755
index 000000000..05ce580d3
--- /dev/null
+++ b/851/CH7/EX7.01/Figure7_01.sce
@@ -0,0 +1,66 @@
+//clear//
+//Caption:Waveforms of Different Digital Modulation techniques
+//Figure7.1
+//Digital Modulation Techniques
+//To Plot the ASK, FSK and PSk Waveforms
+clear;
+clc;
+close;
+f = input('Enter the Analog Carrier Frequency in Hz');
+t = 0:1/512:1;
+x = sin(2*%pi*f*t);
+I = input('Enter the digital binary data');
+//Generation of ASK Waveform
+Xask = [];
+for n = 1:length(I)
+ if((I(n)==1)&(n==1))
+ Xask = [x,Xask];
+ elseif((I(n)==0)&(n==1))
+ Xask = [zeros(1,length(x)),Xask];
+ elseif((I(n)==1)&(n~=1))
+ Xask = [Xask,x];
+ elseif((I(n)==0)&(n~=1))
+ Xask = [Xask,zeros(1,length(x))];
+ end
+end
+//Generation of FSK Waveform
+Xfsk = [];
+x1 = sin(2*%pi*f*t);
+x2 = sin(2*%pi*(2*f)*t);
+for n = 1:length(I)
+ if (I(n)==1)
+ Xfsk = [Xfsk,x2];
+ elseif (I(n)~=1)
+ Xfsk = [Xfsk,x1];
+ end
+end
+//Generation of PSK Waveform
+Xpsk = [];
+x1 = sin(2*%pi*f*t);
+x2 = -sin(2*%pi*f*t);
+for n = 1:length(I)
+ if (I(n)==1)
+ Xpsk = [Xpsk,x1];
+ elseif (I(n)~=1)
+ Xpsk = [Xpsk,x2];
+ end
+end
+figure
+plot(t,x)
+xtitle('Analog Carrier Signal for Digital Modulation')
+xgrid
+figure
+plot(Xask)
+xtitle('Amplitude Shift Keying')
+xgrid
+figure
+plot(Xfsk)
+xtitle('Frequency Shift Keying')
+xgrid
+figure
+plot(Xpsk)
+xtitle('Phase Shift Keying')
+xgrid
+//Example
+//Enter the Analog Carrier Frequency 2
+//Enter the digital binary data[0,1,1,0,1,0,0,1]
diff --git a/851/CH7/EX7.02/Figure7_02.sce b/851/CH7/EX7.02/Figure7_02.sce
new file mode 100755
index 000000000..23a2fee16
--- /dev/null
+++ b/851/CH7/EX7.02/Figure7_02.sce
@@ -0,0 +1,23 @@
+//clear//
+//Caption:Signal Space diagram for coherent BPSK
+//Figure7.2 Signal Space Diagram for coherent BPSK system
+clear
+clc;
+close;
+M =2;
+i = 1:M;
+y = cos(2*%pi+(i-1)*%pi);
+annot = dec2bin([length(y)-1:-1:0],log2(M));
+disp(y,'coordinates of message points')
+disp(annot,'Message points')
+figure;
+a =gca();
+a.data_bounds = [-2,-2;2,2];
+a.x_location = "origin";
+a.y_location = "origin";
+plot2d(real(y(1)),imag(y(1)),-9)
+plot2d(real(y(2)),imag(y(2)),-5)
+xlabel(' In-Phase');
+ylabel(' Quadrature');
+title('Constellation for BPSK')
+legend(['message point 1 (binary 1)';'message point 2 (binary 0)'],5)
diff --git a/851/CH7/EX7.06/Table7_06.sce b/851/CH7/EX7.06/Table7_06.sce
new file mode 100755
index 000000000..be81e3cfb
--- /dev/null
+++ b/851/CH7/EX7.06/Table7_06.sce
@@ -0,0 +1,14 @@
+//clear//
+//Caption:Bandwidth efficiency of M-ary PSK signals
+//Table7.6: Bandwidth Efficiency of M-ary PSK signals
+clear;
+clc;
+close;
+M = [2,4,8,16,32,64];//M-ary
+Ruo = log2(M)./2; //Bandwidth efficiency in bits/s/Hz
+disp('Table 7.7 Bandwidth Efficiency of M-ary PSK signals')
+disp('______________________________________________________')
+disp(M,'M')
+disp('______________________________________________________')
+disp(Ruo,'r in bits/s/Hz')
+disp('______________________________________________________')
diff --git a/851/CH7/EX7.1/Example7_1.sce b/851/CH7/EX7.1/Example7_1.sce
new file mode 100755
index 000000000..c9bf95c03
--- /dev/null
+++ b/851/CH7/EX7.1/Example7_1.sce
@@ -0,0 +1,56 @@
+//clear//
+//Caption:Waveforms of Different Digital Modulation techniques
+//Example7.1 Signal Space Diagram for coherent QPSK system
+clear;
+clc;
+close;
+M =4;
+i = 1:M;
+t = 0:0.001:1;
+for i = 1:M
+ s1(i,:) = cos(2*%pi*2*t)*cos((2*i-1)*%pi/4);
+ s2(i,:) = -sin(2*%pi*2*t)*sin((2*i-1)*%pi/4);
+end
+S1 =[];
+S2 = [];
+S = [];
+Input_Sequence =[0,1,1,0,1,0,0,0];
+m = [3,1,1,2];
+for i =1:length(m)
+ S1 = [S1 s1(m(i),:)];
+ S2 = [S2 s2(m(i),:)];
+end
+S = S1+S2;
+figure
+subplot(3,1,1)
+a =gca();
+a.x_location = "origin";
+plot(S1)
+title('Binary PSK wave of Odd-numbered bits of input sequence')
+subplot(3,1,2)
+a =gca();
+a.x_location = "origin";
+plot(S2)
+title('Binary PSK wave of Even-numbered bits of input sequence')
+subplot(3,1,3)
+a =gca();
+a.x_location = "origin";
+plot(S)
+title('QPSK waveform')
+//-sin((2*i-1)*%pi/4)*%i;
+//annot = dec2bin([0:length(y)-1],log2(M));
+//disp(y,'coordinates of message points')
+//disp(annot,'dibits value')
+//figure;
+//a =gca();
+//a.data_bounds = [-1,-1;1,1];
+//a.x_location = "origin";
+//a.y_location = "origin";
+//plot2d(real(y(1)),imag(y(1)),-2)
+//plot2d(real(y(2)),imag(y(2)),-4)
+//plot2d(real(y(3)),imag(y(3)),-5)
+//plot2d(real(y(4)),imag(y(4)),-9)
+//xlabel(' In-Phase');
+//ylabel(' Quadrature');
+//title('Constellation for QPSK')
+//legend(['message point 1 (dibit 10)';'message point 2 (dibit 00)';'message point 3 (dibit 01)';'message point 4 (dibit 11)'],5)
diff --git a/851/CH7/EX7.12.7.2/Figure7_12_Table7_2.sce b/851/CH7/EX7.12.7.2/Figure7_12_Table7_2.sce
new file mode 100755
index 000000000..356893730
--- /dev/null
+++ b/851/CH7/EX7.12.7.2/Figure7_12_Table7_2.sce
@@ -0,0 +1,29 @@
+//clear//
+//Caption:Signal space diagram for MSK diagram
+//Figure7.12 Signal Space Diagram for coherent MSK system
+//Table 7.2 signal space characterization of MSK
+clear
+clc;
+close;
+M =2;
+teta_0 = [0,%pi];
+teta_tb = [%pi/2,-%pi/2];
+for i = 1:M
+ s1(i) = cos(teta_0(i));
+ s2(i) = -sin(teta_tb(i));
+end
+y = [s1(1),s2(1);s1(2),s2(1);s1(2),s2(2);s1(1),s2(2)];
+disp(y,'coordinates of message points')
+figure;
+a =gca();
+a.data_bounds = [-2,-2;2,2];
+a.x_location = "origin";
+a.y_location = "origin";
+plot2d(y(1,1),y(1,2),-2)
+plot2d(y(2,1),y(2,2),-4)
+plot2d(y(3,1),y(3,2),-6)
+plot2d(y(4,1),y(4,2),-9)
+xlabel(' In-Phase');
+ylabel(' Quadrature');
+title('Constellation for MSK')
+legend(['message point 1 (0, %pi/2)';'message point 2 (%pi, %pi/2)';'message point 3 (%pi, - %pi/2)';'message point 4(0, - %pi/2)'],5)
diff --git a/851/CH7/EX7.2/Example7_2.sce b/851/CH7/EX7.2/Example7_2.sce
new file mode 100755
index 000000000..c4e17e1b4
--- /dev/null
+++ b/851/CH7/EX7.2/Example7_2.sce
@@ -0,0 +1,55 @@
+//clear//
+//Caption:Signal Space diagram for coherent BPSK
+//Example7.2: Sequence and Waveforms for MSK signal
+//Table 7.2 signal space characterization of MSK
+clear
+clc;
+close;
+M =2;
+Tb =1;
+t1 = -Tb:0.01:Tb;
+t2 = 0:0.01:2*Tb;
+phi1 = cos(2*%pi*t1).* cos((%pi/(2*Tb))*t1);
+phi2 = sin(2*%pi*t2).*sin((%pi/(2*Tb))*t2);
+teta_0 = [0,%pi];
+teta_tb = [%pi/2,-%pi/2];
+S1 = [];
+S2 = [];
+for i = 1:M
+ s1(i) = cos(teta_0(i));
+ s2(i) = -sin(teta_tb(i));
+ S1 = [S1 s1(i)*phi1];
+ S2 = [S2 s2(1)*phi2];
+end
+for i = M:-1:1
+ S1 = [S1 s1(i)*phi1];
+ S2 = [S2 s2(2)*phi2];
+end
+Input_Sequence =[1,1,0,1,0,0,0];
+S = [];
+t = 0:0.01:1;
+S = [S cos(0)*cos(2*%pi*t)-sin(%pi/2)*sin(2*%pi*t)];
+S = [S cos(0)*cos(2*%pi*t)-sin(%pi/2)*sin(2*%pi*t)];
+S = [S cos(%pi)*cos(2*%pi*t)-sin(%pi/2)*sin(2*%pi*t)];
+S = [S cos(%pi)*cos(2*%pi*t)-sin(-%pi/2)*sin(2*%pi*t)];
+S = [S cos(0)*cos(2*%pi*t)-sin(-%pi/2)*sin(2*%pi*t)];
+S = [S cos(0)*cos(2*%pi*t)-sin(-%pi/2)*sin(2*%pi*t)];
+S = [S cos(0)*cos(2*%pi*t)-sin(-%pi/2)*sin(2*%pi*t)];
+y = [s1(1),s2(1);s1(2),s2(1);s1(2),s2(2);s1(1),s2(2)];
+disp(y,'coordinates of message points')
+figure
+subplot(3,1,1)
+a = gca();
+a.x_location = "origin";
+plot(S1)
+title('Scaled time function s1*phi1(t)')
+subplot(3,1,2)
+a =gca();
+a.x_location = "origin";
+plot(S2)
+title('Scaled time function s2*phi2(t)')
+subplot(3,1,3)
+a =gca();
+a.x_location = "origin";
+plot(S)
+title('Obtained by adding s1*phi1(t)+s2*phi2(t) on a bit-by-bit basis')
diff --git a/851/CH7/EX7.29/Figure7_29.sce b/851/CH7/EX7.29/Figure7_29.sce
new file mode 100755
index 000000000..5f226eb76
--- /dev/null
+++ b/851/CH7/EX7.29/Figure7_29.sce
@@ -0,0 +1,30 @@
+//clear//
+//Caption:Power Spectra of BPSK and BFSK signals
+//Figure7.29:Comparison of Power Spectral Densities of BPSK
+//and BFSK
+clc;
+rb = input('Enter the bit rate=');
+Eb = input('Enter the energy of the bit=');
+f = 0:1/100:8/rb;
+Tb = 1/rb; //Bit duration
+for i= 1:length(f)
+ if(f(i)==(1/(2*Tb)))
+ SB_FSK(i)=Eb/(2*Tb);
+ else
+ SB_FSK(i) = (8*Eb*(cos(%pi*f(i)*Tb)^2))/((%pi^2)*(((4*(Tb^2)*(f(i)^2))-1)^2));
+ end
+ SB_PSK(i)=2*Eb*(sinc_new(f(i)*Tb)^2);
+end
+a=gca();
+plot(f*Tb,SB_FSK/(2*Eb))
+plot(f*Tb,SB_PSK/(2*Eb))
+poly1= a.children(1).children(1);
+poly1.foreground = 6;
+xlabel('Normalized Frequency ---->')
+ylabel('Normalized Power Spectral Density--->')
+title('PSK Vs FSK Power Spectra Comparison')
+legend(['Frequency Shift Keying','Phase Shift Keying'])
+xgrid(1)
+//Result
+//Enter the bit rate in bits per second:2
+//Enter the Energy of bit:1
diff --git a/851/CH7/EX7.3/Table7_3.sce b/851/CH7/EX7.3/Table7_3.sce
new file mode 100755
index 000000000..ec59df5cf
--- /dev/null
+++ b/851/CH7/EX7.3/Table7_3.sce
@@ -0,0 +1,37 @@
+//clear//
+//Caption:Illustrating the generation of DPSK signal
+//Table7.3 Generation of Differential Phase shift keying signal
+clc;
+bk = [1,0,0,1,0,0,1,1];//input digital sequence
+for i = 1:length(bk)
+ if(bk(i)==1)
+ bk_not(i) =~1;
+ else
+ bk_not(i)= 1;
+ end
+end
+dk_1(1) = 1&bk(1); //initial value of differential encoded sequence
+dk_1_not(1)=0&bk_not(1);
+dk(1) = xor(dk_1(1),dk_1_not(1))//first bit of dpsk encoder
+for i=2:length(bk)
+ dk_1(i) = dk(i-1);
+ dk_1_not(i) = ~dk(i-1);
+ dk(i) = xor((dk_1(i)&bk(i)),(dk_1_not(i)&bk_not(i)));
+end
+for i =1:length(dk)
+ if(dk(i)==1)
+ dk_radians(i)=0;
+ elseif(dk(i)==0)
+ dk_radians(i)=%pi;
+ end
+end
+disp('Table 7.3 Illustrating the Generation of DPSK Signal')
+disp('_____________________________________________________')
+disp(bk,'(bk)')
+bk_not = bk_not';
+disp(bk_not,'(bk_not)')
+dk = dk';
+disp(dk,'Differentially encoded sequence (dk)')
+dk_radians = dk_radians';
+disp(dk_radians,'Transmitted phase in radians')
+disp('_____________________________________________________')
diff --git a/851/CH7/EX7.30/Figure7_30.sce b/851/CH7/EX7.30/Figure7_30.sce
new file mode 100755
index 000000000..ef90819dc
--- /dev/null
+++ b/851/CH7/EX7.30/Figure7_30.sce
@@ -0,0 +1,31 @@
+//clear//
+//Caption:Power Spectra of QPSK and MSK signals
+//Figure7.30:Comparison of QPSK and MSK Power Spectrums
+//clear;
+//close;
+//clc;
+rb = input('Enter the bit rate in bits per second:');
+Eb = input('Enter the Energy of bit:');
+f = 0:1/(100*rb):(4/rb);
+Tb = 1/rb; //bit duration in seconds
+for i = 1:length(f)
+ if(f(i)==0.5)
+ SB_MSK(i) = 4*Eb*f(i);
+ else
+ SB_MSK(i) = (32*Eb/(%pi^2))*(cos(2*%pi*Tb*f(i))/((4*Tb*f(i))^2-1))^2;
+ end
+ SB_QPSK(i)= 4*Eb*sinc_new((2*Tb*f(i)))^2;
+end
+a = gca();
+plot(f*Tb,SB_MSK/(4*Eb));
+plot(f*Tb,SB_QPSK/(4*Eb));
+poly1= a.children(1).children(1);
+poly1.foreground = 3;
+xlabel('Normalized Frequency ---->')
+ylabel('Normalized Power Spectral Density--->')
+title('QPSK Vs MSK Power Spectra Comparison')
+legend(['Minimum Shift Keying','QPSK'])
+xgrid(1)
+//Result
+//Enter the bit rate in bits per second:2
+//Enter the Energy of bit:1
diff --git a/851/CH7/EX7.31/Figure7_31.sce b/851/CH7/EX7.31/Figure7_31.sce
new file mode 100755
index 000000000..36e218f75
--- /dev/null
+++ b/851/CH7/EX7.31/Figure7_31.sce
@@ -0,0 +1,25 @@
+//clear//
+//Caption:Power spectra of M-ary PSK signals
+//Figure7.31 Comparison of Power Spectral Densities of M-ary PSK signals
+rb = input('Enter the bit rate=');
+Eb = input('Enter the energy of the bit=');
+f = 0:1/100:rb;
+Tb = 1/rb; //Bit duration
+M = [2,4,8];
+for j = 1:length(M)
+ for i= 1:length(f)
+ SB_PSK(j,i)=2*Eb*(sinc_new(f(i)*Tb*log2(M(j)))^2)*log2(M(j));
+ end
+end
+a=gca();
+plot2d(f*Tb,SB_PSK(1,:)/(2*Eb))
+plot2d(f*Tb,SB_PSK(2,:)/(2*Eb),2)
+plot2d(f*Tb,SB_PSK(3,:)/(2*Eb),5)
+xlabel('Normalized Frequency ---->')
+ylabel('Normalized Power Spectral Density--->')
+title('Power Spectra of M-ary signals for M =2,4,8')
+legend(['M=2','M=4','M=8'])
+xgrid(1)
+//Result
+//Enter the bit rate in bits per second:2
+//Enter the Energy of bit:1
diff --git a/851/CH7/EX7.4.7.20/Table7_4_Figure7_20.sce b/851/CH7/EX7.4.7.20/Table7_4_Figure7_20.sce
new file mode 100755
index 000000000..281d99507
--- /dev/null
+++ b/851/CH7/EX7.4.7.20/Table7_4_Figure7_20.sce
@@ -0,0 +1,44 @@
+//clear//
+//Caption:Comparison of error probability of different data transmission schemes
+//Table7.4:Figure 7.20
+//Comparison of Symbol Error Probability
+//of Different Digital Transmission System
+clear;
+close;
+clc;
+//Eb = Energy of the bit No = Noise Spectral Density
+Eb_No =[18,0.3162278];
+x = Eb_No(2):1/100:Eb_No(1);
+x_dB = 10*log10(x);
+for i = 1:length(x)
+ //Error Probability of Coherent BPSK
+ Pe_BPSK(i) = (1/2)*erfc(sqrt(x(i)));
+ //Error Probability of Coherent BFSK
+ Pe_BFSK(i) = (1/2)*erfc(sqrt(x(i)/2));
+ //Error Probability Non-Coherent PSK = DPSK
+ Pe_DPSK(i) = (1/2)*exp(-x(i));
+ //Error Probability Non-Coherent FSK
+ Pe_NFSK(i) = (1/2)*exp(-(x(i)/2));
+ //Error Probability of QPSK & MSK
+ Pe_QPSK_MSK(i) = erfc(sqrt(x(i)))-((1/4)*(erfc(sqrt(x(i)))^2));
+end
+a = gca();
+a.data_bounds=[-5,0;12.5,0.5];
+plot2d(x_dB,Pe_BPSK)
+plot2d(x_dB,Pe_BFSK)
+poly1= a.children(1).children(1);
+poly1.foreground = 3;
+plot2d(x_dB,Pe_DPSK)
+poly1= a.children(1).children(1);
+poly1.foreground = 4;
+plot2d(x_dB,Pe_NFSK)
+poly1= a.children(1).children(1);
+poly1.foreground = 6;
+plot2d(x_dB,Pe_QPSK_MSK)
+poly1= a.children(1).children(1);
+poly1.foreground = 7;
+xlabel('Eb/No in dB ---->')
+ylabel('Probability of Error Pe--->')
+title('Comparison of Noise Performance of different PSK & FSK Scheme')
+legend(['BPSK','BFSK','DPSK','Non-Coherent FSK','QPSK & MSK'])
+xgrid(1)
diff --git a/851/CH7/EX7.4/Figure7_4.sce b/851/CH7/EX7.4/Figure7_4.sce
new file mode 100755
index 000000000..adf1fa95b
--- /dev/null
+++ b/851/CH7/EX7.4/Figure7_4.sce
@@ -0,0 +1,22 @@
+//clear//
+//Caption:Signal Space diagram for coherent BFSK
+//Figure7.4 Signal Space Diagram for coherent BFSK system
+clear
+clc;
+close;
+M =2;
+y = [1,0;0,1];
+annot = dec2bin([M-1:-1:0],log2(M));
+disp(y,'coordinates of message points')
+disp(annot,'Message points')
+figure;
+a =gca();
+a.data_bounds = [-2,-2;2,2];
+a.x_location = "origin";
+a.y_location = "origin";
+plot2d(y(1,1),y(1,2),-9)
+plot2d(y(2,1),y(2,2),-5)
+xlabel(' In-Phase');
+ylabel(' Quadrature');
+title('Constellation for BFSK')
+legend(['message point 1 (binary 1)';'message point 2 (binary 0)'],5)
diff --git a/851/CH7/EX7.41/Figure7_41.sce b/851/CH7/EX7.41/Figure7_41.sce
new file mode 100755
index 000000000..56dea8971
--- /dev/null
+++ b/851/CH7/EX7.41/Figure7_41.sce
@@ -0,0 +1,30 @@
+//clear//
+//Caption:Matched Filter output of rectangular pulse
+//Figure7.41
+//Matched Filter Output
+clear;
+clc;
+T =4;
+a =2;
+t = 0:T;
+g = 2*ones(1,T+1);
+h =abs(convol(g,g));
+for i = 1:length(h)
+ if(h(i)<0.01)
+ h(i) =0;
+ end
+end
+h = h-T;
+t1 = 0:length(h)-1;
+figure
+a =gca();
+a.data_bounds = [0,0;6,4];
+plot2d(t,g,5)
+xlabel('t--->')
+ylabel('g(t)---->')
+title('Rectangular pulse duration T = 4, a =2')
+figure
+plot2d(t1,h,6)
+xlabel('t--->')
+ylabel('Matched Filter output')
+title('Output of filter matched to rectangular pulse g(t)')
diff --git a/851/CH7/EX7.6/Figure7_6.sce b/851/CH7/EX7.6/Figure7_6.sce
new file mode 100755
index 000000000..ca5b04ebd
--- /dev/null
+++ b/851/CH7/EX7.6/Figure7_6.sce
@@ -0,0 +1,25 @@
+//clear//
+//Caption:Signal space diagram for coherent QPSK waveform
+//Figure7.6 Signal Space Diagram for coherent QPSK system
+clear
+clc;
+close;
+M =4;
+i = 1:M;
+y = cos((2*i-1)*%pi/4)-sin((2*i-1)*%pi/4)*%i;
+annot = dec2bin([0:M-1],log2(M));
+disp(y,'coordinates of message points')
+disp(annot,'dibits value')
+figure;
+a =gca();
+a.data_bounds = [-1,-1;1,1];
+a.x_location = "origin";
+a.y_location = "origin";
+plot2d(real(y(1)),imag(y(1)),-2)
+plot2d(real(y(2)),imag(y(2)),-4)
+plot2d(real(y(3)),imag(y(3)),-5)
+plot2d(real(y(4)),imag(y(4)),-9)
+xlabel(' In-Phase');
+ylabel(' Quadrature');
+title('Constellation for QPSK')
+legend(['message point 1 (dibit 10)';'message point 2 (dibit 00)';'message point 3 (dibit 01)';'message point 4 (dibit 11)'],5)
diff --git a/851/CH7/EX7.7/Table7_7.sce b/851/CH7/EX7.7/Table7_7.sce
new file mode 100755
index 000000000..a4d7130dc
--- /dev/null
+++ b/851/CH7/EX7.7/Table7_7.sce
@@ -0,0 +1,16 @@
+//clear//
+//Caption:Bandwidth efficiency of M-ary FSK signals
+//Table7.7: Bandwidth Efficiency of M-ary FSK
+clear;
+clc;
+close;
+M = [2,4,8,16,32,64];//M-ary
+Ruo = 2*log2(M)./M; //Bandwidth efficiency in bits/s/Hz
+//M = M';
+//Ruo = Ruo';
+disp('Table 7.7 Bandwidth Efficiency of M-ary FSK signals')
+disp('______________________________________________________')
+disp(M,'M')
+disp('______________________________________________________')
+disp(Ruo,'r in bits/s/Hz')
+disp('______________________________________________________')