Lấy mẫu : lượng tử hóa Nén lấy mẫu T/h tương tự đầu vào Giải nén Khôi phục tín hiệu Tin hiệu đầu ra... Quá trình lấy mẫu được thực hiện bằng cách nhân tín hiệu ban đầu với chuỗi xung
Trang 1BÀI TẬP LỚN MÔN: MÔ PHỎNG HỆ THỐNG TRUYỀN THÔNG
I.Nhiệm vụ 1 - mô phỏng hoạt động của hệ thống PCM
1.Mô tả hệ thống mô phỏng và các tham số được sử dụng trong mô phỏng
Với Ak lần lượt là [1, 2, 3], fi lần lượt là [200, 600, 600] Hz, ϕi lần lượt là [0, pi/2, 3pi/2]
Tần số lấy mẫu fs=8Khz,Chu kì lấy mẫu=1/fs ,Chu kì bit=1/200,hệ số nén mu=2.
Lấy mẫu :
lượng tử hóa Nén
lấy mẫu T/h tương tự đầu vào
Giải nén Khôi phục tín hiệu Tin hiệu đầu ra
Trang 2Quá trình lấy mẫu được thực hiện bằng cách nhân tín hiệu ban đầu với chuỗi xung nhịp có tần số lấy mẫu fs= 8KHz một mẫu được mã hoá bởi 8 bit nhị phân.=>255 mức lượng tử.
Mã hóa - nén số
Trước khi lượng tử hoá, người ta thường thực hiện nén (compress) tín hiệu theo hàm logarithm, mục đích là để tín hiệu ở mức biên độ nhỏ sẽ thay đổi nhiều mức hơn so với ở các giá trị biên độ lớn, do đó sai số lượng tử tương đối ở các mức biên độ nhỏ và lớn sẽ không chênh lệch nhau nhiều như đối với trường hợp không nén.
2.Kết quả mô phỏng,đánh giá và nhận xét.
2.1 Tín hiệu tương tự đầu vào
Trang 32.2 Tín hiệu sau khi được nén với hệ số nén μ =2.
2.3Tín hiệu khi được PCM lượng tử hóa đều
Trang 42.4Tín hiệu sau khi được giải điều chế
2.5Tín hiệu sau khi được giải nén
Trang 52.6Phổ biên độ của tín hiệu ban đầu
2.7Phổ pha của tín hiệu ban đầu
Trang 62.8Phổ biên độ của tín hiệu được khôi phục tại đầu thu hệ thống PCM
2.9Phổ pha của tín hiệu được khôi phục tại đầu thu hệ thống PCM
Trang 72.10Biểu đồ mẫu của tín hiệu trước khi nén
2.11Biểu đồ mẫu của tín hiệu sau bộ nén
Đánh giá và nhận xét :
Dạng tín hiệu và phổ của tín hiệu thu được cuối cùng so với tín hiệu ban đầu là gần tương
tự nhau chứ không trùng hoàn toàn bởi vì sai số trong quá trình lượng tử hóa và giải điều chế.
Đây là biểu diễn trong 1 hệ thống lý tưởng không có nhiễu ở phía phát và phía thu nên nếu thực hiện trong thực tế các sai số có thể sẽ lớn hơn.
Số lượng các mẫu trước và sau bộ nén là bằng nhau nhưng mà biên độ đã bị giảm đi vì tín hiệu bị nén
Trang 83 Mã chương trình được viết để mô phỏng hệ thống và chú giải.
fs=8000;%tan so lay mau
Ts=1/fs;%chu ki lay mau
Tb=1/200;%chu ki bit
t=0:Ts:3*Tb;%thuc hien trong 3 chu ki
x=cos(2*pi*200*t)+2*cos(2*pi*600*t+pi/2)+3*cos(2*pi*600*t+(3*pi)/2);%tin hieu tuong tu dau vao
M=255;%so muc luong tu
mu=2;%he so nen
[y,a] = mulaw(x,mu)
A=y;%gan y la tin hieu sau khi nen vao A
[code,xq] = uniform_pcm1(A,M)%PCM luong tu hoa deu
Amax=max(abs(A));
[ dcode,xz ] = d_PCM( Amax,code,M )%giai dieu che PCM
[n] = invmulaw(xz,mu)%giai nen tin hieu
các hàm sử dụng hỗ trợ cho đoạn code trên
%hàm thực hiện nén theo luật u
function [y,a] = mulaw(x,mu)
%x-chuoi tin hieu dau vao
%mu-he so nen
a=max(abs(x));
y=sign(x).*log(1+mu*abs(x/a))/log(1+mu);
end
%Hàm thực hiện lượng tử hóa PCM đều
function [code,xq] = uniform_pcm(A,M)
code = de2bi(xcode,'left-msb');%tin hieu sau khi duoc nen va PCM ,duoc chuyen
tu he so thap phan sang nhi phan
%Hàm giải điều chế PCM
function [ dcode,xz ] = d_PCM( Amax,code,M )
dcode=bi2de(code,'left-msb');%chuyen tu nhi phan sang thap phan
[a,b]=size(dcode);
delta = 2*Amax/(M-1);
Mq = -Amax:delta:Amax;
Trang 9title('tin hieu tuong tu dau vao')
xlabel('Thoi Gian(s)')
ylabel('Bien Do');
stairs(t,xq,'r')%xq la tin hieu sau khi luong tu hoa PCM deu
title('tin hieu khi duoc luong tu hoa')
%vẽ tín hiệu sau khi giải điều chế
plot(xz,'g');
title('tin hieu sau khi giai dieu che')
axis([0 length(xz) min(xz)-1 max(xz)+1]);
grid on;
%vẽ tín hiệu sau khi giải nén
plot(t,n,'r')
title('tin hieu sau khi giai nen)
%vẽ phổ tín hiệu ban đầu
Trang 10figure
plot(pho_pha)
title('pho pha cua tin hieu ban dau')
%vẽ phổ tín hiệu được khôi phục tại đầu thu hệ thống
N=fft(n);%n la tin hieu thu duoc sau khi giai dieu che va giai nen
title('pho pha cua tin hieu duoc khoi phuc tai dau thu he thong PCM')
%vẽ biểu đồ mẫu của tín hiệu trước bộ nén
Trang 11Trong đó Es là năng lượng 1 ký hiệu
1.Mô tả hệ thống mô phỏng và các tham số được sử dụng trong mô phỏng
tín hiệu số thu được sau
khi nén và chuyển đổi
PCM từ nhiệm vụ 1
Kênh nhiễu AWGN
Giải điều chế
Trang 12Q = 4;%qpsk co 4 trang thai pha nen
Es = 2e-8;
phi = 0; % pha cua tin hieu phat
Ts = 1/1e9; % chu ky cua symbol Tsym
bers = [];%ti le loi bit ban dau bang rong
mu1 = (1:8);%he so nen chay tu 1 den 8
SNRdB = (1:1:SNR);
M=256;
2.Kết quả và đánh giá
Hình 2.1: scatter plot tín hiệu sau khi đi qua kênh AWGN tại hệ số nén bằng 2
Hình 2.2: scatter plot tín hiệu sau khi đi qua kênh AWGN tại hệ số nén bằng 7
Trang 13So sánh hình 2.1 và 2.2 ta thấy với hệ số nén càng lớn thì ta càng thấy rõ sự phân bố của các tín hiệu.
Hình 2.3:Tín hiệu sau khi được điều chế QPSK tại hệ số nén bằng 2
Hình 2.4:Tín hiệu sau khi được điều chế QPSK tại hệ số nén bằng 7
So sánh hình 2.3 và 2.4 ta thấy tín hiệu có biên độ không đổi nhưng mà do hệ số nén nên các xung của tín hiệu sau đi được điều chế QPSK tại hệ số nen bằng 7 sát nhau hơn
Trang 14Hình 2.5 : Tín hiệu sau khi đi qua kênh AWGN tại hệ số nén bằng 2
Hình 2.6 : Tín hiệu sau khi đi qua kênh AWGN tại hệ số nén bằng 7
Trang 15Hình 2.7: biểu đồ mắt tín hiệu sau khi được điều chế QPSK tại hệ số nén bằng 2
Hình 2.8: biểu đồ mắt tín hiệu sau khi được điều chế QPSK tại hệ số nén bằng 7
Trang 16Hình 2.9: biểu đồ mắt tín hiệu sau khi đi qua kênh AWGN tại hệ số nén bằng 2
Hình 2.10: biểu đồ mắt tín hiệu sau khi đi qua kênh AWGN tại hệ số nén bằng 7
Trang 17Hình 2.11: tín hiệu sau khi được xử lý tại hệ số nén bằng 2
Hình 2.12: tín hiệu sau khi được xử lý tại hệ số nén bằng 7
Trang 18Hình 2.13: biểu đồ mắt tín hiệu sau khi được xử lý và tại hệ số nén bằng 2
Hình 2.14: biểu đồ mắt tín hiệu sau khi được xử lý và tại hệ số nén bằng 7
Trang 19Hình 2.15: sự phụ thuộc của BER vào hệ số nén
Đánh giá :
So với tỉ lệ nén bằng 2 thì kết quả với hệ số nén bằng 7 cho ra kết quả tốt hơn
Khi đi qua kênh AWGN thì tín hiệu sẽ bị ảnh hưởng nhiều từ nhiễu gauss trắng cộng gây nên sự sai lệch về tín hiệu.
Ber(tỉ lệ lỗi bit) càng giảm khi mà hệ số nén càng tăng : vì vậy khi truyền tín hiệu ở các hệ thống thực thì chúng ta muốn truyền được tin chính xác nhất thì cần phải nén các tín hiệu lại cho phù hợp với hệ thống truyền dẫn
SNR = 8; % ti so tin hieu tren nhieu
Q = 4;%qpsk co 4 trang thai pha nen
Es = 2e-8;
phi = 0; % pha cua tin hieu phat
Ts = 1/1e9; % chu ky cua symbol Tsym
bers = [];%ti le loi bit ban dau bang rong
mu1 = (1:8);%he so nen chay tu 1 den 8
SNRdB = (1:1:SNR);
for mu = mu1
amax = max(abs(x)); % tim so lon nhat trong vector x
[y,a] = mulaw(x,mu)%ham nen theo luat u
A=y;%gan y la tin hieu sau khi nen vao A
M=256;
[code,xq] = uniform_pcm1(A,M) % luong tu hoa pcm
code = reshape(code.',1,[]); % chuyen sang dang ma tran hang
k = 1;
Trang 20THsaudieuche = pskmod(data,Q,phi); % tin hieu sau khi dieu che QPSK
snr = SNRdB(mu); % ti so tin hieu tren nhieu
t = (0:15/(length(THsaudieuche) - 1):15); % tao vector thoi gian
quakenhawgn = awgn(THsaudieuche, snr); % dua tin hieu qua kenh AWGN
Giaidieuche = pskdemod(quakenhawgn,Q,phi); % giai dieu che QPSK
output = reshape(de2bi(Giaidieuche).',1,[]);
errors = (code ~= output); % tim vi tri cac bit loi
numbererrors = sum(errors); % so luong bit loi
ber = numbererrors/N; % xac suat loi
Nerr = Nerr + numbererrors; % them so luong bit loi moi
BER = BER + ber; % them ber moi
end
% lay ti le loi bit chia cho so lan lap
BER = BER /MAX_error;
Nerr = floor(Nerr/MAX_error);%lam tron ti so so luong bit loi tren so
%luong loi toi da
bers = [bers BER]; % them cac BER
title(['Tin hieu sau khi qua AWGN tai he so nen ',num2str(mu)]);
xlabel('Thoi gian (t)');
ylabel('Bien do (A)');
Trang 21title(['Tin hieu sau khi xu ly tai he so nen ',num2str(mu)]); axis([0 length(output)+10 -0.1 1.1]);
title('So phu thuoc cua BER vao he so nen');
xlabel('he so nen')