- Keiths' SDRã®Rxä¿¡å·å¦çé£éãããã¯å³
- LMS_Notchãªãã¸ã§ã¯ãï¼AudioLMSDenoiseNotch_F32ï¼
- LMSã¢ã«ã´ãªãºã
- èªåãããã®ã·ãã¥ã¬ã¼ã·ã§ã³
- ãã¤ãºä½æ¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³
- ãã¤ãºä½æ¸æ©è½ã®å±é
Keiths' SDRã®Rxä¿¡å·å¦çé£éãããã¯å³
Keiths' SDRï¼K7MDLå±Mike OMçï¼ã®Rxä¿¡å·å¦çé£éãã³ã¼ãããèªã¿è§£ãã¦æãåºãããã®ï¼Î±çï¼ãä¸è¨ã«åé²ãã¾ãã
ä»åã¯ãæ±è²ç¹ç·å â ã§ãã¼ãã³ã°ããLMS_Notchãªãã¸ã§ã¯ãã調ã¹ã¾ããã
LMS_Notchãªãã¸ã§ã¯ãï¼AudioLMSDenoiseNotch_F32ï¼
LMS_Notchãªãã¸ã§ã¯ãã¯ãå¦ç¿ã¢ã«ã´ãªãºã ãä½ãè¾¼ããã¨ãã§ããSDRã®åªä½ç¹ãåºãæ©è½ã®ï¼ã¤ã¨æãã¾ããé½å¸ãã¤ãºãå¢ããä»æ¥ãèªç°å¢ã«åããã¦æé©åããã°æç¨ãªãªãã¸ã§ã¯ãã®ï¼ã¤ã«ãªãããããã¾ããã
å½¹å²
èªåãããå¦çãè¡ãä¿¡å·å¦çãªãã¸ã§ã¯ãã§ããååã®NoiseBlankerãªãã¸ã§ã¯ããéæ¬ çãªãã«ã¹ãã¤ãºã®é¤å»ã対象ã«ãã¦ããã®ã«å¯¾ãã¦ãLMS_Notchãªãã¸ã§ã¯ãã¯å®å¸¸çãªãã¤ãºã®é¤å»ã対象ã«ãã¦ãã¾ããé ãåãæããã¨ãåãæ§æã§ç½è²ãã¤ãºä½æ¸ã«ã使ãã¾ãã
ãã¼ã³ãã¤ãºã®ããã«ãé³å£°ä¿¡å·ãããæéçã³ãã¼ã¬ã³ã¹ï¼èªå·±ç¸é¢ï¼ãå¼·ããã¤ãºã®å ´åã¯ãèªåãããæ©è½ã¨ãã¦åãã¾ããé³å£°ä¿¡å·ãããã³ãã¼ã¬ã³ã¹ã®å¼·ããã¼ã³ãã¤ãºã«å¦ç¿é©å¿ããFIRãã£ã«ã¿ã«ãã£ã¦ãã¤ãºãé¸æåºåããå ¥åä¿¡å·ããå·®ãå¼ãã¦ãã¤ãºãé¤å»ãã¾ãã
å対ã«ãç½è²ãã¤ãºã®ããã«ãé³å£°ä¿¡å·ãããæéçã³ãã¼ã¬ã³ã¹ãå¼±ããã¤ãºã®å ´åã¯ããã¤ãºãããã³ãã¼ã¬ã³ã¹ãç¸å¯¾çã«å¼·ãé³å£°ä¿¡å·ãééãããããã«FIRãã£ã«ã¿ãå¦ç¿é©å¿ããã¾ããããã«ãããé³å£°ä¿¡å·ãé¸æåºåãã¦ãã¤ãºãä½æ¸ãã¾ãã
åè ããã¼ã³ãã¤ãºèªåããããå¾è ãç½è²ãã¤ãºä½æ¸ã®åä½ã«ãªãã¾ããä¸è¦ãç°ãªãæ©è½ã®ããã§ãããã³ãã¼ã¬ã³ã¹ç¹æ§ãå¼·ãä¿¡å·ã«FIRãã£ã«ã¿ãå調ããã¨ããã¢ã«ã´ãªãºã ã®åãã¯åãã§ãããã ããFIRãã£ã«ã¿ã®åºåã180度å¤ãããã¨ã«é ã®åãæããå¿ è¦ã§ãããªãã¸ã§ã¯ãã2éç´åã«ãã¦ãèªåãããã®å¾ã«ãã¤ãºä½æ¸ãä½ç¨ããããã©ããªãã®ããä¿¡å·é 延ã«è¦åãå¹æãããããã®ãããã¤ãºãä¿¡å·ãå ¨ã¦æ¶ãã¦ãã¾ãã®ããèå³ã®ããã¨ããã§ãã
ä¿¡å·å¦çé£éã®æ´æ°å¦ç
update()é¢æ°ã§ã¯ä»¥ä¸ã®ä¿¡å·å¦çãè¡ã£ã¦ãã¾ãã
- ãã¼ã¿ãããã¯ã®128ãµã³ãã«ã«ä»¥ä¸ã®å¦çãé次é©ç¨ã
ã»ãã£ã«ã¿ä¿æ°ã®1ã¤ã«Leakageï¼å¿å´ä¿æ°ãä¹ããï¼å¦çãé次é©ç¨ã
ã»é 延循ç°ãããã¡ã®æå¾å°¾ã«ãå ¥åãã¼ã¿ãããã¯ããæ°è¦ãã¼ã¿ãæ¿å ¥ã
ã»æ°è¦ãã¼ã¿ãåæ ããæ£è¦åãã¯ã¼ãè¨ç®ã
ã»FIRãã£ã«ã¿å é¨å¾ªç°ãããã¡ã®æå¾å°¾ã«ãé 延循ç°ãããã¡ã®æåé¨ã®ãã¼ã¿ãæ¿å ¥ã
ã»FIRãã£ã«ã¿å é¨å¾ªç°ãããã¡ã®ãã¼ã¿ã«FIRãã£ã«ã¿ä¿æ°ãã¿ããæ¯ã«ä¹ãã¦ç·åãåºåã
ã»å ¥åãã¼ã¿ã¨FIRãã£ã«ã¿åºåã®å·®åã¨ã©ã¼ãè¨ç®ã
ã»å·®åã¨ã©ã¼ããæ£è¦åå¦ç¿ä¿æ°ãè¨ç®ã
ã»FIRãã£ã«ã¿å é¨å¾ªç°ãããã¡ã®ãã¼ã¿ã«å¦ç¿ä¿æ°ãä¹ãã¦FIRãã£ã«ã¿ã®ä¿æ°ã«å ç®ããFIRãã£ã«ã¿ä¿æ°ãé©å¿å¦ç¿ã
ã»ãã¤ãºä½æ¸ã¢ã¼ãã®å ´åã¯FIRãã£ã«ã¿ã®åºåãLMS_Notchãªãã¸ã§ã¯ãã®åºåã«è¨å®ããèªåãããã¢ã¼ãã®å ´åã¯å·®åã¨ã©ã¼ãLMS_Notchãªãã¸ã§ã¯ãã®åºåã«è¨å®ã - 次ã®ä¿¡å·å¦çãªãã¸ã§ã¯ãã¸ã®ãã¼ã¿éä¿¡ã
- ã¡ã¢ãªã»ãããã¯ã®è§£æ¾ã
注æï¼FIRãã£ã«ã¿ã®ä¿æ°ã¨å é¨å¾ªç°ãããã¡ã®ãã¼ã¿ã¯ã次åã®ä¿¡å·å¦çé£éèµ·åã«åãã¦ä¿æãããã
ä¿¡å·å¦çé£éã®ãã¼ã¿ãããã¯åä½ã®åè
IQä¿¡å·ãã¼ã¿ã¯ã128ãµã³ãã«ã®ãããã¯åä½ã§ä¿¡å·å¦çé£éã®åãªãã¸ã§ã¯ãã«éä¿¡ããã¦å¦çããã¾ããé ãã°ããªããããã®LMS_Notchãªãã¸ã§ã¯ãã®èª¿æ»æ®µéã§èªèãã¾ããã
é¡ãã¨ãã³ã¼ãã£ãã¯ããeDMAã§è»¢éãããIQä¿¡å·ãã¼ã¿ã128ãµã³ãã«ã®ãããã¯åä½ã«ãªãã¾ãããã£ã¦ãä¿¡å·å¦çé£éãèµ·åãããå¨æ³¢æ°ã¯ã98kHz / 2 / 128 = 375Hzã¨ãªããå¨æã¯2.7msecã«ãªãã¾ãããã¼ã¿ãããã¯ã1ãµã³ãã«ã ãã®æ¥µç«¯ãªå ´åã¯å¨æã21μsecã«ãªããã¨ãããCPUã®å²è¾¼ã¿è² è·ã«ã¯å¤§ããªéããçãã¾ãããã¼ã¿ãããã¯åä½ã§ä¿¡å·å¦çãè¡ãã®ã¯ãCPUã®è² è·ã®å¤åããã£ã¦ãããªã¼ãã£ãªå¦çã®ã¹ããªã¼ãã³ã°ãéåããªãããã«ããå¦ç½®ã¨æãã¾ãã
ãããã¯é·ã128ãµã³ãã«ã§ãããã¨ã¯ã16bitæ´æ°ã®Teensy Audio Libraryã®ãã£ãã©ã«ãã®ä»æ§ãè¸è¥²ãã¦ãã¾ããå ç¥Teensy Audio Libraryã¯æ¢ã«ä»»æã®ãããã¯é·ã«å¯¾å¿ãã¦ãã¾ãããããã32bitæµ®åå°æ°ç¹ã®OpenAudio_ArduinoLibraryã使ç¨ããKeiths' SDRã§ã¯ããããã¯é·ã128ãµã³ãã«ããå¤ããªãããã«æ³¨æã³ã¡ã³ããä»ãã¦ãã¾ãã
const int  audio_block_samples = 128;      // do not change this!
ã©ããã®ãªãã¸ã§ã¯ãã§ã128ãããã¼ãã³ã¼ãã£ã³ã°ããã¦ããï¼ã³ã³ãã¤ã«å¾ã«å¤æ´ã§ããªãæ°å¤ã¨ãã¦ã³ã¼ãã«åãè¾¼ã¾ãã¦ããï¼ãã¨ãçç±ã¨æããã¾ããTeensy 4.1ã®è¨ç®è½åã¯åä¸ãã¦ããããããããã¯é·ãçããã¦ãè¯ãã¨æãã¾ããããã¼ãã³ã¼ãã£ã³ã°ã§ã¯è´ãæ¹ãªãã§ãã
LMS_Notchãªãã¸ã§ã¯ãã¯ãã¼ãã³ã¼ãã£ã³ã°ã»ãªãã¸ã§ã¯ãã®ï¼ã¤ã§ããã128ãåãè¾¼ãã foræã§FIRãã£ã«ã¿è¨ç®ãè¡ã£ã¦ãã¾ããLMS_Notchãªãã¸ã§ã¯ãã§ã¯ãCMSIS DSP Libraryã®FIRãã£ã«ã¿é¢æ°ã§ã¯ãªãããªãªã¸ãã«ã»ã³ã¼ãã§è¨ç®ãã¦ãã¾ããé©å¿å¦ç¿æ©è½ãçµã¿è¾¼ãããã¨æããã¾ãã
LMSã¢ã«ã´ãªãºã
æ´å²
LMS_Notchãªãã¸ã§ã¯ãã¯ãLMSï¼Least mean squaresï¼æå°å¹³åäºä¹ï¼å¦ç¿ã¢ã«ã´ãªãºã ã«åºã¥ãé©å¿ãã£ã«ã¿ãå称ã®ç±æ¥ã«ãªã£ã¦ãã¾ããã½ã¼ã¹ã³ã¼ãã®ã³ã¡ã³ããåç §ããã¨ãä»å¹´ã«å ¥ã£ã¦ããï¼January 2022ï¼ãW7PUAå± Bob Larkin OMã«ãã£ã¦å®è£ ãããæ°ãããªãã¸ã§ã¯ãã®ããã§ãã1999å¹´ã«çºè¡¨ãããDSP-10ï¼All-Mode 2m Transceiverï¼ããã®ç§»æ¤ã§ã¯ãªããã¨æããã¾ãã
æ´å²ãç´è§£ãã¨ããã¼ã¹ã¨ãªã£ã¦ããLMSã¢ã«ã´ãªãºã 㯠Bernard Widrowå士ãã«ãã£ã¦1960å¹´ã«ææ¡ããããã®ã¨ã®ãã¨ã§ããå士ã¯ãIEEE Centennial Medal (1984)ãIEEE Alexander Graham Bell Medal (1986)ãIEEE Neural Networks Pioneer Medal (1991)ãIEEE Millennium Medal (2000)ãBenjamin Franklin Medal (2001)ãæä¸ããã¦ããã¬ã¸ã§ã³ãã§ããLMSã¢ã«ã´ãªãºã çºè¦ã®çµç·¯ã«ã¤ãã¦ã¯ã次ã®æç®ã«ã¦å士èªãå顧ããã¦ãã¾ãã
Widrowå士ã¯å¦ä½è«æãæ¸ãä¸ããå¾ã®MITã®æå£ã«ç«ã¤ã¾ã§ã®ä½æã«ãå½¼ã®æåãªãã¼ããã¹ä¼è°ï¼1956/7-8ï¼ã«åå ããã¦ããã¨ã®ãã¨ãå½¼ã®å°ã§äººå·¥ç¥è½ã夢è¦ã¦ãã人éã®è£¾éã®åºãã«ã¯é©ãã¾ãããã¼ããã¹ä¼è°ã«ã¯ãã¹ãã¯ã®è´è¬è ã¨ãã¦åå ããã¦ããããã§ãããå¾ã«IEEE Neural Networks Pioneer Medalãæä¸ããã¦ãã¾ãã
Stanford大ã«ç§»ã£ã¦ããæ¸ãä¸ãã1960å¹´ã®åèè«æã§ã¯LMSã¢ã«ã´ãªãºã ããNeuronãã¨ããè¨èã§è«ãã¦ããï¼ä¸è¨Fig. 9åç §ï¼ããã¼ããã¹ä¼è°ã§è§¦çºãããå¯è½æ§ãæ¨æ¸¬ããã¾ãããã£ã¨ããä¸è¨å顧é²ã§ã¯ã2å¤åNeuronå°å ¥ã®å¥æ©ã¯MITæ代ã®ä¿®å£«é¢çã®ææ¡ã¨ãããã¨ã«ãªã£ã¦ãã¾ããææ¥éä¸æ³ã¢ã«ã´ãªãºã ãå®æããã®ã¯ãStanford大ã«ç§»ã£ã¦ããã®å士é¢çã®æå°ã®éç¨ã ã£ãããã§ããåèè«æã¯ãã®å士é¢çã¨ã®å ±èã«ãªã£ã¦ãã¾ãã
1959å¹´ã®é±æ«ã«ãã¼ãã·ã§ããã§è²·ãéããé¨åã§è£½ä½ããã¢ããã°ã³ã³ãã¥ã¼ã¿ï¼ADALINEï¼ã§ã¢ã¤ãã£ã¢ãæ¤è¨¼ããã¨ããã¨ãã½ã¼ãã«ãé©ãã¾ãã Intel 4004ããªãªã¼ã¹ãããã®ã¯1971å¹´ã§ãã1959å¹´å½æã¯ãé»æ¿ã¨ã¢ããã°ã³ã³ãã¥ã¼ã¿ãç 究ãã¼ã«ã ã£ããã§ããã
ãã¤ãºé¤å»ç¨FIRãã£ã«ã¿ã®LMSã¢ã«ã´ãªãºã
ãã¤ãºé¤å»ç¨FIRãã£ã«ã¿ã®LMSã¢ã«ã´ãªãºã ã«ã¤ãã¦ã¯ãä¸è¨QEXèªã«è©³ãã解説ãããã¾ãã
Steven E. Reyer, WA9VNJ, and David L. Hershberger, W9GR: âUsing The LMS Algorithm For QRM and QRN Reduction,â QEX, September 1992, pp 3-8.
ãã¤ãºé¤å»ç¨FIRãã£ã«ã¿ã®LMSã¢ã«ã´ãªãºã ã¯ãäºåã®è¨å®ãå¿ è¦ãªãã©ã¡ã¼ã¿ã4ã¤æã¡ã¾ããæéçã³ãã¼ã¬ã³ã¹ç¹æ§ãæã¤çä¼¼åç §ä¿¡å·ãä½ãããã®delayï¼é 延ãããã¡é·ï¼ãFIRãã£ã«ã¿ã®ã¿ããæ°ããã£ã«ã¿ä¿æ°ãæ´æ°ããéã®å¦ç¿é度ãå®ããbetaï¼è«æã§ã¯Î¼ï¼ãä¿¡å·ãç¡ãã¨ãã«ãã£ã«ã¿å¹æã漸è¿çã«OFFã«ããå¿å´ï¼ä¿æ°decayã§ããLMS_Notchãªãã¸ã§ã¯ãã§ã¯ãããã4ã¤ã®ãã©ã¡ã¼ã¿ã®åæå¤ã¯ä»¥ä¸ã®ããã«è¨å®ããã¦ãã¾ãã
- delay ãããã¡é·ã = 4ï¼Max. 16ï¼
- FIRãã£ã«ã¿ã®ã¿ããæ° = 64ï¼Max. 128ï¼
- beta = 0.03
- decay = 0.995ãï¼1-decay = 0.005ï¼
éããã¤ãºããã£ã³ã»ã«ããããããã«betaã大ãããããã¨ããã§ãããçºæ£ãé²ãããã«ã¯åååé²ãå¿ è¦ã«ãªãã¾ããbetaã®æé©å¤ã¯èªå±ã®ãã¤ãºç°å¢ã«ä¾åãããããã¢ã«ã´ãªãºã ãèªååãã¦ãæé©ãªå¦ç¿é度ãè¦åºãã¨ããéç¨ã¹ãã«ã®ä½å°ã¯æ®ãããã§ãã
èªåãããã®å¯¾è±¡ã«ãªããã¼ã³ã»ãã¤ãºã«å¯¾ãã¦ãé³å£°ä¿¡å·ã¯ç¸å¯¾çã«ã³ã¼ãã¬ã³ã¹ï¼ç¸é¢ï¼ãå¼±ãã¨è¦ãªãã¾ããéã«ããã¤ãºä½æ¸ã®å¯¾è±¡ã«ãªãç½è²ãã¤ãºã«å¯¾ãã¦ã¯ãé³å£°ä¿¡å·ã¯ç¸å¯¾çã«ã³ã¼ãã¬ã³ã¹ãå¼·ãã¨è¦ãªãã¾ããå ·ä½çã«ã¢ã«ã´ãªãºã ã®åä½ãåãæããããã«ã¯åºåãåãä½ç½®ãå¤ããæéçã³ãã¼ã¬ã³ã¹ãæã¤çä¼¼åç §ä¿¡å·ãä½ãããã®delayãå¦ç¿é度ãå®ããbetaã調æ´ããå¿ è¦ãããã¾ãã
èªåãããã®ã·ãã¥ã¬ã¼ã·ã§ã³
é³å£°ãã¼ã¿
PCä¸ã§ããã¤ãºé¤å»ç¨FIRãã£ã«ã¿ã®LMSã¢ã«ã´ãªãºã ã®ã·ãã¥ã¬ã¼ã·ã§ã³ã試ã¿ã¾ãããbitæ°çãTeensy 4.1ã«åããè¾¼ãã å³å¯ãªã·ãã¥ã¬ã¼ã·ã§ã³ã§ã¯ããã¾ããã
試é¨ç¨ã®é³å£°ãã¼ã¿ãä¸è¨ã«ç¤ºãã¾ããæ¯å¹ ã¯16bitæ´æ°æ大å¤ï¼32,767ï¼ã§æ£è¦åãã¦ããã¾ãããµã³ããªã³ã°å¨æ³¢æ°ã¯ã48kHzã§ã¯ãªããCDã¯ãªãªãã£ã®44.1kHzã§ããç´90ä¸ç¹ï¼21ç§ï¼ã®é³å£°ãã¼ã¿ãããä¿¡å·ãé£ç¶ããæéãæãåºãã¦å©ç¨ãã¾ããã
ã·ãã¥ã¬ã¼ã·ã§ã³ã«ç¨ããé³å£°ãã¼ã¿
ä¸è¨ã®é³å£°ãã¼ã¿ã®100,000ç¹ç®ãå§ç¹ã¨ãã¦1,024ç¹ï¼23msecï¼ãåãåºããèªåãããã®ã·ãã¥ã¬ã¼ã·ã§ã³ç¨ãã¼ã¿ã¨ãã¦å©ç¨ãã¾ãããåãåºããé³å£°ãã¼ã¿ã®æç³»å波形ãå¨æ³¢æ°ã¹ãã¯ãã«ãèªå·±ç¸é¢é¢æ°ãä¸è¨ã«ç¤ºãã¾ãã
åç §ä¿¡å·ãä½ãé 延ãããã¡ã®ãµã¤ãºã¯ãã£ãã©ã«ãã§4 ç¹ï¼91μsecï¼ã§ããèªå·±ç¸é¢é¢æ°ãããå ã4ç¹ã®é 延ã§ã¯é³å£°ãã¼ã¿ã®ç¸é¢ãã¾ã ã¾ã é«ããã¨ãåããã¾ãããã¼ã³ãã¤ãºã¨ã³ã¼ãã¬ã³ã¹ã®å¼·ãã«ããã¦ãFIRãã£ã«ã¿ã®é©å¿ã競ããã¨ã«ãªãã®ã§ã¯ãªããã¨å¿é ããã¾ãã
ã·ãã¥ã¬ã¼ã·ã§ã³ã«ç¨ãããã¼ã³ãã¤ãº
é³å£°ä¿¡å·ã®æ大æ¯å¹ ã«å¯¾ãã¦3åã®æ¯å¹ ãæã¤1kHzã®ãã¼ã³ãã¤ãºãå ãã¦ãã·ãã¥ã¬ã¼ã·ã§ã³ç¨ã®è©¦é¨ãã¼ã¿ã¨ãã¾ãããæç³»å波形ãã¼ã¿ããã³å¨æ³¢æ°ã¹ãã¯ãã«ãä¸è¨ã«ç¤ºãã¾ãã
é³å£°ä¿¡å·ã®æç³»å波形ãã¼ã¿ã¯ãã¼ã³ãã¤ãºã«åããã¦ãã¾ãã¾ããã
å¨æ³¢æ°ã¹ãã¯ãã«ã§ã¯ã1kHzã®å¨æ³¢æ°ã®ã¿å¼·åº¦ã伸é·ããã¨æã£ã¦ãã¾ãããã1kHzã®å¨å²ã®ãµãã¼ãé¨ã強度ã大ãããªã£ã¦ãã¾ããã¾ãã5kï½8kHzã®é«å¨æ³¢é åã®å¼·åº¦ã大ãããªã£ã¦ãã¾ãã
1kHzã®ãã¼ã³ãã¤ãºã®å¨æã1024ç¹ã¨ä¸è´ãã¦ããªããããå¢çã§ä¸é£ç¶ç¹ãçºçãã¦ããã®ããããã¾ãããä¸é£ç¶ç¹ã解æ¶ããçªé¢æ°ããã£ãã©ã«ãã§é©ç¨ããã¦ããã¨æã£ãã®ã§ãããä»åå©ç¨ããnumpyã®ffté¢æ°ã®ããã¥ã¢ã«ã«ã¯è¨åãç¡ãããã§ããã
èªåãããã®ã·ãã¥ã¬ã¼ã·ã§ã³çµæ
åç §ä¿¡å·ãä½ãdelayãããã¡ããã³FIRãã£ã«ã¿ã®å é¨ãããã¡ã®åæå¤ã¯ã¼ãã¨ãã¦ã1024ç¹ã®ãã¼ã³ãã¤ãºãéç³ããé³å£°ä¿¡å·ãã¼ã¿ã«å¯¾ãã¦èªåãããã®ã·ãã¥ã¬ã¼ã·ã§ã³ãè¡ãã¾ãããã¢ã«ã´ãªãºã ã®ãã©ã¡ã¼ã¿ã¯ãLMS_Notchãªãã¸ã§ã¯ãã®åæå¤ã«åããã¦ä¸è¨ã¨ãã¾ããã
- delay ãããã¡é·ã = 4
- FIRãã£ã«ã¿ã®ã¿ããæ° = 64
- beta = 0.03
- decay = 0.995ãï¼1-decay = 0.005ï¼
FIRãã£ã«ã¿ä¿æ°ã®å¦ç¿éç¨ãä¸è¨ã«ç¤ºãã¾ããå·¦ï¼ï¼ï¼ã¯å ¨1024ã¹ããããå³ï¼ï¼ï¼ã¯æåã®100ã¹ãããã®æ¡å¤§ã§ãã
1024ã¹ãããç®ã§ãå³å¯ã«ã¯åæãã¦ãã¾ããããç´200ã¹ãããã§å¤§ããªå¤åã¯ç¡ããªã£ã¦ãã¾ããéä¸ã§èåãè¦ãããã®ã¯ãdecayãã©ã¡ã¼ã¿ã«ããå¿å´ä½ç¨ã¨æããã¾ãã
å³ï¼ï¼ï¼ã®æåã®100ã¹ãããã®æ¡å¤§ãè¦ãã¨ããããã¡åæå¤ã¼ãã«ããé ãæéã®å¾ãä¸æã«ãã©ã¹ã®ä¿æ°ãå¢å¤§ãã¦ããã¾ãã20ã¹ãããå¾åã§ãã¤ãã¹ã®ä¿æ°ãåºç¾ãããã®ä¸ãã50ã¹ãããéãã«ãã©ã¹ã«è»¢ããä¿æ°ãåºã¦ããããã§ãã
æå¾ã®1024ã¹ãããç®ã®FIRãã£ã«ã¿ä¿æ°ã¨ãã®å¨æ³¢æ°ç¹æ§ãä¸è¨ã«ç¤ºãã¾ãã
å³ï¼ï¼ï¼ã®å¨æ³¢æ°å¿çããã1kHzã®ãã¼ã³ãã¤ãºãééãããããã«FIRãã£ã«ã¿ãé©å¿ãã¦ãããã¨ãåããã¾ãããã ããè¥å¹²1kHzããé«ãã«ã·ãããã¦ãã¾ããã¾ããã·ã£ã¼ããªãããç¹æ§ã§ã¯ãªããæå¾ ãã¦ããããããã¼ããªç¹æ§ã示ããå¤å°ã®é³å£°ãã¼ã¿ãéããã«æå¶ãã¦ãã¾ããããªç¹æ§ã¨ãªãã¾ããã
å·¦ï¼ï¼ï¼ã®FIRãã£ã«ã¿ä¿æ°ï¼ã¤ã³ãã«ã¹å¿çï¼ãè¦ãã¨ãèªå·±ç¸é¢é¢æ°ã®æ§ç¸ã示ãã¦ãããã¨ã«æ°ä»ãã¾ãã1kHzã®ãã¼ã³ãã¤ãºã®åå¨æã¯22 samplesã¨ãªããFIRãã£ã«ã¿ä¿æ°ã®æ¥µå°å¤ã¨è¿ãä½ç½®ã«ãªãã¾ãã1å¨æã¯44 samplesã«ãªãã極大å¤ã¨è¿ãä½ç½®ã«ãªãã¾ãã
ä¸è¨ã«ãã¼ã³ãã¤ãºã®èªå·±ç¸é¢é¢æ°ã示ãã¾ããåèã®ãããé³å£°ä¿¡å·ã®èªå·±ç¸é¢é¢æ°ã横軸ãFIRãã£ã«ã¿ã®ã¿ããæ°ã«åããã¦åæ²ãã¾ãã
å·¦ï¼ï¼ï¼ã®ãã¼ã³ãã¤ãºã®èªå·±ç¸é¢é¢æ°ã®æ¥µå°å¤ã¨æ¥µå¤§å¤ã®ä½ç½®ããFIRãã£ã«ã¿ä¿æ°ã®æ¥µå°å¤ã¨æ¥µå¤§å¤ã®ä½ç½®ã¨è¿ããã¨ãåããã¾ããå³ï¼ï¼ï¼ã®é³å£°ä¿¡å·ã¯ãã®éãã§ã¯ããã¾ãããLMSã¢ã«ã´ãªãºã ã®æ°çæé©è§£ã§ããWiener解ã¯èªå·±ç¸é¢é¢æ°ã¨ç¸äºç¸é¢é¢æ°ããè¨ç®ãããã¨ã®ãã¨ãªã®ã§ã詳細ã¯ä¸èãªããä½ããã®é¢ä¿ãããã®ããããã¾ããã
1kHzãã¼ã³ãã¤ãºãå ããé³å£°ä¿¡å·ã«èªåããããé©ç¨ããå¾ã®æç³»å波形ãã¼ã¿ãä¸è¨ã«ç¤ºãã¾ããFIRãã£ã«ã¿ä¿æ°ã®å¦ç¿éç¨ã§è¦ãããã«ãç´200ã¹ãããããå¾ã¯ãã¼ã³ãã¤ãºãæå§ããã¦ãã¾ãããã ããé³å£°ä¿¡å·ã®æ¯å¹ ãå°ãããªã£ã¦ããããã§ãã
ãã¼ã³ãã¤ãºãååã«æå§ããã400 sampleããå¾ãã®ãã¼ã¿ãåãåºããå¨æ³¢æ°ã¹ãã¯ãã«ã調ã¹ãçµæãä¸è¨ã«ç¤ºãã¾ãã
ä¸è¨ã®èªåãããé©ç¨åã®å¨æ³¢æ°ã¹ãã¯ãã«ã¨æ¯è¼ããã¨ã1kHzãã¼ã³ãã¤ãºã®å¼·åº¦ã¯ãç´17dBãã8dBã¾ã§11dBcä½æ¸ãã¦ãã¾ãã5kï½8kHzã®é«å¨æ³¢é åã¸ã®å½±é¿ãæ¶æ» ãã¦ãã¾ãããã ãã1kHz以ä¸ã®é³å£°ã¹ãã¯ãã«ã®å¼·åº¦ãå°ãããªã£ã¦ãã¾ããã¾ãã2kHzå¼·ã«ãã²ã¤ã³ã®è½ã¡è¾¼ã¿ãããã¾ãããããããæç³»å波形ãã¼ã¿ã®æ¯å¹ ã®ä½ä¸ã«å¼å¿ãã¦ãããã®ã¨æããã¾ãã
äºããã¼ã³ãã¤ãºã®å¨æ³¢æ°ãåãã£ã¦ããå ´åã¯ãåç §ä¿¡å·ã®å¨æ³¢æ°ãåºå®ãã¦ãä½ç¸ã¨æ¯å¹ ã®ã¿é©å¿ãããããã«æ§æããæ¹ãè¯ãããããã¾ãããSDRãã½ããã¦ã§ã¢ãå«ãã¦èªå®¶ã§æ§ç¯ããã°ããã³ãéããã¼ãã¼ãã«ä»£ãã¦ããã®ãããªå®é¨è©¦è¡ãèªç±ã«æ¤è¨ã§ããããã«ãªãã¾ãã
ãã¤ãºä½æ¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³
ã·ãã¥ã¬ã¼ã·ã§ã³ã«ç¨ããé³å£°ãã¼ã¿
äºåã®è©¦è¡é¯èª¤ã«ããããã¼ã³ãã¤ãºã«æ¯ã¹ã¦ã³ã¼ãã¬ã³ã¹ã®å°ããé³å£°ãã¼ã¿ã«FIRãã£ã«ã¿ãé©å¿ãããããã«ã¯å¦ç¿ã¹ããããé·ããªãã¨æ¨å®ãããããããã¼ã³ãã¤ãºã®ã·ãã¥ã¬ã¼ã·ã§ã³ãããé·ãåºéã®é³å£°ãã¼ã¿ãåãåºãã¾ãããå ·ä½çã«ã¯ã170,000ç¹ç®ãå§ç¹ã¨ãã¦4,096ç¹ï¼93msecï¼ãåãåºãããã¤ãºä½æ¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³ç¨ãã¼ã¿ã¨ãã¦å©ç¨ãã¾ãããåãåºããé³å£°ãã¼ã¿ã®æç³»å波形ãå¨æ³¢æ°ã¹ãã¯ãã«ãèªå·±ç¸é¢é¢æ°ãä¸è¨ã«ç¤ºãã¾ãã
åãåºãåºéãé·ãããçµæãé³å£°ä¿¡å·ã«ã¯ï¼ã¤ã®é³ç´ ãå«ã¾ãã¦ããããã«è¦ãã¾ããå¨æ³¢æ°ã¹ãã¯ãã«ã¯å解è½ãä¸ããã¾ããããä½åã®æåã¯èªåãããã®è©¦é¨ãã¼ã¿ã«ä¼¼ã¦ããã¨æãã¾ããé«åã¯3kHzã¨6.5kHzä»è¿ã®ä¿¡å·å¼·åº¦ãé«ããªã£ã¦ãã¾ããèªå·±ç¸é¢é¢æ°ã¯é³ç´ ã®éãããå¨æãç°ãªãã¾ããã大å¢ã¯èªåãããã®è©¦é¨ãã¼ã¿ã«ä¼¼ã¦ãã¾ãã
ã·ãã¥ã¬ã¼ã·ã§ã³ã«ç¨ããç½è²ã¬ã¦ã¹ãã¤ãº
é³å£°ä¿¡å·ã®æ大æ¯å¹ ã«å¯¾ãã¦1/10ã®æ¯å¹ ãæã¤ç½è²ã¬ã¦ã¹ãã¤ãºãå ãã¦ãã·ãã¥ã¬ã¼ã·ã§ã³ç¨ã®è©¦é¨ãã¼ã¿ã¨ãã¾ãããæç³»å波形ãã¼ã¿ããã³å¨æ³¢æ°ã¹ãã¯ãã«ãä¸è¨ã«ç¤ºãã¾ãã
é³å£°ä¿¡å·ã®æç³»å波形ãã¼ã¿ã«é«å¨æ³¢ä¿¡å·ãä»å ãããã¤ã¡ã¼ã¸ã§ãã
å¨æ³¢æ°ã¹ãã¯ãã«ã§ã¯ã4kHz以ä¸ã®é«åã®å¼·åº¦ããã¤ãºã§æã¡ä¸ãã£ã¦ãã¾ãã1.2kHz以ä¸ã®ä½å¨æ³¢å¸¯åã§ã¯ãã¤ãºã®å½±é¿ãåãã¦ãã¾ããã
ãã¤ãºä½æ¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³çµæ
åç §ä¿¡å·ãä½ãdelayãããã¡ããã³FIRãã£ã«ã¿ã®å é¨ãããã¡ã®åæå¤ã¯ã¼ãã¨ãã¦ã4096ç¹ã®ç½è²ã¬ã¦ã¹ãã¤ãºãéç³ããé³å£°ä¿¡å·ãã¼ã¿ã«å¯¾ãã¦ãã¤ãºä½æ¸ã®ã·ãã¥ã¬ã¼ã·ã§ã³ãè¡ãã¾ãããã¢ã«ã´ãªãºã ã®ãã©ã¡ã¼ã¿ã¯ã試è¡é¯èª¤ã§èª¿æ´ãä¸è¨ã¨ãã¾ããã
- delay ãããã¡é·ã = 4
- FIRãã£ã«ã¿ã®ã¿ããæ° = 128
- beta = 0.015
- decay = 0.995ãï¼1-decay = 0.005ï¼
delayãããã¡é·ãã¨decayå¿å´ä¿æ°ã¯èªåãããã¨åãã§ãããFIRãã£ã«ã¿ã®ã¿ããæ°ã2åã®128ï¼æ大ï¼ã¨ããå¦ç¿ä¿æ°betaã1/2ã®0.015ã«è¨å®ãã¾ããã
FIRãã£ã«ã¿ä¿æ°ã®å¦ç¿éç¨ãä¸è¨ã«ç¤ºãã¾ããå·¦ï¼ï¼ï¼ã¯å ¨4096ã¹ããããå³ï¼ï¼ï¼ã¯æåã®100ã¹ãããã®æ¡å¤§ã§ãã
4096ã¹ãããç®ã§ãåæãã¦ãã¾ããããæåã®100ã¹ãããã ãæ¡å¤§ãã¦è¦ãã¨ã100ã¹ãããã§åæãã¦ããããã«è¦ãã¾ãã
æå¾ã®4096ã¹ãããç®ã®FIRãã£ã«ã¿ä¿æ°ã¨ãã®å¨æ³¢æ°ç¹æ§ãä¸è¨ã«ç¤ºãã¾ãã
å³ï¼ï¼ï¼ã®å¨æ³¢æ°å¿çããã1.2kHz以ä¸ã®é«åãå¾ã ã«çµãããã«FIRãã£ã«ã¿ãé©å¿ãã¦ãããã¨ãåããã¾ãããã ãã1.2kHz以ä¸ã®ä½åãå¹³å¦ã§ã¯ããã¾ãããé³ç´ ã®æ°ãé«ã 2åã®é³å£°ãã¼ã¿ã«é©å¿ããçµæã¨æãã¾ããããã«é·æéå¦ç¿ãããã¨ã§å¹³å¦ãªç¹æ§ã«è¿ã¥ãå¯è½æ§ã¯ããã¾ãã
å·¦ï¼ï¼ï¼ã®FIRãã£ã«ã¿ä¿æ°ï¼ã¤ã³ãã«ã¹å¿çï¼ãè¦ãã¨ããã«ã¿é¢æ°ã®æ§ç¸ã示ãã¦ãããã¨ã«æ°ä»ãã¾ããç½è²ãã¤ãºã®èªå·±ç¸é¢é¢æ°ã¯ãçè«éããªããã«ã¿é¢æ°ã«ãªãã¨æãã¾ãã
ä¸è¨ã«ç½è²ã¬ã¦ã¹ãã¤ãºã®èªå·±ç¸é¢é¢æ°ã示ãã¾ããåèã®ãããé³å£°ä¿¡å·ã®èªå·±ç¸é¢é¢æ°ãåæ²ãã¾ãã
å·¦ï¼ï¼ï¼ã®ç½è²ã¬ã¦ã¹ãã¤ãºã®èªå·±ç¸é¢é¢æ°ããã«ã¿é¢æ°ã«ãªã£ã¦ãããã¨ãåããã¾ãããã ããFIRãã£ã«ã¿ä¿æ°ï¼ã¤ã³ãã«ã¹å¿çï¼ããã«ã¿é¢æ°ã«ãªã£ã¦ãã¾ãã¨ãå ¥åãã¼ã¿ããã®ã¾ã¾åºåããã¦ãã¾ãããããã£ã«ã¿å¹æã¯ãªããªãã¾ããFIRãã£ã«ã¿ä¿æ°ã®ã¹ãã¼ãé¨åã®ç³ã¿è¾¼ã¿æ¼ç®ã§ç§»åå¹³åå¦çãè¡ããç½è²ã¬ã¦ã¹ãã¤ãºãæã¡æ¶ãã¦é³å£°ä¿¡å·ã®ã¿åºåããããã«é©å¿å¦ç¿ãé²ãã§ããã¨æãã¾ãã
ç½è²ã¬ã¦ã¹ãã¤ãºãå ããé³å£°ä¿¡å·ã«èªåãã¤ãºä½æ¸ãé©ç¨ããå¾ã®æç³»å波形ãã¼ã¿ãä¸è¨ã«ç¤ºãã¾ããç®è¦ã«ããå®æ§çãªå°è±¡ã«ãªãã¾ããã大é¨åã®ãã¤ãºã¯åæ¸ããã¦ããããã§ãããã ããé³å£°ä¿¡å·ã®æ¯å¹ ã75%ç¨åº¦ã«ä½æ¸ããã¦ãã¾ã£ãããã§ãã
å¨æ³¢æ°ã¹ãã¯ãã«ã調ã¹ãçµæãä¸è¨ã«ç¤ºãã¾ãã
ä¸è¨ã®èªåãã¤ãºä½æ¸é©ç¨åã®å¨æ³¢æ°ã¹ãã¯ãã«ã¨æ¯è¼ããã¨ã4kHz以ä¸ã®é«åã®ãã¤ãºãä½æ¸ããã¦ãããã¨ãåããã¾ãã1.2kHz以ä¸ã®é³å£°ä¿¡å·ã®å¼·åº¦ã¯å¤åãç¡ãããã§ãããã ãã3kHzã¨6.5kHzä»è¿ã®é³å£°ä¿¡å·ã®å¼·åº¦ãä½æ¸ããã¦ãã¾ããããããé³å£°ä¿¡å·ã®æç³»å波形ã®æ¯å¹ ã75%ç¨åº¦ã«ä½æ¸ããã¦ãã¾ã£ãçç±ããããã¾ãããä»åãåçé³ã«ã¯å¤æãã¦ãã¾ããããé³å£°ã®ä¼¸ã³ãã¡ãªããªãä½æ¸ããã¦ãã¾ã£ã¦ããããããã¾ããã
ãã¤ãºä½æ¸ã®å¹æã¯æå¾ ã§ãã¾ãããå®ç§ã§ã¯ãªãã工夫ã®ä½å°ãæ®ããã¦ããã»ã»ã»ã¨ããæãã§ããããã
ãã¤ãºä½æ¸æ©è½ã®å±é
NR0Vå±Warren C. Pratt OMããWDSPã¨ç§°ããSDRã®ããã®open-source Digital Signal Processing libraryãgithubã«å ¬éããã¦ãã¾ããçµç·¯ãè¨ããæ å ±ãå°ãªããä¸ç¢ºããªã®ã§ãããOpenHPSDRï¼High Performance SDRï¼ã®ããã«éçºãããmcHF QRP transceiverã®firmwareã§ããUHSDRï¼UniversalHamSDRï¼çã«ãåå©ç¨ããã¦ããããã§ãã
WDSPã«ã¯LMS Noise Reductionã®ä»ã«ãSpectral Noise Reductionãç¨æããã¦ãã¾ããæªèªã§ãããå°ãæã®1984å¹´ã®ä¸è¨åèæç®ãå¼ç¨ããã¦ãã¾ããåå°ä½ã®é²æ©ã«ãã£ã¦ãããããæã®å±ãæã«æ¥ãã¢ã«ã´ãªãºã ã¨ããæãã§ããããã»ã»ã»ã
Yariv Ephraim and David Malah, "Speech Enhancement Using a Minimum MeanâSquare Error ShortâTime Spectral Amplitude Estimator," 1984.
The WDSP Guide Using WDSP â for Software Developersã«ã¯ãä¿¡å·ãFFTã§å¨æ³¢æ°é åã«å¤æããå¾ãå¨æ³¢æ°binæ¯ã«é³å£°ä¿¡å·ã¨ãã¤ãºã®å¼·åº¦ãæ¨å®ãã¦gainã調æ´ããã¨è¨ããã¦ãã¾ããé³å£°ä¿¡å·ãã¬ã¦ã¹åå¸ãããã¯ã¬ã³ãåå¸ã§æ¨å®ããã¨ã®ãã¨ã§ããããã®ãããªå峰対称åå¸ã®ä»®å®ã§è¯ãã®ãå°ãæççã«æãã¾ããé³å£°ä¿¡å·ã¨ãã¤ãºã®å¼·åº¦ã®æ¨å®ã課é¡ã§ããããããä¸æãè¡ããªããä»åã®ã·ãã¥ã¬ã¼ã·ã§ã³ã§èª²é¡ã«ãªã£ã3kHzã¨6.5kHzä»è¿ã®é³å£°ä¿¡å·ã®å¼·åº¦ä½æ¸ã解æ¶ã§ããããããã¾ããã
Keiths' SDRã®ä»ã¾ã§è¦ã¦ããä¿¡å·å¦çãªãã¸ã§ã¯ãã¯ãå ¨ã¦æéé åã§å¦çããã¦ãã¾ããï¼å®ã¯æå¾ã®FilterConvã ãã¯å¨æ³¢æ°é åã®å¦çãªãã¸ã§ã¯ãã§ããï¼ä¸æ¹ãåãTeensy 4.1ãç¨ããããä¸ã¤ã®SDRããã¸ã§ã¯ãã§ããT41-EPã¯ãå¯¾ç §çã«ä¸æ ¸ã®ä¿¡å·å¦çãå¨æ³¢æ°é åã§å®è¡ãã¦ãã¾ããã³ã¼ãã¯ã¾ã è¦ã¦ãã¾ããããä¸è¨è§£èª¬æ¬ã«ã¯ãUHSDRã®Spectral Noise Reductionãå®è£ ãããæ¨ã®è¨è¿°ãããã¾ãã転ãã¦ãKeiths' SDRã«ãå®è£ ã§ãããã§ããã
Â