총 게시물 2,753건, 최근 0 건 안내 글쓰기
이전글  다음글  목록 수정 삭제 답변 글쓰기
[RF전반]

Re: Re: Re: Re: Re: Re: Re: fmcw 방식에 대해서 질문을 드려도 될까요!?

글쓴이 : 이상진 날짜 : 2020-09-01 (화) 18:38 조회 : 3669


^^

제가 소프트웨어쪽은 전혀 모르는 부분이라 ;;;
드릴 말씀이 없습니다.
최근 DSP기능을 탑재한 MCU에 FFT라이브러리가 잘 구성되어있어 그런거를 사용한다는 정도만 알고 있습니다.

ADC의 기본적인 사양은 첨부 그림으로 설명 드리겠습니다.
10Bit :
ADC의 사양 중 Vpp라고 있습니다.
예를들어 2Vpp이면, 2V를 10bit(1024개)로 나누는 해상도를 갖는다는 의미입니다.
(2/1024)V보다 작은 신호는 구분을 못한다는 의미입니다.
MSPS:
Sampling rate입니다.
즉 FFT 가능한 bandwidth입니다.
예를들여 40MHz의 BCLK로 구동하면 0Hz~20MHz, 또는 20MHz~40MHz 또는 40MHz~60MHz
이런식으로 20MHz의 대역의 bandwidth를 결정합니다.
Input bandwidth:
위 bandwidth 설명에서 40MHz~60MHz의 신호를 FFT하고 싶으면 input bandwidth가 최소 60MHz이상은 되어야합니다. RF 개념으로는 60MHz보다 높은 제품을 추천합니다.

그런데...
질문자님께서 하시는 차량 distance2go의 경우
아마도 modulation frequency가 수십 KHz 단위일 것이며...
따라서 IF 주파수가 1MHz를 넘지 않으리라 생각됩니다.
(요 내용은 modulation frequency와 타겟의 거리를 알고 대충 계산하면 나옵니다.)

이럴 경우 Input bandwidth나 MSPS는 그리 중요한 사양은 아닙니다.
단 Bit는 중요한 사양이 될 수 있습니다.

또한 소프트웨어 관점에서 FFT 수행 시 bin이라는 개념이 있습니다.
1K bin, 4K bin 뭐 이런식입니다.

만약 bandwidth가 20MHz이고 1K bin이라면
이런 저런 이론에 의하여 주파수 해상도는 (20MHz)/(1K/2)의 공식이 나옵니다.
위 식으로 계산하면 주파수 해상도는 0.0390625MHz입니다.
2K bin을 적용하면 0.01953125MHz의 해상도가 나오죠
Bin을 높일 수록 높은 주파수 해상도가 나와서 계산하는 주파수(타겟과의 거리)의 오차를 줄일 수 있습니다.
단점은 데이터양이 많이 때문에 FFT 계산속도가 오래걸리죠...


글로 설명하는데 한계가 있네요 ^^;;

질문 계속 하셔도 좋습니다.
같은 분야에서 서로 돕고 살아야죠 ^^

도움이 되시길 바랍니다.




 >
 >
 > 안녕 하세요.
