You are on page 1of 18

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI HỒ CHÍ MINH

KHOA: CÔNG NGHỆ THÔNG TIN

TP.HỒ CHÍ MINH NĂM 2019


Phần 1: Lý thuyết

LINE CODING (Mã Hóa Dòng):


Là quá trình chuyển đổi dữ liệu số sang tín hiệu số.Quá trình mã hóa này được
chọn để tránh sự chồng chéo và biến dạng tín hiệu như nhiễu tín hiệu.Chúng ta
có thể giả sử rằng dữ liệu, được lưu dưới dạng văn bản,số,hình ảnh đồ họa,âm
thanh hay video được lưu trữ trong bộ nhớ máy tinh dưới dạng chuỗi bit.Line
Coding chuyển đổi một chuỗi bit thành tín hiệu số

Hình 1.1:Line Coding and Decoding

THUỘC TÍNH CỦA LINE CODING


 Khi mã hóa được thực hiện để tạo ra nhiều bit hơn trên một tín hiệu, băng
thông được sử dụng sẽ giảm đi nhiều.
 Đối với một băng thông nhất định, năng lượng được sử dụng hiệu quả.
 Xác suất lỗi giảm nhiều.
 Phát hiện lỗi được thực hiện và lưỡng cực cũng có khả năng sửa chữa.
 Mật độ năng lượng thuận lợi hơn nhiều.
 Nội dung thời gian là đầy đủ.
 Các chuỗi dài 1 và 0 được tránh để duy trì độ trong suốt.

PHÂN LOẠI :

TRANG 1
Hình 1.2: Types of line coding
*UNIPOLAR SIGNALING (Tín hiệu đơn cực )
- Xung 0:Không có xung.
- Xung 1:Có sự xuất hiện xung.

+Non-Return To Zero (NRZ):

Hình 1.3:Unipolar NRZ Scheme


Ưu điểm

Nó đơn giản.


 Một băng thông nhỏ hơn được yêu cầu.
Nhược điểm
 Không sửa lỗi được thực hiện.
 Sự hiện diện của các thành phần tần số thấp có thể gây ra sự sụt giảm tín
hiệu.
 Không có đồng hồ có mặt.
 Mất khả năng đồng bộ hóa có thể xảy ra (đặc biệt đối với các chuỗi
dài 1s và 0 ).

TRANG 2
*POLAR SCHEMES:
+NRZ:

Hình 1.4:Polar NRZ-L and NRZ-I schemes


Ưu điểm

 Nó đơn giản.
 Không có thành phần tần số thấp có mặt.
Nhược điểm
 Không sửa lỗi.
 Không có đồng hồ có mặt.
 Sự sụt giảm tín hiệu được gây ra tại những nơi mà tín hiệu khác không
ở 0 Hz .
+RZ:

Hình 1.5:Polar RZ Scheme


Ưu điểm

 Nó đơn giản.
 Không có thành phần tần số thấp có mặt.

TRANG 3
Nhược điểm
 Không sửa lỗi.
 Không có đồng hồ có mặt.
 Chiếm gấp đôi băng thông của Polar NRZ.
 Sự sụt giảm tín hiệu được gây ra tại những nơi mà tín hiệu khác không
ở 0 Hz .
+Polar Biphase: Manchester and differential Manchester

Hình 1.6:Manchester and differential Manchester

-Manchester:Kết hợp RZ với NRZ-L


-Differential Manchester; kết hợp RZ và NRZ-I
*Bipolar (Sơ đồ lưỡng cực):
Đây là một kỹ thuật mã hóa có ba cấp điện áp là +, - và 0 . Một tín hiệu
như vậy được gọi là tín hiệu nhị phân.
Ưu điểm
 Nó đơn giản.

 Không có thành phần tần số thấp có mặt.


 Chiếm băng thông thấp hơn so với các sơ đồ NRZ đơn cực và cực.
 Kỹ thuật này phù hợp để truyền qua các đường nối AC, vì tín hiệu giảm
xuống không xảy ra ở đây.
 Một khả năng phát hiện lỗi duy nhất có mặt trong này.

TRANG 4
Nhược điểm

 Không có đồng hồ có mặt.


 Chuỗi dữ liệu dài gây mất đồng bộ hóa.

Hình 1.7:Bipolar scheme:AIM and pseudoternary


