FFTÔÚµ¥Æ¬»úÉϵÄʵÏÖ

ºÓÄϿƼ¼´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©

P1ASF = 0x06;

//P1.1 P1.2¿Ú×÷ΪADÊäÈ룬P1.1×÷Ϊ½ñºó¿ÉÄÜ¿ª·¢Ë«Í¨µÀ·ÖÎöµÄ±£Áô¡£ AUXR1&= 0xfb;

//ADRJ=0£¬10λADCµÄ¸ß8λ·ÅÔÚADC_RESÖУ¬ºóÐø½«²»ÔÙÓõÍ2λ¡£ EADC=1;

//¿ªADÖÐ¶Ï //Æô¶¯ADCת»»

//T0x12=1£¬¶¨Ê±Æ÷0ÒÔ12±¶ËÙÔËÐÐ //¶¨Ê±Æ÷0¹¤×÷ÔÚ·½Ê½1

ADC_CONTR=0x8a; NOP5; AUXR = 0x80; TMOD = 0x01; TL0 = T1MS; TH0 = T1MS>>8; TR0 = 1; ET0 = 1; EA = 1;

//¶¨Ê±Æ÷0¸³³õÖµ //¿ª¶¨Ê±Æ÷0ÖÐ¶Ï //¶¨Ê±Æ÷0Æô¶¯ //¿ª×ÜÖжÏ

¡ì4.2.2 AD²ÉÑù×Ó³ÌÐò

AD²ÉÑùµÄÊý¾Ý½«·´Ó³ÐÅºÅµÄÆµÂÊ£¬Òò´ËAD²ÉÑùµÄ¼ä¸ô±ØÐë±£Ö¤¡£ÓÐÁ½ÖÖ·½°¸À´±£Ö¤Ê±¼ä¼ä¸ô£ºÊ¹ÓøßÖжÏÓÅÏȼ¶µÄ¶¨Ê±Æ÷»òÖ±½ÓÁ¬Ðø²ÉÑù£¬¿¿ADC×Ô¼ºµÄ²ÉÑùÑÓʱÀ´¿ØÖÆÊ±¼ä¼ä¸ô¡£¶¨Ê±Æ÷¿ØÖÆ¿´ËƸü¼Ó׼ȷ£¬µ«ADCµÄ²ÉÑùÑÓʱÈÔ´æÔÚ£¬Êµ¼ÊÿÁ½²ÉÑùµãµÄʱ¼ä¼ä¸ô=¶¨Ê±Æ÷ÑÓʱʱ¼ä?Á½´ÎADC²ÉÑùÑÓʱʱ¼äÖ®²î¡£ÈôADC²ÉÑùÑÓʱʱ¼äÓÐÎó²î£¬ÒÔÕâÖÖ·½Ê½¶¨Ê±µÄÎó²îÈÔ´æÔÚ£¬ÇÒ³ÌÐò½á¹¹¸´ÔÓ£¬±àдÀ§ÄÑ¡£

ʵ¼ÊÉÏ£¬STC12C5A60S2µ¥Æ¬»ú¶ÔÄ£Êýת»»ËÙ¶ÈÒѾ­ÓÐÁ˺ܺõĿØÖÆ¡£±¾³ÌÐòÄâʹÓõ¥Æ¬»úÊýģת»»µÄת»»Ê±¼äÀ´¿ØÖƲÉÑùËÙÂÊ£¬¶ø²»ÔÙʹÓÃÁíÍâµÄ¶¨Ê±Æ÷¡£³ÌÐòÁ÷³ÌͼÈçͼ£º

13

ºÓÄϿƼ¼´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©

ͼ4-2 AD²ÉÑù×Ó³ÌÐòÁ÷³Ìͼ

STC12C5A60S2µ¥Æ¬»ú¶ÔÄ£Êýת»»ËÙ¶ÈÓÉAUXR1ÖеÄSPEED1¡¢SPEED0Á½Î»¿ØÖÆ¡£Ëٶȶ¨ÒåÈç±í£º

±í4-1 STC12C5A60S2Êýģת»»ËÙ¶È¿ØÖÆÎ»

SPEED1 1 SPEED0 1 A/Dת»»ËùÐèʱ¼ä 90¸öʱÖÓÖÜÆÚת»»Ò»´Î£¬CPU¹¤×÷ƵÂÊ21MHzʱ£¬A/Dת»»ËÙ¶ÈÔ¼250KHz 1 0 0

0 1 0 180¸öʱÖÓÖÜÆÚת»»Ò»´Î 360¸öʱÖÓÖÜÆÚת»»Ò»´Î 540¸öʱÖÓÖÜÆÚת»»Ò»´Î µ±SPEED1=0£¬SPEED0=0£¬fsoc=32MHzʱ£¬²ÉÑùʱ¼ä¼ä¸ôtdÓУº

14

ºÓÄϿƼ¼´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©

td?540?16.9(us) fsoc²ÉÑùµÄÐźŵÄ×î¸ßƵÂÊ·ÖÁ¿fhÓУº

