• ﺗﻮﺿﻴﺤﺎت : ﻫﻤﻮاره ﻳﻚ ﺳﻴﮕﻨﺎل در ﺣﻮزه زﻣﺎن را ﻣﻲ ﺗﻮان در ﺣﻮزه ﻓﺮﻛﺎﻧﺲ ﻧﻴﺰ ﻧﻤﺎﻳﺶ داد ) .در دﻳﺪﮔﺎه ﻣﻬﻨﺪﺳﻲ ﻛـﺎر ﺑﺎ ﺣﻮزه ﻓﺮﻛﺎﻧﺲ ﺑﺮ ﺣﻮزه زﻣﺎن ارﺟﺤﻴﺖ دارد( .ﺑﺮاي ﻣﺜﺎل ﺳـﻴﮕﻨﺎل ) x(n) = sin( 2 * pi * f0* n * tsرا در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ .ﺷﻜﻞ ﻓﺮﻛﺎﻧﺴﻲ آن ﺑﻪ ﺻﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد :ﺑﻪ ﺗﻐﻴﻴﺮ ﻓﺮﻛﺎﻧﺲ و ﺟﻤﻊ دو ﺳﻴﮕﻨﺎل ﺗﻮﺟﻪ ﻛﻨﻴﺪ : ﺑﺮاي ﻳﻚ ﺳﻴﮕﻨﺎل ﭘﻴﻮﺳﺘﻪ در زﻣﺎن ﺗﺒﺪﻳﻞ ﻓﻮرﻳﻪ آن ﺑﻪ ﺻﻮرت زﻳﺮ ﺗﻌﺮﻳﻒ ﻣﻲ ﺷﻮد : ) ﺑﻪ ﺷﺒﺎﻫﺖ ﺗﺒﺪﻳﻞ ﻓﻮق ﺑﻪ ﺗﺒﺪﻳﻞ ﻻﭘﻼس ﺗﻮﺟﻪ ﻛﻨﻴﺪ .اﻳﻦ ﺗﺒﺪﻳﻞ دﻗﻴﻘﺎً ﻫﻤﺎن رﻓﺘﺎر ﻫﺎ را دﻧﺒﺎل ﻣﻲ ﻛﻨﺪ( . ﻣﺪل ﮔﺴﺴﺘﻪ ﺗﺒﺪﻳﻞ ﻓﻮق ﺑﻪ ﺷﻜﻞ زﻳﺮ اﺳﺖ : ﻃﺒﻴﻌﺘﺎ ﺗﺒﺪﻳﻞ ﻣﻌﻜﻮس راﺑﻄﻪ ﻓﻮق ﺑﻪ ﺻﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد. ﻧﻮﺷﺘﻦ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑﺮاي ﻣﺤﺎﺳﺒﻪ ﺗﺒﺪﻳﻞ ﻓﻮرﻳﻪ از روي ﺳﺮي آﺳﺎن وﻟﻲ ﺑﺴﻴﺎر ﻛﻨﺪ اﺳﺖ .ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ روش ﻫﺎي )ﺑﺴﻴﺎر( ﺳﺮﻳﻌﺘﺮي ﺑﺮاي ﻣﺤﺎﺳﺒﻪ اﻳﻦ ﺗﺒﺪﻳﻞ وﺟﻮد دارد .اﻳﺪه اﺻﻠﻲ اﻳﻦ روش ﺑﺮ ﻣﺠﺰاﺳﺎزي اﻧﺪﻳﺲ ﻫﺎي ﻓﺮد و زوج اﺳﺘﻮار اﺳﺖ .ﺑﺮ اﺳﺎس DFTدارﻳﻢ: در اﻳﻦ ﺻﻮرت ﺧﻮاﻫﻴﻢ داﺷﺖ : و در ﻧﻬﺎﻳﺖ : ﻳﻚ ﻓﺮم ﺑﺎزﮔﺸﺘﻲ ﺳﺎده ،ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ دﻳﮕﺮ از ﻣﺤﺎﺳﺒﻪ expدر اﻳﻦ ﻣﺮﺣﻠﻪ ﺧﺒﺮي ﻧﻴﺴﺖ. ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل 8 FDFTﻧﻘﻄﻪ را ﻣﻲ ﺗﻮان از روي 4 DFTﻧﻘﻄﻪ ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﺤﺎﺳﺒﻪ ﻛﺮد ) .ﭘﺮواﻧﻪ!( ﺑﺎ ﺑﻠﻮك ﻫﺎي ﭘﺮواﻧﻪ اي زﻳﺮ : و اﮔﺮ ﺑﺎزﮔﺸﺘﻲ را اداﻣﻪ دﻫﻴﻢ ﺑﻪ ﺳﺎﺧﺘﺎر زﻳﺮ ﻣﻲ رﺳﻴﻢ: ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﭼﻨﻴﻦ ﺳﺎﺧﺘﺎري ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻜﺮار wﻫﺎ ﺗﻮﺻﻴﻪ ﻣﻲ ﻛﻨﻴﻢ در اﺑﺘﺪا ﻫﻤﻪ Wﻫﺎ را ﻣﺤﺎﺳﺒﻪ ﻛﺮده و ﺑﻌﺪ از آﻧﻬﺎ اﺳﺘﻔﺎده ﻛﻨﻴﺪ. اﻟﺒﺘﻪ ﭘﻴﺎده ﺳﺎزي ﻫﺎي دﻳﮕﺮي ﺑﺮاي FFTﻣﺎﻧﻨﺪ Radix-4ﻛﻪ ﺷﻜﻞ ﻋﺮف آن اﺳﺖ و ﻳﺎ ) Constant-Geometry ﻣﻨﺎﺳﺐ ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﻫﺎي ﺳﺨﺖ اﻓﺰاري FFTﺑﺮ روي ASICﻳﺎ ( FPGAﻧﻴﺰ وﺟﻮد دارد. ﺷﺒﻴﻪ ﺳﺎزي :Spice در ﻳﻚ ﺳﻴﺴﺘﻢ ) ﻣﺪار ( ﭘﺎﺳﺦ ﺳﻴﺴﺘﻢ ﺑﻪ ﺳﻴﮕﻨﺎل ﺿﺮﺑﻪ ﻣﻌﺮف ﻛﻠﻴﻪ ﻣﺸﺨﺼﻪ ﻫﺎي ﺳﻴﺴﺘﻢ اﺳﺖ .ﭼﺮا ﻛﻪ ﺑﺎ ﭘﻴﭽﺶ آن در ﺳﻴﮕﻨﺎل ورودي ﻣﻲ ﺗﻮان ﺳﻴﮕﻨﺎل ﺧﺮوﺟﻲ را ﺑﺪﺳﺖ آورد .ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﺑﺮاي ﻫﺮ ﺳﻴﺴﺘﻢ راﺑﻄﻪ زﻳﺮ در ﺣﻮزه زﻣﺎن ﺑﺮﻗﺮار اﺳﺖ: اﮔﺮ ﺗﺒﺪﻳﻞ ﻓﻮرﻳﻪ ﻋﺒﺎرت ﺑﺎﻻ را ﺑﻨﻮﻳﺴﻴﻢ ﺧﻮاﻫﻴﻢ داﺷﺖ : ) ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ اﻧﺘﮕﺮال ﻛﺎﻧﻮوﻟﻮﺷﻦ ﺑﻪ ﺿﺮب ﻋﺎدي ﺗﺒﺪﻳﻞ ﺷﺪه اﺳﺖ H(s) .( .ﻛﻪ ﻫﻤﺎن ﭘﺎﺳﺦ ﻓﺮﻛﺎﻧﺴﻲ ﺿﺮﺑﻪ اﺳﺖ ﺑﺮ اﺳﺎس اﻣﭙﺪاﻧﺲ اﻟﻤﺎن ﻫﺎي ﻣﺪار ﺑﻪ آﺳﺎﻧﻲ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ .ﺑﻪ اﻳﻦ ﺻﻮرت ﻛﻪ ﺑﻪ ﺟﺎي Rاﻟﻤﺎﻧﻲ ﺑﺎ اﻣﭙﺪاﻧﺲ ،Rﺑﻪ ﺟﺎي ﺧﺎزن اﻟﻤﺎﻧﻲ ﺑﺎ اﻣﭙﺪاﻧﺲ 1/CSو ﺑﻪ ﺟﺎي ﺳﻠﻒ از اﻟﻤﺎﻧﻲ ﺑﺎ اﻣﭙﺪاﻧﺲ LSاﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻴﻢ .ﺳﭙﺲ ﺑﺮ اﺳﺎس ﺳﺮي ﻳﺎ ﻣﻮازي ﺑﻮدن اﻟﻤﺎن ﻫﺎ ﺳﻴﺴﺘﻢ ﻓﺎﻧﻜﺸﻦ ﻳﺎ ﻫﻤﺎن ) H(Sرا ﺑﺪﺳﺖ آورده و ﺑﻪ ازاي s=jwدر دراﻳﻪ ﻫﺎي ﺗﺒﺪﻳﻞ ﻓﻮرﻳﻪ ﺳﻴﮕﻨﺎل ورودي ﺿﺮب ﻣﻲ ﻛﻨﻴﻢ ﺗﺎ ﭘﺎﺳﺦ ) Y(sرا ﺑﺪﺳﺖ آورﻳﻢ .ﺗﺒﺪﻳﻞ ﻣﻌﻜﻮس ﻓﻮرﻳﻪ اﻳﻦ ﺳﻴﮕﻨﺎل ﭘﺎﺳﺦ ﺳﻴﺴﺘﻢ ﺑﻪ ﺳﻴﮕﻨﺎل ورودي ﻣﻲ ﺑﺎﺷﺪ. • ورودي/ﺧﺮوﺟﻲ: ورودي ﺧﻮد را از standard inputﺑﺨﻮاﻧﻴﺪ و ﺧﺮوﺟﻲ ﺗﺎن را ﺑـﺮ روي ﺑﻨﻮﻳﺴﻴﺪ. standard output 1 .1ورودي ﺑﺮﻧﺎﻣﻪ: ورودي ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻋﺪد nﺗﻌﺪاد داده ﻫﺎي ﻧﻤﻮﻧﻪ از ﺳﻴﺴﮕﻨﺎل f ،ﻓﺮﻛـﺎﻧﺲ آن و nﻋـﺪد ﻧﻤﻮﻧـﻪ ﻫﺎي ﺳﻴﮕﻨﺎل ﻣﻲ ﺑﺎﺷﺪ. در ﻫﻨﮕﺎم ﺗﺤﻮﻳﻞ ﭘﺮوژه ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻳﻚ ﺳﻴﮕﻨﺎل ﺻﺪا ﺑﻪ ﻣﺪت 5ﺛﺎﻧﻴـﻪ ﻛـﻪ در ﻓﺮﻛـﺎﻧﺲ 8192 Hzﻧﻤﻮﻧﻪ ﺑﺮداري ﺷﺪه داده ﺧﻮاﻫﺪ ﺷﺪ. .2ﺧﺮوﺟﻲ ﻫﺎي ﺑﺮﻧﺎﻣﻪ: ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻣﻲ ﺑﺎﻳﺴﺖ DFTﺳﻴﮕﻨﺎل ورودي ﺣﻮزه زﻣﺎن را ﻣﺤﺎﺳﺒﻪ ﻛﺮده و ﺑﺮ اﺳﺎس ﻓﺮﻛﺎﻧﺲ ﺑﺮ روي ﻧﻤﻮدار ﻧﻤﺎﻳﺶ دﻫﺪ. ﻳﻚ ﻓﻴﻠﺘﺮ FIRاز ﻧﻮع low pass filterﻳﺎ band pass filterرا ﺗﻌﺮﻳـﻒ ﻛـﺮده و ﺑـﺮ روي ﺳﻴﮕﻨﺎل ﻓﻮق اﻋﻤﺎل ﻧﻤﺎﻳﺪ. از ﺳﻴﮕﻨﺎل ﺣﻮزه ﻓﺮﻛﺎﻧﺲ ﺳﺎﺧﺘﻪ ﺷﺪه ﺗﺒﺪﻳﻞ ﮔﺴﺴﺘﻪ ﻣﻌﻜﻮس ﻓﻮرﻳﻪ ﺑﮕﻴﺮد .ﺑﺮاي اﻳﻨﻜـﺎر ﻧﻴـﺎزي ﻧﻴﺴﺖ از اﻳﺪه ﻫﺎي اﻟﮕﻮرﻳﺘﻢ ﻫﺎي Fast Fourier Transformاﺳﺘﻔﺎده ﻛﻨﻴﺪ. ﺷﺒﻴﻪ ﺳﺎزي : Spiceﻳﻚ ﻣﺪار ﺷﺎﻣﻞ ﻋﻨﺎﺻﺮي ﻣﺎﻧﻨﺪ R, L, Cرا ﺑﺮ روي ﺳﻴﮕﻨﺎل ﻓـﻮق اﻋﻤﺎل ﻛﻨﻴﺪ و ﺧﺮوﺟﻲ را ﻧﺸﺎن دﻫﻴﺪ. ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﺑﺮاي ﻫﻤﻪ اﻳﻦ اﻋﻤﺎل در ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻣﻲ ﺑﺎﻳﺴﺖ در زﻣﺎن ﻣﻨﺎﺳﺒﻲ ﭘﺎﺳﺨﮕﻮ ﺑﺎﺷﺪ. • ﺗﻮﺟﻪ ﺑﺴﻴﺎر ﻣﻬﻢ: ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺑﺎﻳﺪ در زﻣﺎن ﺗﺤﻮﻳﻞ ﻛﻤﭙﺎﻳﻞ و اﺟﺮا ﺷﻮد و ﺑﺘﻮاﻧﺪ ﺑﺮاي ﺗﺴﺖ ﻫﺎي ورودي ﺧﺮوﺟﻲ ﺻﺤﻴﺢ اﻳﺠﺎد ﻛﻨﺪ. ﻛﺪ ﻣﻨﺒﻊ ﭘﺮوژه ﺧﻮدﺗﺎن را ﺑﻪ ﻫﻤﺮاه ﻣﺴﺘﻨﺪات ﻣﺮﺑﻮط ﺑﻪ آن را در ﻏﺎﻟﺐ ﻳﻚ ﻓﺎﻳﻞ ﻓﺸﺮده 2ﺑﻪ ﻧﺎم DFTﺗﺎ زﻣﺎن ﺗﺤﻮﻳﻞ ﺑﻪ آدرس [email protected]ارﺳﺎل ﻧﻤﺎﻳﻴـﺪ .ﻓﻴﻠـﺪ subjectﻧﺎﻣـﻪ ﺧـﻮد را ﺑﺮاﺑـﺮ ﺑـﺎ Project2-dft- ) (8510xxxx-8510xxxx-8510xxxxﻗﺮار دﻫﻴﺪ ﻛـﻪ در آن xxxxﭼﻬـﺎر رﻗـﻢ اﻧﺘﻬـﺎﻳﻲ ﺷـﻤﺎره داﻧـﺸﺠﻮﻳﻲ اﻋﻀﺎي ﺗﻴﻢ ﺷﻤﺎ ﻣﻲ ﺑﺎﺷﺪ. ﻟﻄﻔﺎً ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﺗﺤﻮﻳﻞ ﭘﺮوژه ﻫﺎ ﺑﻪ ﺻﻮرت ﺣﻀﻮري ﻣﻲ ﺑﺎﺷﺪ. 1 ﺑﺮاي اﻳﻦ ﻛﺎر از header fileﻫﺎي )stdio.hﺑﺮاي زﺑﺎن (Cو ﻓﺎﻳﻞ ) iostreamﺑﺮاي زﺑﺎن (C++اﺳﺘﻔﺎده ﻛﻨﻴﺪ. 2 ﺑﺎ ﻓﺮﻣﺖ rar ،zipﻳﺎ tar 1. 2. 3. 4. 5. 6. 7. .• ﻣﺮاﺟﻊ ﻣﻲ ﺗﻮاﻧﻴﺪ از ﻣﺮاﺟﻊ زﻳﺮ ﺑﺮاي ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺑﺮﻧﺎﻣﻪ ﺗﺎن ﻛﻤﻚ ﺑﮕﻴﺮﻳﺪ Openheim et all, Signals & Systems . Openheim et all, Disrete-Time signal processing. Jorg Arndt, Algorithms for Programmers Stergiopoulos (Editor), Advanced Signal Processing Handbook Theory And Implementation For Radar, Sonar, And Medical Imaging Real-Time Poularikas , Handbook of Formulas and Tables for Signal Processing Proakis & Manolakis , Digital Signal Processing - Principles, Algorithms & Applications Smith, Guide to Digital Signal Processing . ﻣﻲ ﺗﻮاﻧﻴﺪ از آن ﺑﺮاي ﺗﺴﺖ درﺳﺘﻲ ﺑﺮﻧﺎﻣﻪ ﺗﺎن اﺳﺘﻔﺎده ﻛﻨﻴﺪ. ﺑﺮاي ﻣﺤﺎﺳﺒﻪ ﺗﺒﺪﻳﻞ ﻓﻮرﻳﻪ ﺑﻪ ﻛﺎر ﻣﻲ رودMatlab درfft دﺳﺘﻮر ﻧﮕﻬﺪاري ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺑﺎ دﺳﺘﻮرsample ﺗﻌﺪادي ﻓﺎﻳﻞtoolbox\matlab\audiovideo ﺑﻪ ﻋﻼوه ﻣﻄﻠﺐ! در ﺷﺎﺧﻪ اﻳﻦ ﻫﺎ ﺗﻌﺪادي ﻓﺎﻳﻞ. ﻗﺎﺑﻞ ﺑﺎرﮔﺬاري ﻣﻲ ﺑﺎﺷﻨﺪsample=load(‘-mat’, ‘laughter.mat’ ) ﺑﺮاي. اﺳﺘﻔﺎده ﻛﻨﻴﺪsample.y ﺑﺮاي دﺳﺘﻴﺎﺑﻲ ﺑﻪ داده ﻫﺎ از. ﻧﻤﻮﻧﻪ ﺑﺮداري ﺷﺪه اﻧﺪ8192 Hzﺻﻮﺗﻲ ﻫﺴﺘﻨﺪ ﻛﻪ در ﻓﺮﻛﺎﻧﺲ ﻣﻲ ﺗﻮاﻧﻴﺪstem ﻳﺎPlot را اﺟﺮا ﻛﻨﻴﺪ و در ﻧﻬﺎﻳﺖ ﺑﺎconv اﻧﺘﮕﺮال ﻛﺎﻧﻮوﻟﻮﺷﻦ ) ﺑﺮاي ﻓﻴﻠﺘﺮ ﻛﺮدن ( ﻣﻲ ﺗﻮاﻧﻴﺪ از . ﻣﻄﻠﺐ ﻫﻢ ﺑﻴﻨﺪازﻳﺪDSP ﺑﺪ ﻧﻴﺴﺖ ﻧﮕﺎﻫﻲ ﺑﻪ ﺟﻌﺒﻪ اﺑﺰار.ﻧﻤﻮدار را ﺑﻜﺸﻴﺪ .ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ اﺣﻤﺪﻳﺎن
© Copyright 2026 Paperzz