ADS-Bã®æŠèŠ
æ€åºããã³ãŒãïŒåŸ©å·åïŒã®å¯Ÿè±¡ãšãªãã¯ã€ã€ã¬ã¹ä¿¡å·ã¯è³ããšããã«ååšããŸããããããä¿¡å·ã«ã¯ã仿¥æäŸãããŠãããœãããŠã§ã¢ç¡ç·ïŒSDRïŒSoftware-defined RadioïŒå¯Ÿå¿ã®ããŒããŠã§ã¢ã䜿ãã°ç°¡åã«ã¢ã¯ã»ã¹ããããšãã§ããŸãã代衚çãªããŒããŠã§ã¢ãšããŠã¯ãã¢ããã°ã»ããã€ã»ãºïŒADIïŒãæäŸããRFã¢ãžã£ã€ã«ã»ãã©ã³ã·ãŒãïŒRF Agile Transceiverâ¢ïŒICãAD9361ãããAD9364ããæããããŸã1,2ãäŸãã°ãAD9361ãšXilinx®瀟ã®ãZynq®-7000 All Programmable SoCïŒä»¥äžãZynq SoCïŒããçµã¿åãããããšã§ãSDRåãã®ã©ãããã»ãããã¿ã€ãã³ã°ãå®çŸã§ããŸãããããã¿ã€ãã®ãã¢ããã¹ãã«ã¯ãæ°éèªç©ºæ©ããã¯ã€ã€ã¬ã¹ã§éä¿¡ãããADS-BïŒAutomatic Dependent Surveillance-Broad-castïŒæŸéåèªååŸå±ç£èŠïŒä¿¡å·ã䜿çšã§ããŸããæ°éèªç©ºæ©ã¯ãADS-Bã«å¯Ÿå¿ãããã©ã³ã¹ããã¿ã䜿çšããŠèªãã®äœçœ®ãé床ãé«åºŠãèªç©ºæ©IDãèªç©ºäº€é管å¶å±ã«å ±åããŸã3ãé£è¡æ å ±ã®ããŒã¿åœ¢åŒã¯ãåœéæ°éèªç©ºæ©é¢ïŒICAOïŒã®èŠæ ŒãMode S Extended SquitterïŒã¢ãŒãSæ¡åŒµã¹ããã¿ïŒãã«ãã£ãŠå®çŸ©ãããŠããŸã4ãADS-Bã¯ãèªç©ºäº€é管å¶ã·ã¹ãã ãè¡çªåé¿ã·ã¹ãã ã®æ¹åãç®çãšããŠäžçäžã§å°å ¥ããã€ã€ãããŸããæ¬§å·ã§ã¯ãã§ã«æ¡çšãããŠãããç±³åœã§ãåŸã ã«å°å ¥ãå§ãŸã£ãŠããŸãã
ã¢ãŒãSæ¡åŒµã¹ããã¿èŠæ Œã§ã¯ãRFäŒéã®åœ¢åŒãšããã³ãŒãã®å¯Ÿè±¡ãšãªãããŒã¿ã»ãã£ãŒã«ãã®è©³çްãå®ããŠããŸãããã©ã³ã¹ãã³ããå©çšããäŒéã®ä»æ§ã¯ä»¥äžã®éãã§ãã
- éä¿¡åšæ³¢æ°: 1090 MHz
- å€èª¿æ¹åŒïŒPPMïŒãã«ã¹äœçœ®å€èª¿ïŒ
- ããŒã¿ã¬ãŒãïŒ1Mbps
- ã¡ãã»ãŒãžé·ïŒ56ÎŒsãŸãã¯112ÎŒs
- èª€ãæ€åºïŒ24ãããã®CRCïŒå·¡ååé·æ€æ»ïŒãã§ãã¯ãµã
ãã¥ãŒãã³ã°åšæ³¢æ°ãšåž¯åå¹ ã¯ãååã«AD9361ã®å¯Ÿè±¡ç¯å²å ã«ãããŸããåä¿¡ããI/Qä¿¡å·ã®ãµã³ãã«ïŒãµã³ããªã³ã°ããããŒã¿ïŒã¯ãããŸããŸãªãœãããŠã§ã¢ãçµã¿èŸŒã¿ãã©ãããã©ãŒã ã«ãã£ãŠæ€åºãããã³ãŒãããããšãã§ããŸãã
æ¬çš¿ã§ã¯ãAD9361ãããŒã¹ãšããã¬ã·ãŒãçšãã©ãããã©ãŒã ã«ãã£ãŠã¢ãŒãSã®ä¿¡å·ãååŸãããMATLABããšãSimulinkRãã䜿çšããŠããã®ã¡ãã»ãŒãžããã³ãŒãããããã®ã¢ã«ãŽãªãºã ãéçºããæ¹æ³ã説æããŸããã¢ã«ãŽãªãºã ã¯ãAvnet瀟ã®ãPicoZedâ¢SOMïŒSDR System on ModuleïŒããã¯ãããšããZynq SoC察å¿ã®ãã©ãããã©ãŒã ã«é åïŒãããã€ïŒããããšãæçµçãªç®æšãšããŠéçºããŸãã
ã¬ã·ãŒãã®èšèšã«ããã課é¡
ã¢ãŒãSã®ã¡ãã»ãŒãžã«ã¯ãã·ã§ãŒã圢åŒïŒ56ÎŒsïŒãšãã³ã°åœ¢åŒïŒ112ÎŒsïŒã®2çš®é¡ããããŸããã·ã§ãŒã圢åŒã®ã¡ãã»ãŒãžã¯ãã¡ãã»ãŒãžã®çš®é¡ãèªç©ºæ©ã®èå¥çªå·ãCRCãã§ãã¯ãµã ã§æ§æãããŸãããã³ã°åœ¢åŒã®ã¡ãã»ãŒãžã«ã¯ãããã«é«åºŠãäœçœ®ãé床ãé£è¡ç¶æ ã®æ å ±ãå«ãŸããŸããã©ã¡ãã®åœ¢åŒã§ããã¢ãŒãSã®ä¿¡å·ã¯8ÎŒsã®ããªã¢ã³ãã«ã§å§ãŸããŸããã¬ã·ãŒãã¯ããã®ããªã¢ã³ãã«ã»ãã¿ãŒã³ã䜿çšããŠãæå¹ãªã¡ãã»ãŒãžãéä¿¡ãããŠããããšã確èªãããšãšãã«ã¡ãã»ãŒãžã»ãããã®éå§äœçœ®ã倿ããŸãã詳现ã«ã€ããŠã¯å³1ãã芧ãã ãã5ã