fh?1?29KHz 2?tdfh¸ßÓÚÒôƵ×î¸ßƵÂÊ22KHz¡£ÓÉÓÚÈ˿ɸÐÖªµÄÒôƵÖж಻³¬¹ý12KHz£¬Èô¸ôµã²ÉÑù£¬Ôòfh±äΪ£º

fh?1?15KHz 2?2td¶¨²ÉÑùµãÊýΪ32¸öµã£¬Ôòͨ¹ýFFT±ä»»¿É½«Ô­ÐźűäΪ16¸öƵÂÊ·ÖÁ¿Ïà¼Ó£¨²ÉÑùµãÊýµÄÈ·¶¨ºÍFFT½á¹ûµÄ½âÊͼûϽڣ©¡£×îСƵÂÊ·ÖÁ¿Îª940Hz¡£

²ÉÑù¹ý³Ì²¢Î´¹Ø¶Ï¶¨Ê±Æ÷0Öжϣ¬Òò´Ë²ÉÑù¹ý³Ì»á±»´ò¶Ï¡£µ«¶¨Ê±Æ÷0µÄÒç³ö¼ä¸ô½Ï³¤(5ms)£¬ÆÚ¼ä¿É½øÐкܶà´ÎÍêÕûµÄ32µã²ÉÑù¡£Ö»Óе±32¸öµãÊÇÁ¬Ðø²ÉÑù²¢±»ÒƳöʱ£¬Ö÷Ñ­»·ÖеÄÊý¾Ý´¦Àíº¯Êý²Å¿ªÊ¼ÔËÐС£ ¡ì4.2.3 µûÐÎÔËËãµÄFFTËã·¨

FFT(Fast Fourier Transformation)£¬¼´Îª¿ìËÙ¸µÊϱ任£¬ÊÇÀëÉ¢¸µÊϱ任µÄ¿ìËÙËã·¨£¬ËüÊǸù¾ÝÀëÉ¢¸µÊϱ任µÄÆæ¡¢Å¼¡¢Ð顢ʵµÈÌØÐÔ£¬¶ÔÀëÉ¢¸µÁ¢Ò¶±ä»»µÄËã·¨½øÐиĽø»ñµÃµÄ¡£Ëü¶Ô¸µÊϱ任µÄÀíÂÛ²¢Ã»ÓÐеķ¢ÏÖ£¬µ«ÊǶÔÓÚÔÚ¼ÆËã»úϵͳ»òÕß˵Êý×ÖϵͳÖÐÓ¦ÓÃÀëÉ¢¸µÁ¢Ò¶±ä»»£¬¿ÉÒÔ˵ÊǽøÁËÒ»´ó²½¡£

Éèx(n)ΪNÏîµÄ¸´ÊýÐòÁУ¬ÓÉDFT±ä»»£¬ÈÎÒ»X(m)µÄ¼ÆËã¶¼ÐèÒªN´Î¸´Êý³Ë·¨ºÍN-1´Î¸´Êý¼Ó·¨£¬¶øÒ»´Î¸´Êý³Ë·¨µÈÓÚËÄ´ÎʵÊý³Ë·¨ºÍÁ½´Î¸´Êý¼Ó·¨£¬Ò»´Î¸´Êý¼Ó·¨µÈÓÚÁ½´ÎʵÊý¼Ó·¨£¬¼´Ê¹°ÑÒ»´Î¸´Êý³Ë·¨ºÍÒ»´Î¸´Êý¼Ó·¨¶¨Òå³ÉÒ»´Î¡°ÔËË㡱£¨ËÄ´ÎʵÊý³Ë·¨ºÍËÄ´ÎʵÊý¼Ó·¨£©£¬ÄÇôÇó³öNÏÊýÐòÁеÄX£¨m£©,¼´NµãDFT±ä»»´óÔ¼¾ÍÐèÒªN^2´ÎÔËËã¡£µ±N=1024µãÉõÖÁ¸ü¶àµÄʱºò£¬ÐèÒªN2=1048576´ÎÔËË㣬ÔÚFFTÖУ¬ÀûÓÃWNµÄÖÜÆÚÐԺͶԳÆÐÔ£¬°ÑÒ»¸öNÏîÐòÁУ¨ÉèN=2k,kΪÕýÕûÊý£©£¬·ÖΪÁ½¸öN/2ÏîµÄ×ÓÐòÁУ¬Ã¿¸öN/2µãDFT±ä»»ÐèÒª£¨N/2£©2´ÎÔËË㣬ÔÙÓÃN´ÎÔËËã°ÑÁ½¸öN/2µãµÄDFT±ä»»×éºÏ³ÉÒ»¸öNµãµÄDFT±ä»»¡£ÕâÑù±ä»»ÒÔºó£¬×ܵÄÔËËã´ÎÊý¾Í±ä³ÉN+2*£¨N/2)^2=N+N^2/2¡£¼ÌÐøÉÏÃæµÄÀý×Ó£¬N=1024ʱ£¬×ܵÄÔËËã´ÎÊý¾Í±ä³ÉÁË525312´Î£¬½ÚÊ¡ÁË´óÔ¼50%µÄÔËËãÁ¿¡£¶øÈç¹ûÎÒÃǽ«ÕâÖÖ¡°Ò»·ÖΪ¶þ¡±µÄ˼Ïë²»¶Ï½øÐÐÏÂÈ¥£¬Ö±µ½·Ö³ÉÁ½Á½Ò»×éµÄDFTÔËËã