+Đảo ngược dấu thay thế (AMI) - Điện áp bằng 0 trung tính đại diện cho
nhị phân 0. Nhị phân 1 được biểu diễn bằng điện áp dương và âm xen kẽ.
+Pseudoternary - Bit 1 được mã hóa dưới dạng điện áp bằng 0 và bit 0 được
mã hóa dưới dạng điện áp dương và âm xen kẽ, ngược lại với sơ đồ AMI. Ví
dụ: Dữ liệu = 010010

CÁC KỸ THUẬT ĐIỀU CHẾ SỐ,TƯƠNG


TỰ:ASK,FSK,PSK,QAM,AM,FM,PM
Điều chế số: là quá trình biến đổi các thành phần của song mang như :tần
số, pha ,biên độ theo chuỗi số nhị phân đầu vào. Do đó ta có các điều chế
như :ASK, FSK , PSK …
1. Điều chế ASK (Amplitude Shilf Keying).
o Khái niệm : + Trong điều chế ASK biên độ sóng mang hình sin tần số cao sẽ
biến thiên theo mức luận lý của chuỗi tín hiệu số.Tổng quát tín hiệu số sẽ có m
mức tín hiệu khác nhau.
+ m=2 ta có điều chế dịch biên nhị phân BASK.
Ưu điểm: -Chỉ dùng một sóng mang duy nhất.
-Phù hợp với truyền tốc độ thấp,dễ thực hiện.
Nhược điểm: Dễ bị ảnh hưởng bởi sóng nhiễu,khó đồng bộ,ít sử dụng
trong thực tế.

TRANG 5
Hình 2.1: Dạng sóng điều chế ASK
2.Điều chế FSK(Fequency Shift Keying)

Khái niệm: Dùng 2 tần số khác nhau của sóng mang để biểu diễ bit 1 và 0. Tần
số cao với mức 1 và thấp với mức 0

Ưu điểm: Ít bị ảnh hưởng bởi nhiễu và ít lỗi hơn ASK.


Nhược điểm: Tần số cao dễ bị nhiễu và hạn chế tốc độ truyền,khó đồng bộ.

Hình 2.2:Dạng sóng tín hiệu điều chế FSK


3.Điều chế PSK( Phase Shift Keying ).
Khái niệm: Pha của sóng mang hình sin tần số cao sẽ biến thiên theo mức logic
0 và 1 của chuỗi số
M= 2^N là số pha trạng thai khác nhau của sóng mang với N số bit nhị phân.
3.1 Điều chế BPSK

TRANG 6
Hình 2.3:Dạng sóng tín hiệu BPSK
3.2 Điều chế QPSK
Khái niệm: Là quá trình điều chế pha của sóng mang với 4 trạng thái khác nhau
và vuông góc với nhau.
Ưu điểm của điều chế PSK:Ít lỗi, ít nhạy với nhiễu do pja ít bị ảnh hưởng của
môi trường và tần số.
Nhược điểm:Khó thực hiện các mạnh điều chế ,dễ sai pha khi điều chế ở mức
cao.
4. Điều chế QAM (Quadrature Aplitude Modulation)
Khái niệm: Là sự kết hợp của điều biên và điều phiên.Trong phương pháp điều
chế M-FSK để tăng hiệu suất khi sử dụng băng tần với cùng 1 tốc độ bit ta cần
phải tăng bậc điều chế pha nhưng khi tăng bậc điều chế dẫn đến khoảng cách
giữa các trạng thái sẽ gần nhau làm tăng bit lỗi.
Ưu điểm: Cho phép tăng dung lượng bit kênh truyền nhưng không làm tăng dải
thông của kênh truyền. Như vậy QAM thích hợp cho các ứng dụng tốc độ cao.
Nhược điểm: Khi cùng công suất nếu tăng mức điều chế có thể tăng thêm lỗi.
Ứng dụng:Trong truyền hình số mặt đất.
6.Điều chế biên độ AM (Amplitude Modulation)

TRANG 7
Điều chế biên độ là quá trinh làm thay đổi biên độ sóng mang cao tần theo tín
hiệu tin tức (tín hiệu băng gốc).

Hình 2.4:Đường bao cao tần AM dạng tín hiệu điều chế
Nhận xét:
-Dễ thực hiện và máy thu giải điều chế đơn giản,giá rẻ
-Công suất sóng mang không tải tin lớn
-Băng thông lớn gấp đôi cần thiết nên phí và tăng nhiễu
-Hiệu quả sử dụng công suất cao tần rất nhỏ
-Tính chống nhiễu kém
6.Điều chế FM (Frequency Modulation)
Được áp dụng trong kĩ thuật vô tuyến điện và kỹ thuật xử lí tín hiệu.
Được ứng dụng trong băng từ,âm thanh và sóng vô tuyến.