ã¢ãŒãSã®ä¿¡å·ã¯éåžžã«ã·ã³ãã«ã§ããããããéä¿¡ãããã¡ãã»ãŒãžãæ£ããåä¿¡ããŠãã³ãŒãããã«ã¯ã以äžã«ç€ºããããªè€æ°ã®èª²é¡ã解決ããå¿ èŠããããŸãã
- äžè¬çãªåä¿¡ç°å¢ã§ã¯ãé·ãã¢ã€ãã«æéã®äžã«éåžžã«çãã¡ãã»ãŒãžãæ£åšããç¶æ ã«ãªãããŸããéä¿¡å ã®èªç©ºæ©ãã¬ã·ãŒãããé ãé¢ããŠããå Žåãåä¿¡ä¿¡å·ã¯éåžžã«åŒ±ããªãå¯èœæ§ããããå ããŠãåŸæ¥ãã䜿ãããŠããªä¿¡å·ãåã1090MHzã§éä¿¡ãããããšããããã¬ã·ãŒãã¯ãæ··éããåšæ³¢æ°åž¯ã®äžã§ããªã¢ã³ãã«ã掻çšãã倧æ¯å¹ ãå°æ¯å¹ ã®ã¢ãŒãSä¿¡å·ãæ€åºããªããã°ãªããªã
- ãããåºéã¯1ÎŒsã§ããããã®åºéã®ãããã»ãã¿ãŒã³ã¯2çš®é¡ã®ãã¡ã©ã¡ããã«ãªããååã®0.5ÎŒsããªã³ã§åŸåã®0.5ÎŒsããªãã®å Žåãè«çã¬ãã«ã®1ãæå³ããååã®0.5ÎŒsããªãã§åŸåã®0.5ÎŒsããªã³ã®å Žåãè«çã¬ãã«ã®0ãæå³ããããããã®å€å®ã¯ãæéãããŒã¹ãšãããã¿ãŒã³ã«åºã¥ããŠè¡ãããããã®ãããã¬ã·ãŒãã¯ããªã¢ã³ãã«ã䜿çšããã¡ãã»ãŒãžã»ãããã®éå§äœçœ®ãšãªãI/Qãµã³ãã«ãæ£ç¢ºã«æ€åºããå¿ èŠããã
- ã¢ãŒãSã®ã¡ãã»ãŒãžã¯ã88ãããã®æ å ±ãš24ãããã®ãã§ãã¯ãµã ã§æ§æããããã¬ã·ãŒãã¯ãã¬ãžã¹ã¿ã®ã¯ãªã¢ããããã®å€å®ããã§ãã¯ãµã ã®èšç®ããã§ãã¯ãµã ã»ã¬ãžã¹ã¿ã®èªã¿åºãã®ååäœãæ£ããã¿ã€ãã³ã°ã§è¡ããªããã°ãªããªããã¬ã·ãŒããæ£ããæ©èœããããã«ã¯ãã¿ã€ãã³ã°å¶åŸ¡ãå¿ é ãšãªã
- çµã¿èŸŒã¿èšèšã®å Žåããµã³ãã«åäœã§ãã³ãŒãåŠçãå®è¡ããå¿ èŠãããã倧éã®ããŒã¿ãä¿åããŠããäžæ¬ã§åŠçããã®ã¯ãçµã¿èŸŒã¿ã·ã¹ãã ã«ãããã¬ã·ãŒãã®èšèšãšããŠçŸå®çã§ã¯ãªã
AD9361ã®ãããªé«æ§èœã®RFããã³ãã»ãšã³ããšãMAT-LAB®ã®ãããªãã¯ãã«ã«ã»ã³ã³ãã¥ãŒãã£ã³ã°èšèªãçµã¿åãããããšã«ãããäžè¿°ãããããªä¿¡å·ã®æ€åº/ãã³ãŒãã«äŒŽãåé¡ãå€§å¹ ã«ç°¡çŽ åãããŸããMATLABããSignal Processing Toolboxãã®æ©èœãå©çšããã°ãåæãã¿ãŒã³ã®èå¥ããã€ãºããã¢ã®èšç®ããããã®å€å®ããã§ãã¯ãµã ã®èšç®ã容æã«è¡ãããšãã§ããŸãããŸããMATLABã®æ¡ä»¶å¶åŸ¡ãå®è¡å¶åŸ¡ã®æ©èœã«ãã£ãŠå¶åŸ¡ããžãã¯ãç°¡çŽ åããããšãå¯èœã«ãªããŸãããã¹ãçšã®ããŒã¿ãžã®ã¢ã¯ã»ã¹ã容æã§ããããã€ããªåœ¢åŒ/ããã¹ã圢åŒã®ãã¡ã€ã«ããèªã¿åºãããAD9361ãããŒã¹ãšããSDRçšãã©ãããã©ãŒã ã䜿çšããŠMATLABã«çŽæ¥ã¹ããªãŒãã³ã°ããããšãã§ããŸããMATLABã¯ã€ã³ã¿ããªã¿æ¹åŒã§å®è¡ãããã®ã§ããŒã¿ãæäœãããå¥ã®ã¢ãããŒãã詊ãããããããšã容æã§ãããã€ã³ã¿ã©ã¯ãã£ãã«ãœãªã¥ãŒã·ã§ã³ãéçºã§ããŸãã
MATLABã«ããã¢ãŒãSçšã¬ã·ãŒãã®ã¢ã«ãŽãªãºã ã®ã¢ãã«åãšæ€èšŒ
以äžã§èª¬æããå 容ãå®è£ ããMATLABãœãŒã¹ã»ã³ãŒãã¯ãGitHubãªããžããªããå ¥æã§ããŸãããšã³ããªã»ã¬ãã«ã®é¢æ°ã¯ad9361_ModeS.mã§ããããã®é¢æ°ããåŒã³åºããããã¡ã€ã«ãæäŸãããŠããŸãã
ã¬ã·ãŒãçšã®ã¢ã«ãŽãªãºã ã«ãããæåã®ã¹ãããã¯ããœãŒã¹ãšãªãããŒã¿ã«ã¢ã¯ã»ã¹ããããšã§ããçŸåšã§ã¯ãå€ãã®èªç©ºæ©ãã¢ãŒãSçšã®ãã©ã³ã¹ãã³ããåããŠããŸãããã®ããã1090MHzã®éä¿¡åšæ³¢æ°ã«å¯ŸããŠã¬ã·ãŒãããã¥ãŒãã³ã°ããã ãã§è¿ãã®ä¿¡å·ãæããããšãã§ããŸããããã«ã€ããŠã¯ãZynq SoCãå©çšããSDRåãã®ã©ãããã»ãããã¿ã€ãã³ã°ã»ãã©ãããã©ãŒã ã䜿çšããŸããADIã¯ãEthernetãä»ããŠãAD-FMCOM-MSx-EBZãïŒFMCOMMSãã©ãããã©ãŒã ïŒããã®ããŒã¿ãåä¿¡ã§ããMATLAB察å¿ã®ãSystem Objectâ¢ããæäŸããŠããŸã6ããã®System Objectã«ããããã¥ãŒãã³ã°åšæ³¢æ°ãšãµã³ããªã³ã°ã»ã¬ãŒããéžæããç¡ç·çšã®ããŒããŠã§ã¢ã§åä¿¡ãµã³ãã«ãåéããŠãMATLABã®ã¯ãŒã¯ã¹ããŒã¹ã«MATLAB倿°ãšããŠããããçŽæ¥åã蟌ãããšãã§ããŸããèšè¿°ããªããã°ãªããªãã³ãŒãã¯ã»ãã®ãããã§ããMATLAB察å¿ã®System Objectãã»ããã¢ããããããã«æ°è¡ãFMCOMMSãã©ãããã©ãŒã ïŒAD-FMCOMMS3-EBZïŒã®èšå®ãè¡ãããã«æ°è¡ãI/Qãµã³ãã«ãååŸããŠMATLAB倿°ã«æžã蟌ãããã«æ°è¡ãèšè¿°ããã ãã§ããå³2ãå³3ãå³4ã«MATLABã®ãµã³ãã«ã»ã³ãŒãã瀺ããŸããã