15

ºÓÄϿƼ¼´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©

µ¥Ôª£¬ÄÇôNµãµÄDFT±ä»»¾ÍÖ»ÐèÒªNlog2N´ÎµÄÔËË㣬NÔÚ1024µãʱ£¬ÔËËãÁ¿½öÓÐ10240´Î£¬ÊÇÏÈǰµÄÖ±½ÓËã·¨µÄ1%£¬µãÊýÔ½¶à£¬ÔËËãÁ¿µÄ½ÚÔ¼¾ÍÔ½´ó£¬Õâ¾ÍÊÇFFTµÄÓÅÔ½ÐÔ¡£

2µãDFTÔËËã³ÆÎªµûÐÎÔËËã,¶øÕû¸öFFT¾ÍÊÇÓÉÈô¸É¼¶µü´úµÄµûÐÎÔËËã×é³É,¶øÇÒÕâÖÖËã·¨²ÉÓÃԭλÔËËã,¹ÊÖ»ÐèN¸ö´æ´¢µ¥Ôª

¡Á1X1(k)¡Á1¡Á1k¡ÁWNkX(k)?X1(k)?WNX2(k)X2(k)¡Á(-1)X(Nk?k)?X1(k)?WNX2(k)2

ͼ4-3 µûÐÎÔËËãµ¥Ôª

ͼ4-3ÊÇFFTƵÓò³éÈ¡Ëã·¨µÄ»ù±¾ÔËËãµ¥Ôª,Ò»°ã³ÆÎªµûÐÎÔËËã.ÏÂÒ»²½ÔÙ½«X(4m+i),i=0,1,2,3·Ö½â³É4¸öN42ÐòÁÐ,µü´úr´ÎºóÍê³É¼ÆËã,Õû¸öËã·¨µÄ¸´ÔӶȼõÉÙΪO(Nlog4N)

ÉÏËß½áÂÛ¿ÉÒÔÍÆ¹ãµ½NµãµÄÒ»°ãÇé¿ö£¬¹æÂÉÊǵÚÒ»ÁÐÖ»ÓÐÒ»ÖÖÀàÐ͵ĵûÐÎÔËË㣬ϵÊýÊÇ ,ÒÔºóÿÁеĵûÐÎÀàÐÍ£¬±ÈǰһÁÐÔö¼ÓÒ»±¶£¬µ½µÚÊÇN/2¸öµûÐÎÀàÐÍ£¬ÏµÊýÊÇ£¬¹²N/2¸ö¡£ÓɺóÏòÇ°Ã¿ÍÆ½øÒ»ÁУ¬ÔòÓÃÉÏÊöϵÊýÖÐżÊýÐòºÅµÄÄÇÒ»°ë£¬ÀýÈçµÚÁеÄϵÊýÔòΪ²Î¼ÓµûÐÎÔËËãµÄÁ½¸öÊý¾ÝµãµÄ¼ä¾à£¬ÔòÊÇ×îĩһ¼¶×î´ó£¬ÆäֵΪN/2,ÏòÇ°Ã¿ÍÆ½øÒ»ÁУ¬¼ä¾à¼õÉÙÒ»°ë¡£

¶ÔN = 2LµãFFT£¬¹²ÐèL¼¶µûÐÎÔËË㣬ÿ¼¶ÓÐN/2¸öµûÐÎÔËËã×é³É£¬µûÐÎÔËËãÁ½½ÚµãµÄ¾àÀë:2L-1£¨L±íʾ¼¶Êý£©Ã¿¸öµûÐÎÔËËãÓÐÒ»´Î¸´³ËºÍ2´Î¸´¼Ó¡£Èç

µÚL¼¶µÄϵÊýÒò×ÓΪ(L?1,2,3...M)W2JL£¬J?0,1,2.......2L?1?1¼´µÚL¼¶µÄµûÐÎÔËËãϵÊýÒò×ÓÀàÐÍÊýΪ2L?1¸ö£¬ÈçN£½8£¬¹²ÓÐM?3¼¶JJ2µÚÒ»¼¶20¸öΪ:W2J1?WM1?M?WM222M-LM?1L?1,J?00?WN0?W?N£»L?2£¬J?0µÚ¶þ¼¶21¸öΪ:WNJ2£½?2??WN£»L?2,J?10?WN£»L?3,J?0?1M-L?WN£»L?3,J?1µÚÈý¼¶22¸öΪ:WNJ2£½?2?WN£»L?3,J?2?W3£»L?3,J?3?N16

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)