FPGAã§ã®ããžã¿ã«ä¿¡å·åŠçã«é¢ããèšäºãäœåºŠãå§ããããšæã£ãŠããŸããããããŸããŸãªçç±ã§ãããå§ããããšãã§ããŸããã§ããã 幞ããªããšã«ãèªç±ãªæéããããŸããã®ã§ãFPGAäžã®DSPã«é¢é£ããããŸããŸãªåŽé¢ãåæ ããè³æãå®æçã«å ¬éããŸãã
![](https://habrastorage.org/files/0af/fff/e14/0affffe14bba4f85a86dbc293b92f198.png)
ãããã®èšäºã§ã¯ããããã®ã¢ã«ãŽãªãºã ãŸãã¯ãããã®ã¢ã«ãŽãªãºã ã®çè«çãªèª¬æãæå°éã«æããç§èªèº«ããã³ååãå人ãFPGAéçºã«äœããã®åœ¢ã§ééããå®çšçãªåŸ®åŠãã«ã»ãšãã©ã®è³æãæ§ããããšããŸãã ãã®äžé£ã®èšäºãåå¿è ãšã³ãžãã¢ãšçµéšè±å¯ãªéçºè ã®äž¡æ¹ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã
ããŒã1ïŒCICãã£ã«ã¿ãŒ
æåã®éšåã§ã¯ãæãåçŽãªCICãã£ã«ã¿ãŒãæ€èšããŸã ã CIC-ãã·ã¢èªã®ãã«ã¹ã±ãŒãç©åæ«ã-IIRåã®ã«ã¹ã±ãŒãç©åæ«ãã£ã«ã¿ãŒïŒç¡éã€ã³ãã«ã¹å¿çïŒã ãã®ãããªãã£ã«ã¿ãŒã®ã¯ã©ã¹ã¯ãè€æ°ã®ããŒã¿ã¬ãŒãã§äœæ¥ãå¿ èŠãªã¿ã¹ã¯ã§åºã䜿çšãããŠããŸãã CICãã£ã«ã¿ãŒã¯ãéåŒããšè£éãã€ãŸããµã³ããªã³ã°åšæ³¢æ°ãäžãããäžãããããããã«ç©æ¥µçã«äœ¿çšãããŸãã CICãã£ã«ã¿ãŒèªäœã¯ãããŒãã¹ãã£ã«ã¿ãŒïŒããŒãã¹ãã£ã«ã¿ãŒïŒã«ãããŸããã ã€ãŸãããã®ãããªãã£ã«ã¿ãŒã¯ãã¹ãã¯ãã«ã®äœåšæ³¢æ°ãééãããã«ãããªãåšæ³¢æ°ã®èåŸã®é«åšæ³¢æ°ãé®æããŸãã ãã£ã«ã¿ãŒã®åšæ³¢æ°å¿çã¯ãæ³åãsinïŒxïŒ/ xã«åŸã£ãŠæ§ç¯ãããŸãã CICãã£ã«ã¿ãŒã®äž»ãªå©ç¹ã¯ãä¹ç®æŒç®ããŸã£ããå¿ èŠãšããªãããšã§ãïŒä»ã®ã¿ã€ãã®ãã£ã«ã¿ãŒãããšãã°FIRãšã¯ç°ãªããŸãïŒã
ã¯ããã«
ååãããCICãã£ã«ã¿ãŒã¯2ã€ã®åºæ¬ãããã¯ã«åºã¥ããŠãããšæšæž¬ã§ããŸãïŒç©ååšãšæ«åœ¢ãã£ã«ã¿ãŒïŒåŸ®ååšïŒã ç©åèŠçŽ ïŒintïŒã¯ãæãåçŽãªããããªãŒãšããŠäœãããéåžžã®1次IIRãã£ã«ã¿ãŒã§ãã ãã圢ãã£ã«ã¿ãŒ ïŒcombïŒã¯1次FIRãã£ã«ã¿ãŒã§ãã
ç©ååšãšãã圢ãã£ã«ã¿ãŒã®éã«ã¯ããµã³ããªã³ã°åšæ³¢æ°ãæŽæ°åïŒ RïŒå¢æžãããããã«ããŒããé 眮ãããããšããããããŸãã
- å ¥åã·ãŒã±ã³ã¹ãããµã³ããªã³ã°åšæ³¢æ°ãäžããå ŽåãåRãµã³ãã«ãéžæãããéåŒããããåºåã·ãŒã±ã³ã¹ã圢æãããŸãã
- å ¥åã·ãŒã±ã³ã¹ã®ãµã³ãã«éã®ãµã³ããªã³ã°åšæ³¢æ°ãå¢å ãããå ŽåããŒãã¯åçŽã«æ¿å ¥ããããã®åŸãç©åã»ã¯ã·ã§ã³ã§å¹³æ»åãããå¢å ãããµã³ããªã³ã°åšæ³¢æ°ã§ã·ãŒã±ã³ã¹ã圢æããŸãã
äŒéç¹æ§ãšæ¯å¹ åšæ³¢æ°ç¹æ§ã®åŒã¯ä»¥äžã®ãšããã§ãã
![](https://habrastorage.org/files/b03/8be/756/b038be7562e147b6832c13932907bd0a.png)
éåŒãããã³è£éã®ãã¹ãŠã®åŽé¢ã«é¢ãããã¹ãŠã®æ°åŠçèšç®ã®è©³çŽ°ã«ã€ããŠã¯ãä»ã®ãœãŒã¹ã§èŠã€ããããšãã§ããŸããããã«ã€ããŠã¯ãèšäºã®æåŸã«ãªã³ã¯ã瀺ããŸãã
éåŒã
CICãã£ã«ã¿ãŒã䜿çšããŠãµã³ããªã³ã°ã¬ãŒããäžããå Žåããã·ã¡ãŒã¿ãŒãšåŒã°ããŸãã ãã®å Žåãç©ååšãæåã®ãªã³ã¯ã«ãªãããµã³ããªã³ã°ã¬ãŒããäœäžããæåŸã«åŸ®åãã£ã«ã¿ãŒãªã³ã¯ã䜿çšãããŸãã
![](https://habrastorage.org/files/5ff/5da/1f2/5ff5da1f2a8745f08f13f5151ab713f3.png)
è£éåš
CICãã£ã«ã¿ãŒã䜿çšããŠãµã³ããªã³ã°ã¬ãŒããäžããå Žåãè£éåšãšåŒã°ããŸãã ãã®å Žåã埮åèŠçŽ ãæåã«ããããµã³ããªã³ã°åšæ³¢æ°ãå¢å ããæåŸã«ç©åãã£ã«ã¿ãŒãªã³ã¯ããããŸãã
![](https://habrastorage.org/files/6ca/dee/ce1/6cadeece162940d585401ec6314fbf12.png)
埮åèŠçŽ ã§ã®å ¥åä¿¡å·ã®é 延ã«å¿ããŠããã£ã«ã¿ãŒã®ããŸããŸãªåšæ³¢æ°ç¹æ§ãååŸããããšãã§ããŸãã é 延ãã©ã¡ãŒã¿ãŒDãå¢å ãããšããã£ã«ã¿ãŒã®æ¯å¹ åšæ³¢æ°ç¹æ§ïŒAFCïŒã®ããŒããã®æ°ãå¢å ããããšãç¥ãããŠããŸãã
埮åã»ã¯ã·ã§ã³ã§ãã©ã¡ãŒã¿ãŒDãå¢å ããç©ååšãšæ«åœ¢ãã£ã«ã¿ãŒïŒCICãã£ã«ã¿ãŒïŒã®æã§ã¯ãåšæ³¢æ°å¿çã®ãŒããäžå¿ã«ã·ããããããšã«æ³šæããŠãã ããããã£ã«ã¿ãŒã«ãããªãåšæ³¢æ°Fc = 2 pi / Dãå€åããŸãã
éåŒãããã³è£éæäœãè¡ããªãç©ååšãšæ«åœ¢ãã£ã«ã¿ãŒã®ã«ã¹ã±ãŒãæ¥ç¶ã¯ã移åå¹³åãã£ã«ã¿ãŒãšåŒã°ããŸãã ãã®ãããªãã£ã«ã¿ãŒã®æåã®ãµã€ãããŒãã®ã¬ãã«ã¯-13 dBã ãã§ãããæ·±å»ãªDSPã¿ã¹ã¯ã«ååãªå€§ããã§ãã
CICãã£ã«ã¿ãŒã§çºçããæ°åŠæŒç®ã®ç·åœ¢æ§ã«ãããè€æ°ã®ãã£ã«ã¿ãŒãé£ç¶ããŠã«ã¹ã±ãŒãæ¥ç¶ããããšãå¯èœã§ãã ããã«ããããµã€ãããŒãã®ã¬ãã«ãæ¯äŸããŠæžå°ããŸãããã¹ãã¯ãã«ã®ã¡ã€ã³ããŒãã®åŠšå®³ãå¢å ããŸãïŒã¹ãã¯ãã«ãšã¯ããã£ã«ã¿ãŒã®åšæ³¢æ°å¿çãæå³ããããšããããããŸãïŒã ãããã£ãŠãåãã¿ã€ãã®CICãã£ã«ã¿ãŒã®Nã«ã¹ã±ãŒãæ¥ç¶ã§ã¯ãåäžã®äŒéç¹æ§ãå¢å ããŸãã ååãšããŠãã€ã³ãã°ã¬ãŒã¿ãŒãšæ«åœ¢ãã£ã«ã¿ãŒã®ã»ã¯ã·ã§ã³ã¯ã¿ã€ãããšã«çµåãããŸãã ããšãã°ãæåã«åãã¿ã€ãã®ç©ååšã®Nã»ã¯ã·ã§ã³ãé£ç¶ããŠé 眮ããã次ã«åãã¿ã€ãã®åŸ®åãã£ã«ã¿ãŒã®Nã»ã¯ã·ã§ã³ãé 眮ãããŸãã
次ã®å³ã¯ããµã³ããªã³ã°ä¿æ°Rã®ããŸããŸãªãã©ã¡ãŒã¿ãŒã«å¯Ÿãããã£ã«ã¿ãŒã®åšæ³¢æ°å¿çã瀺ããŠããŸãïŒèšç®ã¯MathCAD 14ã§è¡ãããŸããïŒã
![](https://habrastorage.org/files/5c7/d32/52d/5c7d3252dd0c48d1865fa1c39ed16540.png)
CICãã£ã«ã¿ãŒã®åšæ³¢æ°å¿çã¯ãç©åœ¢ã€ã³ãã«ã¹å¿çïŒTHïŒãåããFIRãã£ã«ã¿ãŒã®åšæ³¢æ°å¿çãšå®å šã«åçã§ãã ããŒã¿ã«ãã£ã«ã¿ãŒICã¯ãç©ååšã®ã«ã¹ã±ãŒããšæ«åœ¢ãã£ã«ã¿ãŒã«ã¹ã±ãŒãã®ã«ã¹ã±ãŒãã®ãã¹ãŠã®ã€ã³ãã«ã¹ç¹æ§ã®ç³ã¿èŸŒã¿ãšããŠå®çŸ©ãããŸãã CICãã£ã«ã¿ãŒã®æ¬¡æ°ã倧ãããªããšãICã¯é©åãªåæ°ã ãçµ±åãããŸãã ãããã£ãŠã1次ã®CICãã£ã«ã¿ãŒã§ã¯THEMã¯é·æ¹åœ¢ã2次ã®THEMã¯äºç蟺äžè§åœ¢ã3次ã§ã¯THEMã¯æŸç©ç·ãªã©ã«ãªããŸãã
ããã深床ã®å¢å
ããã«ãããã圢æ§é ã«ãããé 延å€Dã®å¢å ããã³ãã£ã«ã¿Nã®æ¬¡æ°ã®å¢å ã¯ãééä¿æ°ã®å¢å ãããããã ããã«ããããã£ã«ã¿ãŒåºåã®ããã深床ãå¢å ããŸãã CICãã£ã«ã¿ãŒã䜿çšããDSPã¿ã¹ã¯ã§ã¯ããããåžžã«èŠããŠãéä¿¡ä¿¡å·ã䜿çšæžã¿ãããã°ãªãããè¶ ããªãããã«ããå¿ èŠããããŸãã ããšãã°ãããã深床ã®å¢å ã«ããæªåœ±é¿ã¯ãFPGAãããã®äœ¿çšæžã¿ãªãœãŒã¹ã®å€§å¹ ãªå¢å ã«çŸããŸãã
è£éåšïŒéããã粟床ã®äœ¿çšã¯ã¬ãžã¹ã¿ã®å éšããã深床ã«åœ±é¿ãããæåŸã®åºåã¹ããŒãžã®ã¿ãã¹ã±ãŒãªã³ã°ãããŸãã ç©ååšã»ã¯ã·ã§ã³ã§ããã深床ãå€§å¹ ã«å¢å ããŸãã
![](https://habrastorage.org/files/e0c/485/0ee/e0c4850eebb94cc1887d05bf375d741b.png)
éåŒãïŒ CICãã£ã«ã¿ãŒéåŒãã¯ãäžéããŒã¿ãšåºåããŒã¿ã®ããã深床ãäŸåãããã©ã¡ãŒã¿ãŒDãRãããã³Nã«éåžžã«ææã§ãã 埮åãªã³ã¯ãšç©ååšã®äž¡æ¹ããåºåä¿¡å·ã®æçµããã深床ã«åœ±é¿ããŸãã
![](https://habrastorage.org/files/c24/8d1/c82/c248d1c82dc242dd8e35250326fe1889.png)
ãããã®åŒã§ã¯ã Bã¯å ¥åããŒã¿ã®ããã深床ã Bmaxã¯åºåããŒã¿ã®ããã深床ã Rã¯ãµã³ããªã³ã°ã¬ãŒãã Dã¯é 延ãã©ã¡ãŒã¿ãŒã Nã¯ãã£ã«ã¿ãŒæ¬¡æ°ïŒã«ã¹ã±ãŒãã®æ°ïŒã§ãã
æ³šïŒ Hogenauerã®èšäºã§ã¯ãåãã·ã¡ãŒã¿ã¹ããŒãžã®ããã深床ãéžæããããã®ååã«ã€ããŠèª¬æããŠããŸãã ã¶ã€ãªã³ã¯ã¹ãšã¢ã«ãã©ã¯ããã£ã«ã¿ãå®è£ ããéã«ããã£ã«ã¿å®¹éã®å¢å ã«ããæªåœ±é¿ãèæ ®ãããã®èšäºã§èª¬æãããŠããæ¹æ³ã䜿çšããŠãã®çŸè±¡ã«å¯ŸåŠããŠããŸãã
ã¶ã€ãªã³ã¯ã¹CICãã£ã«ã¿ãŒ
ç§ã®ä»äºã¯ã¶ã€ãªã³ã¯ã¹ã®ãã€ã¯ããµãŒãããã«99ïŒ é¢é£ããŠããããããã®ãã³ããŒã®IPãã£ã«ã¿ãŒã«ãŒãã«ã®èª¬æãæäŸããŸãã ããããã¢ã«ãã©ã«ãšã£ãŠãã¹ãŠãã»ãŒåãã§ããããšãä¿èšŒããããšãæ¢ããŠããŸãã
CICãã£ã«ã¿ãŒãäœæããã«ã¯ã CORE Generatorã¢ããªã±ãŒã·ã§ã³ã«ç§»åããŠã䜿çšããFPGAã®çš®é¡ãšããã®å Žåã¯å¿ é ã§ã¯ãªããã®ä»ã®ããŸããŸãªèšå®ã瀺ãæ°ãããããžã§ã¯ããäœæããå¿ èŠããããŸãã
CICã³ã³ãã€ã©-ã¿ã1ïŒ
![](https://habrastorage.org/files/7ba/148/eb0/7ba148eb07724be88aa04cb2a5a0e3aa.png)
ã³ã³ããŒãã³ãã®ã³ã³ããŒãã³ãå ïŒã©ãã³æåaãzãæ°å0ã9ãããã³èšå·ã_ãã䜿çšïŒã
ãã£ã«ã¿ãŒä»æ§ïŒ
- ãã£ã«ã¿ãŒã¿ã€ã -ãã£ã«ã¿ãŒã¿ã€ãïŒè£é/éåŒãã
- ã¹ããŒãžæ° -ã€ã³ãã°ã¬ãŒã¿ãŒãšãã圢ãã£ã«ã¿ãŒã®ã«ã¹ã±ãŒãã®æ°ïŒ3-6ã
- 埮åé 延 -埮åãã£ã«ã¿ãŒã»ã«ã®é 延ïŒ1-2ã
- ãã£ãã«æ° -ç¬ç«ãã£ãã«ã®æ°ïŒ1ã16ã
ãµã³ãã«ã¬ãŒãå€æŽä»æ§ïŒ
- åºå®/ããã°ã©ã å¯èœ -ãµã³ããªã³ã°ä¿æ°ã®ã¿ã€ãRïŒå®æ°/ããã°ã©ã å¯èœã
- åºå®ãŸãã¯åæã¬ãŒã -ãµã³ããªã³ã°ä¿æ°Rã®å€ïŒ4..8192ã
- æå°ã¬ãŒã -ãµã³ããªã³ã°ä¿æ°Rã®æå°å€ïŒ4..8ã
- æ倧ã¬ãŒã -ãµã³ããªã³ã°ä¿æ°Rã®æ倧å€ïŒ8..8192ã
ããŒããŠã§ã¢ãªãŒããŒãµã³ããªã³ã°ä»æ§ïŒãããã®ãã©ã¡ãŒã¿ãŒã¯ãåºåãµã³ãã«ã¬ãŒããããŒã¿ã®åŠçã«å¿ èŠãªã¯ããã¯ãµã€ã¯ã«æ°ã«åœ±é¿ããŸãã ã«ãŒãã«å ã®äžŠååŠçã®ã¬ãã«ãšå æããããªãœãŒã¹ã®éãããããã®ãã©ã¡ãŒã¿ãŒã«äŸåããŸãã
- 圢åŒã®éžæ -ãã£ã«ã¿ãŒã®åšæ³¢æ°æ¯ãéžæããŸãïŒåšæ³¢æ°ä»æ§/ãµã³ãã«åšæã
- åšæ³¢æ°ã®æå® ïŒãŠãŒã¶ãŒã¯ããµã³ããªã³ã°ã¬ãŒããšããŒã¿åŠçã®é »åºŠãèšå®ããŸãã
- ãµã³ãã«åšæ -ã¯ããã¯ä»æ§ïŒãŠãŒã¶ãŒã¯åŠçåšæ³¢æ°ãšããŒã¿ã®ã¯ããã¯åšæ³¢æ°ã®æ¯çãèšå®ããŸãã
- å ¥åãµã³ããªã³ã°åšæ³¢æ° - *
- ã¯ããã¯åšæ³¢æ° -ãã£ã«ã¿ãŒåŠçåšæ³¢æ°ïŒ *
- å ¥åãµã³ããªã³ã°åšæ -å ¥åã¯ããã¯ä¿¡å·ã®åšæ³¢æ°ã«å¯ŸããåŠçåšæ³¢æ°ã®æ¯çïŒ * ã
* -ç¯å²ã¯äžè¬èšå®ãšãµã³ããªã³ã°ã¬ãŒãRã«äŸåããŸãã
CICã³ã³ãã€ã©-ã¿ã2ïŒ
![](https://habrastorage.org/files/b27/31b/787/b2731b78729b4391afafbefea66142f8.png)
æ°å€ç²ŸåºŠïŒ
- å ¥åããŒã¿å¹ - å ¥åããŒã¿ã®å¹ ïŒ2..20ã
- éåå -åºåã®äžžãïŒãããã°ãªããã®å®å šãªç²ŸåºŠ/äžžãã
- åºåããŒã¿å¹ - åºåããŒã¿ã®å¹ ãç¯å²ã¯ä¿æ°NãDãããã³Rã«äŸåããŸãïŒæ倧å€ã¯48ãããã§ãïŒã
ãªãã·ã§ã³ïŒ
- Xtreme DSPã¹ã©ã€ã¹ã䜿çš-çµã¿èŸŒã¿DSPãããã¯ã䜿çšããŠãã£ã«ã¿ãŒãå®è£ ããŸãã
- ã¹ããªãŒãã³ã°ã€ã³ã¿ãŒãã§ãŒã¹ã®äœ¿çš-ãã«ããã£ãã«ãã£ã«ã¿ãŒã®å®è£ ã«ã¯ãã¹ããªãŒã ã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããŸãã
å¶åŸ¡ãªãã·ã§ã³ïŒ
- ND- ãæ°ããããŒã¿ãããã£ã«ã¿ãŒå ¥åãžã®ããŒã¿å ¥åã決å®ããå ¥åä¿¡å·ã
- SCLR-åæãã£ã«ã¿ãŒãªã»ããïŒãã®å ¥åã®è«çãŠãããããªã»ãããå®è¡ããŸãïŒã
- CE- ãã¯ããã¯ã€ããŒãã«ãããã£ã«ã¿ãŒã¯ããã¯ã€ããŒãã«ä¿¡å·ã
CICã³ã³ãã€ã©-ã¿ã3ïŒ
![](https://habrastorage.org/files/efd/d02/dc6/efdd02dc654e429b9916e6731b786a31.png)
èŠçŽ -ãªã¹ã圢åŒã®ãã®ã¿ãã«ã¯ãæçµãã£ã«ã¿ãŒèšå®ïŒã¹ããŒãžæ°ãåšæ³¢æ°ãã©ã¡ãŒã¿ãŒãå ¥åã®ããã深床ãåºåããã³äžéããŒã¿ããã£ã«ã¿ãŒã®é 延ãªã©ïŒãåæ ãããŸãã
CIC CompilerãŠã£ã³ããŠã®å·ŠåŽã«ã¯ã3ã€ã®äŸ¿å©ãªè¿œå ã¿ãããããŸãã
- IPã·ã³ãã«ã¯ãã¢ã¯ãã£ããªI / OããŒããåããIPãããã¯ã®æŠç¥å³ã§ãã
- é »åºŠ å¿ç -CICãã£ã«ã¿ãŒã®äŒéç¹æ§ã
- ãªãœãŒã¹ã®èŠç©ãã -å æãªãœãŒã¹ã®èŠç©ããã
ãã¹ãŠã®èšå®ãèšå®ãããã[ çæ ]ãã¿ã³ãã¯ãªãã¯ããŸãã ãã®çµæããã°ãããããšãCORE Generatorã¢ããªã±ãŒã·ã§ã³ã¯ãã¡ã€ã«ã®ã»ããå šäœãçæããŸããããã®äžã§æãåºæ¬çãªãã¡ã€ã«ãå¿ èŠã§ãã
- * .VHD ïŒãŸãã¯* .V ïŒ -VHDLãŸãã¯Verilogã§ã¢ããªã³ã°ããããã®ãœãŒã¹ãã¡ã€ã«ã
- * .VHOã¯åœ¹ã«ç«ããªããã¡ã€ã«ã§ãããããããã³ã³ããŒãã³ãã®èª¬æãååŸãããããžã§ã¯ãã«æ¿å ¥ããããã«ç§»æ€ã§ããŸãã
- * .NGC-ããããªã¹ããã¡ã€ã«ã éžæããFPGAãããã®IPã³ã¢ã®ã¢ãŒããã¯ãã£ïŒäœ¿çšããã³ã³ããŒãã³ããšãããã®éã®ä¿¡å·æ¥ç¶ïŒã®èª¬æãå«ãŸããŠããŸãã
- * .XCO -IPã«ãŒãã«ã®ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒãšèšå®ãä¿åããããã°ãã¡ã€ã«ã ã¶ã€ãªã³ã¯ã¹ISE Design Suiteã䜿çšããå Žåã«åœ¹ç«ã€ãã¡ã€ã«ã
ISE Design Suiteç°å¢ã§äœæ¥ããŠããå ŽåãCORE Generatorã¯å¿ èŠãªãã¡ã€ã«ãäœæ¥ãã£ã¬ã¯ããªã«èªåçã«äœæããŸãã ä»ã®éçºããŒã«ïŒModelsimãAldec Active-HDLãªã©ïŒã®å Žåãå¿ èŠãªãã¡ã€ã«ãé©åãªäœæ¥ãã£ã¬ã¯ããªã«è»¢éããå¿ èŠããããŸãã
MATLABã®CICãã£ã«ã¿ãŒ
äŸ1ïŒã¢ããªã³ã°ã®å ŽåãMATLABã¯éåžžã«äŸ¿å©ãªããŒã«ã§ãã ããšãã°ãXilinx System Generator Toolboxã®ããžãã¯ãšã¬ã¡ã³ãã§äœæããã4次CICãã£ã«ã¿ãŒã¢ãã«ã䜿çšããŸãã éåŒããšè£éã¯äœ¿çšãããŸããïŒCICã¯ãŠã£ã³ããŠ16ã®ç§»åå¹³åãã£ã«ã¿ãŒã«çž®éããŸãïŒã ãã£ã«ã¿ãŒãã©ã¡ãŒã¿ãŒïŒR = 1ãN = 4ãD =16ã次ã®å³ã¯ãMATLABã®1ã€ã®ã«ã¹ã±ãŒãã®ã¢ãã«ã瀺ããŠããŸãã
![](https://habrastorage.org/files/392/e48/414/392e484144644ae59a9f2dcc56972d49.png)
ãã£ã«ã¿ãŒã®å段éã®åŸãã€ã³ãã«ã¹å¿çãã©ã®ããã«èŠããããèŠãŠã¿ãŸããããããè¡ãã«ã¯ãã·ã¹ãã ã®å ¥åã«åšæçãªåäžã€ã³ãã«ã¹ãé©çšããŸãã
![](https://habrastorage.org/files/acd/937/5ef/acd9375ef62043be92044b69ac5a8a40.png)
æåã®ãªã³ã¯ã®åºåã®ä¿¡å·ã¯ãæç¶æé= Dã®ç©åœ¢ãã«ã¹ã2çªç®ã®ãªã³ã¯ã®åºå-æç¶æé2Dã®äžè§ä¿¡å·ã3çªç®ã®ãªã³ã¯ã®åºå-æŸç©ç·ãã«ã¹ã3çªç®ã®åºå-3次æŸç©ç·ã圢æããŠããããšãããããŸãã çµæã¯çè«ãšå®å šã«äžèŽããŠããŸãã
äŸ2ïŒ CICãã£ã«ã¿ãŒã®IPã³ã¢ãçŽæ¥ã ãã©ã¡ãŒã¿ãŒïŒN = 3ãR = 4ãD =1ã次ã®å³ã¯ããã£ã«ã¿ãŒã¢ãã«ã瀺ããŠããŸãã
![](https://habrastorage.org/files/00d/c48/1a5/00dc481a5dd94a25839fb39eaefaac05.png)
æ°ãµã€ã¯ã«ïŒããšãã°32ïŒã®æç¶æéãæã€åäžã®ãã«ã¹ããã®ãããªãã£ã«ã¿ãŒã®å ¥åã«é©çšãããå ŽåãæŸç©ç·ä¿¡å·ã3次移åå¹³åãã£ã«ã¿ãŒã«äŒŒãåºåã§åœ¢æãããŸãã
![](https://habrastorage.org/files/961/adb/b00/961adbb00bb640fcbf0d45151c96a11c.png)
ãŸãšã
ãããèŠçŽããããšæããŸãã CICãã£ã«ã¿ãŒã¯ããµã³ããªã³ã°ã¬ãŒããå€æŽããå¿ èŠãããå€ãã®ã¿ã¹ã¯ã§äœ¿çšãããŸãã CICãã£ã«ã¿ãŒã¯ããããã¬ãŒãïŒ44.1 kHzãã48 kHzããŸãã¯ãã®éïŒãå€æŽãããªãŒãã£ãªãã¯ãããžãŒãªã©ãããã€ãã®ãµã³ããªã³ã°åšæ³¢æ°ïŒãã«ãã¬ãŒãåŠçïŒã§åäœããã·ã¹ãã ã§äœ¿çšãããŸãã CICãã£ã«ã¿ãŒã¯ãDDCïŒããžã¿ã«ããŠã³ã³ã³ããŒã¿ãŒïŒããã³DUCïŒããžã¿ã«ã¢ããã³ã³ããŒã¿ãŒïŒã®å®è£ ã®ããã«éä¿¡ã·ã¹ãã ã§äœ¿çšãããŸãã CICãã£ã«ã¿ãŒã®äœ¿çšäŸïŒAnalog Devicesã®AD6620ããžã¿ã«åä¿¡ããã ã
å€ãã®å ŽåãHDLèšèªã§FPGAã«ç¬èªã®ãã£ã«ã¿ãŒãå®è£ ããå¿ èŠã¯ãããŸããããŸãããã³ããŒã®æ¢è£œã«ãŒãã«ãŸãã¯ããã«äœ¿çšã§ãããªãŒãã³ãœãŒã¹ãããžã§ã¯ããå®å šã«äœ¿çšã§ããŸãã ããã§ãã¢ããªã±ãŒã·ã§ã³ã«ç¬èªã®CICãã£ã«ã¿ãŒãå®è£ ããå¿ èŠãããå Žåã¯ã次ã®ååãèŠããŠããå¿ èŠããããŸãã
CICãã£ã«ã¿ãŒã«ã¯å€ãã®æ©èœããããŸãã
- å®è£ ãç°¡åã§ãä¹ç®æŒç®ãå¿ èŠãšããŸããã
- CICãã£ã«ã¿ãŒã®ãã·ã¡ãŒã·ã§ã³ãšè£éã¯ã©ãã§ã䜿çšãããæŽæ°æéãšå°æ°æéã®äž¡æ¹ã§ãµã³ããªã³ã°ã¬ãŒãããã°ããå€æŽããŸãã
- ãã£ã«ã¿ãŒæ¬¡æ°Nãšé 延Dãå¢å ãããšãäžéããŒã¿ãšåºåããŒã¿ã®ããã深床ãå¢å ããŸãã
- ãã£ã«ã¿ãŒNã®æ¬¡æ°ãå¢å ãããšããµã€ãããŒãã®æå¶ãå¢å ããåšæ³¢æ°å¿çã®ã¡ã€ã³ããŒãã®äžåäžæ§ãå¢å ããŸãã
- 次ã®ããã«ã6ã8以äžã®æ¬¡æ°ã®ãã£ã«ã¿ãŒã䜿çšããããšããå§ãããŸãã é åºãå¢ãããšãå®è£ ãããè€éã«ãªããå æããããªãœãŒã¹ã®éãå¢ãããã£ã«ã¿ãŒã®åšæ³¢æ°å¿çã垯åå¹ å ã§æªã¿ãŸãã
- ãã圢ãã£ã«ã¿ãŒã®é 延ãã©ã¡ãŒã¿ãŒDã倧ãããããšããã£ã«ã¿ãŒã®ã«ãããªãåšæ³¢æ°ãå€åããŸãããå®éã«ã¯ã«ã¹ã±ãŒãæ¥ç¶ã§ã¯ãã©ã¡ãŒã¿ãŒD <3ã§ãã
- Råã®ãã·ã¡ãŒã·ã§ã³ã«ããããã£ã«ã¿ã®åºåã®å®¹éãå€§å¹ ã«å¢å ããŸãã
- è£éäžãäžéããŒã¿ãšåºåããŒã¿ã®ããã深床ãžã®äž»ãªè²¢ç®ã¯ããªã³ã¯ãçµ±åããããšã«ãã£ãŠã®ã¿è¡ãããŸãã
- CICãã£ã«ã¿ãŒã®åšæ³¢æ°å¿çã¯ãç©åœ¢ã®ã€ã³ãã«ã¹å¿çãæã€FIRãã£ã«ã¿ãŒã®åšæ³¢æ°å¿çãšåçã§ãã ããŒã¿ã«ãã£ã«ã¿ãŒICã¯ãç©ååšã®ã«ã¹ã±ãŒããšæ«åœ¢ãã£ã«ã¿ãŒã«ã¹ã±ãŒãã®ã«ã¹ã±ãŒãã®ãã¹ãŠã®ã€ã³ãã«ã¹ç¹æ§ã®ç³ã¿èŸŒã¿ãšããŠå®çŸ©ãããŸãã
- FPGAã®ãã£ã«ã¿ãŒã®åºåã§åšæ³¢æ°ãå€æŽããå Žåãã¯ããã¯ã€ããŒãã«ä¿¡å·ã䜿çšãããŸãããåŠçåšæ³¢æ°ã¯å€æŽãããŸããã
- æ¯çããåŠçåšæ³¢æ°/ãµã³ããªã³ã°åšæ³¢æ°ã>> 1ã®å ŽåãFPGAã§ãã£ã«ã¿ãŒãªãœãŒã¹ãåå©çšã§ããããããã«ããã£ãã«ã·ã¹ãã ã®ã¯ãªã¹ã¿ã«ãªãœãŒã¹ãæå°éã«æããŠåŠçãå®è£ ã§ããŸãã
- ææ°ã®FPGAã§ã¯ãCICãã£ã«ã¿ãŒã¯DSPãããã¯ïŒXilinxãAlteraïŒã«å®è£ ãããŠããŸããã空ããªãœãŒã¹ããªãå Žåãè«çã»ã«ïŒSLICEïŒã«å®è£ ã§ããŸãã
- CICãã£ã«ã¿ãŒã®åŸã«ãä¿¡å·ã¬ãã«ãç®çã®ãã€ãããã¯ã¬ã³ãžã«èª¿æŽãããããã°ã©ã å¯èœãªã²ã€ã³ïŒã²ã€ã³ä¹æ°ïŒã®ããä¹æ°ãã€ã³ã¹ããŒã«ããããšããå§ãããŸã
- CICãã£ã«ã¿ãŒã¯åºåä¿¡å·ã®ã¹ãã¯ãã«ã«æªã¿ãå°å ¥ãããããCICãã£ã«ã¿ãŒã®åŸã«ãè£åFIRãã£ã«ã¿ãŒãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãïŒèšç®æé ã¯ã¢ã«ãã©ããŒã¿ã·ãŒãã«èšèŒãããŠãããMATLABã¯èšç®ã«å¿ èŠã§ãïŒã
æåŠ
- E. IfeachorãBãJervisã Digitaal l SignProcessingïŒå®çšçãªã¢ãããŒãïŒç¬¬2çïŒã
- HogenauerãE.éåŒããšè£éã®ããã®ããžã¿ã«ãã£ã«ã¿ãŒã®çµæžçãªã¯ã©ã¹ã
- ãŠã£ãããã£ã¢CICãã£ã«ã¿ãŒ
- ã¢ã«ãã©CICãã£ã«ã¿ãŠãŒã¶ãŒã¬ã€ã
- ã¶ã€ãªã³ã¯ã¹CICã³ã³ãã€ã©DS613
- MATLAB CICãã£ã«ã¿ãŒ
- DSPLIB-CICãã£ã«ã¿ãŒ
- DSPLIB-CICéåŒãããã³è£é
- VerilogãœãŒã¹ã³ãŒããšèª¬æ
- OpenCoresãããžã§ã¯ã1.èè ã®å§ã¯éåžžã«èå³æ·±ãã§ã:)
- Opencoresãããžã§ã¯ã2
ç¶è¡ããã«ã¯...