ã³ãã³ãã«åºã¥ããããã®ã³ãŒãã«ããã12.5MHzã®ãµã³ãã«ã»ã¬ãŒãã§è€æ°ã®ããŒã¿ã»ã»ãããååŸããŸããã12.5MHzã®ãµã³ãã«ã»ã¬ãŒããéžæããã®ã¯ãååãªæ°ã®ãµã³ãã«ãååŸããããªã¢ã³ãã«ã®äœçœ®ãã¡ãã»ãŒãžã®å é ã®ãããã«æ£ç¢ºã«åãããŠããããã®å€å®ã«çšãããµã³ãã«å ã®äžéšã®ãã€ãºãå¹³ååããããã§ãã100äžåã®ãµã³ãã«ãååŸããçµæãå³5ã«ç€ºããŸããã

ãã®ããŒã¿ã»ã»ããã®äžã«ã¯ããã€ãºããã¢ãäžåãã¬ãã«ã®ä¿¡å·ã14åãããŸãããããã®ãã¡2åãã¢ãŒãSã®ã¡ãã»ãŒãžã§ããæ®ãã¯åŸæ¥ãã䜿ãããŠããå¥ã®ä¿¡å·ãã¹ããªã¢ã¹ä¿¡å·ã§ãããé€å»ããå¿ èŠããããŸãããµã³ãã«çªå·ã604000ä»è¿ã®é åãæ¡å€§ãããšãæå¹ãªã¡ãã»ãŒãžã®ãã¡ã®1ã€ã確èªããããšãã§ããŸãïŒå³6ïŒã

