C언어를 이용한 BPSK와 DS/BPSK 수신기 구현과 BER 성능 측정
- 최초 등록일
- 2009.03.09
- 최종 저작일
- 2008.12
- 6페이지/ 압축파일
- 가격 1,500원
소개글
★ 문제마다 C프로그래밍을 이용하여 DS-BPSK를 구현하고 BER을 측정하였습니다.
★ BPSK의 소스코드도 함께 있으며 DS-BPSK와 비교 했습니다.
★ 문제마다 상세한 해설과 그림, 표가 있어서 이론을 이해하기 쉽습니다.
★ 주요 C code에 주석을 달아 수정하고 싶을 때 바꿔야 할 부분을 찾을 수 있습니다.
★ 통신이론 2학기 제출 과제 입니다.
※ C코드에 input으로 들어가는 dat 파일은 압축 파일에 같이 있습니다.
목차
▪ 각 Data File에는 AWGN Channel를 통하여 수신된 신호가 저장되어 있고, 각 통신 방식에 대한 규격은 다음과 같다.
* 공통
- Carrier :
- 위상 : Bit=1일 때 0, Bit=0일 때 180
- Symbol 구간 : 60 Samples
* BPSK
- File Name : bpsk.dat
* DS/BPSK
- File Name : dsbpsk.dat
- Chip 구간 : 4
- PN Code : {1,-1,-1,-1,1,1,1,1,-1,1,-1,1,1,-1,-1}
* 송신한 Bit 정보 : bit.dat (총 1,000 bits)
문제 :
BPSK와 DS/BPSK 의 Bit Error Rate를 각각 구하고 차이를 설명하시오.
본문내용
두 방식은 같은 신호공간을 가진 BPSK 이며, 다만 DS/BPSK 방식은 보안을 위해서 PN code를 송신하는 신호에 곱한 것이다. 그러면 수신할 때 같은 Code를 곱해주지 않으면 원래 보내고자 했던 신호를 수신할 수 없다. DS/BPSK 방식은 한 심볼구간은 BPSK와 동일하게 60samples 이지만 chip 구간 =4samples 로 해서 한 심볼구간을 15개로 쪼개서 random 성질을 강하게 했다. 따라서 신호의 변화 빈도가 커지므로 스펙트럼은 더 넓어지고 그로 인해 보안이 강화되는 것이다. BER을 보면 BPSK는 3.5%이고 DS/BPSK는 0.5%인 것을 볼 수 있다. 에서 chip 구간 가 작을수록 BER이 작아지며 성능이 좋다. 그 사실은 아래 그림의 그래프를 보면 알 수 있다. 위의 수식의 괄호 안의 값의 크기가 커질수록 오류확률이 줄어드는 것을 알 수 있는데 이는 가 작을수록 그렇다는 것으로 볼 수 있다. BPSK와 DS/BPSK를 비교하면 BPSK는 chip 구간을 나누지 않았으므로 =60samples이고 DS/BPSK의 chip 구간 =4samples 이다. 따라서 DS/BPSK의 성능이 더 좋은 것을 알 수 있으며 따라서 BER도 더 작다.
직관적으로 보아도 DS/BPSK는 BPSK보다 더 잘게 쪼개서 보내므로 error 수가 적을 것이라고 예상할 수 있을 것이다.
◉ C code
1. BPSK
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define PI 3.141592653589
void main()
{
FILE *fin,*fin_bit;
fin = fopen("bpsk.dat","rb");
fin_bit = fopen("bit.dat","rb");
int i,s,temp1,temp2,err=0 ;
float input, sum=0;
참고 자료
Communication System
압축파일 내 파일목록
bit.dat
input#1.dat
input#2.dat
input#3.dat
input#4.dat
input#5.dat
통신HW#3.hwp