TRANG 8
Hình 2.5: Frequency Modulation

7.Điều chế PM (Phase Modulation)

Hình 2.6: Phase Modulation

TRUYỀN NỐI TẾP, TRUYỀN SONG SONG


Truyền nối tiếp:Lợi ích của việc truyền nối tiếp hơn truyền song song là chỉ với
1 kênh truyền thông, truyền nối tiếp giúp giảm chi phí hơn với truyền song
song.
Truyền nối tiếp xảy ra từ 1 trong 3 cách:Không đồng, bộ, đồng bộ và đồng thời

TRANG 9
Truyền song song:Dữ liệu nhị phân ,bao gồm 0 và 1 có thể được tổ chức thành
mỗi nhóm bit.Máy tinh tạo ra và tiêu thụ dữ liệu theo nhiều nhôm bit như
chúng ta nghĩ à sử dụng ngôn ngữ nói dưới dạng từ chứ không phải chữ cái.
Bằng các nhóm, chúng ta có thể gửi dữ liệu n bit tại 1 thời điểm thay vì 1.

MathLab là phần mềm cung cấp môi trường tinh toan số và lập trình. Matlab
cho phép tinh toan số với ma trận,vẽ đồ thị hàm số hay biểu đồ thông tin ,thực
hiện thuật toán…
Matlab được sử dụng trong nhiều lĩnh vực bao gồm xử lí tín hiệu và ảnh,truyền
thông, thiết kế điều khiển tự đồn ,xử lí tín hiệu….
Xử lú tín hiệu số là công nghệ bùng nổ nhanh chông trong nhanh công nghiệp
điện tử và viễn thông. Có nhiều ứng dụng trong lĩnh vực xử lí thoại,tín hiệu số,
và tăng cường chất lượng hình ảnh và truyền hình,

ỨNG DỤNG CỦA MATLAB VỚI LINE CODING


Code: function [x T] = LineEncoder(type,inbits,Tb,A)

% This function implements various Line Coding technique such as Unipolar


% RZ, Unipolar NRZ, Polar RZ, Ppolar NRZ, Manchester, and Bipolar NRZ.
%
% INPUT:
% type = string accepting the type of coding as
% 'uninrz'
% 'unirz'
% 'polnrz'
% 'plorz'
% 'manchester'
% 'ami'
% inbits = input bits row vector
% Tb = Bit time period
% A = Amplitude of the coding
% Ts = Sampling time
% OUTPUT:
% x = Output line coding row vector
% T = time vector
%
%
%---Implemented by ASHISH MESHRAM
%---meetashish85@gmail.com http://www.facebook.com/ashishmeet
%---Checking input arguments
if nargin<4, A = 1;end
if nargin<3, Tb = 1e-9;end
if nargin<2, inbits = [1 0 1 0];end
if nargin<1, type = 'uninrz';end
%---Implementation starts here
Rb = 1/Tb; %---Bit rate
Fs = 4*Rb;
N = length(inbits); %---Bit Length of input bits
tTb = linspace(0,Tb); %---interval of bit time period
x = [];

TRANG 10
switch lower(type)
case 'uninrz'
for k = 1:N
x = [x A*inbits(k)*ones(1,length(tTb))];
end
case 'unirz'
for k = 1:N
x = [x
A*inbits(k)*ones(1,length(tTb)/2)0*inbits(k)*ones(1,length(tTb)/2)];
end
case 'polrz'
for k = 1:N
c = ones(1,length(tTb)/2);
b = zeros(1,length(tTb)/2);
p = [c b];
x = [x ((-1)^(inbits(k)+1))*(A/2)*p];
end
case 'polnrz'
for k = 1:N
x = [x ((-1)^(inbits(k) + 1))*A/2*ones(1,length(tTb))];
end
case 'manchester'
for k = 1:N
c = ones(1,length(tTb)/2);
b = -1*ones(1,length(tTb)/2);
p = [c b];
x = [x ((-1)^(inbits(k)+1))*A/2*p];
end
case 'ami'
end
T = linspace(0,N*Tb,length(x)); %---Time vector for n bits

Matlab với ASK