ãã®ã°ã©ãã§ã¯ãããªã¢ã³ãã«ãæçã«ç¢ºèªããããšãã§ããã»ããPPMã«ãããããã®ç§»åãã¯ã£ãããšèŠãŠãšããŸãããã®ããã«ä¿¡å·ãã¯ãªãŒã³ã§ããå Žåã§ããç®èŠã§ãããã®ãã³ãŒããè¡ãã«ã¯ãåªããèŠåãšããªãã®å¿èãå¿ èŠã«ãªããŸããåœç¶ã®ããšãªãããã¡ãã»ãŒãžã®ãã³ãŒãã«ã¯ãããèªåçã«è¡ãããã°ã©ã ãå¿ é ã ãšããããšã§ããMATLABã¯ãã®ããã°ã©ã ãéçºããããã®é©åãªãœãªã¥ãŒã·ã§ã³ã§ãã
ã¢ãŒãSã®ã¡ãã»ãŒãžãåä¿¡ããããããã³ãŒãããããã®MATLABã®ã³ãŒãã¯ã以äžã®ãããªæµãã«ãªããŸãã
- çãæéçªã«filter颿°ãé©çšãããã€ãºããã¢ãããªã¢ã³ãã«ã®ã³ãªã¬ãŒã·ã§ã³ãèšç®ããããã®äŸã§ã¯ã6ÎŒsã«çžåœãã75ãµã³ãã«ã䜿çšãã
- ããªã¢ã³ãã«ã®ã³ãªã¬ãŒã·ã§ã³ããã€ãºããã¢ã倧ããäžåã£ãæç¹ã§ãã¡ãã»ãŒãžã®å
é ãããã«åœãããµã³ãã«ãæ€åºããããã®ããžãã¯åŠçãéå§ãã
- ãã®åŠçã®éŸå€ã¯ãç¶æ³ã«å¿ããŠéžæãããå°ãããããšåŒ±ãä¿¡å·ãæ€åºã§ããªããã倧ãããããšèª€æ€åºãå€çºããŠããŸãããã®äŸã§ã¯ããã³ãŒããå¯èœãªã»ãšãã©ã®ã¡ãã»ãŒãžãååŸã§ãã劥åœãªéŸå€ãšããŠããã€ãºããã¢ã®10åã®å€ãéžæãã
- ããªã¢ã³ãã«ã®ãã¿ãŒã³ã«ãããããŒã¯ãè€æ°çæããããæå€§ã®ããŒã¯ã¯æåã®6ÎŒsã®éã«çŸããã®ã§ãæåã®ããŒã¯ã®å€ãä¿åããŠã¡ãã»ãŒãžã®å é ãããã®æ€çŽ¢ãéå§ããæ¬¡ã®3ÎŒsã®éã«ããã«å€§ããªå¥ã®ããŒã¯ãçŸãããã©ããã確èªããã倧ããªå¥ã®ããŒã¯ãçŸãããããã®å€ãä¿åããŠã¡ãã»ãŒãžã®å é ãããã®æ€çŽ¢ãããçŽã
- æå€§ã®ããŒã¯ãçŸãããããã®2ÎŒsåŸããã¡ãã»ãŒãžã»ãããã®ãã³ãŒããéå§ãã
- å³7ã¯ããã€ãºããã¢ïŒç·ã®ç·ïŒãšå ±ã«ãå ¥åããŒã¿ã«å¯Ÿããçæ³çãªããªã¢ã³ãã«ãšã®ã³ãªã¬ãŒã·ã§ã³ã®çµæã瀺ãããã®ã§ããããã€ãºããã¢ãäžåãè€æ°ã®ããŒã¯ãååšããããããã§ã¯æå€§æ¯å¹ ãæã€ããŒã¯ã«æ³šç®ããããã®ããŒã¯ã®2ÎŒsåŸã«ãã¡ãã»ãŒãžã®å é ãããã®ãµã³ãã«ãå°éãã

