통신이론 DSB-SC와 QAM변환 소스코드
- 최초 등록일
- 2013.05.07
- 최종 저작일
- 2013.04
- 12페이지/ 한컴오피스
- 가격 1,000원
목차
문제 1. DSB-SC 변조/복조
(1) input#1.raw 파일입력을 DSB-SC 변조 하여 dsb-sc.raw 파일로 저장
(2) input#2.raw파일입력을 DSB-SC 변조 하여 dsb-sc.raw파일로 저장
(3) input#1.raw가 DSB-SC 변조된 신호 dsb-sc.raw 파일입력을 Coherent Detector 복조 하여 demodulation.raw 파일로 저장
(4) input#2.raw가 DSB-SC 변조된 신호 dsb-sc.raw 파일입력을 Coherent Detector 복조 하여 demodulation.raw 파일로 저장
(5) 입력 신호와 변조된 신호의 주파수 모양 차이를 확인하고 이론을 설명
문제 2. QAM 변조/복조
(1) 두 개의 입력 신호 input#1.raw와 input#2.raw를 QAM 변조하여 qam.raw 파일로 저장
(2) QAM 변조된 qam.raw 파일에서 input#2.raw파일을 복조하여
(3) QAM 변조된 qam.raw 파일에서 input#2.raw 파일을 복조하여
(4) 입력 신호와 변조된 신호의 주파수 모양 차이를 확인하고 이론을 설명한다.
본문내용
(1) input#1.raw 파일입력을 DSB-SC 변조 하여 dsb-sc.raw 파일로 저장
#include
#include
int main(void)
{
// variable
FILE *fin, *fout; // File Pointer
short data; // 16 bit Integer Variable
float x, y, n; // for문을 돌리기 위해 변수 n을 지정함.
fin = fopen("input#1.raw", "rb");
fout = fopen("dsb-sc.raw", "wb");
// file read
for(n=0 ; ;n++ )
{
// input read
if(fread(&data, 2, 1, fin) == NULL) break;
// conversion to Floating
x = (float)data;// data 는 short 변수이므로 이를 Float로 바꾸어 계산한다.
y = x * cos(2*3.14*9600*n/48000); // y가 출력이므로 캐리어(cos)를 입력x에 곱함.
// output write
data = (short)y; // 변조된 신호 y를 short 형태로 바꿈
fwrite(&data, 2, 1, fout);
}
fcloseall();
}
<중 략>
(5) 입력 신호와 변조된 신호의 주파수 모양 차이를 확인하고 이론을 설명
원래의 파형 스펙트럼은 0kHz를 중심으로 좌측은 소실된 스펙트럼으로 나타났으나, DSB-SC변조를 한 후의 파형은 9.6kHz를 중심으로 나타난다. 이는 9600 캐리어주파수와 동일하다. 원래의 파형에 cos 스펙트럼(중심축 좌우로 9600Hz와 -9600Hz에 델타함수)을 컨벌루션(델타함수와의 컨벌루션은 이동이다.)한 결과와 같다. 하지만 -9600Hz가 컨벌루션된 파형은 (-)값 쪽에 있으므로 나타나지 않는다. 변조한 후의 소리는 삐~익 하는 고주파 소리로 바뀌어서 들린다.( 9600Hz만큼 고주파가 되었기 때문이다.)
변조 후 다시 복조하였을 때 소리의 크기가 줄어들었다.(약 30%정도 하양.)
참고 자료
없음