[통신이론] C++을이용한 DSB-SC와 QAM 변조와 복조(변복조)
- 최초 등록일
- 2008.06.04
- 최종 저작일
- 2008.04
- 12페이지/ 한컴오피스
- 가격 2,500원
소개글
학교과제입니다.
열심히 작성한 자료입니다.
C++코드와 goldwave로 확인한 스펙트럼과 설명이 들어있습니다.
목차
없음
본문내용
(1) 입력 신호를 DSB-SC 변조하여 그 결과를 File로 저장한다. 이 때, Carrier 진폭은 1.0으로 한다.
#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);
}
fclose(fin);
return 0;
}
(2) 이 File을 Open 하여 파형을 관찰하고 이론과 비교하여 설명한다.
(3) File을 Play하여 소리를 듣고, 입력 신호의 주파수와 변조된 신호의 주파수의 모양 차이를 확인하고 이론을 설명한다.
원래의 파형 스펙트럼은 0kHz를 중심으로 좌측은 소실된 스펙트럼으로 나타났으나, DSB-SC변조를 한 후의 파형은 9.6kHz를 중심으로 나타난다. 이는 9600 캐리어주파수와 동일하다. 원래의 파형에 cosine 스펙트럼(중심축 좌우로 9600Hz와 -9600Hz에 델타함수)을 컨벌루션(델타함수와의 컨벌루션은 이동이다.)한 결과와 같다. 하지만 -9600Hz가 컨벌루션된 파형은 (-)값 쪽에 있으므로 나타나지 않는다.
변조한 후의 소리는 삐~익 하는 고주파 소리로 바뀌어서 들린다.( 9600Hz만큼 고주파가 되었기 때문이다.)
참고 자료
없음