Computer Assignment 1.pdf

‫ﺩﺍﻧﺸﮑﺪﻩ ﻣﻬﻨﺪﺳﻲ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﺗﻤﺮﻳﻦ ﮐﺎﻣﭙﻴﻮﺗﺮﻱ ﺳﺮﻱ ﺍﻭﻝ ﺳﻴﮕﻨﺎﻝﻫﺎﻭ ﺳﻴﺴﺘﻢﻫﺎ‬
‫ﻣﻬﻠﺖ ﺍﺭﺳﺎﻝ‪ :‬ﺩﻭﺷﻨﺒﻪ ‪ 12‬ﻓﺮﻭﺭﺩﻳﻦ ‪1387‬‬
‫ﺗﻮﺟﻪ‪:‬‬
‫‪-‬‬
‫ﺧﻼﺻﻪ ﮐﻮﺗﺎﻫﻲ ﺍﺯ ﻧﺘﺎﻳﺞ ﮐﺎﺭﻫﺎﻱ ﺧﻮﺩ ﺭﺍ ﺑﻪ ﻫﻤﺮﺍﻩ ﻧﻤﻮﺩﺍﺭﻫﺎﻱ ﺧﻮﺍﺳﺘﻪ ﺷﺪﻩ ﺩﺭ ﻳﮏ ﮔﺰﺍﺭﺵ ﺟﻤﻊ ﮐﻨﻴﺪ‪.‬‬
‫‪-‬‬
‫ﺗﻤﺎﻡ ‪ m‬ﻓﺎﻳﻞ ﻫﺎﻱ ﺧﻮﺩ ﺭﺍ ﺑﻪ ﻫﻤﺮﺍﻩ ﻓﺎﻳﻞ ﮔﺰﺍﺭﺵ‪ ،‬ﺩﺭ ﻳﮏ ﭘﺮﻭﻧﺪﻩ ﺭﻳﺨﺘﻪ ﻭ ﺑﺎ ﻓﺮﻣﺖ ‪ zip‬ﻭ ﻳﺎ ‪ rar‬ﻓﺸﺮﺩﻩ ﮐﺮﺩﻩ ﻭ ﻓﺎﻳﻞ ﻧﻬﺎﻳﻲ ﺭﺍ ﺑﺎ ﻧﺎﻡ ‪HW1_ID‬‬
‫ﺑﻪ ﺁﺩﺭﺱ ‪ [email protected]‬ﺍﺭﺳﺎﻝ ﮐﻨﻴﺪ‪.‬‬
‫‪-‬‬
‫ﺑﺮﻧﺎﻣﻪﻫﺎﻱ ‪ Matlab‬ﺷﻤﺎ ﺑﺎﻳﺪ ﺑﺪﻭﻥ ﺧﻄﺎ ﻭ ﻧﻴﺎﺯ ﺑﻪ ﺗﻨﻈﻴﻤﺎﺕ‪ ،‬ﺍﺟﺮﺍ ﺷﻮﻧﺪ‪.‬‬
‫ﻣﺴﺎﻟﻪ ﺍﻭﻝ ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫ﭘﺎﺳﺦ ﺳﻴﺴﺘﻢﻫﺎﻱ ﮔﺴﺴﺘﻪ ‪LTI‬‬
‫ﺍﻟﻒ( ﺩﺭ ﻳﮏ ‪ m‬ﻓﺎﻳﻞ ﺗﺎﺑﻌﻲ ﺑﻨﻮﻳﺴﻴﺪ ﮐﻪ ﺑﺎ ﺩﺭﻳﺎﻓﺖ ﺑﺮﺩﺍﺭ ﭘﺎﺳﺦ ﺿﺮﺑﻪ ﻳﮏ ﺳﻴﺴﺘﻢ ﮔﺴﺴﺘﻪ ﺧﻄﻲ ﺗﻐﻴﻴﺮﻧﺎﭘﺬﻳﺮﺑﺎ ﺯﻣﺎﻥ ﻭ ﻋﻠﻲ ]‪ h[n‬ﻭ ﺑﺮﺩﺍﺭ ﺳﻴﮕﻨﺎﻝ‬
‫ﻭﺭﻭﺩﻱ]‪) x[n‬ﮐﻪ ﻫﺮﺩﻭ ﺑﺮﺩﺍﺭ ﻭﺭﻭﺩﻱ ﺑﺮﺍﻱ‬
‫ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮﻧﺪ(‪ ،‬ﺑﺮﺩﺍﺭ ﺧﺮﻭﺟﻲ ﺳﻴﺴﺘﻢ ]‪ y[n‬ﺭﺍ ﺑﺎﺯﮔﺮﺩﺍﻧﺪ‪(convolve.m) .‬‬
‫ﺏ( ﺑﻪ ﮐﻤﮏ ﺗﺎﺑﻊ ﻗﺴﻤﺖ ﻗﺒﻞ ﺧﺮﻭﺟﻲ ﺳﻴﺴﺘﻤﻲ ‪ FIR‬ﺑﺎ ﭘﺎﺳﺦ ﺿﺮﺑﻪﻱ‪:‬‬
‫ﺭﺍ ﺑﻪ ﻭﺭﻭﺩﻱ‪:‬‬
‫ﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻭ ﺑﺮﺩﺍﺭﻫﺎﻱ ]‪ y[n] ,h[n] ,x[n‬ﺭﺍ ﺩﺭ ﻳﮏ ‪ plot‬ﻭ ﺯﻳﺮ ﻫﻢ ﺭﺳﻢ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫ﺝ( ﻗﺴﻤﺖ ﻗﺒﻞ ﺭﺍ ﺑﻪ ﮐﻤﮏ ﺩﺳﺘﻮﺭ )‪ conv(h,x‬ﺩﺭ ‪ Matlab‬ﺗﮑﺮﺍﺭ ﻧﻤﺎﻳﻴﺪ‪(prob1.m) .‬‬
‫ﻣﺴﺎﻟﻪ ﺩﻭﻡ ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . .‬‬
‫ﺣﺬﻑ ﺍﮐﻮ‬
‫ﺩﺭ ﺑﺴﻴﺎﺭﻱ ﺍﺯ ﮐﺎﺭﺑﺮﺩﻫﺎﻱ ﻣﺨﺎﺑﺮﺍﺗﻲ ﺳﻴﮕﻨﺎﻝ ﺩﺭﻳﺎﻓﺘﻲ ﺩﺭ ﮔﻴﺮﻧﺪﻩ ﺑﻪ ﺩﻟﻴﻞ ﺍﻧﺘﺸﺎﺭ ﺩﺭ ﻣﺴﻴﺮﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺩﺍﺭﺍﻱ ﺍﮐﻮ )ﻧﻤﻮﻧﻪ ﺗﺎﺧﻴﺮ ﻳﺎﻓﺘﻪ ﺳﻴﮕﻨﺎﻝ ﺍﺻﻠﻲ‬
‫ﺑﺎ ﺩﺍﻣﻨﻪ ﮐﻤﺘﺮ( ﻣﻲﺑﺎﺷﺪ‪ .‬ﺑﺮﺍﻱ ﻣﺜﺎﻝ ﻣﻲﺗﻮﺍﻥ ﻣﺪﻝ ﺯﻳﺮ ﺭﺍ ﺑﺮﺍﻱ ﺳﻴﮕﻨﺎﻝ ﺩﺭﻳﺎﻓﺘﻲ ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺖ‪:‬‬
‫ﮐﻪ ﺩﺭ ﺁﻥ‬
‫ﺗﻌﺪﺍﺩ ﻧﻤﻮﻧﻪﻫﺎﻱ ﺗﺎﺧﻴﺮﻱ ﺳﻴﮕﻨﺎﻝ ﺍﮐﻮ ﻫﺴﺘﻨﺪ‪ .‬ﺩﺭ ﺍﻳﻦ ﻣﺴﺎﻟﻪ ﻣﻲﺧﻮﺍﻫﻴﻢ ﺭﻭﺷﻲ ﺭﺍ ﺑﺮﺍﻱ ﺣﺬﻑ ﺍﮐﻮ ﺍﺯ ﺳﻴﮕﻨﺎﻝ ﺻﺤﺒﺖ‬
‫ﺩﺍﻣﻨﻪ ﻭ‬
‫ﺑﺮﺭﺳﻲ ﮐﻨﻴﻢ‪.‬‬
‫ﺍﻟﻒ( ﺑﻪ ﮐﻤﮏ ﺩﺳﺘﻮﺭ ‪ wavread‬ﻧﻤﻮﻧﻪﻫﺎﻱ ﻳﮏ ﺳﻴﮕﻨﺎﻝ ﺻﺤﺒﺖ ﮐﻮﺗﺎﻩ ﮐﻪ ﺑﻪ ﺻﻮﺭﺕ ﻓﺎﻳﻞ ‪ input.wav‬ﻭ ﺑﺎ ﻓﺮﮐﺎﻧﺲ‪ Fs=8KHz‬ﺫﺧﻴﺮﻩ ﺷﺪﻩ‬
‫ﺍﺳﺖ )ﻳﻌﻨﻲ ‪ (8K sample/sec‬ﺭﺍ ﺩﺭ ﺑﺮﺩﺍﺭ ﻭﺭﻭﺩﻱ ]‪ x[n‬ﻟﻮﺩ ﮐﺮﺩﻩ ﻭ ﺑﺎ ﺩﺳﺘﻮﺭ ‪ wavplay‬ﺁﻥ ﺭﺍ ﭘﺨﺶ ﮐﻨﻴﺪ‪) .‬ﻓﺎﻳﻞ ﺭﺍ ﺩﺭ ﻫﻤﺎﻥ ﻓﻮﻟﺪﺭ ﺑﺮﻧﺎﻣﻪ‬
‫ﻣﺤﺎﺳﺒﻪ ﮐﻨﻴﺪ‪) .‬ﭘﺎﺭﺍﻣﺘﺮ‬
‫ﻗﺮﺍﺭ ﺩﻫﻴﺪ(‪ .‬ﺳﻴﮕﻨﺎﻝ ]‪ y[n‬ﺭﺍ ﺍﺯ ﻣﺪﻝ ﻓﻮﻕ ﻭ ﺑﺎ ﭘﺎﺭﺍﻣﺘﺮ‬
‫ﺭﺍ ﻃﻮﺭﻱ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﮐﻪ ﺗﺎﺧﻴﺮ ﺍﮐﻮ ﺑﻴﻦ‬
‫‪ 100‬ﺗﺎ ‪ 200ms‬ﺑﺎﺷﺪ(‪.‬‬
‫ﺣﺎﻝ ﻳﮏ ‪ plot‬ﺍﺯ ﺳﻴﮕﻨﺎﻝ ﺻﺤﺒﺖ ﺍﺻﻠﻲ ﻭ ﺳﻴﮕﻨﺎﻝ ﺩﺍﺭﺍﻱ ﺍﮐﻮ‪ ،‬ﺑﺮﺣﺴﺐ ﺯﻣﺎﻥ )‪ (sec‬ﺭﺳﻢ ﮐﻨﻴﺪ‪(Prob2_a.m).‬‬
‫ﺏ( ﻣﻌﺎﺩﻟﻪ ﺗﻔﺎﺿﻠﻲ ﺍﺭﺍﻳﻪ ﺷﺪﻩ ﺭﺍ ﻣﻲﺗﻮﺍﻥ ﺑﻪ ﺻﻮﺭﺕ ﭘﺎﺳﺦ ﻳﮏ ﺳﻴﺴﺘﻢ ﮔﺴﺴﺘﻪ ‪ LTI‬ﺑﺎ ﭘﺎﺳﺦ ﺿﺮﺑﻪ‬
‫ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺖ‪ .‬ﺑﺮﺍﻱ ﺣﺬﻑ ﺍﮐﻮ ﺑﺎﻳﺪ ﺳﻴﺴﺘﻢ ﻣﻌﮑﻮﺱ‬
‫ﺭﺍ ﺭﻭﻱ ﺳﻴﮕﻨﺎﻝ‬
‫ﺍﻋﻤﺎﻝ ﮐﺮﺩ‪ .‬ﻧﻤﻮﻧﻪﻫﺎﻱ ﺳﻴﺴﺘﻢ ﻣﻌﮑﻮﺱ ﺭﺍ ﺑﺪﺳﺖ ﺁﻭﺭﺩﻩ ﻭﺁﻧﻬﺎ ﺭﺍ‬
‫ﺭﺳﻢ ﮐﻨﻴﺪ )ﺗﻌﺪﺍﺩ ﻣﺤﺪﻭﺩﻱ ﺍﺯ ﺿﺮﺍﻳﺐ ﺳﻴﺴﺘﻢ ﻣﻌﮑﻮﺱ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ(‪ .‬ﺣﺎﻝ ﺑﻪ ﮐﻤﮏ ﺩﺳﺘﻮﺭ ‪ filter‬ﺩﺭ ‪ Matlab‬ﺳﻴﺴﺘﻢ ﻣﻌﮑﻮﺱ ﺭﺍ ﺍﻋﻤﺎﻝ‬
‫ﮐﺮﺩﻩ ﻭ ﺳﻴﮕﻨﺎﻝ ﺧﺮﻭﺟﻲ ﺭﺍ ﭘﺨﺶ ﮐﻨﻴﺪ‪(Prob2_b.m) .‬‬
‫ﺝ( ﺩﺭ ﺑﺴﻴﺎﺭﻱ ﺍﺯ ﮐﺎﺭﺑﺮﺩﻫﺎ ﭘﺎﺭﺍﻣﺘﺮﻫﺎﻱ‬
‫ﻭ‬
‫ﺩﺭ ﺩﺳﺖ ﻧﻴﺴﺘﻨﺪ‪ .‬ﺩﺭ ﺍﻳﻦ ﻗﺴﻤﺖ ﺭﻭﺷﻲ ﺭﺍ ﺑﺮﺍﻱ ﺗﺨﻤﻴﻦ ﺍﻳﻦ ﭘﺎﺭﺍﻣﺘﺮﻫﺎ ﺑﺮﺭﺳﻲ ﻣﻲﮐﻨﻴﻢ‪ .‬ﻫﻤﺎﻥ‬
‫ﻃﻮﺭ ﮐﻪ ﻣﻲﺩﺍﻧﻴﺪ ﺗﺎﺑﻊ ﺧﻮﺩ ﻫﻤﺒﺴﺘﮕﻲ ﻳﮏ ﺳﻴﮕﻨﺎﻝ ﮔﺴﺴﺘﻪ ﭼﻨﻴﻦ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮﺩ )ﺗﻤﺮﻳﻦ ‪ 65‬ﻓﺼﻞ ‪ 2‬ﮐﺘﺎﺏ(‪:‬‬
‫ﺍﺑﺘﺪﺍ‬
‫ﻭ‬
‫ﺑﺪﺳﺖ ﺁﻭﺭﻳﺪ )‬
‫ﺭﺍ ﺭﺳﻢ ﻧﻤﺎﻳﻴﺪ‪) .‬ﺷﮑﻞ ﻧﻤﻮﺩﺍﺭ ﺭﺍ ﺗﻮﺿﻴﺢ ﺩﻫﻴﺪ(‪ .‬ﺣﺎﻝ ﺭﺍﺑﻄﻪﺍﻱ ﺑﺮﺍﻱ‬
‫ﺑﺮ ﺣﺴﺐ‬
‫ﻭ ﭘﺎﺭﺍﻣﺘﺮﻫﺎﻱ ﺍﮐﻮ‬
‫ﺳﻴﮕﻨﺎﻝ ﺗﺨﺮﻳﺐ ﺷﺪﻩ ﺑﺎ ﺍﮐﻮ ﺍﺳﺖ(‪.‬‬
‫ﺭﻭﺷﻲ ﺑﺮﺍﻱ ﺗﺨﻤﻴﻦ ﻋﻤﻠﻲ ﭘﺎﺭﺍﻣﺘﺮﻫﺎﻱ ﺍﮐﻮ ﺑﻪ ﮐﻤﮏ ﺗﻮﺍﺑﻊ ﺧﻮﺩ ﻫﻤﺒﺴﺘﮕﻲ ‪ x‬ﻭ ‪ y‬ﭘﻴﺸﻨﻬﺎﺩ ﮐﺮﺩﻩ ﻭ ﺁﻥ ﺭﺍ ﺑﺮﺍﻱ ﺣﺬﻑ ﺍﮐﻮ ﺩﺭ ﺳﻴﮕﻨﺎﻝ ﺳﺎﺧﺘﻪ ﺷﺪﻩ‬
‫ﺩﺭ ﻗﺴﻤﺖ ﺍﻟﻒ ﺑﻪ ﮐﺎﺭ ﺑﺮﺩﻩ ﻭ ﺳﻴﮕﻨﺎﻝ ﺧﺮﻭﺟﻲ ﺭﺍ ﭘﺨﺶ ﮐﻨﻴﺪ‪ .‬ﺩﺭ ﻧﻬﺎﻳﺖ ﺗﺎﺑﻌﻲ ﺑﻪ ﻧﺎﻡ ‪ echo_cancel.m‬ﺑﻨﻮﻳﺴﺪ ﮐﻪ ﺑﺮﺩﺍﺭ ﺳﻴﮕﻨﺎﻝ ﺩﺍﺭﺍﻱ ﺍﮐﻮ ﺭﺍ‬
‫ﮔﺮﻓﺘﻪ ﻭ ﺍﮐﻮ ﺭﺍ ﺍﺯ ﺁﻥ ﺣﺬﻑ ﮐﻨﺪ‪) .‬ﮐﻴﻔﻴﺖ ﺣﺬﻑ ﺍﮐﻮ ﺗﺎﺑﻊ ﺷﻤﺎ ﺑﺮﺍﻱ ﻳﮏ ﻭﺭﻭﺩﻱ ﺻﺤﺒﺖ ﺑﺎ ﭘﺎﺭﺍﻣﺘﺮﻫﺎﻱ ﺗﺎﺧﻴﺮ ﺩﻟﺨﻮﺍﻩ ﺳﻨﺠﻴﺪﻩ ﺧﻮﺍﻫﺪ ﺷﺪ(‬
‫ﻗﺴﻤﺖﻫﺎﻱ ﺍﻣﺘﻴﺎﺯﻱ‪:‬‬
‫‪ -1‬ﺭﻭﻱ ﺳﻴﮕﻨﺎﻝ‬
‫ﻳﮏ ﻧﻮﻳﺰ ﮔﻮﺳﻲ ﺑﺎ ‪ 0.1‬ﺩﺍﻣﻨﻪ‬
‫ﺍﻳﺠﺎﺩ ﮐﺮﺩﻩ ﻭ ﻣﺮﺍﺣﻞ ﻓﻮﻕ ﺭﺍ ﺗﮑﺮﺍﺭ ﮐﻨﻴﺪ‪ ،‬ﮐﻴﻔﻴﺖ ﺣﺬﻑ ﺍﮐﻮ ﭼﮕﻮﻧﻪ ﺗﻐﻴﻴﺮ‬
‫ﻣﻲﮐﻨﺪ؟‬
‫‪ -2‬ﺭﻭﺷﻲ ﺑﺮﺍﻱ ﺣﺬﻑ ﺍﮐﻮ ﺑﺎ ﻣﺪﻝ ﺯﻳﺮ ﭘﻴﺸﻨﻬﺎﺩ ﮐﺮﺩﻩ ﻭ ﺗﺎﺑﻌﻲ ﺑﺮﺍﻱ ﭘﻴﺎﺩﻩﺳﺎﺯﻱ ﺁﻥ ﺑﻨﻮﻳﺴﻴﺪ‪:‬‬