clc
clear all
close all
a=[1 0 1 0 1 0 1];
la=length(a);
f=1;
for i=1:la
t=(i-1)*100+1:i*100;
x(t)=a(1,i).*sin(2*pi*f*t/100);
end
plot(x)

Matlab với FSK

TRANG 11
clc
close all
clear all
b=input('Enter 10 bits Sequence ');
n = length(b);
f1=1;f2=2;
t=0:1/30:1-1/30;
%FSK
s0=sin(2*pi*f1*t);
s1=sin(2*pi*f2*t);
%MODULATION
fsk=[];
for i=1:n
if b(i)==1
fsk=[fsk s1];
else
fsk=[fsk s0];
end
end
figure(1)
subplot(2,1,1)
stairs(0:n,[b(1:n) b(n)],'linewidth',1.5)
axis([0 n -0.5 1.5])
title('Message Bits');grid on
xlabel('Time');ylabel('Amplitude')
subplot(2,1,2)
tb=0:1/30:n-1/30;
plot(tb, fsk,'r','linewidth',1.5)
axis([0 n -1.5 1.5])
title('FSK Modulation');grid on
xlabel('Time');ylabel('Amplitude')

PSK
clc;
clear all;
close all;
n=8;
x=randi([0,1],1,n); %random bit generator
bp=.000001; % bit period
disp(' Binary information at Trans mitter :');
disp(x);
% representation of transmitting binary information as digital signal

