반응형

분류 전체보기 127

장비 간 클럭 동기화가 필요한 이유

위와 같이 장비를 구성한 다음 신호발생기에서 200MHz +1Hz를 발생하였다. 장비 2의 ADC와 DDS를 이용하여 200MHz +1Hz 신호를 1Hz baseband 신호로 내리고 싶다. 하지만 위와 같이 장비를 구성한다면 1Hz의 baseband 신호를 얻기 쉽지 않다. 왜냐하면 장비 1과 장비 2의 클럭이 동기가 되어 있지 않기 때문이다. 장비 1이 생성한 200MHz +1 Hz를 down conversion할 때 사용한 장비 2의 150MHz와 50MHz 신호가 장비 1의 클럭과 동기가 되어 있지 않다. 장비2가 생성한 150MHz와 50MHz 클럭 신호가 장비1이 기대하는 150MHz, 50MHz 클럭 신호가 아니다. 장비2가 생성한 150MHz, 50MHz는 장비 1이 보았을 때 150MHz..

ADC 2023.06.01

ADC의 SNR과 SFDR의 차이

ADC의 성능을 결정하는 주요 지표인 SNR과 SFDR에 대한 설명이다.    위와 같이 FFT를 이용하여 스펙트럼 데이터를 얻고 ADC의 주파수 특성을 측정한다.  이 때  FFT의 개수를 몇개로 하는가에 따라 스펙트럼의 noise floor 레벨이 달라진다.   위 그림에서 몇개의 용어정리를 하면  FFT noise floor = FFT를 통해 얻은 스펙트럼의 noise floor  SNR(Signal to Noise Ratio) = ADC의 SNR = ADC의 이론적 SNR 수식 = 6.02N + 1.76  FFT processing Gain = FFT 개수에 따른 FFT processing gain : FFT 개수가 많을 수록 Gain이 크다.  FFT noise floor = SNR + FFT ..

ADC 2023.05.31

ADC가 구분할 수 있는 RF 신호 최대/최소 전력은 몇dBm일까?