- åã ã®ãããã«å¯Ÿããæåã®0.5ÎŒsãšæ¬¡ã®0.5ÎŒsã§ãµã³ãã«ã®æ¯å¹ ãåç®ãããã©ã¡ãã®åèšå€ã倧ãããã«ãã£ãŠããã®ããããè«çå€ã®1ã§ããã0ã§ããããå€å®ãã
- ãããã®å€å®ã«åºã¥ããŠãã§ãã¯ãµã ãèšç®ãããããã«ã¯ãæåã®ããããå°éãããšãã«CRCã¬ãžã¹ã¿ããªã»ãããã88ãããã«å¯ŸããŠãã§ãã¯ãµã ãèšç®ããŠãæåŸã®24ãããã§CRCã¬ãžã¹ã¿ã空ã«ããå¶åŸ¡ããžãã¯ãå¿ èŠã«ãªããåä¿¡ãããããã§ãã¯ãµã ã«äžèŽããã°ããã®ADS-Bã¡ãã»ãŒãžã¯æå¹ã§ãã
- ã¢ãŒãSã®èŠæ Œã«åŸã£ãŠãã¡ãã»ãŒãžã»ããããããŒã¹ããïŒå³8ïŒ

å³8ã«ç€ºããã®ã¯ãMATLABã®ã³ãã³ãã»ãŠã£ã³ããŠã§ãã100äžãµã³ãã«ããæãããŒã¿ã»ã»ãããåºã«æ£ãããã³ãŒãããã2ã€ã®ã¡ãã»ãŒãžã瀺ãããŠããŸãã88ãããã®ã¡ãã»ãŒãžãš24ãããã®ãã§ãã¯ãµã ã16鲿°ã§è¡šç€ºããããã³ãŒãã®çµæãšããŠãèªç©ºæ©IDãã¡ãã»ãŒãžã®çš®é¡ãé£è¡é床ãé«åºŠãäœçœ®ã瀺ãããŠããŸãã
MATLABã¯æŒç®ãšä¿¡å·åŠçã®ããã®åŒ·åãªèšèªã§ããããã®ãããªåŠçã容æã«å®çŸããããšãã§ããŸããMAT-LABã§èšè¿°ããããã200è¡ã®ã³ãŒãã«ããããµã³ãã«ã»ããŒã¿ã«åŠçãæœããæçµçã«ã¡ãã»ãŒãžããã³ãŒãããããšãå¯èœã«ãªããŸãããŸããMATLABã¯ã€ã³ã¿ããªã¿æ¹åŒã§å®è¡ãããã®ã§ãèšèšäžã®ã¢ã€ãã¢ãã€ã³ã¿ã©ã¯ãã£ãã«è©Šããå®çŸå¯èœãªãœãªã¥ãŒã·ã§ã³ãçŽ æ©ãèŠæ¥µããããšãã§ããŸãããã®äŸã§ã¯ãããŸããŸãªããŒã¿ã»ã»ããã«å¯Ÿããè€æ°ã®ã¿ã€ãã³ã°æ§æãéŸå€ããã€ãºã»ã¬ãã«ã詊ãããšã§ãæçµçã«é©åãªããã°ã©ã ãéçºããããšãã§ããŸããã
MATLABã§éçºããã³ãŒãã®ãã¹ãã¯ãè¿ãã®ç©ºåãé£è¡ããèªç©ºæ©ããã®ä¿¡å·ã䜿ã£ãŠå®æœããŸãããåä¿¡ããä¿¡å·ããã³ãŒãããŠåŸãã¡ãã»ãŒãžããairframes.orgãflightaware.comãªã©ããå ¥æããæ å ±ãšç §ããåãããããšã§ãæ£ããåŠçãè¡ããããšã確èªããŸãããããŒããŠã§ã¢ãšã³ãŒãã¯é©åã«åäœãã50ãã€ã«ïŒçŽ80kmïŒé¢ããèªç©ºæ©ããã®ä¿¡å·ãæ£ãããã³ãŒãããããšãã§ããŠããŸããã
å®è£ ã«åããäœæ¥
以äžã§èª¬æããå 容ãå®è£ ããSimulinkã¢ãã«ã®ãã¡ã€ã«ã¯GitHubãªããžããªããå ¥æã§ããŸãã
https://github.com/analogdevicesinc/MathWorks_tools/tree/master/hil_models/ADSB_Simulink
MATLABã¯ãèšèšäžã®ã¢ã€ãã¢ããã¹ãããããã«PCäžã§ã¢ã«ãŽãªãºã ãå®è¡ããã«ã¯æé©ãªç°å¢ã§ãããã ãæçµçãªç®æšããZynq SoCãªã©ã®çµã¿èŸŒã¿ãã©ãããã©ãŒã äžã§äœ¿çšãããœãããŠã§ã¢ãHDLã³ãŒããçæããããšã§ãããªãã°ãSimulinkã®äœ¿çšãé©ããŠããŸããSim-ulinkã¯ãããã°ã©ããã«ãªããã€ã¹ãã¿ãŒã²ããã«ããéã«å¿ èŠãªããŒããŠã§ã¢ã«åºæã®åŠçãã¢ãã«åããå Žåã«æé©ã§ããæšå¥šãããã¯ãŒã¯ãããŒã¯ãMATLABã§ã¢ã«ãŽãªãºã ã®éçº/æ€èšŒãè¡ãããã®èšèšãSimulinkã®ã¢ãã«ã«å€æããŠãããŒããŠã§ã¢ãžã®å®è£ ã«åããŠéçºãé²ãããšãããã®ã§ãã
ãã®äŸã®ã¢ã«ãŽãªãºã ãå®çŸããMATLABã®ã³ãŒãã¯ãããŒã¿ããµã³ãã«åäœã§åŠçããŸãããã®ããããã®ã³ãŒãã¯ãããªãç°¡åã«Simulinkã®ã¢ãã«ã«å€æããããšãã§ããŸããSimulinkã®ã¢ãã«ã§ã¯MATLABã§èšè¿°ãã200è¡ã®ã³ãŒããã·ã³ãã«ã«è¡šç€º/衚çŸãããŸãïŒå³9ïŒã

