반응형

분류 전체보기 142

[통신] natural & flat-top sampling

[실제 Sampling 과정] 실제 Sampling 과정에서 임펄스열 신호는 구현 불가능 하기에 유한 펄스폭을 지닌 구형 펄스열을 사용한다. 1. 자연 표본화(natural sampling) ð 펄스의 폭은 일정하고, 아날로그 신호의 파형을 따라 변하도록 하는 방식. 그림에서 사용된 구형 펄스열에서 원점에 위치한 한 주기의 구형 펄스가 p(t)이고 이를 식으로 나타내면 다음과 같다. 이때, 구형 펄스파 사용 이유는 임펄스는 실질적으로 구현 불가하기에 대체 신호로 사용하기 위해이다. 이후 Ts 주기로 반복하여 생성한 구형 펄스열을 퓨리에 변환으로 나타내면 다음과 같다. 다음 과정으로 나온 P(nfs) 에는 구형 펄스파의 퓨리에 변환 값을 대입 이때 cn 값에 의해서 주파수 영역에서 임펄스열의 크기는 일정하..

공부/통신 2022.10.11

[통신] Sampling 과정

[Ts = 표본화 주기 / fs = 표본화 주파수] 신호의 조건 = 대역폭(frequency)이 한정적이다. è 시간축 제한 = 주파수 무한대 è 시간축 무한대 = 주파수 제한 Sampling 과정에 대한 조건 = 신호가 가진 최고 주파수 성분의 2배(나이퀴스트율 ð 신호 사이의 간격을 충분히 벌린다. ð 신호를 일정 간격으로 주기적 Sampling 시 해당 Sampling 값으로부터 원래 신호를 왜곡 없이 복원 가능하다. ð 대역폭이 한정되어 있다. 이때, 일정 간격(Ts sampling -> 퓨리에 변환 = 위의 사진 공식 표본화한 신호로부터 x(t)를 다시 복원 가능한 최저 표본화 주파수 fs = 2B를를 나이퀴스트율 이라고 한다. [정리] è 샘플링 신호를 만들기 위해서는 (기존 신호 x 임펄스 ..

공부/통신 2022.10.10

Combinational logic delay

Glue logic = Combinational logic (이전 memory내의 0 혹은 1의 값이 들어옴에 따라 출력으로 0 혹은 1을 내뱉는다.) è 입력값이 변함에 따라 즉각적으로 결과값에 영향을 준다. (출력값은 항상 입력에 의존) è 그러므로 combinational 회로는 기억장치가 없다. è 입력 조건 중 하나가 0->1 혹은 1->0 으로 바뀌면 기본 combinational logic 에 의해 출력이 ‘no memory’ , ‘timing’ or ‘feedback loops’ 와 같은 형태를 갖는다. combinational logic 회로는 nand 혹은 nor 게이트를 이용하여 설계되는데, 이때 논리 소자들의 입력이 변경되면 약간의 delay 이후 출력이 나타난다. 이러한 Timin..

공부/Verilog 2022.08.26

Verilog - Assign & Always 차이

Variable Assignment 디지털에는 두가지 타입의 element가 있다. Combination , Sequential Combination Logic(조합 논리 회로) ð 출력이 단지 현재의 입력 값에 의해서만 결정된다. ð ex) 가산기, 비교기, 디코더, 인코더, Mux & DeMux ð and, or , not gate ð 만약 reg type으로 구현하면 현재 값을 유지할 필요가 없기에 wire처럼 합성. Sequential Logic(순차 논리 회로) ð 현재의 입력과 기억 소자에 기록된 과거 출력들 과의 조합에 의해 현재의 출력 값이 결정된다. (‘시간 개념’ 도입) ð 정보를 저장하는 기억소자, 혹은 데이터 정보를 전송하는 회로에도 사용. è Latch = 신호의 level에서 동..

공부/Verilog 2022.08.22

[그냥공부] C언어#2

Int 함수 -> return int형 값 포인터 변수사용 이유는? 장점 - 메모리에 직접 접근이 가능. - 구조화된 자료를 만들어 효율적 운영이 가능 - Call by reference 방식 이용 가능 - 배열, 구조체 등의 복잡한 자료 구조와 함수에 쉽게 접근 - 메모리 동적 할당이 가능 (메모리 공간을 효율적으로 사용) 단점 - 포인터 변수는 주소를 직접적으로 컨트롤하기 때문에 예외 처리가 확실하지 않을 경우 예상치 못한 문제가 많이 발생. (널 포인트 같은 경우에 바로 접근할 경우 예외 발생) - 선언만 하고 초기화를 하지 않을 경우 쓰레기 주소를 가리키고 있기 때문에 사용에 주의해야 함. - 포인터 변수는 주소를 직접 참조하기 때문에 의도하지 않게 원본의 값이 수정 될 수 있다. - 오류를 범하..

공부/C언어 2022.07.11

[그냥공부]C언어 #1

Void 함수 - 내부적으로 함수 값을 계산하고 Return할 값이 없는 함수. Call by value(값에 의한 호출) - 함수에서 값을 직접 복사하여 계산을 한다. 따라서 실제 변수 값에는 변화가 없기에 원본 값을 바꿀 필요가 없는 경우 call by value 방식의 함수를 사용. - 함수 안에서 인자의 값이 변경되어도, 외부의 변수의 값은 변경되지 않는다. - 매개변수를 담은 공간과 실제 변수의 공간은 다른 메모리 주소를 가진다. Call by reference(참조에 의한 호출) - 포인터를 사용하여 주소 값을 넘겨주어 원본의 값도 바뀌게 된다. 따라서 원본 값을 바꿔야 한다면 call by reference 방식의 함수 사용. - 함수 안에서 인자의 값이 변경되면, 주소로 전달된 객체의 값도..

공부/C언어 2022.07.10

[그냥 공부]#2 signed & unsigned

Signed type의 표현을 부호화 시켰기에 표현가능한 수의 범위가 절반으로 줄어듬 [$-2^{n-1}$~$ 2^{n-1}-1$] (MSB의 숫자가 0 = 양수 1 = 음수) Unsigned 부호가 없음 [$0$~$ 2^{n}-1$] (양수만 존재) 일반적으로 연산을 할 때 Signed + Signed , Unsigned + Unsigned 이렇게 부호를 통일시켜 연산을 한다면 오류가 발생할 일이 없다. 하지만, 불가피하게 Unsigned + Signed로 연산을 하게 될 경우 연산 과정에서 $Signed를 통해 부호를 통일시켜준다. 이때 그냥 $signed 에 값을 넣으면 MSB가 초기에는 1(음수)을 지니므로 1'b0을 통해 부호를 재 정의해 주자. 다음은 unsigned 값을 가진 num1과 si..

공부/Verilog 2022.03.06

시스템 반도체 #1

다음 사진은 nmos 와 pmos 로 기초반도체를 통해 어떻게 동작을 하는지 확인하였다. 간략하게 nmos의 동작을 살펴보면, gate에 양의 전압 인가시 Source 와 Drain 중 더 높은 전압을 지닌 곳에서 낮은 전압을 지닌 곳으로 이동하는 channel이 형성된다. 따라서 MOS transistor는 전압으로 Source & Drain 사이의 스위치를 제어하는 역할을 한다. 이를 기호로서 보았을 때 pmos의 앞에는 작은 o 기호가 있음을 유의하자. 다음 사진에서 g = 0 은 gate에 전압을 인가하지 않았음을 뜻하고, g = 1 은 gate에 전압이 인가되었음을 뜻한다. 이제 이를 이용하여 CMOS Logic으로 여러 논리회로를 만들어보겠다. INVERTER gate Inverter는 전압쪽..

[그냥 공부]#1 등가 연산자 , 타이밍 제어

등가 연산자 if(a !== b) 다음과 같은 ( !== )연산자를 사용하는 이유는 우리가 if 문을 동작하기 위해 필요한 참 & 거짓 값을 정확하게 얻으려면 논리 결과값이 0 또는 1로 출력되어야 한다. 하지만, if( a != b ) 와 같은 연산자를 이용하면 a 와 b 가 x or z 의 값을 지녔을 시 논리 결과값이 X 로 출력이 되어 버그가 생긴다. 타이밍 제어 always @( posedge clock or posedge reset) 와 같은 코드에서 or 연산자 대신 , (콤마) 도 사용 가능하다. 이는 clock 신호가 상승 클럭이거나 reset 신호가 상승일 때 동작함을 이야기한다. 여기서 @ 는 사건 제어를 지정하는 데 사용된다. @ (clock) q = d; // q=d 는 신호 클럭..

공부/Verilog 2022.03.01

플립플롭(Flip - Flop) S-R , D , J-K , T

플립플롭은 1비트의 정보를 저장하는 회로를 뜻한다. 이러한 플립플롭은 클럭 펄스를 기반으로 동작이 되며 크게 SR , D , JK , T 로 구성되어있다. 1. SR F/F S R Q(t+1) 0 0 Q(t) 0 1 0 1 0 1 1 1 X SR 플립플롭은 가장 기본적인 플립플롭으로 clock 신호가 1이 될 때 신호가 전달된다. 한번 R = 0 , S = 1 의 상황을 가정하여 설명을 하자면, (초기 상태이기에 Q = X 의 값을 지님) AND (R = 0 , clk = 1) => 0 ($R_{A}$), AND (S = 1 , clk = 1) => 1 ($S_{A}$) NOR ($R_{A}$ = 0 , Q' = X) => ? , NOR ($S_{A}$ = 1 , Q = X) => Q 가 어떤 값이 들어..

공부/Verilog 2022.02.26
728x90
반응형