ADC의 input full scae range를 전력으로 표현하면 ?  대부분의 ADC의 데이터 시트를 보면, ADC의 input full scale range는 전압으로 표시 되어있다. Vpp(differential 전압), Vp(single ended 전압)으로 표시되어 있다. 그 이유는 기본적으로 ADC는 전압을 샘플링하는 하드웨어이기 때문이다. ADC의 input full scale range는 입력가능한 신호의 최대 크기를 말한다. ADC에 input full scale range의 전압을 넘는 신호가 들어오면 다음과 같이 신호가 clipped 또는 포화 된다  따라서 input full scale range를 전압이 아니라, 전력으로 표현할 때 다음 식을 이용한다. Signal Power(m..

ADC 2023.05.31

DMA의 개념과 FPGA에서 사용 예시

정의 :직접 메모리 접근(Direct Memory Access, DMA)은 특정 하드웨어 하위 시스템이 CPU와 독립적으로 메인 시스템 메모리에 접근할 수 있게 해주는 컴퓨터 시스템의 기능 효과 : 프로세서 붙은 주변장치의 데이터는 장치 컨트롤러에 의해 로컬 버퍼로 이동한다. 그러나 전송할 데이터가 많은 경우, 프로세서에 부담이 된다. 이러한 문제를 해결하기 위해 DMA를 이용한다. DMA가 데이터를 이동시키는 동안 CPU는 다른 작업을 수행 할 수 있다는 장점이 있다. CPU에서는 데이터 이동이 완료되었다는 단 한 번의 인터럽트만 받으면 된다. 예시 : 디스크 드라이브 컨트롤러, 그래픽 카드, 네트워크 카드, 사운드 카드를 포함한 많은 하드웨어 시스템이 DMA를 사용한다. DMA는 멀티 코어 프로세서의..

필터와 관련 된 용어의 이해 - window함수, pulse shaping filter, square root raised cosine

본 글은 https://learn.wirelesspi.com/ 의 SDR course의 Linear modulation 부분을 정리하고 내용을 추가하였다. 신호 처리 자료를 보다보면 필터 관련하여 여러가지 용어들이 언급된다. 저역 통과 필터, pusle shaping filter, raised cosine filter, window 함수, black man harris, sinc 함수 등등 많다. 이런 용어들이 한꺼번에 나오니 개념이 뒤죽 박죽이 되어 서로 어떠한 관계를 가지는지 파악하기 힘들어서, 이를 정리하고자 이 글을 작성하게 되었다. 특히 pulse shaping filter의 개념을 이해하는 것이 가장 어려웠던 것 같다. pulse shaping filter도 filter인 것 같은데... Lo..

Gnuradio 2023.04.16

FIR filter - Moving average filter

wireless pi의 sdr course, fir filter 강의 부분 중 moving average filter Analog device 사의 Moving average filter 문서 부분을 공부하고 정리한 내용이다. moving average filter는 말 그대로 입력 신호를 평균하여 신호를 출력하는 필터를 의미한다. moving average filter를 수식으로 표현하면 다음과 같다. 수식을 보면 곱셈수식이 없어서 컴퓨터 구현시 컴퓨터 자원이 상대적으로 덜 소요된다. CIC filter 설계시 자주 언급이 되는 filter이다. 하지만 다른 FIR 필터들과 비교하였을 때, 필터의 주파수 차단특성이 뛰어나지는 않다. moving average filter를 구현하면 다음과 같다. Mov..

Gnuradio 2023.04.09

FIR filter - window 함수 그리고 실제로 구현가능한 Low pass filter

gnuradio를 이용해 FIR(Finite Impulse Response) filter 형태의 Low pass filter 시뮬레이션을 하였다. wirelesspi sdr course 2장의 fir filter를 공부하고 정리한 내용이다. gnuradio의 lowpass filter의 설명문을 보면 다음과 같다. gnuradio에서 LPF 뿐만 아니라 HPF, BPF, BRF(Band Reject Filter)를 시뮬레이션 할 수 있다. 필터의 특성을 다음과 같이 확인 할 수 있다. 이상적인 Low pass filter의 주파수 응답은 다음 그림처럼 신호의 통과대역과 차단대역이 명확하게 구분되어야 할 것이다. 하지만 이러한 이상적인 Low pass filter의 시간응답은 무한대의 응답특성을 가지고 있..

Gnuradio 2023.04.09

timing error 디버그를 위한 Skew, slack에 대한 이해

FPGA 합성시 Timing error에 대한 내용을 분석해야할 필요가 있다. 이때 skew와 slack 용어에 대한 이해를 위해 정리하였다. A에서 출력한 데이터가 클럭 1주기 안에 B에 도착하면 된다. 예제의 경우 slack이 여유가 있기 때문에 data path delay가 더 길어도 된다. FPGA 합성 시 slack이 – 값이 되면, 경고 메시지가 뜬다.

Convolution 수식을 보는 2가지 관점

wirelesspi의 software defined radio 2강의 convolution 부분을 보던 중, 왜 convolution에 대한 이해가 쉽지 않을까에 대해 고민 하게 되었다. 그 이유는 컨벌루션을 바라보는 관점이 뒤섞여 있기 때문이라 생각하였다. 컨벌루션을 공부하다보면 다음과 같은 수식을 본다. 신호 s[n]을 크기가 다른 임펄스 신호들이 모인 것으로 표현할 수 있다. 신호 s[n]이 A라는 시스템을 통과하였다면 응답B를 어떻게 될까? 임펄스 응답 h[n]과 컨벌루션을 이용하여 응답B를 구할 수 있다. 임펄스 응답 h[n] = 임펄스 신호에 대한 A 시스템의 응답 신호 s[n]과 임펄스 응답 h[n]을 컨벌루션하면 응답 B를 구할 수 있다. 컨벌루션은 신호와 시스템에서 자주 언급되지만 그 수..

Gnuradio 2023.04.03
반응형