å³9ããã¯ããã³ãŒãã®ããã®æåã®ã¹ããããããã€ãºããã¢ãšãããªã¢ã³ãã«ã®ã³ãªã¬ãŒã·ã§ã³ã®ç®åºã§ããããšãèŠãŠãšããŸãããããã®èšç®ã«ã¯ãããžã¿ã«ã»ãã£ã«ã¿ã»ãããã¯ã䜿çšãããŠããŸãããŸãã¿ã€ãã³ã°å¶åŸ¡çšã®ãããã¯ã¯ãStateflow,®ãã§å®è£ ãããŠããŸããStateflowã¯ã¹ããŒãã»ãã·ã³ã»ããŒã«ã§ãããã¢ãã«ã«ãããŠå¶åŸ¡ããžãã¯ãããŒã¿ã»ãããŒãšåé¢ãããå Žåã«éåžžã«æçšã§ãããã®äŸã§ã¯ããã³ãŒãçšã®ã¢ã«ãŽãªãºã ã«ããããã®ä»ã®éšåã«åããŠãã¿ã€ãã³ã°ä¿¡å·ããªã»ããä¿¡å·ãå¶åŸ¡ä¿¡å·ãçæããããã«äœ¿çšããŠããŸããã¿ã€ãã³ã°ãšããªã¬ãã¢ã¯ãã£ããŒãããããšããBitProcessããšããååã®ãããã¯ããå ¥åãããI/Qã®ãµã³ãã«ãåãåã£ãŠããŒã¿ã»ããããèšç®ããŸãã䜵ããŠããCRC_Checkããšãããããã¯ããã§ãã¯ãµã ãèšç®ããŸãããªããã¡ãã»ãŒãžã®ããŒã¹ã¯ããã®Simulinkã¢ãã«ã«ãã£ãŠé§åãããMATLABã®ã¹ã¯ãªããã«ãã£ãŠè¡ãããŸãã
ã¢ãã«ãããã«è©³ããèŠãŠã¿ããšãSimulinkãçµã¿èŸŒã¿éçºã«é©ããŠããããšã瀺ãããã€ãã®ç¹åŸŽã«æ°ã¥ããŸããç¹ã«ãZynq SoCãã¿ãŒã²ãããšããŠæ©èœãå®çŸããããã«ãé©åã«èšèšã®åå²ãè¡ããããããã«å¯Ÿå¿ããHDLã®ã³ãŒããšCèšèªã®ã³ãŒããçæããããã§éåžžã«æçšã§ãã
- Simulinkã¯ãåºå®å°æ°ç¹ã®ãµããŒãã«åªããŠãããããããã粟床ãèšèšãšäžèŽããåè·¯ãæ§ç¯ãããã¹ããè¡ãããšãã§ããããŸãåã ã®ãããã¯ã§ãã¢ãã«ã«ãããç®è¡æŒç®ã®ã¯ãŒãé·ãšå°æ°ç¹ä»¥äžã®æ¡æ°ãèšå®å¯èœã§ããããã®è¯ãäŸãšããŠãããªã¢ã³ãã«ã®ã³ãªã¬ãŒã·ã§ã³ã®èšç®ã«äœ¿çšããããžã¿ã«ã»ãã£ã«ã¿ã»ãããã¯ãæããããïŒå³10ïŒãæŒç®ã«ãããäžžãã®ã¢ãŒããšãªãŒããŒãããŒãçºçããéã®åäœãèšå®ã§ããïŒHDLã³ãŒãã§è¡ãããæŒç®ã«ã€ããŠã¯ãFloorãšWrapãæãç°¡åãªéžæè¢ãšãªãïŒããŸãããã£ã«ã¿ã®ä¹ç®åšãã¢ãã¥ã ã¬ãŒã¿ã®æŒç®ã«å¯ŸããŠã¯ç°ãªãã¯ãŒãé·ãå°æ°ç²ŸåºŠãæå®ã§ããïŒå³11ïŒãã¬ã·ãŒãã®A/Dã³ã³ããŒã¿ã«é©åããããã¯ãŒãé·ãéžæããããšã«ãããããŒããŠã§ã¢ä¹ç®åšïŒäŸãã°Zynq SoCãåããDSP48ã¹ã©ã€ã¹å ã®18ãããÃ25ãããã®ä¹ç®åšïŒã掻çšããããšãå¯èœã«ãªã

