목록전체 글 (295)
UOMOP
16-level Quantization clear all close all A = 5; f1 = 60; w = 2*pi*f1; fs = f1 *100; Ts = 1/fs; t = 0:Ts:5/f1; vin_t = A*cos(2*pi*f1*t); h = 5.1; l = -5.1; n = 16; step = (h - l) / n; a = [l : step : h - step]; b = a+step; s = [l + step/2 : step : h - step/2]; for i = 1 : length(vin_t) for k = 1:length(a) if (vin_t(i) >= a(n+1-k) && vin_t(i) = a(n+1-k) && vin_t(i)
실생활에서 우리가 사용하고 만들어내는 모든 것들은 대부분 아날로그 즉, 연속신호이다. 예를 들어, 소리의 경우 공기(매질)을 통해 밀도(압력)의 변화로 고막을 진동시켜 사람이 소리를 인지하게 된다. 영상의 경우 빛의 강도를 망막의 간상세포와 원추세포가 빛과 색상의 강도를 전기적 신호로 변화하여 사람이 시각 정보를 인지할 수 있게 한다. 우리가 보고 듣는 이러한 연속적인 신호는 컴퓨터가 처리할 수 없다. 그렇기 때문에 우리는 샘플링과 양자화를 통해 연속신호를 디지털 신호로 바꿔야한다. 아날로그 신호를 시간에 대한 상태로 표현한다면 다음과 나타낼 수 있을 것이다. 위 신호는 5cos(2*pi*60*t)이고, 시간(x축)과 크기(y축)이 연속적이고, 어느 한 점을 지정하더라도 그 시간과 크기를 숫자 하..
‘Bernoulli Binary’를 사용하여 임의의 신호를 생성해주고 내가 정의한 인코딩 함수를 거치게 한다. 이후 noise가 있는 채널을 통해 신호 가 이동하여 수신 단 쪽인, 디코딩 부분으로 넘어가게 된다. 이때, 우리는 오류를 검출, 정정하기 위해 매트랩 함수를 작성했으므로 error가 발생할 확률은 거의 없다. 실제로 10000초 동안 실행시켜 40000bit를 생성시켰을 경우, 스코프를 통해 확인해보니 0에 가까운 값이 도출되었고 인코딩을 거치지 않은 신호는 인코딩을 거친 신호의 11배 정도의 BER을 확인할 수 있었다. 위 과정을 통해 인코딩, 디코딩이 얼마나 중요한 과정인지 실감할 수 있다. 실습을 진행할 때 시뮬링크 처리과정이 모두 열벡터 형태로 처리되고 있다. 열 벡터로 처리되는..