Mô phỏng hệ thống truyền thông

20 790 11
Mô phỏng hệ thống truyền thông

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mô phỏng hệ thống truyền thông

Học viện công nghệ bưu viễn thông Khoa Viễn Thông BÁO CÁO Môn học: Mô hệ thống truyền thông Giảng viên Ngô Thu Trang Hà Nội 11.2014 Bài 1: Mô tả nhiệm vụ: Đọc xử lý nguồn tin ảnh đen trắng lưu tệp chess.jpg Ảnh lấy theo địa đây: http://my.metadata.vn/share/s/-EUsAQgKQtSMZn1Mwuf_1g/chess.jpg Thực đọc chuyển đổi tệp ảnh yêu cầu thành chuỗi bít nhị phân làm nguồn tin đầu vào cho nhiệm vụ thực ngược lại chuyển đổi chuỗi bít nhị phân thu thành tệp ảnh để hiển thị Yêu cầu: a Mô tả phương pháp thực chuyển đổi ảnh số lưu tệp thành chuỗi bít nhị phân ngược lại b Viết chương trình MATLAB thực chuyển đổi ảnh lưu tệp chess.jpg thành chuỗi tín hiệu nhị phân ngược lại Có thể xây dựng dạng hàm chuyển đổi để sử dụng chương trình khác c Xác định thông số kích thước ảnh, định dạng ảnh độ dài chuỗi bít chuyển đổi 3.Mô tả phương pháp thực chuyển đổi ảnh số thành chuỗi bit ngược lại:  Đưa ảnh vào chương trình,dung matlab đọc ảnh ảnh lưu trữ ma trận với định dạng ban đầu thường unit8 bit cho pixel  Đưa ảnh dạng ảnh đen trắng matlab ban đầu hiểu ảnh màu nên ta phải chuyển sang đên trắng Gray  Chuyển đổi hệ số thành chuỗi bit nhị phân để truyền 2.Dãy số chuyển đổi hàng số cột kích thước của ma trân mà đọc từ ảnh  Các chuỗi bit sau truyền đến thu thông qua môi trường lý tưởng nhiễu nghĩa bit không bị biến đổi sai khác ta thu nguyên dạng chuỗi bit nhị phân  Tại thu chuỗi bit xếp biến đổi lại thành hệ số.Đầu tiên xếp thành octer nghĩa biểu diễn 8bit cho điểm ảnh pixel sau đưa nhị phân để đọc ảnh  Từ hệ số ta xây dựng ma trận ảnh có lại ảnh đen trắng.Và ảnh giải mã Mô hình chuyển đổi ảnh Ảnh trước chuyển đổi chess1.jpg Ảnh sau chuyển đổi chess2.jpg 4.Viết chương trình MATLAB thực hiến biến đổi ảnh % NGUYEN QUYET TIEN B112101142 -D11VT3 -tiennq93@gmail.com % clc; clear all; image1 = imread('chess1.jpg'); image1=rgb2gray(image1); % Chuyen doi image RGB or Colormap toi Grayscale imfinfo('chess1.jpg') sizeimage = size(image1); % 1.Ma hoa x = codeimage(image1); % 2.Giai Ma image2 = decodeimage(x,sizeimage); imwrite(image2,'chess2.jpg'); % 3.Doc cac thong tin disp('=======T==I==E==N==============') disp('Kich thuoc,Dinh dang,Do dai chuoi bit la :') imfinfo('chess2.jpg') disp('Do dai chuoi bit') length(x) % 4.Hien thi anh figure subplot(1,2,1) title('Anh can chuyen doi'); hold on; imshow(image1); subplot(1,2,2) title('Anh sau chuyen doi'); hold on; imshow(image2); Chương trình % Nguyen Quyet Tien D11VT3 B112101142 function y = codeimage(x) % 1.Bieu dien phan choi voi 8bit y = de2bi(x,8,'left-msb'); % 2.Chuyen vi de bieu dien chuoi theo tung hang chuan y=y'; % 3.Tao chuoi bit nhi phan voi hang va n cot y = reshape(y,1,[]) % Nguyen Quyet Tien D11VT3 B112101142 function y =decodeimage(a,c) % Chuoi tin hieu la dang nhi phan ta can chuyen doi nhu sau : % 1.Tao ma tran 8_hang va n_cot sau chuyen vi se thu duoc 8_cot va n_hang y1 = reshape(a,8,length(a)/8); y2=y1'; % 2.Chuyen doi tu he thap phan sang he muoi y3 = bi2de(y2,'left-msb'); % 4.Xay dung lai ma tran anh ban dau y = reshape(y3,c(1),length(y3)/c(1)); Bài 2: Mô hệ thống truyền dẫn số tốc độ liệu N Mb/s, giá trị N xác định số cuối mã số sinh viên (Nếu số số lựa chọn số liền kề bên cạnh) Nguồn tin hệ thống lấy từ ảnh số thực nhiệm vụ 1, trường hợp không thực lấy nguồn tin từ nhiệm vụ thay chuỗi tín hiệu nhị phân ngẫu nhiên tương đương Mỗi sinh viên lựa chọn kỹ thuật điều chế sau cho hệ thống mô phỏng: Điều chế M-DPSK số cuối mã sinh viên chẵn với M = số liền kề lẻ M = số liền kề chẵn N=8 Sử dụng điều chế 4-DPSK Yêu cầu: Mô tả hệ thống mô sơ đồ khối xác định tham số hệ thống Bằng việc sử dụng MATLAB, viết chương trình mô hệ thống truyền dẫn số sử dụng kỹ thuật điều chế lựa chọn kênh AWGN với nguồn tín hiệu ảnh số thực nhiệm vụ Ước tính xác suất lỗi mức tỉ số tín hiệu nhiễu SNR (Es/N0) 5, 12 dB theo phương pháp Monte Carlo Biểu diễn biểu đồ chòm sao, dạng sóng tín hiệu, mẫu mắt phổ điểm sau hệ thống: đầu điều chế, sau truyền qua kênh AWGN SNR = dB, sau xử lý khôi phục thu So sánh kết ảnh trắng đen yêu cầu khôi phục sau truyền qua hệ thống mô mức SNR yêu cầu Mô tả hệ thống tham số sử dụng mô Sơ đồ khối điều chế 4-DPSK Sử dụng điều chế 4-DPSK Các chuỗi bit đầu vào tạo thành xung, sau xung đưa vào điều chế 4-DPSK đưa lên kênh AWGN để tới máy thu Tại máy thu tín hiệu giải điều chế đưa qua lọc để khôi phục chuỗi bit ban đầu Các tham số sử dụng: Tên tham số Tốc độ bit Giá trị N = Mb/s Năng lượng ký hiệu Es = 10 Băng thông MHz Tần số sóng mang MHz Tần số lấy mẫu MHz Pha tín hiệu ban đầu SNR Es/No xét BER Mã chương trình: %####Nguyen Quyet Tien B112101142 D11VT3 ######% % Bai clear,clc,close all M = 4; % SO muc dieu che Es =15; % Nang luong cho mot ky hieu 12 N=2*10^6; % Nsym=N/2; % Tsym=1/Nsym;% n = 1000; % phi=0; % fs=5*10^6; % fc=10^6; % ts=1/fs; Toc bit- bit rate Toc ki hieu- Symbol rate Chu kì kí hieu So bit dau vao Pha tin hieu phat Tan so lay mau Tan so song mang %% 1.Nhap tin hieu phat a = randint(1,n); % Chuoi bit dau vao ngau nhien asym = bi2de(reshape(a,log2(M),length(a)/log2(M)).','left-msb'); % Chuyen doi nhi phan sang thap phan d = dpskmod(asym,M); % Dieu che 4-DPSK %% 2.Xay dung ham s(t) t=0:ts:n/log2(4)*Tsym; for i = 1:length(t) s(i) = 0; for k = 1:n/log2(4) pt(k) = sqrt((2*Es)/Tsym)*rect((t(i)-k*Tsym -0.5*Tsym)/Tsym); s(i) = s(i)+ d(k)*pt(k); end end %% 3.Do thi tin hieu bang goc plot(t,s); xlabel(' Time s'); ylabel( ' Bien '); title(' Do thi tin hieu goc '); sing=s.*exp(j*phi); %tin hieu sau dieu che sing1=sing.*exp(j*2*pi*fc*t); %Tin hieu de xac dinh mau mat %% 4.Do thi va cua tin hieu sau dieu che 4-DPSK figure subplot(2,1,1); plot(t,real(sing1)) xlabel(' time s'); ylabel( ' Bien '); title('Do thi tin hieu sau dieu che'); subplot(212); pho(sing1); title('Pho cua tin hieu sau dieu che'); %% 5.Mau mat cua tin hieu sau dieu che 4-DPSK eyediagram(real(sing1),20); title(' Bieu mat tin hieu 4DPSK'); %% 6.Chom cua tin hieu sau dieu che scatterplot(d,1,0,'or'); title(' Bieu chom cua tin hieu sau dieu che ' ); %% 7.Do thi va cua tin hieu sau qua AWGN figure sing1_noise=addnoise(sing1,8); subplot(211); plot(t, real(sing1_noise)); xlabel(' time s'); ylabel( ' Bien '); title(' Do thi bi AWGN '); subplot(212); pho(sing1_noise); title('Pho cua tin hieu bi AWGN'); %% 8.Mau mat cua tin hieu sau qua kenh AWGN eyediagram(real(sing1_noise),20); title('Bieu mat tin hieu 4DPSK qua AWGN'); %% 9.Chom cua tin hieu sau qua kenh AWGN va so sanh voi chom goc d_noise = addnoise(d,8); h = scatterplot(d_noise,1,0,'x'); hold on; scatterplot(d,1,0,'or',h); title('Bieu chom cua tin hieu sau qua kenh AWGN'); %% 10.Xu ly va khoi phuc tai bo thu figure sr1 = sing1_noise.*exp(-j*phi).*exp(-j*2*pi*fc*t); %Tin hieu thu truoc bo loc sr = raisedcosflt(sr1,1.6e6,ts,2); % Khoi phuc lai tin hieu plot(t,real(sr)) % Do thi tin hieu sau khoi phuc va cua no xlabel('Time(s)'); ylabel('Bien do'); title('Do thi tin hieu khoi phuc'); figure pho(sr); title('Pho cua tin hieu duoc khoi phuc'); %% 11.Chom tin hieu duoc khoi phuc h = scatterplot(sr,1,0,'xb'); title(' Bieu chom cua tin hieu duoc khoi phuc '); %% 12.Mau mat tin hieu sau khoi phuc eyediagram(real(sr),20); title('Mau mat duoc khoi phuc'); %% 13.Tinh BER bang phuong phap Monte-Carlo SNR_dB=[5 12] ; %======vong lap=====% for i=1:length(SNR_dB) SNR=exp(SNR_dB(i)*log(10)/10); %Chuyen dB sang so lan theoryBer(i)=2*qfunc(sqrt(SNR)); %Tinh BER theo ly thuyet simBer(i)=monte_carlo(SNR_dB(i)); %Tinh BER theo thuc nghiem end; % -Xac suat loi uoc tinh (CAU B) -% disp('Vector loi ki hieu mo phong ung voi snr tu va 12dB la') simBer = single(simBer) %Lam tron so % -Ve hinh the hien % semilogy(SNR_dB,theoryBer,'LineWidth',2);hold on; semilogy(SNR_dB,simBer,'r-*','LineWidth',2);grid on; xlabel('SNR (dB)'); ylabel('BER'); title(' Truyen tin hieu DPSK qua kenh AWGN'); legend('BER-ly thuyet','BER-thuc nghiem'); Trương trình %====Chuong trinh con: Ham dem loi so sanh theo monteCarlo======% function[p]=monte_carlo(snr) Ns=10^4; %So ky hieu Es = 2*10^-6; %Nang luong tren mot ky hieu SNR=10^(snr/10); %Doi snr dB sang so lan varnoise=sqrt(Es/(4*SNR)); %Phuong sai nhieu % tao du lieu dau vao -% for i=1:2*Ns, temp=rand; %bien ngau nhien va co Ns gia tri if(temp < 0.5), %Quyet dinh cung dsource(i)=0; %voi xac suat 1/2 du lieu la "0" else dsource(i)=1; %voi xac suat 1/2 du lieu la "1" end; end; % -ma hoa vi sai nguon du lieu % mapping=[0 2]; % bo anh xa M=4; [diff_enc_output]=cm_dpske(Es,M,mapping,dsource);% ham ma hoa vi sai % -tin hieu nhan duoc sau % for i=1:Ns, [n(1), n(2)]=gngauss(varnoise); % tao Gauss r(i,:)=diff_enc_output(i,:)+n; % tin hieu nhan duoc end; % -tach tin hieu va tinh toan xac suat loi bit % error=0; prev_theta=0; %%%%%%% vong lap -%%%%%% for i=1:Ns, theta = angle(r(i,1) + 1i*r(i,2)); % chuyen tin hieu so phuc ve radian delta_theta = mod(theta - prev_theta,2*pi); % lay du if((delta_theta < pi/4)||(delta_theta > 7*pi/4)), decis = [0 0]; elseif(delta_theta < 3*pi/4), decis = [0 1]; elseif(delta_theta < 5*pi/4), decis = [1 1]; else decis = [1 0]; end; prev_theta = theta; % tang dem loi neu quyet dinh sai % if((decis(1)~= dsource(2*i-1))||(decis(2)~= dsource(2*i))), error=error + 1; end; end; p=error/Ns;%xac xuat loi function yNoise = addnoise(y,SNRdB) % Day la ham AWGN % Tin hieu dau vào % y– Tin hieu dau vào % SNRdB - Muc SNR dB % yNoise – Tin hieu nhieu dau SNR = 10^(SNRdB/10); VarN = var(y)/SNR; if (isreal(y)) yNoise = y + sqrt(VarN)*randn(size(y)); else yNoise = y + sqrt(VarN/2)*(randn(size(y))+j*randn(size(y))); end function yNoise = addnoise(y,SNRdB) % Day la ham AWGN % Tin hieu dau vào % y– Tin hieu dau vào % SNRdB - Muc SNR dB % yNoise – Tin hieu nhieu dau SNR = 10^(SNRdB/10); VarN = var(y)/SNR; if (isreal(y)) yNoise = y + sqrt(VarN)*randn(size(y)); else yNoise = y + sqrt(VarN/2)*(randn(size(y))+j*randn(size(y))); end %======Ham ma hoa vi sai cho chuoi=================% function[enc_comp]=cm_dpske(E,M,mapping,sequence) k=log2(M); N=length(sequence); % Neu N khong chia het cho k remainder=rem(N,k); %phan du if(remainder~=0), for i=N+1:N+k-remainder, sequence(i)=0; end; N=N+k-remainder; end theta=0; %ban dau, gia su theta=0 theta la goc quay cua mot vecto bieu dien %dung voi goc cua song hinh sine goc sai biet giua hai vecto for i=1:k:N, index=0; for j=i:i+k-1, index=2*index+sequence(j); end; index=index+1; theta=mod(2*pi*mapping(index)/M+theta,2*pi); enc_comp((i+k-1)/k,1)=sqrt(E)*cos(theta); enc_comp((i+k-1)/k,2)=sqrt(E)*sin(theta); end; % Chuong trinh Ham tao ngau nhien Gauss -% function [gsrv1,gsrv2] = gngauss(m,sgma) if nargin==0, m=0; sgma=1; elseif nargin==1, sgma=m; m=0; end; 10 u=rand; z=sgma*(sqrt(2*log(1/(1-u)))); gsrv1=m+z*cos(2*pi*u); gsrv2=m+z*cos(2*pi*u); % Tao gia tri ngau nhien khoang (0,1) % Rayleigh distributed random variable function st_fft_fre = pho(x) fs = 15e6; % y - cua tin hieu x st_fft=fft(x); st_fft=fftshift(st_fft); st_fft_fre=fs/2*linspace(-1,1,length(st_fft)); plot(st_fft_fre,abs(st_fft));grid;%dang tin hieu xlabel('Frequency(hz)'); ylabel('Amplitude'); function y = raisedcosflt(x,Rb,Ts,beta) % Function bo loc raised cosine % x - input samples % Rb - filter bandwidth % Ts - sampling time % beta - rolloff factor % y - filtered output Ns = length(x); Tb = 1/Rb; beta = beta*Rb; % Frequency domain f = [0:Ns/2-1 -Ns/2:-1]/(Ns*Ts); Xf = fft(x); Yf = zeros(size(Xf)); ind = (abs(f)(Rb/2+beta)); Yf(ind) = Xf(ind).*0; % Convert into time domain y = ifft(Yf)./Tb; % t = [0:Ns-1]*Ts; % p = sinc(Rb*t).*cos(2*pi*beta*t)./(1-(4*beta*t).^2); % y = conv(x,p); function y = rect(x) y = ((0[...]... Xf(ind).*0; % Convert into time domain y = ifft(Yf)./Tb; % t = [0:Ns-1]*Ts; % p = sinc(Rb*t).*cos(2*pi*beta*t)./(1-(4*beta*t).^2); % y = conv(x,p); function y = rect(x) y = ((0

Ngày đăng: 26/05/2016, 15:41

Mục lục

    3.Mô tả phương pháp thực hiện chuyển đổi ảnh số thành chuỗi bit và ngược lại:

    4.Viết chương trình MATLAB thực hiến biến đổi ảnh

    1 Mô tả hệ thống và các tham số sử dụng trong mô phỏng

Tài liệu cùng người dùng

Tài liệu liên quan