ïŒ12ãããã®ããŒã¿åãããªã¢ã³ãã«ã®ã³ãªã¬ãŒã·ã§ã³ã®ç®åºã«äœ¿çšïŒ

- å€ãã®å Žåãçµã¿èŸŒã¿èšèšã§ã¯å€æ°ã®åäœã¢ãŒããèšãããããåã¢ãŒãã«ã¯ãæ¡ä»¶ã«å¿ããŠå®è¡ãããã¢ã«ãŽãªãºã ã察å¿ã¥ãããããStateflowã¯ããã®ãããªå¶åŸ¡ä¿¡å·ã®ç®¡çã«ç¹ã«é©ããŠããããã®äŸã§èšãã°ãStateflowã䜿ãããšã§ãã¢ãŒãSã®ã¡ãã»ãŒãžã®æ€åº/ãã³ãŒãã«å¿
èŠãªå¶åŸ¡ããžãã¯ãèŠèŠçã«ç¢ºèªããããšãã§ãããå³12ã«ã¯ããã®ããžãã¯ã«ããã以äžã®ã¹ããŒãã瀺ãããŠãã
- SyncSearch: ååŸãããµã³ãã«å ã®ããªã¢ã³ãã«ãæ€çŽ¢ãã
- WaitForT0: ã¡ãã»ãŒãžã®å é ãããã®éå§äœçœ®ãæ€çŽ¢ãã
- BitProcess: ãããåŠçãæå¹åãã
- EmptyReg: ãã§ãã¯ãµã ã»ã¬ãžã¹ã¿ã空ã«ãããããã»ããŒã¿ããããåŠçã®åºåãšæ¯èŒãã
ç°ãªãã¹ããŒãéãé·ç§»ããæ€åº/ãã³ãŒãçšã¢ã«ãŽãªãºã ã®æµãã«åŸã£ãŠãStateflowã®ãããã¯ã¯ããããåŠçãæå¹åããä¿¡å·ãçæãããããå€å®çšã®ã«ãŠã³ã¿ãšãã§ãã¯ãµã ã»ã¬ãžã¹ã¿ããªã»ããããã¢ãŒãSã®ã¡ãã»ãŒãžã®æåŸã«é 眮ããããã§ãã¯ãµã ã»ããããèªã¿åããŸãã

- Simulinkã®ãããã¯ã»ã©ã€ãã©ãªãå©çšããããšã«ãããæè¡è ã¯éåžžã«é«ãã¬ãã«ããããã¯éåžžã«çްããã¬ãã«ã§äœæ¥ãè¡ãããšãå¯èœã«ãªããSim-ulinkã®é«ã¬ãã«ã»ãããã¯ãšããŠã¯ãä¿¡å·åŠçåè·¯ã®æ§ç¯ãç°¡çŽ åããDigital FilterãFFTãNumericallyControlled Oscillatorãªã©ãæãããããé床ãé¢ç©ã®æé©åãªã©ããããã现ããåè·¯ãå¶åŸ¡ããå¿ èŠãããå Žåã«ã¯ãUnit DelayãLogic OperatorïŒXORãªã©ïŒãSwitchãšãã£ãäœã¬ãã«ã»ãããã¯ã䜿çšããã°ããããã®äŸã®ã¢ãã«ã§ã¯ã24ãããã®ãã§ãã¯ãµã ããäœã¬ãã«ã»ãããã¯ã§æ§ç¯ããããã£ãŒãããã¯ã»ã·ããã»ã¬ãžã¹ã¿ã«ãã£ãŠèšç®ãããïŒå³13ïŒ

