목차
1. Introduction
2. What is QPSK?
3. What is pi/4-DQPSK?
4. How to simulation two schemes
5. Simulation Results ( Capture ) & Analysis
6. Matlab source code
2. What is QPSK?
3. What is pi/4-DQPSK?
4. How to simulation two schemes
5. Simulation Results ( Capture ) & Analysis
6. Matlab source code
본문내용
ignal = pskdemod(signal_ch,M,0,'gray'); % QPSK Demodulate with gray coding.
received_signal_binary = de2bi(received_signal,'left-msb');
% signal value convert to binary
num_of_error_qpsk(index) = length(find([tx_binary-received_signal_binary]));
% couting the number of errors
end
% 2nd case : pi/4-DQPSK
signal = dpskmod(tx,M,pi/4,'gray'); % pi/4-DQPSK modulation with gray coding
figure
subplot(2,2,1), plot(signal(1:1:10000),'Marker','.','LineStyle','none');
%(we) plote only 1000 signals to see clearly
hold on;
%ploting decision region
plot([-2:1:2],[-1:0.5:1],'r--',[-2:1:2],[1:-0.5:-1],'r--',[-1:0.5:1],[-2:1:2],'r--',[-1:0.5:1],[2:-1:-2],'r--')
axis([-1.5 1.5 -1.5 1.5]);grid on;
title('Signal Constellation of pi/4-DQPSK')
hold on;
for index = 1:length(Eb_N0_dB)
signal_ch = awgn(signal,Es_N0_dB(index)); % through the AWGN channel.
if Eb_N0_dB(index)==5 %when Eb/N0=5dB, ploting
subplot(2,2,2), plot(signal_ch(1:1:10000),'Marker','.','LineStyle','none');
%(we) plote only 1000 signals to see clearly
title('Eb/N0 = 5dB'); axis([-2 2 -2 2]); grid on;
hold on;
%ploting decision region
plot([-2:1:2],[-1:0.5:1],'r--',[-2:1:2],[1:-0.5:-1],'r--',[-1:0.5:1],[-2:1:2],'r--',[-1:0.5:1],[2:-1:-2],'r--')
elseif Eb_N0_dB(index)==10 %when Eb/N0=10dB, ploting
subplot(2,2,3), plot(signal_ch(1:1:10000),'Marker','.','LineStyle','none');
%(we) plote only 1000 signals to see clearly
title('Eb/N0 = 10dB'); axis([-2 2 -2 2]); grid on;
hold on;
%ploting decision region
plot([-2:1:2],[-1:0.5:1],'r--',[-2:1:2],[1:-0.5:-1],'r--',[-1:0.5:1],[-2:1:2],'r--',[-1:0.5:1],[2:-1:-2],'r--')
elseif Eb_N0_dB(index)==20 %when Eb/N0=20dB, ploting
subplot(2,2,4), plot(signal_ch(1:1:10000),'Marker','.','LineStyle','none');
%(we) plote only 1000 signals to see clearly
title('Eb/N0 = 20dB'); axis([-2 2 -2 2]); grid on;
hold on;
%ploting decision region
plot([-2:1:2],[-1:0.5:1],'r--',[-2:1:2],[1:-0.5:-1],'r--',[-1:0.5:1],[-2:1:2],'r--',[-1:0.5:1],[2:-1:-2],'r--')
end
received_signal = dpskdemod(signal_ch,M,pi/4,'gray'); % Demodulate.
received_signal_binary = de2bi(received_signal,'left-msb');
% signal value convert to binary
num_of_error_dqpsk(index) = length(find([tx_binary-received_signal_binary]));
% couting the number of errors
end
ber_QPSK = num_of_error_qpsk/N; %calculate bit error rate of QPSK
ber_DQPSK = num_of_error_dqpsk/N; %calculate bit error rate of pi/4-DQPSK
theory_ber_QPSK = 2*qfunc(sqrt(2*2*Eb_N0_real)*sin(pi/4));
%using improved Union Bound, calculate theory BER of QPSK
%Ploting section.
figure
semilogy(Eb_N0_dB,theory_ber_QPSK,'b.-'); % ploting of theory_ber_QPSK
hold on
semilogy(Eb_N0_dB,ber_QPSK,'mx-'); % ploting of simalated BER of QPSK
hold on
semilogy(Eb_N0_dB,ber_DQPSK,'ro-'); % ploting of simalated BER of pi/4-DQPSK
axis([0 15 10^-5.5 1])
grid on
legend('theory-QPSK', 'simulation-QPSK', 'simulation-pi/4-DQPSK');
xlabel('Eb/No, dB')
ylabel('Pb(e)')
title('Bit error probabilities for QPSK and pi/4-DQPSK with Gray coding')
set(gca,'XTick',[0 2 4 6 8 10 12 14 15]);
received_signal_binary = de2bi(received_signal,'left-msb');
% signal value convert to binary
num_of_error_qpsk(index) = length(find([tx_binary-received_signal_binary]));
% couting the number of errors
end
% 2nd case : pi/4-DQPSK
signal = dpskmod(tx,M,pi/4,'gray'); % pi/4-DQPSK modulation with gray coding
figure
subplot(2,2,1), plot(signal(1:1:10000),'Marker','.','LineStyle','none');
%(we) plote only 1000 signals to see clearly
hold on;
%ploting decision region
plot([-2:1:2],[-1:0.5:1],'r--',[-2:1:2],[1:-0.5:-1],'r--',[-1:0.5:1],[-2:1:2],'r--',[-1:0.5:1],[2:-1:-2],'r--')
axis([-1.5 1.5 -1.5 1.5]);grid on;
title('Signal Constellation of pi/4-DQPSK')
hold on;
for index = 1:length(Eb_N0_dB)
signal_ch = awgn(signal,Es_N0_dB(index)); % through the AWGN channel.
if Eb_N0_dB(index)==5 %when Eb/N0=5dB, ploting
subplot(2,2,2), plot(signal_ch(1:1:10000),'Marker','.','LineStyle','none');
%(we) plote only 1000 signals to see clearly
title('Eb/N0 = 5dB'); axis([-2 2 -2 2]); grid on;
hold on;
%ploting decision region
plot([-2:1:2],[-1:0.5:1],'r--',[-2:1:2],[1:-0.5:-1],'r--',[-1:0.5:1],[-2:1:2],'r--',[-1:0.5:1],[2:-1:-2],'r--')
elseif Eb_N0_dB(index)==10 %when Eb/N0=10dB, ploting
subplot(2,2,3), plot(signal_ch(1:1:10000),'Marker','.','LineStyle','none');
%(we) plote only 1000 signals to see clearly
title('Eb/N0 = 10dB'); axis([-2 2 -2 2]); grid on;
hold on;
%ploting decision region
plot([-2:1:2],[-1:0.5:1],'r--',[-2:1:2],[1:-0.5:-1],'r--',[-1:0.5:1],[-2:1:2],'r--',[-1:0.5:1],[2:-1:-2],'r--')
elseif Eb_N0_dB(index)==20 %when Eb/N0=20dB, ploting
subplot(2,2,4), plot(signal_ch(1:1:10000),'Marker','.','LineStyle','none');
%(we) plote only 1000 signals to see clearly
title('Eb/N0 = 20dB'); axis([-2 2 -2 2]); grid on;
hold on;
%ploting decision region
plot([-2:1:2],[-1:0.5:1],'r--',[-2:1:2],[1:-0.5:-1],'r--',[-1:0.5:1],[-2:1:2],'r--',[-1:0.5:1],[2:-1:-2],'r--')
end
received_signal = dpskdemod(signal_ch,M,pi/4,'gray'); % Demodulate.
received_signal_binary = de2bi(received_signal,'left-msb');
% signal value convert to binary
num_of_error_dqpsk(index) = length(find([tx_binary-received_signal_binary]));
% couting the number of errors
end
ber_QPSK = num_of_error_qpsk/N; %calculate bit error rate of QPSK
ber_DQPSK = num_of_error_dqpsk/N; %calculate bit error rate of pi/4-DQPSK
theory_ber_QPSK = 2*qfunc(sqrt(2*2*Eb_N0_real)*sin(pi/4));
%using improved Union Bound, calculate theory BER of QPSK
%Ploting section.
figure
semilogy(Eb_N0_dB,theory_ber_QPSK,'b.-'); % ploting of theory_ber_QPSK
hold on
semilogy(Eb_N0_dB,ber_QPSK,'mx-'); % ploting of simalated BER of QPSK
hold on
semilogy(Eb_N0_dB,ber_DQPSK,'ro-'); % ploting of simalated BER of pi/4-DQPSK
axis([0 15 10^-5.5 1])
grid on
legend('theory-QPSK', 'simulation-QPSK', 'simulation-pi/4-DQPSK');
xlabel('Eb/No, dB')
ylabel('Pb(e)')
title('Bit error probabilities for QPSK and pi/4-DQPSK with Gray coding')
set(gca,'XTick',[0 2 4 6 8 10 12 14 15]);
추천자료
- [전기전자컴퓨터실험] 전전컴실 13 예비보고서-공통이미터 증폭기
- [전기전자컴퓨터실험] 전전컴실 12 결과보고서-트랜지스터의 콜렉터귀환 바이어스
- [전기전자컴퓨터실험] 전전컴실 8 예비보고서-트랜지스터의 다이오드 접합을 시험하기 위한 ...
- [전기전자컴퓨터실험] 전전컴실 11 결과보고서-트랜지스터의 전압분배 바이어스
- [전자전기설계실험 3] (결과) 연산 증폭기 Operational Amplifier (Basic Circuit) : OP-amp...
- [전자전기설계실험 3] (결과) 다이오드 회로 Diode Circuit (Basic Circuit Analysis) : Dido...
- [전자전기설계실험 03] 06주차 (결과) 다이오드 회로 - 정류 회로 설계 (Diode Circuit &...
- [전자전기설계실험 03] 07주차 (결과) 연산 증폭기 & 다이오드 (Operational Amplifier &...
- [전기전자 기초실험] 역률 측정 실험
- [전자전기컴퓨터설계실험3] N-Channel MOSFET 전류/전압 특성 측정 결과보고서 (About MOSFET...
- [전자전기컴퓨터설계실험3] MOSFET Circuit – Basic MOSFET Circuit 결과보고서 (A...
- [전기전자 실험] DMM을 이용한 직류 전압, 저항 측정
- [전기전자회로 실험] 소비전력 및 최대전력전달 실험 : 전원부로부터 부하로 최대전력이 전달...
- [전기전자 기초 실험] 공통 베이(CB)스 및 에미터 플로워 트랜지스터 증폭기
소개글