MATLAB 듀얼톤 샘플링 프로젝트
- 최초 등록일
- 2021.11.04
- 최종 저작일
- 2020.06
- 5페이지/ MS 워드
- 가격 2,500원
소개글
과거 버튼음이 존재하던 시절에 정보 보안 및 유출 문제로 많이 대두되었던 DTMF(Dual Tone Multi Frequency) 장치를 기반으로 제작된 프로젝트입니다.
두 고유 주파수 성분이 섞인 버튼음으로 해당 버튼의 숫자를 유추하는 프로그램을 MATLAB으로 구현했습니다.
A+받은 과목이니 안심하고 보셔도 될 듯 합니다.
감사합니다.
목차
1. 전화번호의 시작점을 알기 위해 프리앰블 010에 대한 듀얼 톤 샘플을 생성하시오.
2. 듀얼 톤 샘플의 첫 4000개의 샘플을 이용하여 사용된 숫자가 무엇인지 구하시오.
3. 듀얼 톤 샘플의 첫 4000개의 샘플을 이용하여 사용된 숫자가 무엇인지 구하시오.
본문내용
Sol) 각각의 숫자에는 두 개의 주파수가 섞여서 송출되고 있다.
Dial Tone 1 = cos(2π*697*t )+ cos(2π*1209*t )
Dial Tone 0 = cos(2π*941*t )+ cos(2π*1336*t )
0과 1의 듀얼 톤을 정현파의 합으로 표현한 것은 시간 상에서 해석한 듀얼 톤이다. 시간이라는 연속적인 숫자를 잘게 쪼개는 과정, 즉 샘플링을 통해 이산시간 신호로 변환할 수 있었다. 이 과정에서 데이터의 왜곡이 생기지 않을 수 있었던 이유는 충분히 큰 샘플링 주파수를 설정했기 때문이라고 판단했다.
이 수식을 주어진 조건(힌트)에 맞게 샘플링. → 각각의 듀얼 톤이 1*4000의 배열을 갖게됨. (이것을 수학적으로 표현하면 해당되는 샘플링된 시간에서의 신호 값을 가중치로 갖는 임펄스열로 표현할 수 있다.)
이 4000개의 배열은 각각 숫자0과 1의 정보를 뜻함.
따라서, 010이라는 신호를 생성하기 위해선, 이 배열들을 겹치지 않게 합치는 것이 핵심.
매트랩 배열 결합을 이용해서 순서대로 결합. → 1*12000의 배열을 갖게됨.
숫자 하나당 4000개의 샘플을 가지므로 총 12000개의 샘플이 생성되는 것을 확인할 수 있음.
<코드>
Fs=8000; %샘플링 주파수
Ts=1/Fs; %샘플링 시간 간격
t=0:Ts:0.5-Ts; %시간 축을 샘플링함(주어진 조건 이용)
%%주어진 조건을 이용해서 각각의 듀얼 톤을 수식으로 나타냄
Dual_Tone_0 = cos(2*pi*941*t) + cos(2*pi*1336*t);
Dual_Tone_1 = cos(2*pi*697*t) + cos(2*pi*1209*t);
%%샘플링된 것이므로 배열로 나타나는 것을 확인. 그것을 겹치지 않게 결합
preamble010 = [Dual_Tone_0 Dual_Tone_1 Dual_Tone_0];
참고 자료
없음