ãã®Simulinkã¢ãã«ã¯ãã¢ãŒãSã®ã¡ãã»ãŒãžãæ€åº/ãã³ãŒãããMATLABã¢ã«ãŽãªãºã ã®ããŒããŠã§ã¢åãããŒãžã§ã³ã ãšèšããŸããSimulinkã¯ãMATLABã§èšè¿°ãããåäœã¢ã«ãŽãªãºã ãšçµã¿èŸŒã¿ããŒããŠã§ã¢çšã®å®è£ ã³ãŒãã®éã®ã®ã£ãããåããããã«åœ¹ç«ã€ããŒã«ã§ããããŒããŠã§ã¢åºæã®åŠçãSimulinkã¢ãã«ãšããŠæ§ç¯ããŠå®è¡ããããšã§ãå ãã倿Žããã³ãŒãçšã®ã¢ã«ãŽãªãºã ã«åœ±é¿ãäžããªãããšã確èªã§ããŸãã
ãŸãšã
Zynq SoCãå©çšããSDRåãã®ã©ãããã»ãããã¿ã€ãã³ã°ã»ãã©ãããã©ãŒã ãšMathWorks瀟ã®ãœãããŠã§ã¢ãçµã¿åãããããšã«ãããã¯ã€ã€ã¬ã¹ã»ã¬ã·ãŒãã®èšèšã«ãããŠã¢ã€ãã¢ãåºã«çŽã¡ã«ãããã¿ã€ããéçºããããã®æè»ãã€æ°ããªææ®µãåŸãããŸãããã®äžå¿ã«ããã®ã¯åºåž¯åã«å¯Ÿå¿ããRFã¢ãžã£ã€ã«ã»ãã©ã³ã·ãŒãã§ããAD9361/AD9364ã§ãã䞡補åãåããé«ãããã°ã©ãããªãã£ãæ§èœã«å ããMATLABç°å¢ãšããŒããŠã§ã¢ã®éã®ã·ã³ãã«ãªæ¥ç¶æ§ã«ãã£ãŠãåºç¯ãªã¯ã€ã€ã¬ã¹ä¿¡å·ã察象ãšããŠæ±ãããšãã§ããŸããMATLABã䜿çšããã°ãèšèšäžã®ããŸããŸãªã¢ã€ãã¢ãçŽã¡ã«è©Šããææãªãœãªã¥ãŒã·ã§ã³ãèŠæ¥µããããšãå¯èœã«ãªããŸããèšèšã®æçµçãªã¿ãŒã²ãããçµã¿èŸŒã¿ããã»ããµã§ããå ŽåãSimulinkã䜿çšããã°ããã®ããŒããŠã§ã¢ã«é©ããã¢ã€ãã¢ã«åºã¥ããŠèšèšãæ¹è¯ããæçµçã«ã¯ãã®ããã»ããµã§äœ¿çšããã³ãŒããçæã§ããŸãããã®ã¯ãŒã¯ãããŒã«ãã£ãŠãã¯ã€ã€ã¬ã¹ã»ã¬ã·ãŒãã®èšèšã«å¿ èŠãªã¹ãã«ã軜æžãããæŠå¿µèšèšããå®éã«åäœãããããã¿ã€ããéçºãããŸã§ã®æéãççž®ããããšãå¯èœã«ãªããŸãã
æ¬çš¿ã®ç¶ç·šãšãªãPart 3ã§ã¯ãHILïŒHardware in the LoopïŒã䜿çšããŠã¬ã·ãŒãã®èšèšãæ€èšŒããæ¹æ³ãåãäžããŸããæ€èšŒã«äœ¿çšããSimulinkã®ãã¹ãäžã§ä¿¡å·åŠçã·ã¹ãã ã®ã¢ãã«ãå®è¡ãã€ã€ãã¿ãŒã²ãããšãªããã©ã³ã·ãŒãã§ä¿¡å·ãååŸããæ¹æ³ã説æããŸãã
åèè³æ
1ãAD9361ã Analog Devices2ãAD9364ã Analog Devices
3ã960-1164 MHzã National Telecommunications and Information Administration
4ãTechnical Provisions for Mode S Services and Extended Squitterã International Civil Aviation Organization
5ãSurveillance and Collision Avoidance Systemsã Aeronautical Telcommunications, Volume IV. International Civil Aviation Organization
6Di Pu, Andrei Cozma, Tom Hillã補é ãŸã§ã®4ã€ã®ã¹ãããïŒã¢ãã«ã»ããŒã¹èšèšã§å®çŸãããœãããŠã§ã¢ç¡ç·ãPart 1ïŒADI/Xilinx瀟ã®SDRåãã©ãããã»ãããã¿ã€ãã³ã°çšãã©ãããã©ãŒã ââãã®æ©èœãã¡ãªãããéçºããŒã«ã«ã€ããŠåŠã¶ãAnalog Dialogue 49-09
ãœãŒã¹ã»ã³ãŒããšã¢ãã«ãžã®ãªã³ã¯
MATLABã«ããã¢ãŒãSä¿¡å·ã®ãã³ãŒãçšã¢ã«ãŽãªãºã :
https://github.com/analogdevicesinc/MathWorks_tools/blob/master/hil_models/ADSB_MATLAB/
Simulinkã«ããã¢ãŒãSä¿¡å·ã®ãã³ãŒãçšã¢ãã«:
https://github.com/analogdevicesinc/MathWorks_tools/tree/master/hil_models/ADSB_Simulink
è¬èŸ
æ¬çš¿ã®äŸã«äœ¿çšãããŠããMATLABã³ãŒãã®äžéšãäœæããŠããã ããMathWorks瀟ã®Mike Mulliganæ°ã«æè¬ããããŸãã