TRANG 12
bit=[];
for n=1:1:length(x)
if x(n)==1;
se=ones(1,100);
else
se=zeros(1,100);
end
bit=[bit se];
end
t1=bp/100:bp/100:100*length(x)*(bp/100);
subplot(4,1,1);
plot(t1,bit,'lineWidth',2.5);grid on;
axis([ 0 bp*length(x) -.5 1.5]);
ylabel('amplitude(volts)');
xlabel(' time(sec)');
title('Binary data in the form of a digital signal');
%XXXXXXXXXXXXXXXXXXXXXXX Binary-PSK modulation XXXXXXXXXXXXXXXXXXXXXXXXXXX
A=5; % Amplitude of carrier signal
br=1/bp; % bit rate
f=br*2; % carrier frequency
t2=bp/99:bp/99:bp;
ss=length(t2);
m=[];
kl=[];
for i=1:1:length(x)
wave=A*sin(2*pi*f*t2);
kl=[kl wave];
end
for i=1:1:length(x)
if (x(i)==1)
y=A*sin(2*pi*f*t2);
else
y=A*sin(2*pi*f*t2+pi); %-A*sin(2*pi*f*t)
end
m=[m y];
end
t3=bp/99:bp/99:bp*length(x);
subplot(4,1,2);
plot(t3,kl);grid on;
xlabel('time(sec)');
ylabel('amplitude(volt)');
title('Carrier Signal');
subplot(4,1,3);
plot(t3,m);grid on;
xlabel('time(sec)');
ylabel('amplitude(volt)');
title('PSK modulated wave coresponding to binary information at the
transmitter');
%XXXXXXXXXXXXXXXXXXXX Binary PSK demodulation XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
mn=[];
for n=ss:ss:length(m)
t=bp/99:bp/99:bp;
y=sin(2*pi*f*t); % carrier siignal
mm=y.*m((n-(ss-1)):n);
t4=bp/99:bp/99:bp;
z=trapz(t4,mm); % intregation
zz=round((2*z/bp));
if(zz>0) % logic level = (A+A)/2=0
%becouse A*sin(2*pi*f*t+pi) means -A*sin(2*pi*f*t)
a=1;
else

TRANG 13
a=0;
end
mn=[mn a];
end
disp(' Binary data at Reciver :');
disp(mn);
%Representation of binary information as digital signal which is acheived
%after PSK demodulation
bit=[];
for n=1:length(mn)
if mn(n)==1;
se=ones(1,100);
else
se=zeros(1,100);
end
bit=[bit se];
end
t4=bp/100:bp/100:100*length(mn)*(bp/100);
subplot(4,1,4);
plot(t4,bit,'LineWidth',2.5);grid on;
axis([ 0 bp*length(mn) -.5 1.5]);
ylabel('amplitude(volt)');
xlabel(' time(sec)');
title('PSK demodulated wave corresponding to binary information at the receiver
');

QAM
% n_bits: Input, number of bits
% M: Input, constellation size
% EbNodB: Input, energy per bit to noise power spectral density
% ber: Output, bit error rate
% Copyright RAYmaps (www.raymaps.com)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[ber]= QAM_fading(n_bits, M, EbNodB)
% Transmitter
k=log2(M);
EbNo=10^(EbNodB/10);
x=transpose(round(rand(1,n_bits)));
h1=modem.qammod(M);
h1.inputtype='bit';
h1.symbolorder='gray';
y=modulate(h1,x);
% Channel
Eb=mean((abs(y)).^2)/k;
sigma=sqrt(Eb/(2*EbNo));

TRANG 14
w=sigma*(randn(n_bits/k,1)+1i*randn(n_bits/k,1));
h=(1/sqrt(2))*(randn(n_bits/k,1)+1i*randn(n_bits/k,1));
r=h.*y+w;
% Receiver
r=r./h;
h2=modem.qamdemod(M);
h2.outputtype='bit';
h2.symbolorder='gray';
h2.decisiontype='hard decision';
z=demodulate(h2,r);
ber=(n_bits-sum(x==z))/n_bits
return

AM
clc;
close all;
clear all;
%XXXXXXXXXXXXXXXXXXXXXXXXXXX Define AM modulation Index XXXXXXXXXXXXXXXXXXX
disp(' example: m=1 means 100% modulation');
%m=input(' Enter the value of modulation index (m) = ');
m=1; % for 100% modulation
if (0>m||m>1)
error('m may be less than or equal to one and geter than to zero');
end
%XXXXXXXXXXXXXXXXX modulating signal generation XXXXXXXXXXXXXXXXXXXXXXXXXX
Am=5; % Amplitude of modulating signal
fa=2000; % Frequency of modulating signal
Ta=1/fa; % Time period of modulating signal
t=0:Ta/999:6*Ta; % Total time for simulation
ym=Am*sin(2*pi*fa*t); % Eqation of modulating signal
figure(1)
subplot(3,1,1);
plot(t,ym), grid on;% Graphical representation of Modulating signal
title ( ' Modulating Signal ');
xlabel ( ' time(sec) ');
ylabel (' Amplitud(volt) ');
%XXXXXXXXXXXXXXXXXXXXX carrier signal generation XXXXXXXXXXXXXXXXXXXXXXXXXX
Ac=Am/m;% Amplitude of carrier signal [ where, modulation Index (m)=Am/Ac ]
fc=fa*10;% Frequency of carrier signal
Tc=1/fc;% Time period of carrier signal
yc=Ac*sin(2*pi*fc*t);% Eqation of carrier signal
subplot(3,1,2);
plot(t,yc), grid on;% Graphical representation of carrier signal
title ( ' Carrier Signal ');
xlabel ( ' time(sec) ');
ylabel (' Amplitud(volt) ');
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX AM Modulation XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
y=Ac*(1+m*sin(2*pi*fa*t)).*sin(2*pi*fc*t); % Equation of Amplitude
%modulated signal
subplot(3,1,3);
plot(t,y);% Graphical representation of AM signal
title ( ' Amplitude Modulated signal ');
xlabel ( ' time(sec) ');
ylabel (' Amplitud(volt) ');
grid on

TRANG 15
FM
clc
clear all
close all
t = 0:255;
t = t/256;
f = 2;
fc = 20;
beta = 5;
m = sin(2*pi*f*t);
xc = cos(2*pi*fc*t + beta*m);
figure(6)
plot (t,xc)
figure(4)
.
t = 0:255;
t = t/256;
f = 2;
fc = 20;
beta = 2;
m = sin(2*pi*f*t);
xc = cos(2*pi*fc*t + beta*m);

fo = zeros(1,256);
ff = zeros(1,256);
ff = fc + 4*cos(2*pi*f*t);
x = zeros(1,256);
disc = zeros(1,256);
fo(1) = 20;

for i=1:256
disc(i) = 2*pi*fc*t(i) + beta*m(i) - 2*pi*fo(i)*t(i);
if (i ~= 1)
x(i) = (disc(i) - disc(i-1))*256/(2*pi);
else
x(i) = disc(i)*256/(2*pi);
end;
if (i ~= 256)
fo(i+1) = fc + 0.001*x(i);

TRANG 16
end;
end;

subplot(2,1,1)
plot(t,disc);
ylabel('Discriminator');
title('Output of Discrminator');
subplot(2,1,2)
plot(t,x);
ylabel('x');
title('Adjustment to VCO');

PM

TRANG 17

You might also like