
ÆäÖУ¬iΪÈý½ÇÂ˲¨Æ÷µÄ¸öÊý£¬±¾ÏµÍ³Ñ¡PΪ16£¬F(k)Ϊ¸÷¸öÂ˲¨Æ÷µÄÊä³öÊý¾Ý£¬MΪÊý¾Ý³¤¶È¡£
3£®3£®4 ÓïÒôÐźŵÄģʽƥÅäºÍѵÁ·
Ä£ÐÍѵÁ·¼´½«ÌØÕ÷ÏòÁ¿½øÐÐѵÁ·½¨Á¢Ä£°å£¬Ä£Ê½Æ¥Åä¼´½«µ±Ç°ÌØÕ÷ÏòÁ¿ÓëÓïÒô¿âÖеÄÄ£°å½øÐÐÆ¥ÅäµÃ³ö½á¹û¡£ÓïÒô¿âµÄģʽƥÅäºÍѵÁ·²ÉÓÃÒþÂí¶û¿É·òÄ£ÐÍHMM(Hidden Markov Models)£¬ËûÊÇÒ»ÖÖͳ¼ÆËæ»ú¹ý³Ìͳ¼ÆÌØÐԵĸÅÂÊÄ£ÐÍÒ»¸öË«ÖØËæ»ú¹ý³Ì£¬ÒòΪÒþÂí¶û¿É·òÄ£ÐÍÄܹ»ºÜºÃµØÃèÊöÓïÒôÐÅºÅµÄ·ÇÆ½ÎÈÐԺͿɱäÐÔ£¬Òò´ËµÃµ½¹ã·ºµÄʹÓÃ[4]¡£
HMMµÄ»ù±¾Ëã·¨ÓÐ3ÖÖ£ºViterbiËã·¨£¬Ç°ÏòÒ»ºóÏòËã·¨£¬Baum-WelchËã·¨¡£±¾´ÎÉè¼ÆÊ¹ÓÃViterbiËã·¨½øÐÐ״̬Åб𣬽«²É¼¯ÓïÒôµÄÌØÕ÷ÏòÁ¿ÓëÓïÒô¿âµÄÄ£ÐͽøÐÐģʽƥÅä¡£Baum-WelchËã·¨ÓÃÀ´½â¾öÓïÒôÐźŵÄѵÁ·£¬ÓÉÓÚÄ£Ð͵Ĺ۲âÌØÕ÷ÊÇÖ¡¼ä¶ÀÁ¢µÄ£¬´Ó¶ø¿ÉÒÔʹÓÃBaum-WelchËã·¨½øÐÐHMMÄ£Ð͵ÄѵÁ·¡£
3£®4 ÓïÒôʶ±ð³ÌÐòµÄDSP¿ª·¢
DSPµÄ¿ª·¢»·¾³ÎªCCS3£®1¼°¡£DSP£¯BIOS£¬½«ÓïÒôʶ±ðºÍѵÁ·³ÌÐò·Ö±ð×ö³ÉÄ£¿é£¬¶¨ÒåΪ²»Í¬µÄº¯Êý£¬ÔÚ³ÌÐòÖе÷Ó᣶¨ÒåÓïÒôʶ±ðÆ÷º¯ÊýΪint Recognizer(int Micin)£¬Ê¶±ð½á¹ûÊä³öº¯ÊýΪint Result(void)£¬ÓïÒôѵÁ·Æ÷º¯ÊýΪint Train(int Tmode£¬int Audiod)£¬¶¯×÷Ö¸ÁîÊäÈ뺯ÊýΪint Keyin(int Action[5])¡£
ÓïÒôʶ±ðÆ÷µÄ×÷ÓÃÊǽ«µ±Ç°ÓïÒôÊäÈë±ä»»³ÉÓïÒôÌØÕ÷ÏòÁ¿£¬²¢¶ÔÓïÒô¿âµÄÄ£°å½øÐÐÆ¥Åä²¢Êä³ö½á¹û£¬ÓïÒôÓ¦´ðÊä³öº¯Êý½«»ñÈ¡µÄÓïÒôʶ±ð½á¹û¶ÔÓ¦µÄÓïÒôÓ¦´ðÊä³ö£¬ÓïÒôѵÁ·Êǽ«¶à¸ö²»Í¬ÄêÁä¡¢²»Í¬ÐԱ𡢲»Í¬¿ÚÒôµÄÈËÓïÒôÖ¸ÁîÊäÈëת»¯ÎªÑµÁ·¿âµÄÄ£°å¡£Îª·ÀÖ¹Ñù±¾´íÎó£¬Ã¿¸öÈ˵ÄÓïÒôÖ¸ÁîÐèҪѵÁ·2´Î£¬¶ÔÓÚ2´ÎÊäÈëÓÃÓÃÅ·ÊϾàÀëÈ¥½øÐÐģʽƥÅ䣬Èô2´ÎÊäÈëÏàËÆ¶È´ïµ½95£¥£¬Ôò¼ÓÈëÑù±¾¼¯¡£ÓïÒôÓ¦´ðÊäÈ뺯ÊýÊÇΪÿ¸öÓïÒô¿âÖÐÄ£°åÊäÈë¶ÔÁ¢µÄÓïÒôÊä³ö£¬ÒÔ´ïµ½ÓïÑÔÓ¦´ðÄ¿µÄ¡£ÏµÍ³¹¤×÷״̬ΪִÐÐÓïÑÔʶ±ð×Ó³ÌÐò£¬ÑµÁ·Ê±Ö´ÐÐÍⲿÖжϣ¬Ö´ÐÐѵÁ·º¯Êý£¬È¡µÃÊý¾Ý¿âÄ£°å£¬ÑµÁ·Íê±Ï·µ»Ø¡£³ÌÐò¿òͼÈçͼ3Ëùʾ¡£
![]() |
4£®1 FPGAÂß¼Éè¼Æ
ϵͳͨ¹ýÓïÒô¿ØÖÆ»úÆ÷ÈËÍ·²¿¶¯×÷£¬Í·²¿Ô˶¯·ÖΪÉÏϺÍ×óÓÒÔ˶¯2¸ö×ÔÓɶȣ¬ÐèÒª2¸ö²½½øµç»ú¿ØÖÆ£¬DSFÍê³ÉÓïÒôʶ±ðÒÔºó£¬Êä³öÏàÓ¦µÄ¶¯×÷Ö¸Á¶¯×÷Ö´ÐнáÊøºó£¬DSP·¢³ö¹éÁãÖ¸Áͷ²¿»Øµ½³õÊÔ״̬¡£FPGAµÄ×÷ÓÃÊÇÌṩDSP½Ó¿ÚÂß¼£¬ÉèÖô洢DSPÖ¸ÁîµÄRAM¿é£¬Í¬Ê±²úÉú²½½øµç»úÇý¶¯Âö³å¿ØÖƲ½½øµç»úת¶¯·½ÏòºÍ½Ç¶È¡£
FPGAÆ÷¼þΪ¶¯×÷Ö¸Áî¿ØÖÆµ¥Ôª£¬Éè¼Æ²ÉÓÃFLEXlOKEоƬ£¬½ÓÊÕDSPÊý¾Ýºó²¢ÐпØÖÆ2·²½½øµç»ú¡£FPGAÄÚ²¿½á¹¹Âß¼Èçͼ4Ëùʾ£¬FPGAÄÚ²¿ÉèÖÃ2¸öÔª¼þΪµç»úÂö³å·¢ÉúÆ÷£¬¿ØÖƵç»úµÄ¹¤×÷Âö³åÒÔ¼°Õý·´×ª¡£AO¡«A7ΪDSPÊý¾ÝÊäÈë¶Ë¿Ú£¬WRΪÊý¾Ýд¶Ë¿Ú£¬P1£¬P2Ϊ2¸ö²½½øµç»úÇý¶¯Ð¾Æ¬Âö³åÊäÈë¿Ú£¬L1£¬L2Ϊµç»úÕý·´×ª¿ØÖƿڣ¬ENABLEΪʹÄÜÐźš£
![]() |
![]() |
4£®2 FPGAÂß¼·ÂÕæ
FPGAÒÔMAX-PLUS¢ò¿ª·¢Æ½Ì¨£¬ÓÃÓïÑÔΪVHDLÓïÑÔ¶ÔÉÏÊöÂß¼¹¦ÄܽøÐÐÉè¼Æ£¬²¢Í¨¹ýJTAG½Ó¿Ú½øÐÐÁ˵÷ÊÔ£¬FLEXl0KEоƬÄܹ»¸ù¾ÝDSPÊä³öÖ¸ÁîÊä³öÕýÈ·µÄÕý·´×ªÐźźÍÂö³å²¨ÐΡ£
4£®3 ²½½øµç»úÇý¶¯Éè¼Æ
FPGAͨ¹ýP1£¬L1£¬P2£¬L2Êä³ö¿ØÖÆ¿ØÖƲ½½øµç»úÇý¶¯Ð¾Æ¬¡£²½½øµç»úÇý¶¯²ÉÓõÄÊǶ«Ö¥¹«Ë¾Éú²úµÄµ¥Æ¬ÕýÏÒϸ·Ö¶þÏಽ½øµç»úÇý¶¯×¨ÓÃоƬTA8435H£¬FPGAÓëTA8435Hµç·Á¬½ÓÈçͼ6¡




¡¾