2013-03-22 1 views
0

FPGA에서 "임의 파형 발생기"를 만들고 있습니다. 현재, 나는 FPGA를 사용하여 "sinc"웨이브를 생성하는 중이다 [Verilog 사용].Verilog를 사용하여 sinc wave를 생성하는 방법

고정 주파수의 경우 ROM에서 LUT를 사용하여 sinc를 만들 수 있지만 사용자 정의 주파수의 sinc를 생성하는 옵션을 제공해야합니다.

그래서, 어떤 좋은 생각을하는 방법 ???

도움을 주시면 감사하겠습니다.

+1

싱크 또는 사인? 당신은'sinc'을 한 문장으로,'sin'을 다른 문장으로 말합니다. – Tim

+0

sinc ... 맞춤법 실수로 유감스럽게 생각합니다. – HammadTariq

답변

0

가변 주파수 sin(x) 기능에 대해 LUT을 사용할 수 있습니다.

사인파의 한주기에 대해 1000 개 정도 (원하는 해상도에 따라 다름)의 항목 만 생성하면됩니다. 그런 다음 원하는 주파수를 기반으로 각 클럭주기를 건너 뛰는 항목 수를 결정합니다.

예를 들어 시계가 1MHz이고 원하는 출력 빈도가 1KHz 인 경우 매 클록마다 다음 LUT 항목으로 이동합니다 (1000 클럭 주기로 기간 완료). 원하는 출력 주파수가 10KHz이면 매주기마다 LUT에서 10 개의 항목을 건너 뜁니다. (100 클럭 주기로 마침표)

비록 S이지만 sinc를 얻으려면 주변 회로를 생각할 수 없으므로 회로 분할을 구현해야한다고 생각합니다.

+0

네, 가변 사인파, 즉 DDS에 LUT를 사용했습니다. – HammadTariq

+0

그렇다면 분열 회로를 피하는 방법을 찾으려는 참된 질문이 있습니까? – Tim

+0

그리고 저는 사인과 같은 기술을 사용하여 싱크를 만들려고합니다. 즉, ROM을 사용하여 LUT를 만들고 주파수에 따라 다른 수의 포인트/사이클을 선택하십시오. 그래서 어떻게 생각하십니까, 그게 가능한가 .. ?? – HammadTariq