>
> 먼저 답변 달아 주셔서 정말 감사 드립니다.
>
> FFT를 하기 위한 ADC 관련하여 궁금한게 있어서
>
> 추가 답변 달게 되었습니다.
>
> 현재 맨처음 말한것 처럼 Distance2Go kit를 가지고
>
> fmcw 레이다 기능을 구현해 볼려고 합니다.
>
> 물론 이미 구현된 예제소스가 있긴 하지만
>
> 전체적으로 소스를 이해를 해야 필요한 부분을 수정할수 있는데
>
> 그 부분이 부족하여 일일히 전체 기능을 확인하면서 세부적으로 확인 중에 있습니다.
>
> 그리고 이  kit의 mcu 칩은 xmc4200 이라는 칩입니다.
>
> 일단 데이터 시트를 찾아 보고 vadc 관련 정리되어 있는 데이터시트도 확인 했는데 찾질 못하여
>
> 그냥 일반 데이터 시트를 보면 되는 건지 아님 다른 걸 봐야 되는지;
>
> sampling rage는 어디서 확인을 해야 되는지 궁금합니다.
>
> 그리고 input bandwidth 같은 경우는 혹시 rf 칩에서 필요한 건지도 궁금하네요.
>
> 계속적인 질문을 드려서 죄송합니다.
>
>
>
>  >
>  >
>  > 변조 주파수에 대해서 말씀하신 내용이 맞습니다.
> >
> > 나머지 내용도 이해하신듯 하네요.
> >
> > 도움이 되셨다니 다행입니다.
> >
> > 이제 부품들좀 이해하시면서 TRx IC의 데이터시트의 block-diagram 보시면 이해가 될꺼에요...
> >
> > 앞으로는 데이터시트의 블럭별 스펙을 보시면 되겠네요.
> >
> > 참고로 FFT를 위한 ADC는 MCU의 ADC port로는 불가능하다고 보셔도 됩니다.
> > 최고 8bit이상의 ADC IC를 이용해야 어느정도 감도 (멀리있는 물체 탐지)가 가능합니다.
> >
> > 따라서 ADC의 spec도 매우 중요합니다.
> > 보통 ADC의 spec는 아래 내용이 가장 중요합니다.
> >
> > Sampling rage (clock) : FFT하기 위한 주파수의 bandwidth
> > Input bandwidth : 입력되는 IF 주파수를 결정
> > Bit :SNR을 결정
> >
> > 수고하세요~
> >
> >
> >
> >  >
> >  >
> >  > 답변 정말 감사 드립니다.
> > >
> > > 1hz가 1초에 한번 진동을 하니 이 한번 진동에 24~ 24.1GHz가 변하는거라고 해야 되는군요
> > > 그럼 4hz는 1초에 4번 움직이는 거니 24~ 24.1GHz 변조가 250ms에 변하는 거구요.
> > >
> > > 그리고 수신된 주파수는 adc로 받아서 fft를 해서 주파수로 변환하여 시간을 확인해야 되는거군요.
> > >
> > > 이제 설명해 주신 내용에 대해서 이해를 한 것 같습니다.
> > >
> > > 정말 감사 드립니다^^
> > >
> > >  >
> > >  >
> > >  > 아래 답변 참고하세요.
> > > >
> > > >  >
> > > >  >
> > > >  > 먼저 소중한 시간에 답변 주셔서 정말 감사 드립니다.
> > > > >
> > > > > 제가 기본적인 지식이 부족하여 답변 달아 주신 부분에 대하여
> > > > >
> > > > > 제가 이해한 부분을 다시 적어 볼려고 하는데
> > > > >
> > > > > 혹시 추후라도 시간이 나신다면 다시 봐 주시면 정말 감사 드리겠습니다.
> > > > >
> > > > >  Frequency sweep range : 24GHz~24.1GHz
> > > > >  Frequency modulation : 1Hz
> > > > >
> > > > > 이렇게 설명 해 주신 부분은
> > > > >
> > > > > 주파수 변조 범위는 24~ 24.1GHz
> > > > > 주파수 변조 단위는 1Hz씩 변화한다 라고 이해를 하였습니다.
> > > >
> > > > 답변 : 1Hz씩 변하는게 아니고 모듈레이션이 1Hz입니다.
> > > > 즉 24~24.1GHz를 변화시키는데 1초 걸린다는 의미입니다.
> > > >
> > > > 예를들면
> > > > 0초 : 24GHz
> > > > 0.1초 후 : 24.01GHz
> > > > 0.2초 후 : 24.02GHz
> > > > 1초 후 : 24.1GHz
> > > >
> > > >
> > > > > 발진기로부터 생성된 신호는 mixer와 TX 안테나로 나누어져서 보내집니다.
> > > > > => TX는 전송하기 위해서 MIXER는 수신 받은 데이터와 비교를 하기 위하여
> > > > 답변 : 맞습니다.
> > > >
> > > > >
> > > > > IF 주파수 측정 데이터가 1MHz로 측정 되었을 경우
> > > > > => 발진기로 부터 생성된 신호와 수신된 주파수의 차이
> > > > > => 이 측정된 값이 어떻게 mcu로 전달되는지 확실히 이해가 가질 않습니다.
> > > > 답변 : 맞습니다.
> > > > 현재 발진된 신호와 수신된신호가 발진하였을 당시의 시간차를 IF 주파수로 확인이 가능합니다.
> > > > 그 확인은 Frequency modulation의 주파수 (현재는 1Hz)로 알 수 있습니다.
> > > > 측정된 IF 주파수 값은 MCU가 바로 알수 없기 때문에
> > > > FFT (푸리에변환)이라는 기능을 사용합니다.
> > > > FFT는 시간축으로 들어오는 신호를 ADC로 수신 후 FFT하여 주파수축으로 변환합니다.
> > > > FFT를 진행하고나면 MCU가 주파수를 알 수 있습니다.
> > > >
> > > >
> > > > > > 100MHz를 1초에 sweep하니 1MHz가 측정되면 1/100초가 지난 것을 알 수 있습니다.
> > > > > => 주파수 변조 범위가 24~ 24.1GHz인데 이 범위내에 변조는 1초 내에 이뤄지기 때문에
> > > > > => 1MHz는 1/100초가 지난걸로 확인
> > > > 답변 :  맞습니다.
> > > > 지금 설정이 1초동안 100MHz가 변화하므로 1MHz차이는 1/100초 전에 발생된 신호입니다.
> > > >
> > > > > 그래서  3×10^8 / 100을 하면 거리가 나오는 걸로 이해를 하였는데
> > > > 답변: 1/100초는 송신된 신호가 타겟에 반사된 시간이므로
> > > > 실제 거리는 {(3*10^8)/100}/2 를 해야지 편도 거리가 계산됩니다.
> > > >
> > > > > 이렇게 이해를 하면 되는 건지 궁금합니다.
> > > > >
> > > > >  >
> > > > >  >
> > > > >  > FMCW는 알고계신 내용과 같이 주파수를 변조해서 거리 및 속도를 탐지하는 시스템입니다.
> > > > > >
> > > > > > 예를들어 아래와 같은 설정으로 되어있다고 가정하면...
> > > > > > Frequency sweep range : 24GHz~24.1GHz
> > > > > > Frequency modulation : 1Hz
> > > > > >
> > > > > > 발진기로부터 생성된 신호는 mixer와 TX 안테나로 나누어져서 보내집니다.
> > > > > > IF 주파수 측정 데이터가 1MHz로 측정 되었을 경우
> > > > > > 100MHz를 1초에 sweep하니 1MHz가 측정되면 1/100초가 지난 것을 알 수 있습니다.
> > > > > >
> > > > > > 현제 수신된 데이터를 FMCW가 송신한 시점이 1/100초 전이며
> > > > > > 빛의 속도로 계산하여보면 타겟까지 신호가 다녀온 시간이 1/100초 입니다.
> > > > > >
> > > > > > 이렇게하여 상대방과의 거리를 알 수 있습니다.
> > > > > >
> > > > > > 상대방의 속도는 가장 낮은 주파수와 가장 높은 주파수를 사용할 수 있습니다.
> > > > > > 도플러 현상에 의하여
> > > > > > 24GHz보다 낮은 주파수가 수신되면 멀어지는 물체가 있는 것이고
> > > > > > 24.1GHz보다 높은 주파수가 수신되면 가까워지는 물체가 있는거죠
> > > > > >
> > > > > > FFT를 사용하는 이유는
> > > > > > IF 신호의 정확한 주파수를 계산하기 위함입니다.
> > > > > > 시간축으로 들어오는 신호를 ADC하여 FFT 계산하면 IF 신호가 주파수측으로 표현이 됩니다.
> > > > > >
> > > > > > 도움이 되시길 바랍니다.
> > > > > >
> > > > > >
> > > > > >  >
> > > > > >  >
> > > > > >  > 안녕 하세요.
> > > > > > >
> > > > > > > 얼마전에도 질문을 드렸는데,
> > > > > > >
> > > > > > > 지금 공부를 하다가 보니 생각을 잘못하고 있는 것 같아서 질문을 드리게 되었습니다.
> > > > > > >
> > > > > > > 현재 저는  Distance2Go kit를 바탕으로
> > > > > > >
> > > > > > > fmcw 도플러 레이더 방식에 대해서 공부를 하고 있습니다.
> > > > > > >
> > > > > > > 근데 기본지식이 부족하여 이것저것보다고 지금까지 본것들이
> > > > > > >
> > > > > > > 헷갈리고 있긴 합니다.
> > > > > > >
> > > > > > > 그래서 한번 정리를 해야겠다는 생각이 들어서
> > > > > > >
> > > > > > > 이렇게 글을 올리게 되었습니다.
> > > > > > >
> > > > > > > FMCW 레이더=> Frequency Modulation Continuous Wave
> > > > > > >
> > > > > > > 주파수 변조를 시키면서 연속된 웨이브 신호를 보내고 반사되어 오는 신호와 비교를 하여
> > > > > > > 거리를 측정한다고 알고 있습니다.
> > > > > > >
> > > > > > > https://blog.naver.com/iotsensor/221179629275
> > > > > > >
> > > > > > > 여기에 나와 있는 FMCW LiDAR 부분의 계산식을 이용하면 거리를 측정할 수 있다고 생각을 합니다.
> > > > > > >
> > > > > > > 그래서 계속 수신되는 데이터를 체크만 하면 될 것 같습니다.
> > > > > > >
> > > > > > > 하지만 공식을 봐도 설명을 봐도 이해가 잘되지 않습니다.
> > > > > > >
> > > > > > > 그리고 도플러 공식을 이용하면 속도와 방향을 알수 있다고 하는데
> > > > > > >
> > > > > > > 이 부분에 대한 내용은 아직 확실히 모르고 있고요.
> > > > > > >
> > > > > > > 그렇다면 여기에서 퓨리에 변환을 써야 된다고 하는데,
> > > > > > >
> > > > > > > 어떻게 쓰는지도 아직은 잘 모르겠습니다.
> > > > > > >
> > > > > > > ===========================
> > > > > > >
> > > > > > > 여기까지 보면서 그냥 FMCW 도플러 레이더 방식을 써서
> > > > > > >
> > > > > > > 주기적으로 주변에 움직임이 있는 물체가 있는 확인하는 것은
> > > > > > >
> > > > > > > 수신된 RF 신호를 가지고 각각의 계산식에 대입을 하면 끝인거
> > > > > > >
> > > > > > > 같은데..
> > > > > > >
> > > > > > > 그렇다면 그냥 수신 쪽에 데이터를 받아 Interrupt를 뜨게 하고 ADC 처리를
> > > > > > >
> > > > > > > 해서 DMA로 계산식 처리를 해서 실시간으로 각 물체의 거리 및 속도, 방향 값을
> > > > > > >
> > > > > > > 저장하면 될거라 생각을 합니다.
> > > > > > >
> > > > > > > 근데 이렇게 간단하게 생각하면 되는지 이제와서 궁금하네요..
> > > > > >  >
> > > > > >  >
> > > > >  >
> > > > >  >
> > > >  >
> > > >  >
> > >  >
> > >  >
> >  >
> >  >
>  >
>  >
 >
 >

이전글  다음글  목록 수정 삭제 답변 글쓰기